diff --git a/src/main/java/eu/dnetlib/dhp/schema/sx/scholix/ScholixIdentifier.java b/src/main/java/eu/dnetlib/dhp/schema/sx/scholix/ScholixIdentifier.java index 2301d40..8fc8b08 100644 --- a/src/main/java/eu/dnetlib/dhp/schema/sx/scholix/ScholixIdentifier.java +++ b/src/main/java/eu/dnetlib/dhp/schema/sx/scholix/ScholixIdentifier.java @@ -2,17 +2,43 @@ package eu.dnetlib.dhp.schema.sx.scholix; import java.io.Serializable; +import java.util.Objects; public class ScholixIdentifier implements Serializable { private String identifier; private String schema; + private String url; public ScholixIdentifier() { } - public ScholixIdentifier(String identifier, String schema) { + public ScholixIdentifier(String identifier, String schema, String url) { this.identifier = identifier; this.schema = schema; + this.url = url; + } + + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ScholixIdentifier that = (ScholixIdentifier) o; + return identifier.equals(that.identifier) && schema.equals(that.schema); + } + + @Override + public int hashCode() { + return Objects.hash(identifier, schema); } public String getIdentifier() { diff --git a/src/main/java/eu/dnetlib/dhp/schema/sx/scholix/ScholixResource.java b/src/main/java/eu/dnetlib/dhp/schema/sx/scholix/ScholixResource.java index e173e2a..569b1f3 100644 --- a/src/main/java/eu/dnetlib/dhp/schema/sx/scholix/ScholixResource.java +++ b/src/main/java/eu/dnetlib/dhp/schema/sx/scholix/ScholixResource.java @@ -2,11 +2,7 @@ package eu.dnetlib.dhp.schema.sx.scholix; import java.io.Serializable; -import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; - -import eu.dnetlib.dhp.schema.sx.summary.ScholixSummary; public class ScholixResource implements Serializable { @@ -20,63 +16,6 @@ public class ScholixResource implements Serializable { private List publisher; private List collectedFrom; - public static ScholixResource fromSummary(ScholixSummary summary) { - - final ScholixResource resource = new ScholixResource(); - - resource.setDnetIdentifier(summary.getId()); - - resource - .setIdentifier( - summary - .getLocalIdentifier() - .stream() - .map(i -> new ScholixIdentifier(i.getId(), i.getType())) - .collect(Collectors.toList())); - - resource.setObjectType(summary.getTypology().toString()); - - if (summary.getTitle() != null && summary.getTitle().size() > 0) - resource.setTitle(summary.getTitle().get(0)); - - if (summary.getAuthor() != null) - resource - .setCreator( - summary - .getAuthor() - .stream() - .map(c -> new ScholixEntityId(c, null)) - .collect(Collectors.toList())); - - if (summary.getDate() != null && summary.getDate().size() > 0) - resource.setPublicationDate(summary.getDate().get(0)); - if (summary.getPublisher() != null) - resource - .setPublisher( - summary - .getPublisher() - .stream() - .map(p -> new ScholixEntityId(p, null)) - .collect(Collectors.toList())); - if (summary.getDatasources() != null) - resource - .setCollectedFrom( - summary - .getDatasources() - .stream() - .map( - d -> new ScholixCollectedFrom( - new ScholixEntityId( - d.getDatasourceName(), - Collections - .singletonList( - new ScholixIdentifier(d.getDatasourceId(), "dnet_identifier"))), - "collected", - d.getCompletionStatus())) - .collect(Collectors.toList())); - return resource; - } - public List getIdentifier() { return identifier; } diff --git a/src/main/java/eu/dnetlib/dhp/schema/sx/summary/CollectedFromType.java b/src/main/java/eu/dnetlib/dhp/schema/sx/summary/CollectedFromType.java index 0dae748..61df72f 100644 --- a/src/main/java/eu/dnetlib/dhp/schema/sx/summary/CollectedFromType.java +++ b/src/main/java/eu/dnetlib/dhp/schema/sx/summary/CollectedFromType.java @@ -2,6 +2,7 @@ package eu.dnetlib.dhp.schema.sx.summary; import java.io.Serializable; +import java.util.Objects; public class CollectedFromType implements Serializable { @@ -18,6 +19,19 @@ public class CollectedFromType implements Serializable { this.completionStatus = completionStatus; } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CollectedFromType that = (CollectedFromType) o; + return Objects.equals(datasourceName, that.datasourceName) && Objects.equals(datasourceId, that.datasourceId); + } + + @Override + public int hashCode() { + return Objects.hash(datasourceName, datasourceId); + } + public String getDatasourceName() { return datasourceName; } diff --git a/src/main/java/eu/dnetlib/dhp/schema/sx/summary/ScholixSummary.java b/src/main/java/eu/dnetlib/dhp/schema/sx/summary/ScholixSummary.java index 5894c05..8da25dc 100644 --- a/src/main/java/eu/dnetlib/dhp/schema/sx/summary/ScholixSummary.java +++ b/src/main/java/eu/dnetlib/dhp/schema/sx/summary/ScholixSummary.java @@ -6,9 +6,11 @@ import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; +import eu.dnetlib.dhp.schema.sx.scholix.ScholixIdentifier; + public class ScholixSummary implements Serializable { private String id; - private List localIdentifier; + private List localIdentifier; private Typology typology; private String subType; private List title; @@ -30,11 +32,11 @@ public class ScholixSummary implements Serializable { this.id = id; } - public List getLocalIdentifier() { + public List getLocalIdentifier() { return localIdentifier; } - public void setLocalIdentifier(List localIdentifier) { + public void setLocalIdentifier(List localIdentifier) { this.localIdentifier = localIdentifier; } diff --git a/src/main/java/eu/dnetlib/dhp/schema/sx/summary/TypedIdentifier.java b/src/main/java/eu/dnetlib/dhp/schema/sx/summary/TypedIdentifier.java deleted file mode 100644 index b66cb08..0000000 --- a/src/main/java/eu/dnetlib/dhp/schema/sx/summary/TypedIdentifier.java +++ /dev/null @@ -1,43 +0,0 @@ - -package eu.dnetlib.dhp.schema.sx.summary; - -import java.io.Serializable; - -public class TypedIdentifier implements Serializable { - private String id; - private String type; - private String url; - - public TypedIdentifier() { - } - - public TypedIdentifier(String id, String type, String url) { - this.id = id; - this.type = type; - this.url = url; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } -}