ArticleApiServiceImpl.java
/*
* Copyright 2024 Global Crop Diversity Trust
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.genesys.server.api.v2.facade.impl;
import org.genesys.server.api.v2.facade.ArticleApiService;
import org.genesys.server.api.v2.model.impl.ArticleDTO;
import org.genesys.server.api.v2.model.impl.ArticleLangDTO;
import org.genesys.server.api.v2.model.impl.RepositoryFileDTO;
import org.genesys.server.api.v2.model.impl.TranslatedArticleDTO;
import org.genesys.server.model.impl.Article;
import org.genesys.server.model.impl.ArticleLang;
import org.genesys.server.service.ArticleService;
import org.genesys.server.service.ArticleTranslationService;
import org.genesys.server.service.filter.ArticleFilter;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.multipart.MultipartFile;
import java.util.Locale;
@Service
@Validated
public class ArticleApiServiceImpl extends APIFilteredTranslatedServiceFacadeImpl<ArticleService, ArticleDTO,
TranslatedArticleDTO, ArticleLangDTO, Article, ArticleLang,
ArticleTranslationService.TranslatedArticle, ArticleFilter> implements ArticleApiService {
@Override
protected TranslatedArticleDTO convertTranslation(ArticleTranslationService.TranslatedArticle source) {
return mapper.map(source);
}
@Override
protected ArticleLang convertLang(ArticleLangDTO source) {
return mapper.map(source);
}
@Override
protected ArticleLangDTO convertLang(ArticleLang source) {
return mapper.map(source);
}
@Override
protected Article convert(ArticleDTO source) {
return mapper.map(source);
}
@Override
protected ArticleDTO convert(Article source) {
return mapper.map(source);
}
@Override
public TranslatedArticleDTO getArticle(Class<?> forName, long targetId, String slug, Locale locale) {
return convertTranslation(service.getArticle(forName, targetId, slug, locale));
}
@Override
public TranslatedArticleDTO getArticleBySlugAndLang(String slug, String language) {
return convertTranslation(service.getArticleBySlugAndLang(slug, language));
}
@Override
public TranslatedArticleDTO getGlobalArticle(String slug, Locale locale) {
return convertTranslation(service.getGlobalArticle(slug, locale));
}
@Override
public void deleteArticle(Long id, int version) {
service.deleteArticle(id, version);
}
@Override
public RepositoryFileDTO uploadArticleFile(ArticleDTO articleDTO, MultipartFile file) throws Exception {
return mapper.map(service.uploadArticleFile(convert(articleDTO), file));
}
}