diff --git a/apps/dnet-exporter-api/pom.xml b/apps/dnet-exporter-api/pom.xml index b4fa6397..b365bded 100644 --- a/apps/dnet-exporter-api/pom.xml +++ b/apps/dnet-exporter-api/pom.xml @@ -26,6 +26,11 @@ org.springframework.boot spring-boot-starter-cache + + eu.dnetlib.dhp + dnet-exporter-model + ${project.version} + eu.dnetlib cnr-rmi-api @@ -120,12 +125,13 @@ 3.4.2 - + + org.springframework.boot spring-boot-starter-test diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/AbstractExporterController.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/AbstractExporterController.java index 711b7eb2..026fbe4f 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/AbstractExporterController.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/AbstractExporterController.java @@ -16,10 +16,10 @@ import org.springframework.web.bind.annotation.ResponseStatus; import com.fasterxml.jackson.annotation.JsonAutoDetect; -import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.enabling.datasources.common.DsmForbiddenException; -import eu.dnetlib.enabling.datasources.common.DsmNotFoundException; -import eu.dnetlib.openaire.dsm.domain.Response; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; +import eu.dnetlib.openaire.exporter.exceptions.DsmForbiddenException; +import eu.dnetlib.openaire.exporter.exceptions.DsmNotFoundException; +import eu.dnetlib.openaire.exporter.model.dsm.Response; /** * Created by claudio on 18/07/2017. diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClient.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClient.java index d4ed2f32..3ed78e44 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClient.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClient.java @@ -4,9 +4,9 @@ import java.io.IOException; import java.util.List; import java.util.Map; -import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.openaire.context.Context; import eu.dnetlib.openaire.dsm.dao.utils.IndexDsInfo; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; +import eu.dnetlib.openaire.exporter.model.context.Context; public interface ISClient { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClientImpl.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClientImpl.java index 67397331..4a0c628a 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClientImpl.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/common/ISClientImpl.java @@ -28,13 +28,13 @@ import com.google.common.escape.Escaper; import com.google.common.xml.XmlEscapers; import eu.dnetlib.DnetOpenaireExporterProperties; -import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.enabling.datasources.common.DsmRuntimeException; import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException; import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService; -import eu.dnetlib.openaire.context.Context; import eu.dnetlib.openaire.context.ContextMappingUtils; import eu.dnetlib.openaire.dsm.dao.utils.IndexDsInfo; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; +import eu.dnetlib.openaire.exporter.exceptions.DsmRuntimeException; +import eu.dnetlib.openaire.exporter.model.context.Context; /** * Created by claudio on 20/10/2016. @@ -105,35 +105,34 @@ public class ISClientImpl implements ISClient { } } - @Override @CacheEvict(value = { "context-cache", "context-cache-funder" }, allEntries = true) - public void updateContextParam(final String id, final String name, final String value, boolean toEscape) { - if(getSize(id, name) > 0){ + public void updateContextParam(final String id, final String name, final String value, final boolean toEscape) { + if (getSize(id, name) > 0) { try { _quickSeachProfile(getXQuery(id, name, value, toEscape)); } catch (final ISLookUpException e) { throw new DsmRuntimeException(String.format("unable to update context param [id: %s, name: %s, value: %s]", id, name, value), e); } - } - else{ + } else { try { - _quickSeachProfile(getInsertXQuery(id, name, value,toEscape)); + _quickSeachProfile(getInsertXQuery(id, name, value, toEscape)); } catch (final ISLookUpException e) { throw new DsmRuntimeException(String.format("unable to insert context param [id: %s, name: %s, value: %s]", id, name, value), e); } } - } - private int getSize(String id, String name) { + private int getSize(final String id, final String name) { int size = 0; try { - size = _quickSeachProfile(String.format("for $x in collection('/db/DRIVER/ContextDSResources/ContextDSResourceType') where $x//context[@id='%s']/param[@name='%s'] return $x", id, name)).size(); - } catch (ISLookUpException e) { + size = _quickSeachProfile(String + .format("for $x in collection('/db/DRIVER/ContextDSResources/ContextDSResourceType') where $x//context[@id='%s']/param[@name='%s'] return $x", id, name)) + .size(); + } catch (final ISLookUpException e) { throw new DsmRuntimeException("unable to execute search query", e); } return size; @@ -222,26 +221,27 @@ public class ISClientImpl implements ISClient { /// HELPERS - private String getInsertXQuery(final String id, final String paramName, final String paramValue, final boolean toEscape) { String value; - if(toEscape) + if (toEscape) { value = escape(XmlEscapers.xmlContentEscaper(), paramValue); - else + } else { value = paramValue; + } if (StringUtils.isNotBlank(value)) { return String.format("update insert %s into collection('/db/DRIVER/ContextDSResources/ContextDSResourceType')" + - "/RESOURCE_PROFILE/BODY/CONFIGURATION/context[./@id = '%s']", paramName, value, id); + "/RESOURCE_PROFILE/BODY/CONFIGURATION/context[./@id = '%s']", paramName, value, id); } else { return String.format("update insert into collection('/db/DRIVER/ContextDSResources/ContextDSResourceType')" + - "/RESOURCE_PROFILE/BODY/CONFIGURATION/context[./@id = '%s']", paramName, id); + "/RESOURCE_PROFILE/BODY/CONFIGURATION/context[./@id = '%s']", paramName, id); } } private String getXQuery(final String id, final String name, final String paramValue, final boolean toEscape) { String value = paramValue; - if (toEscape) + if (toEscape) { value = escape(XmlEscapers.xmlContentEscaper(), paramValue); + } if (StringUtils.isNotBlank(value)) { return String.format("update replace collection('/db/DRIVER/ContextDSResources/ContextDSResourceType')" + @@ -252,15 +252,16 @@ public class ISClientImpl implements ISClient { } } -// private String getXQueryNoEscape(final String id, final String name, final String value) { -// if (StringUtils.isNotBlank(value)) { -// return String.format("update replace collection('/db/DRIVER/ContextDSResources/ContextDSResourceType')" + -// "/RESOURCE_PROFILE/BODY/CONFIGURATION/context[./@id = '%s']/param[./@name = '%s'] with %s", id, name, name, value); -// } else { -// return String.format("update replace collection('/db/DRIVER/ContextDSResources/ContextDSResourceType')" + -// "/RESOURCE_PROFILE/BODY/CONFIGURATION/context[./@id = '%s']/param[./@name = '%s'] with ", id, name, name); -// } -// } + // private String getXQueryNoEscape(final String id, final String name, final String value) { + // if (StringUtils.isNotBlank(value)) { + // return String.format("update replace collection('/db/DRIVER/ContextDSResources/ContextDSResourceType')" + + // "/RESOURCE_PROFILE/BODY/CONFIGURATION/context[./@id = '%s']/param[./@name = '%s'] with %s", id, name, name, + // value); + // } else { + // return String.format("update replace collection('/db/DRIVER/ContextDSResources/ContextDSResourceType')" + + // "/RESOURCE_PROFILE/BODY/CONFIGURATION/context[./@id = '%s']/param[./@name = '%s'] with ", id, name, name); + // } + // } private String getConceptXQuery(final String id, final String name, final String value) { final Escaper esc = XmlEscapers.xmlContentEscaper(); diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java index c5207180..1a9782d9 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java @@ -10,7 +10,18 @@ import static eu.dnetlib.openaire.common.ExporterConstants.W; import java.util.List; -import eu.dnetlib.openaire.community.selectioncriteria.SelectionCriteria; +import eu.dnetlib.openaire.exporter.exceptions.CommunityException; +import eu.dnetlib.openaire.exporter.exceptions.CommunityNotFoundException; +import eu.dnetlib.openaire.exporter.model.community.CommunityContentprovider; +import eu.dnetlib.openaire.exporter.model.community.CommunityDetails; +import eu.dnetlib.openaire.exporter.model.community.CommunityOpenAIRECommunities; +import eu.dnetlib.openaire.exporter.model.community.CommunityOrganization; +import eu.dnetlib.openaire.exporter.model.community.CommunityProject; +import eu.dnetlib.openaire.exporter.model.community.CommunitySummary; +import eu.dnetlib.openaire.exporter.model.community.CommunityWritableProperties; +import eu.dnetlib.openaire.exporter.model.community.CommunityZenodoCommunity; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.SelectionCriteria; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.web.bind.annotation.CrossOrigin; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiCore.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiCore.java index 09cb2a28..3b855352 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiCore.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiCore.java @@ -4,7 +4,19 @@ import java.util.*; import java.util.stream.Collectors; import com.google.gson.Gson; -import eu.dnetlib.openaire.community.selectioncriteria.SelectionCriteria; + +import eu.dnetlib.openaire.exporter.exceptions.CommunityException; +import eu.dnetlib.openaire.exporter.exceptions.CommunityNotFoundException; +import eu.dnetlib.openaire.exporter.model.community.CommunityContentprovider; +import eu.dnetlib.openaire.exporter.model.community.CommunityDetails; +import eu.dnetlib.openaire.exporter.model.community.CommunityOpenAIRECommunities; +import eu.dnetlib.openaire.exporter.model.community.CommunityOrganization; +import eu.dnetlib.openaire.exporter.model.community.CommunityProject; +import eu.dnetlib.openaire.exporter.model.community.CommunitySummary; +import eu.dnetlib.openaire.exporter.model.community.CommunityWritableProperties; +import eu.dnetlib.openaire.exporter.model.community.CommunityZenodoCommunity; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.SelectionCriteria; + import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityClient.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityClient.java index dbc18fc5..f0aae66c 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityClient.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityClient.java @@ -3,6 +3,9 @@ package eu.dnetlib.openaire.community; import java.util.Map; import java.util.Set; +import eu.dnetlib.openaire.exporter.exceptions.CommunityException; +import eu.dnetlib.openaire.exporter.exceptions.CommunityNotFoundException; + public interface CommunityClient { Map> getInverseZenodoCommunityMap() throws CommunityException, CommunityNotFoundException; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityClientImpl.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityClientImpl.java index 96ac59a6..b2ff7b78 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityClientImpl.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityClientImpl.java @@ -8,6 +8,11 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import eu.dnetlib.openaire.exporter.exceptions.CommunityException; +import eu.dnetlib.openaire.exporter.exceptions.CommunityNotFoundException; +import eu.dnetlib.openaire.exporter.model.community.CommunitySummary; +import eu.dnetlib.openaire.exporter.model.community.CommunityZenodoCommunity; + import java.util.*; @Component diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityCommon.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityCommon.java index d23bc881..96613c42 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityCommon.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityCommon.java @@ -4,11 +4,21 @@ import com.google.common.base.Joiner; import com.google.common.collect.Lists; import com.google.gson.Gson; import eu.dnetlib.openaire.common.ISClient; -import eu.dnetlib.openaire.community.selectioncriteria.SelectionCriteria; -import eu.dnetlib.openaire.context.Category; -import eu.dnetlib.openaire.context.Concept; -import eu.dnetlib.openaire.context.Context; -import eu.dnetlib.openaire.context.Param; +import eu.dnetlib.openaire.exporter.exceptions.CommunityException; +import eu.dnetlib.openaire.exporter.exceptions.CommunityNotFoundException; +import eu.dnetlib.openaire.exporter.model.community.CommunityContentprovider; +import eu.dnetlib.openaire.exporter.model.community.CommunityDetails; +import eu.dnetlib.openaire.exporter.model.community.CommunityOrganization; +import eu.dnetlib.openaire.exporter.model.community.CommunityProject; +import eu.dnetlib.openaire.exporter.model.community.CommunitySummary; +import eu.dnetlib.openaire.exporter.model.community.CommunityWritableProperties; +import eu.dnetlib.openaire.exporter.model.community.CommunityZenodoCommunity; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.SelectionCriteria; +import eu.dnetlib.openaire.exporter.model.context.Category; +import eu.dnetlib.openaire.exporter.model.context.Concept; +import eu.dnetlib.openaire.exporter.model.context.Context; +import eu.dnetlib.openaire.exporter.model.context.Param; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityMappingUtils.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityMappingUtils.java index 073f3b1c..b5d9cae9 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityMappingUtils.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityMappingUtils.java @@ -7,10 +7,19 @@ import java.util.stream.Stream; import com.google.common.escape.Escaper; import com.google.common.xml.XmlEscapers; -import eu.dnetlib.openaire.community.selectioncriteria.SelectionCriteria; -import eu.dnetlib.openaire.context.Concept; -import eu.dnetlib.openaire.context.Context; -import eu.dnetlib.openaire.context.Param; + +import eu.dnetlib.openaire.exporter.model.community.CommunityContentprovider; +import eu.dnetlib.openaire.exporter.model.community.CommunityDetails; +import eu.dnetlib.openaire.exporter.model.community.CommunityOrganization; +import eu.dnetlib.openaire.exporter.model.community.CommunityProject; +import eu.dnetlib.openaire.exporter.model.community.CommunityStatus; +import eu.dnetlib.openaire.exporter.model.community.CommunitySummary; +import eu.dnetlib.openaire.exporter.model.community.CommunityZenodoCommunity; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.SelectionCriteria; +import eu.dnetlib.openaire.exporter.model.context.Concept; +import eu.dnetlib.openaire.exporter.model.context.Context; +import eu.dnetlib.openaire.exporter.model.context.Param; + import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextApiController.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextApiController.java index 98fdb46b..f8fcc9e9 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextApiController.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextApiController.java @@ -12,6 +12,10 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import eu.dnetlib.openaire.exporter.exceptions.ContextException; +import eu.dnetlib.openaire.exporter.model.context.CategorySummary; +import eu.dnetlib.openaire.exporter.model.context.ConceptSummary; +import eu.dnetlib.openaire.exporter.model.context.ContextSummary; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextApiCore.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextApiCore.java index 9cd2e859..f33712c8 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextApiCore.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextApiCore.java @@ -15,6 +15,13 @@ import com.google.common.base.Splitter; import com.google.common.collect.Lists; import eu.dnetlib.openaire.common.ISClient; +import eu.dnetlib.openaire.exporter.exceptions.ContextException; +import eu.dnetlib.openaire.exporter.model.context.Category; +import eu.dnetlib.openaire.exporter.model.context.CategorySummary; +import eu.dnetlib.openaire.exporter.model.context.Concept; +import eu.dnetlib.openaire.exporter.model.context.ConceptSummary; +import eu.dnetlib.openaire.exporter.model.context.Context; +import eu.dnetlib.openaire.exporter.model.context.ContextSummary; @Component @ConditionalOnProperty(value = "openaire.exporter.enable.context", havingValue = "true") diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextMappingUtils.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextMappingUtils.java index c3537343..e7311c2a 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextMappingUtils.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextMappingUtils.java @@ -20,7 +20,11 @@ import org.dom4j.Node; import com.google.common.base.Functions; import com.google.common.collect.Lists; -import eu.dnetlib.openaire.funders.domain.FunderDetails; +import eu.dnetlib.openaire.exporter.model.context.Category; +import eu.dnetlib.openaire.exporter.model.context.Concept; +import eu.dnetlib.openaire.exporter.model.context.Context; +import eu.dnetlib.openaire.exporter.model.context.Param; +import eu.dnetlib.openaire.exporter.model.funders.FunderDetails; public class ContextMappingUtils { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmApiController.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmApiController.java index b93ea3ad..d08d2350 100755 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmApiController.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmApiController.java @@ -24,9 +24,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.enabling.datasources.common.DsmForbiddenException; -import eu.dnetlib.enabling.datasources.common.DsmNotFoundException; import eu.dnetlib.openaire.common.AbstractExporterController; import eu.dnetlib.openaire.common.OperationManager; import eu.dnetlib.openaire.dsm.domain.AggregationHistoryResponseV1; @@ -41,8 +38,11 @@ import eu.dnetlib.openaire.dsm.domain.RegisteredDatasourceInfo; import eu.dnetlib.openaire.dsm.domain.RequestFilter; import eu.dnetlib.openaire.dsm.domain.RequestSort; import eu.dnetlib.openaire.dsm.domain.RequestSortOrder; -import eu.dnetlib.openaire.dsm.domain.SimpleResponse; -import eu.dnetlib.openaire.vocabularies.Country; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; +import eu.dnetlib.openaire.exporter.exceptions.DsmForbiddenException; +import eu.dnetlib.openaire.exporter.exceptions.DsmNotFoundException; +import eu.dnetlib.openaire.exporter.model.dsm.SimpleResponse; +import eu.dnetlib.openaire.exporter.model.vocabularies.Country; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmApiControllerV2.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmApiControllerV2.java index a612c043..70977f45 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmApiControllerV2.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmApiControllerV2.java @@ -15,12 +15,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import eu.dnetlib.enabling.datasources.common.DsmException; import eu.dnetlib.openaire.common.AbstractExporterController; import eu.dnetlib.openaire.dsm.dao.ResponseUtils; import eu.dnetlib.openaire.dsm.domain.AggregationHistoryResponseV2; import eu.dnetlib.openaire.dsm.domain.SimpleDatasourceInfo; -import eu.dnetlib.openaire.dsm.domain.SimpleResponse; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; +import eu.dnetlib.openaire.exporter.model.dsm.SimpleResponse; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmCore.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmCore.java index 806de5d5..2cad2a0f 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmCore.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmCore.java @@ -30,9 +30,6 @@ import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Component; import eu.dnetlib.enabling.datasources.common.AggregationInfo; -import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.enabling.datasources.common.DsmForbiddenException; -import eu.dnetlib.enabling.datasources.common.DsmNotFoundException; import eu.dnetlib.openaire.common.ISClient; import eu.dnetlib.openaire.community.CommunityClient; import eu.dnetlib.openaire.dsm.dao.DatasourceDao; @@ -55,11 +52,14 @@ import eu.dnetlib.openaire.dsm.domain.RequestFilter; import eu.dnetlib.openaire.dsm.domain.RequestSort; import eu.dnetlib.openaire.dsm.domain.RequestSortOrder; import eu.dnetlib.openaire.dsm.domain.SimpleDatasourceInfo; -import eu.dnetlib.openaire.dsm.domain.SimpleResponse; import eu.dnetlib.openaire.dsm.domain.db.ApiDbEntry; import eu.dnetlib.openaire.dsm.domain.db.DatasourceDbEntry; import eu.dnetlib.openaire.dsm.domain.db.IdentityDbEntry; -import eu.dnetlib.openaire.vocabularies.Country; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; +import eu.dnetlib.openaire.exporter.exceptions.DsmForbiddenException; +import eu.dnetlib.openaire.exporter.exceptions.DsmNotFoundException; +import eu.dnetlib.openaire.exporter.model.dsm.SimpleResponse; +import eu.dnetlib.openaire.exporter.model.vocabularies.Country; @Component @ConditionalOnProperty(value = "openaire.exporter.enable.dsm", havingValue = "true") diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java index 5f40524d..b126bf13 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java @@ -5,13 +5,11 @@ import java.util.List; import org.springframework.data.domain.Page; import eu.dnetlib.enabling.datasources.common.Api; -import eu.dnetlib.enabling.datasources.common.Datasource; -import eu.dnetlib.enabling.datasources.common.DatasourceManagerCommon; -import eu.dnetlib.enabling.datasources.common.DsmException; import eu.dnetlib.openaire.dsm.domain.RequestFilter; import eu.dnetlib.openaire.dsm.domain.RequestSort; import eu.dnetlib.openaire.dsm.domain.RequestSortOrder; -import eu.dnetlib.openaire.vocabularies.Country; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; +import eu.dnetlib.openaire.exporter.model.vocabularies.Country; public interface DatasourceDao, API extends Api> extends DatasourceManagerCommon { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDaoImpl.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDaoImpl.java index 0f9cf5aa..7372d10e 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDaoImpl.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDaoImpl.java @@ -30,9 +30,6 @@ import org.springframework.transaction.annotation.Transactional; import com.google.common.collect.Lists; import eu.dnetlib.DnetOpenaireExporterProperties; -import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.enabling.datasources.common.DsmForbiddenException; -import eu.dnetlib.enabling.datasources.common.DsmNotFoundException; import eu.dnetlib.openaire.dsm.domain.RequestFilter; import eu.dnetlib.openaire.dsm.domain.RequestSort; import eu.dnetlib.openaire.dsm.domain.RequestSortOrder; @@ -40,8 +37,11 @@ import eu.dnetlib.openaire.dsm.domain.db.ApiDbEntry; import eu.dnetlib.openaire.dsm.domain.db.ApiParamDbEntry; import eu.dnetlib.openaire.dsm.domain.db.DatasourceApiDbEntry; import eu.dnetlib.openaire.dsm.domain.db.DatasourceDbEntry; -import eu.dnetlib.openaire.vocabularies.Country; -import eu.dnetlib.openaire.vocabularies.Vocabulary; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; +import eu.dnetlib.openaire.exporter.exceptions.DsmForbiddenException; +import eu.dnetlib.openaire.exporter.exceptions.DsmNotFoundException; +import eu.dnetlib.openaire.exporter.model.vocabularies.Country; +import eu.dnetlib.openaire.exporter.model.vocabularies.Vocabulary; /** * Created by claudio on 20/10/2016. diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceIndexClient.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceIndexClient.java index 79d8e5e8..fd16995a 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceIndexClient.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceIndexClient.java @@ -2,9 +2,9 @@ package eu.dnetlib.openaire.dsm.dao; import java.util.Queue; -import eu.dnetlib.enabling.datasources.common.DsmException; import eu.dnetlib.openaire.dsm.dao.utils.IndexDsInfo; import eu.dnetlib.openaire.dsm.dao.utils.IndexRecordsInfo; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; public interface DatasourceIndexClient { @@ -12,6 +12,4 @@ public interface DatasourceIndexClient { String getLastIndexingDate(final IndexDsInfo info) throws DsmException; - - } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceIndexClientImpl.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceIndexClientImpl.java index 659c67a0..01cc9245 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceIndexClientImpl.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceIndexClientImpl.java @@ -5,19 +5,15 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.Queue; -import java.util.concurrent.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.util.concurrent.*; -import eu.dnetlib.DnetOpenaireExporterProperties; -import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.miscutils.functional.hash.Hashing; -import eu.dnetlib.openaire.dsm.dao.utils.DsmMappingUtils; -import eu.dnetlib.openaire.dsm.dao.utils.IndexDsInfo; -import eu.dnetlib.openaire.dsm.dao.utils.IndexRecordsInfo; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.logging.Log; @@ -33,6 +29,21 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.common.util.concurrent.ThreadFactoryBuilder; + +import eu.dnetlib.DnetOpenaireExporterProperties; +import eu.dnetlib.miscutils.functional.hash.Hashing; +import eu.dnetlib.openaire.dsm.dao.utils.DsmMappingUtils; +import eu.dnetlib.openaire.dsm.dao.utils.IndexDsInfo; +import eu.dnetlib.openaire.dsm.dao.utils.IndexRecordsInfo; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; + /** * Created by claudio on 20/10/2016. */ @@ -54,9 +65,8 @@ public class DatasourceIndexClientImpl implements DatasourceIndexClient { @PostConstruct public void init() { - executor = MoreExecutors.listeningDecorator( - new ScheduledThreadPoolExecutor(5, - new ThreadFactoryBuilder().setNameFormat("datasource-index-client-%d").build())); + executor = MoreExecutors.listeningDecorator(new ScheduledThreadPoolExecutor(5, + new ThreadFactoryBuilder().setNameFormat("datasource-index-client-%d").build())); } @PreDestroy @@ -64,7 +74,7 @@ public class DatasourceIndexClientImpl implements DatasourceIndexClient { indexClientMap.forEach((name, client) -> { try { client.close(); - } catch (IOException e) { + } catch (final IOException e) { log.warn(String.format("unable to gracefully shutdown client for index %s", name)); } }); @@ -78,41 +88,37 @@ public class DatasourceIndexClientImpl implements DatasourceIndexClient { final CountDownLatch latch = new CountDownLatch(2); final IndexRecordsInfo indexRecordInfo = new IndexRecordsInfo(); - Futures.addCallback( - executor.submit(() -> setDateAndTotal(dsId, collectedFrom, indexClient)), - new FutureCallback() { + Futures.addCallback(executor.submit(() -> setDateAndTotal(dsId, collectedFrom, indexClient)), new FutureCallback() { - @Override - public void onSuccess(final IndexRecordsInfo info) { - indexRecordInfo - .setTotal(info.getTotal()) - .setDate(info.getDate()); - latch.countDown(); - } + @Override + public void onSuccess(final IndexRecordsInfo info) { + indexRecordInfo + .setTotal(info.getTotal()) + .setDate(info.getDate()); + latch.countDown(); + } - @Override - public void onFailure(final Throwable e) { - errors.offer(e); - latch.countDown(); - } - }, executor); + @Override + public void onFailure(final Throwable e) { + errors.offer(e); + latch.countDown(); + } + }, executor); - Futures.addCallback( - executor.submit(() -> setFunded(dsId, collectedFrom, indexClient)), - new FutureCallback() { + Futures.addCallback(executor.submit(() -> setFunded(dsId, collectedFrom, indexClient)), new FutureCallback() { - @Override - public void onSuccess(final Long numFound) { - indexRecordInfo.setFunded(numFound); - latch.countDown(); - } + @Override + public void onSuccess(final Long numFound) { + indexRecordInfo.setFunded(numFound); + latch.countDown(); + } - @Override - public void onFailure(final Throwable e) { - errors.offer(e); - latch.countDown(); - } - }, executor); + @Override + public void onFailure(final Throwable e) { + errors.offer(e); + latch.countDown(); + } + }, executor); waitLatch(latch, errors, config.getRequestTimeout()); return indexRecordInfo; @@ -135,23 +141,23 @@ public class DatasourceIndexClientImpl implements DatasourceIndexClient { } private Long setFunded( - final String dsId, - final String collectedFrom, - final CloudSolrClient indexClient) throws DsmException { + final String dsId, + final String collectedFrom, + final CloudSolrClient indexClient) throws DsmException { final String query = - String.format("oaftype:result AND deletedbyinference:false AND collectedfromdatasourceid:\"%s\" AND relprojectid:*", collectedFrom); + String.format("oaftype:result AND deletedbyinference:false AND collectedfromdatasourceid:\"%s\" AND relprojectid:*", collectedFrom); log.debug(String.format("query: %s", query)); try { return indexClient.query(new SolrQuery(query).setRows(0)).getResults().getNumFound(); - } catch (Throwable e) { + } catch (final Throwable e) { throw new DsmException(HttpStatus.INTERNAL_SERVER_ERROR.value(), String.format("Error querying index for funded results '%s'", dsId), e); } } private IndexRecordsInfo setDateAndTotal( - final String dsId, - final String collectedFrom, - final CloudSolrClient indexClient) throws DsmException { + final String dsId, + final String collectedFrom, + final CloudSolrClient indexClient) throws DsmException { try { final String query = String.format("oaftype:result AND deletedbyinference:false AND collectedfromdatasourceid:\"%s\"", collectedFrom); log.debug(String.format("query: %s", query)); @@ -166,9 +172,9 @@ public class DatasourceIndexClientImpl implements DatasourceIndexClient { // query: %s", queryTotal)); // } return new IndexRecordsInfo() - .setDate(getDate(doc)) - .setTotal(rsp.getResults().getNumFound()); - } catch (Throwable e) { + .setDate(getDate(doc)) + .setTotal(rsp.getResults().getNumFound()); + } catch (final Throwable e) { throw new DsmException(HttpStatus.INTERNAL_SERVER_ERROR.value(), String.format("Error querying index for date and total '%s'", dsId), e); } } @@ -176,8 +182,10 @@ public class DatasourceIndexClientImpl implements DatasourceIndexClient { @SuppressWarnings("unchecked") private String getDate(final SolrDocument doc) throws DsmException { final List dsversion = (List) doc.get(DSVERSION); - if (dsversion == null || dsversion.isEmpty()) { throw new DsmException(HttpStatus.INTERNAL_SERVER_ERROR.value(), - String.format("cannot find %s in matched solr document", DSVERSION)); } + if (dsversion == null || dsversion.isEmpty()) { + throw new DsmException(HttpStatus.INTERNAL_SERVER_ERROR.value(), + String.format("cannot find %s in matched solr document", DSVERSION)); + } final Date date = Iterables.getLast(dsversion); return DateFormatUtils.format(date, DsmMappingUtils.DATE_FORMAT); diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceSpecs.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceSpecs.java index ba110c16..8e22477c 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceSpecs.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceSpecs.java @@ -16,13 +16,13 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.data.jpa.domain.Specification; -import eu.dnetlib.enabling.datasources.common.DsmRuntimeException; import eu.dnetlib.openaire.dsm.domain.FilterName; import eu.dnetlib.openaire.dsm.domain.RequestFilter; import eu.dnetlib.openaire.dsm.domain.RequestSort; import eu.dnetlib.openaire.dsm.domain.RequestSortOrder; import eu.dnetlib.openaire.dsm.domain.db.DatasourceApiDbEntry; import eu.dnetlib.openaire.dsm.domain.db.DatasourceDbEntry; +import eu.dnetlib.openaire.exporter.exceptions.DsmRuntimeException; public class DatasourceSpecs { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/MongoLoggerClient.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/MongoLoggerClient.java index b68a9689..0a141057 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/MongoLoggerClient.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/MongoLoggerClient.java @@ -2,9 +2,8 @@ package eu.dnetlib.openaire.dsm.dao; import java.util.List; -import eu.dnetlib.enabling.datasources.common.AggregationInfo; -import eu.dnetlib.enabling.datasources.common.DsmException; import eu.dnetlib.openaire.dsm.domain.AggregationInfoV1; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; public interface MongoLoggerClient { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/MongoLoggerClientImpl.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/MongoLoggerClientImpl.java index caf6b62d..48346f15 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/MongoLoggerClientImpl.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/MongoLoggerClientImpl.java @@ -43,7 +43,6 @@ import eu.dnetlib.DnetOpenaireExporterProperties; import eu.dnetlib.DnetOpenaireExporterProperties.Datasource; import eu.dnetlib.enabling.datasources.common.AggregationInfo; import eu.dnetlib.enabling.datasources.common.AggregationStage; -import eu.dnetlib.enabling.datasources.common.DsmException; import eu.dnetlib.miscutils.datetime.DateUtils; import eu.dnetlib.openaire.common.Utils; import eu.dnetlib.openaire.dsm.dao.utils.DsmMappingUtils; @@ -53,6 +52,7 @@ import eu.dnetlib.openaire.dsm.domain.CollectionInfoV2; import eu.dnetlib.openaire.dsm.domain.CollectionMode; import eu.dnetlib.openaire.dsm.domain.TransformationInfoV1; import eu.dnetlib.openaire.dsm.domain.TransformationInfoV2; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; import eu.dnetlib.openaire.info.JdbcInfoDao; /** diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ObjectStoreClient.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ObjectStoreClient.java index 131fa713..76f11741 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ObjectStoreClient.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ObjectStoreClient.java @@ -1,6 +1,6 @@ package eu.dnetlib.openaire.dsm.dao; -import eu.dnetlib.enabling.datasources.common.DsmException; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; public interface ObjectStoreClient { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ObjectStoreClientImpl.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ObjectStoreClientImpl.java index 78763134..d3f77dca 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ObjectStoreClientImpl.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ObjectStoreClientImpl.java @@ -1,8 +1,5 @@ package eu.dnetlib.openaire.dsm.dao; -import eu.dnetlib.data.objectstore.rmi.ObjectStoreService; -import eu.dnetlib.data.objectstore.rmi.ObjectStoreServiceException; -import eu.dnetlib.enabling.datasources.common.DsmException; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -10,6 +7,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; +import eu.dnetlib.data.objectstore.rmi.ObjectStoreService; +import eu.dnetlib.data.objectstore.rmi.ObjectStoreServiceException; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; + @Component @ConditionalOnProperty(value = "openaire.exporter.enable.dsm", havingValue = "true") public class ObjectStoreClientImpl implements ObjectStoreClient { @@ -22,14 +23,12 @@ public class ObjectStoreClientImpl implements ObjectStoreClient { @Override public Long getObjectStoreSize(final String objectStoreId) throws DsmException { log.debug("get size for objectStore " + objectStoreId); - if (StringUtils.isBlank(objectStoreId)) { - return 0L; - } + if (StringUtils.isBlank(objectStoreId)) { return 0L; } try { final long size = objectStoreService.getSize(objectStoreId); log.debug("got objectStore size: " + size); return size; - } catch (ObjectStoreServiceException e) { + } catch (final ObjectStoreServiceException e) { throw new DsmException("unable to get size for objectStore " + objectStoreId); } } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ResponseUtils.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ResponseUtils.java index cdc4c581..941ee574 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ResponseUtils.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/ResponseUtils.java @@ -13,8 +13,8 @@ import eu.dnetlib.openaire.dsm.domain.DatasourceInfo; import eu.dnetlib.openaire.dsm.domain.DatasourceSearchResponse; import eu.dnetlib.openaire.dsm.domain.DatasourceSnippetExtended; import eu.dnetlib.openaire.dsm.domain.DatasourceSnippetResponse; -import eu.dnetlib.openaire.dsm.domain.Header; -import eu.dnetlib.openaire.dsm.domain.SimpleResponse; +import eu.dnetlib.openaire.exporter.model.dsm.Header; +import eu.dnetlib.openaire.exporter.model.dsm.SimpleResponse; public class ResponseUtils { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/VocabularyClient.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/VocabularyClient.java index 2ed99c55..c6ffe096 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/VocabularyClient.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/VocabularyClient.java @@ -1,7 +1,6 @@ package eu.dnetlib.openaire.dsm.dao; -import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.openaire.vocabularies.Vocabulary; +import eu.dnetlib.openaire.exporter.exceptions.DsmException; public interface VocabularyClient { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/VocabularyClientImpl.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/VocabularyClientImpl.java index 3a9ad1b8..fe2acfc8 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/VocabularyClientImpl.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/VocabularyClientImpl.java @@ -2,7 +2,8 @@ package eu.dnetlib.openaire.dsm.dao; import eu.dnetlib.DnetOpenaireExporterProperties; import eu.dnetlib.enabling.datasources.common.DsmException; -import eu.dnetlib.openaire.vocabularies.Vocabulary; +import eu.dnetlib.openaire.exporter.model.vocabularies.Vocabulary; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/AggregationHistoryResponseV1.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/AggregationHistoryResponseV1.java index 9bc9e70d..6ab84899 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/AggregationHistoryResponseV1.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/AggregationHistoryResponseV1.java @@ -4,6 +4,8 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; +import eu.dnetlib.openaire.exporter.model.dsm.Response; + @JsonAutoDetect @Deprecated public class AggregationHistoryResponseV1 extends Response { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/AggregationHistoryResponseV2.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/AggregationHistoryResponseV2.java index e68eddc2..b13e35a4 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/AggregationHistoryResponseV2.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/AggregationHistoryResponseV2.java @@ -5,6 +5,7 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; import eu.dnetlib.enabling.datasources.common.AggregationInfo; +import eu.dnetlib.openaire.exporter.model.dsm.Response; @JsonAutoDetect public class AggregationHistoryResponseV2 extends Response { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/ApiDetailsResponse.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/ApiDetailsResponse.java index cecb20c1..b65f6e42 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/ApiDetailsResponse.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/ApiDetailsResponse.java @@ -4,6 +4,7 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; +import eu.dnetlib.openaire.exporter.model.dsm.Response; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetailResponse.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetailResponse.java index e59cb037..b011d889 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetailResponse.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetailResponse.java @@ -4,6 +4,8 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; +import eu.dnetlib.openaire.exporter.model.dsm.Response; + @JsonAutoDetect public class DatasourceDetailResponse extends Response { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceResponse.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceResponse.java index 9aba8b8a..255e89b4 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceResponse.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceResponse.java @@ -5,6 +5,8 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.google.common.collect.Lists; +import eu.dnetlib.openaire.exporter.model.dsm.Response; + @JsonAutoDetect public class DatasourceResponse extends Response { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSearchResponse.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSearchResponse.java index 2be76532..e8d3aacb 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSearchResponse.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSearchResponse.java @@ -4,6 +4,8 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; +import eu.dnetlib.openaire.exporter.model.dsm.Response; + @JsonAutoDetect public class DatasourceSearchResponse extends Response { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSnippetResponse.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSnippetResponse.java index 522d5653..ba84462b 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSnippetResponse.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSnippetResponse.java @@ -4,6 +4,8 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; +import eu.dnetlib.openaire.exporter.model.dsm.Response; + @JsonAutoDetect public class DatasourceSnippetResponse extends Response { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/ConversionUtils.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/ConversionUtils.java similarity index 91% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/ConversionUtils.java rename to apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/ConversionUtils.java index 75aae566..be41be45 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/ConversionUtils.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/ConversionUtils.java @@ -1,8 +1,11 @@ -package eu.dnetlib.openaire.funders.domain; +package eu.dnetlib.openaire.funders; import java.io.StringReader; import java.util.stream.Collectors; +import eu.dnetlib.openaire.exporter.model.funders.ExtendedFunderDetails; +import eu.dnetlib.openaire.exporter.model.funders.FunderDetails; +import eu.dnetlib.openaire.exporter.model.funders.FundingStream; import eu.dnetlib.openaire.funders.domain.db.FunderDbEntry; import eu.dnetlib.openaire.funders.domain.db.FundingPathDbEntry; import org.dom4j.Document; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FunderDao.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FunderDao.java index 7c53b2c3..9c79afc5 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FunderDao.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FunderDao.java @@ -8,9 +8,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Component; -import eu.dnetlib.openaire.funders.domain.ConversionUtils; -import eu.dnetlib.openaire.funders.domain.ExtendedFunderDetails; -import eu.dnetlib.openaire.funders.domain.FunderDetails; +import eu.dnetlib.openaire.exporter.exceptions.FundersApiException; +import eu.dnetlib.openaire.exporter.model.funders.ExtendedFunderDetails; +import eu.dnetlib.openaire.exporter.model.funders.FunderDetails; @Component @ConditionalOnProperty(value = "openaire.exporter.enable.funders", havingValue = "true") diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FundersApiController.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FundersApiController.java index f4e598b3..d1533826 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FundersApiController.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FundersApiController.java @@ -13,8 +13,9 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import eu.dnetlib.openaire.common.AbstractExporterController; -import eu.dnetlib.openaire.funders.domain.ExtendedFunderDetails; -import eu.dnetlib.openaire.funders.domain.FunderDetails; +import eu.dnetlib.openaire.exporter.exceptions.FundersApiException; +import eu.dnetlib.openaire.exporter.model.funders.ExtendedFunderDetails; +import eu.dnetlib.openaire.exporter.model.funders.FunderDetails; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; diff --git a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/community/CommunityApiControllerTest.java b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/community/CommunityApiControllerTest.java index 43974fd9..94d9ee7f 100644 --- a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/community/CommunityApiControllerTest.java +++ b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/community/CommunityApiControllerTest.java @@ -19,6 +19,8 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; +import eu.dnetlib.openaire.exporter.model.community.CommunitySummary; + /** * Created by Alessia Bardi on 2019-04-04. * diff --git a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/community/selectioncriteria/SelectionCriteriaTest.java b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/community/selectioncriteria/SelectionCriteriaTest.java index 0d9420ff..c034a636 100644 --- a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/community/selectioncriteria/SelectionCriteriaTest.java +++ b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/community/selectioncriteria/SelectionCriteriaTest.java @@ -2,6 +2,10 @@ package eu.dnetlib.openaire.community.selectioncriteria; import com.google.gson.Gson; import eu.dnetlib.data.bulktag.selectioncriteria.Selection; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.Constraint; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.Constraints; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.SelectionCriteria; + import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/context/ContextMappingUtilsTest.java b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/context/ContextMappingUtilsTest.java index 3a30f10f..7ff98dec 100644 --- a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/context/ContextMappingUtilsTest.java +++ b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/context/ContextMappingUtilsTest.java @@ -13,6 +13,8 @@ import org.junit.jupiter.api.Test; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import eu.dnetlib.openaire.exporter.model.context.Context; + /** * Created by Alessia Bardi on 2019-04-04. * diff --git a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/dsm/DatasourceApiControllerTest.java b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/dsm/DatasourceApiControllerTest.java index 39a6875d..80cfe152 100644 --- a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/dsm/DatasourceApiControllerTest.java +++ b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/dsm/DatasourceApiControllerTest.java @@ -23,7 +23,7 @@ import eu.dnetlib.enabling.datasources.common.DsmException; import eu.dnetlib.openaire.dsm.dao.utils.DsmMappingUtils; import eu.dnetlib.openaire.dsm.domain.DatasourceDetails; import eu.dnetlib.openaire.dsm.domain.db.DatasourceDbEntry; -import eu.dnetlib.openaire.vocabularies.Country; +import eu.dnetlib.openaire.exporter.model.vocabularies.Country; @SpringBootTest @WebMvcTest(DsmApiController.class) diff --git a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/funders/FunderContextClientTest.java b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/funders/FunderContextClientTest.java index 3e0ca5af..8869dba4 100644 --- a/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/funders/FunderContextClientTest.java +++ b/apps/dnet-exporter-api/src/test/java/eu/dnetlib/openaire/funders/FunderContextClientTest.java @@ -14,9 +14,9 @@ import org.junit.jupiter.api.Test; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import eu.dnetlib.openaire.context.Context; import eu.dnetlib.openaire.context.ContextMappingUtils; -import eu.dnetlib.openaire.funders.domain.FunderDetails; +import eu.dnetlib.openaire.exporter.model.context.Context; +import eu.dnetlib.openaire.exporter.model.funders.FunderDetails; public class FunderContextClientTest { diff --git a/libs/dnet-exporter-model/TODO.txt b/libs/dnet-exporter-model/TODO.txt new file mode 100644 index 00000000..c5253ee8 --- /dev/null +++ b/libs/dnet-exporter-model/TODO.txt @@ -0,0 +1,16 @@ + +DsmApiControllerV2 + SimpleDatasourceInfo + AggregationHistoryResponseV2 + +DsmApiController + DatasourceDetailResponse + AggregationHistoryResponseV1 + DatasourceSnippetResponse + RegisteredDatasourceInfo + ApiDetailsResponse + DatasourceDetails + DatasourceDetailsWithApis + DatasourceDetailsUpdate + ApiDetails + RequestFilter diff --git a/libs/dnet-exporter-model/pom.xml b/libs/dnet-exporter-model/pom.xml index 17588ca1..dc5e670b 100644 --- a/libs/dnet-exporter-model/pom.xml +++ b/libs/dnet-exporter-model/pom.xml @@ -23,6 +23,12 @@ mockito-junit-jupiter test + + + org.springdoc + springdoc-openapi-common + 1.6.10 + org.springframework.boot diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/CommunityException.java similarity index 52% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityException.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/CommunityException.java index db2cc2bd..d9dd0592 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityException.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/CommunityException.java @@ -1,13 +1,7 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.exceptions; import java.io.IOException; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseBody -@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR) public class CommunityException extends Exception { /** diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityNotFoundException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/CommunityNotFoundException.java similarity index 52% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityNotFoundException.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/CommunityNotFoundException.java index 53eb016b..5f75fe14 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityNotFoundException.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/CommunityNotFoundException.java @@ -1,11 +1,5 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.exceptions; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseBody -@ResponseStatus(value = HttpStatus.NOT_FOUND) public class CommunityNotFoundException extends Exception { /** diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/ContextException.java similarity index 51% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextException.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/ContextException.java index 7d092b96..49794b93 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextException.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/ContextException.java @@ -1,13 +1,7 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.exceptions; import java.io.IOException; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseBody -@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR) public class ContextException extends Exception { /** diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextNotFoundException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/ContextNotFoundException.java similarity index 51% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextNotFoundException.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/ContextNotFoundException.java index ba87774c..06222c1f 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextNotFoundException.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/ContextNotFoundException.java @@ -1,11 +1,5 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.exceptions; -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseBody -@ResponseStatus(value = HttpStatus.NOT_FOUND) public class ContextNotFoundException extends Exception { /** diff --git a/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmException.java new file mode 100644 index 00000000..0ac3608b --- /dev/null +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmException.java @@ -0,0 +1,36 @@ +package eu.dnetlib.openaire.exporter.exceptions; + +public class DsmException extends Exception { + + private static final long serialVersionUID = -8173126561260106405L; + + private int code; + + public DsmException(final int code, final String msg) { + super(msg); + this.code = code; + } + + public DsmException(final int code, final Throwable e) { + super(e); + this.code = code; + } + + public DsmException(final int code, final String msg, final Throwable e) { + super(msg, e); + this.code = code; + } + + public DsmException(final String msg) { + this(500, msg); + } + + public int getCode() { + return code; + } + + public void setCode(final int code) { + this.code = code; + } + +} diff --git a/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmForbiddenException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmForbiddenException.java new file mode 100644 index 00000000..03a436aa --- /dev/null +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmForbiddenException.java @@ -0,0 +1,23 @@ +package eu.dnetlib.openaire.exporter.exceptions; + +public class DsmForbiddenException extends DsmException { + + private static final long serialVersionUID = -6538032715005339181L; + + public DsmForbiddenException(final int code, final String msg) { + super(code, msg); + } + + public DsmForbiddenException(final int code, final Throwable e) { + super(code, e); + } + + public DsmForbiddenException(final int code, final String msg, final Throwable e) { + super(code, msg, e); + } + + public DsmForbiddenException(final String msg) { + this(403, msg); + } + +} diff --git a/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmNotFoundException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmNotFoundException.java new file mode 100644 index 00000000..d9f01052 --- /dev/null +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmNotFoundException.java @@ -0,0 +1,23 @@ +package eu.dnetlib.openaire.exporter.exceptions; + +public class DsmNotFoundException extends DsmException { + + private static final long serialVersionUID = 1327980530652540728L; + + public DsmNotFoundException(final int code, final String msg) { + super(code, msg); + } + + public DsmNotFoundException(final int code, final Throwable e) { + super(code, e); + } + + public DsmNotFoundException(final int code, final String msg, final Throwable e) { + super(code, msg, e); + } + + public DsmNotFoundException(final String msg) { + this(404, msg); + } + +} diff --git a/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmRuntimeException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmRuntimeException.java new file mode 100644 index 00000000..e12894fe --- /dev/null +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/DsmRuntimeException.java @@ -0,0 +1,23 @@ +package eu.dnetlib.openaire.exporter.exceptions; + +public class DsmRuntimeException extends RuntimeException { + + private static final long serialVersionUID = 6755159618210324144L; + + public DsmRuntimeException() { + super(); + } + + public DsmRuntimeException(final String message, final Throwable cause) { + super(message, cause); + } + + public DsmRuntimeException(final String message) { + super(message); + } + + public DsmRuntimeException(final Throwable cause) { + super(cause); + } + +} diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FundersApiException.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/FundersApiException.java similarity index 89% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FundersApiException.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/FundersApiException.java index c8f2f024..e5e84260 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/FundersApiException.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/exceptions/FundersApiException.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.funders; +package eu.dnetlib.openaire.exporter.exceptions; public class FundersApiException extends Exception { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityContentprovider.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityContentprovider.java similarity index 84% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityContentprovider.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityContentprovider.java index f17df06f..f550d544 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityContentprovider.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityContentprovider.java @@ -1,11 +1,12 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import javax.validation.constraints.NotNull; import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.google.gson.Gson; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; -import eu.dnetlib.openaire.community.selectioncriteria.SelectionCriteria; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.SelectionCriteria; import io.swagger.v3.oas.annotations.media.Schema; @JsonAutoDetect @@ -90,7 +91,11 @@ public class CommunityContentprovider { public String toJson() { if (selectioncriteria == null) { return ""; } - return new Gson().toJson(selectioncriteria); + try { + return new ObjectMapper().writeValueAsString(selectioncriteria); + } catch (final JsonProcessingException e) { + throw new RuntimeException(e); + } } public String toXML() { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityDetails.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityDetails.java similarity index 84% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityDetails.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityDetails.java index 7625582a..40f6c8b9 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityDetails.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityDetails.java @@ -1,11 +1,11 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import java.util.Date; import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; -import eu.dnetlib.openaire.community.selectioncriteria.SelectionCriteria; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.SelectionCriteria; import io.swagger.v3.oas.annotations.media.Schema; @JsonAutoDetect @@ -29,7 +29,6 @@ public class CommunityDetails extends CommunitySummary { @Schema(description = "list of advanced criteria to associate results to this community") private SelectionCriteria advancedConstraint; - public CommunityDetails() {} public CommunityDetails(final CommunitySummary summary) { @@ -68,7 +67,7 @@ public class CommunityDetails extends CommunitySummary { return fos; } - public void setFos(List fos) { + public void setFos(final List fos) { this.fos = fos; } @@ -76,7 +75,7 @@ public class CommunityDetails extends CommunitySummary { return sdg; } - public void setSdg(List sdg) { + public void setSdg(final List sdg) { this.sdg = sdg; } @@ -84,7 +83,7 @@ public class CommunityDetails extends CommunitySummary { return advancedConstraint; } - public void setAdvancedConstraint(SelectionCriteria advancedConstraint) { + public void setAdvancedConstraint(final SelectionCriteria advancedConstraint) { this.advancedConstraint = advancedConstraint; } } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityOpenAIRECommunities.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityOpenAIRECommunities.java similarity index 95% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityOpenAIRECommunities.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityOpenAIRECommunities.java index 662f7b19..fc61c091 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityOpenAIRECommunities.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityOpenAIRECommunities.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import java.util.ArrayList; import java.util.List; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityOrganization.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityOrganization.java similarity index 96% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityOrganization.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityOrganization.java index 32e4ec2f..14652277 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityOrganization.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityOrganization.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import javax.validation.constraints.NotNull; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityProject.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityProject.java similarity index 97% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityProject.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityProject.java index 0a3b2800..a1833cd2 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityProject.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityProject.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import com.fasterxml.jackson.annotation.JsonAutoDetect; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityStatus.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityStatus.java similarity index 87% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityStatus.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityStatus.java index 2213feb1..3c7b376a 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityStatus.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityStatus.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import com.fasterxml.jackson.annotation.JsonAutoDetect; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunitySummary.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunitySummary.java similarity index 98% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunitySummary.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunitySummary.java index ff3ed2c7..16e072be 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunitySummary.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunitySummary.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import java.util.Date; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityWritableProperties.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityWritableProperties.java similarity index 90% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityWritableProperties.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityWritableProperties.java index db6d3e5e..934633a8 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityWritableProperties.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityWritableProperties.java @@ -1,14 +1,12 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; -import eu.dnetlib.openaire.community.selectioncriteria.SelectionCriteria; +import eu.dnetlib.openaire.exporter.model.community.selectioncriteria.SelectionCriteria; import io.swagger.v3.oas.annotations.media.Schema; -import javax.persistence.criteria.Selection; - @JsonAutoDetect public class CommunityWritableProperties { @@ -36,7 +34,6 @@ public class CommunityWritableProperties { @Schema(description = "Advanced constraint for the association of results to the community") private SelectionCriteria advancedConstraint; - @Schema(description = "status of the community, drives its visibility") private CommunityStatus status; @@ -62,7 +59,7 @@ public class CommunityWritableProperties { return fos; } - public void setFos(List fos) { + public void setFos(final List fos) { this.fos = fos; } @@ -70,7 +67,7 @@ public class CommunityWritableProperties { return sdg; } - public void setSdg(List sdg) { + public void setSdg(final List sdg) { this.sdg = sdg; } @@ -78,7 +75,7 @@ public class CommunityWritableProperties { return advancedConstraint; } - public void setAdvancedConstraint(SelectionCriteria advancedConstraint) { + public void setAdvancedConstraint(final SelectionCriteria advancedConstraint) { this.advancedConstraint = advancedConstraint; } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityZenodoCommunity.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityZenodoCommunity.java similarity index 94% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityZenodoCommunity.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityZenodoCommunity.java index 072faf29..4bae4957 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityZenodoCommunity.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityZenodoCommunity.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.community; +package eu.dnetlib.openaire.exporter.model.community; import javax.validation.constraints.NotNull; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/Constraint.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/Constraint.java similarity index 90% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/Constraint.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/Constraint.java index 31c71535..830b7c9c 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/Constraint.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/Constraint.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.community.selectioncriteria; +package eu.dnetlib.openaire.exporter.model.community.selectioncriteria; import java.io.Serializable; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/Constraints.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/Constraints.java similarity index 87% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/Constraints.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/Constraints.java index a899095f..393301e6 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/Constraints.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/Constraints.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.community.selectioncriteria; +package eu.dnetlib.openaire.exporter.model.community.selectioncriteria; import java.io.Serializable; import java.util.List; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/SelectionCriteria.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/SelectionCriteria.java similarity index 62% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/SelectionCriteria.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/SelectionCriteria.java index 0214e41a..f93c105a 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/selectioncriteria/SelectionCriteria.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/selectioncriteria/SelectionCriteria.java @@ -1,10 +1,11 @@ -package eu.dnetlib.openaire.community.selectioncriteria; +package eu.dnetlib.openaire.exporter.model.community.selectioncriteria; import java.io.Serializable; import java.util.List; import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.google.gson.Gson; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; @JsonAutoDetect public class SelectionCriteria implements Serializable { @@ -27,7 +28,11 @@ public class SelectionCriteria implements Serializable { } public static SelectionCriteria fromJson(final String json) { - return new Gson().fromJson(json, SelectionCriteria.class); - + try { + return new ObjectMapper().readValue(json, SelectionCriteria.class); + } catch (final JsonProcessingException e) { + throw new RuntimeException(e); + } } + } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Category.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Category.java similarity index 95% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Category.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Category.java index 1c029777..9cb3cdb4 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Category.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Category.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.model.context; import java.util.List; import java.util.Map; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/CategorySummary.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/CategorySummary.java similarity index 91% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/CategorySummary.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/CategorySummary.java index c2acb200..46d18321 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/CategorySummary.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/CategorySummary.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.model.context; public class CategorySummary { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Concept.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Concept.java similarity index 95% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Concept.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Concept.java index ddbcdec1..dd2e8f0e 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Concept.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Concept.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.model.context; import java.util.List; import java.util.Map; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ConceptSummary.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/ConceptSummary.java similarity index 94% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ConceptSummary.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/ConceptSummary.java index 58600836..85f5941d 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ConceptSummary.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/ConceptSummary.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.model.context; import java.util.List; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Context.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Context.java similarity index 92% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Context.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Context.java index badc1ff1..ff9b42b7 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Context.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Context.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.model.context; import java.util.Date; import java.util.List; @@ -44,8 +44,6 @@ public class Context { return categories; } - - public Context setId(final String id) { this.id = id; return this; @@ -66,17 +64,15 @@ public class Context { return this; } - public Date getLastUpdateDate() { return lastUpdateDate; } - public Context setLastUpdateDate(Date lastUpdateDate) { + public Context setLastUpdateDate(final Date lastUpdateDate) { this.lastUpdateDate = lastUpdateDate; return this; } - public Context setParams(final Map> params) { this.params = params; return this; @@ -88,4 +84,3 @@ public class Context { } } - diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextSummary.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/ContextSummary.java similarity index 92% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextSummary.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/ContextSummary.java index 9e974a3d..0576dd8c 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/ContextSummary.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/ContextSummary.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.model.context; public class ContextSummary { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Param.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Param.java similarity index 86% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Param.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Param.java index e83a6fd2..071fb5cd 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/context/Param.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/context/Param.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.context; +package eu.dnetlib.openaire.exporter.model.context; public class Param { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/Header.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/Header.java similarity index 77% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/Header.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/Header.java index 4db04905..4bcbfc9a 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/Header.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/Header.java @@ -1,13 +1,14 @@ -package eu.dnetlib.openaire.dsm.domain; +package eu.dnetlib.openaire.exporter.model.dsm; +import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.stream.Collectors; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.google.common.collect.Lists; -import com.google.gson.GsonBuilder; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; @JsonAutoDetect public class Header { @@ -22,10 +23,8 @@ public class Header { private int statusCode; - private List errors = Lists.newArrayList(); - @JsonIgnore - private Queue exceptions = Lists.newLinkedList(); + private Queue exceptions = new LinkedList<>(); public static Header newInsance() { return new Header(); @@ -93,13 +92,12 @@ public class Header { .collect(Collectors.toList()); } - public Header setErrors(final List errors) { - this.errors = errors; - return this; - } - public String toJson() { - return new GsonBuilder().setPrettyPrinting().create().toJson(this); + try { + return new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(this); + } catch (final JsonProcessingException e) { + throw new RuntimeException(e); + } } } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/Response.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/Response.java similarity index 90% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/Response.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/Response.java index abba2c54..662807da 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/Response.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/Response.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.dsm.domain; +package eu.dnetlib.openaire.exporter.model.dsm; import com.fasterxml.jackson.annotation.JsonAutoDetect; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/SimpleResponse.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/SimpleResponse.java similarity index 87% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/SimpleResponse.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/SimpleResponse.java index 73381faf..6d9b3466 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/SimpleResponse.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/dsm/SimpleResponse.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.dsm.domain; +package eu.dnetlib.openaire.exporter.model.dsm; import java.util.List; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/ExtendedFunderDetails.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/ExtendedFunderDetails.java similarity index 93% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/ExtendedFunderDetails.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/ExtendedFunderDetails.java index d6cc54d2..723feafb 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/ExtendedFunderDetails.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/ExtendedFunderDetails.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.funders.domain; +package eu.dnetlib.openaire.exporter.model.funders; import java.util.List; @@ -31,4 +31,3 @@ public class ExtendedFunderDetails extends FunderDetails { } } - diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/FunderDetails.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/FunderDetails.java similarity index 96% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/FunderDetails.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/FunderDetails.java index 04335b09..5180e193 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/FunderDetails.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/FunderDetails.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.funders.domain; +package eu.dnetlib.openaire.exporter.model.funders; import java.util.Date; diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/FundingStream.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/FundingStream.java similarity index 86% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/FundingStream.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/FundingStream.java index 1efd0aa7..863a443b 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/funders/domain/FundingStream.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/funders/FundingStream.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.funders.domain; +package eu.dnetlib.openaire.exporter.model.funders; public class FundingStream { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Country.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Country.java similarity index 89% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Country.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Country.java index 73c54763..3aff3c84 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Country.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Country.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.vocabularies; +package eu.dnetlib.openaire.exporter.model.vocabularies; /** * Created by claudio on 15/09/2017. diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Term.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Term.java similarity index 87% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Term.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Term.java index 30adc410..07b82a84 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Term.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Term.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.vocabularies; +package eu.dnetlib.openaire.exporter.model.vocabularies; /** * Created by claudio on 15/09/2017. diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Vocabulary.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Vocabulary.java similarity index 94% rename from apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Vocabulary.java rename to libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Vocabulary.java index 54c6e090..67243420 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/vocabularies/Vocabulary.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/vocabularies/Vocabulary.java @@ -1,4 +1,4 @@ -package eu.dnetlib.openaire.vocabularies; +package eu.dnetlib.openaire.exporter.model.vocabularies; import java.util.List; import java.util.Map;