dnet-hadoop/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/dump/oaf/Result.java

375 lines
13 KiB
Java

package eu.dnetlib.dhp.schema.dump.oaf;
import java.io.Serializable;
import java.util.List;
import eu.dnetlib.dhp.schema.dump.oaf.community.Project;
/**
* To represent the dumped result. It will be extended in the dump for Research Communities -
* Research Initiative/Infrastructures. It has the following parameters:
* - author of type List<eu.dnetlib.dhpschema.dump.oaf.Author> to describe the authors of a result.
* For each author is applied a dump as described previously
* - type of type String to represent the category of the result. Possible values are publication, dataset, software, other. It corresponds to resulttype.classname of the dumped result
* - language of type eu.dnetlib.dhp.schema.dump.oaf.Qualifier to store information about the language of the result. It is dumped as
* - code corresponds to language.classid
* - value corresponds to language.classname
* - country of type List<eu.dnetlib.dhp.schema.dump.oaf.Country> to store the country list to which the result is associated. For each country in the result respresented in the internal model one country in the external model is produces as described above
* - subjects of type List<eu.dnetlib.dhp.dump.oaf.Subject> to store the subjects for the result. For each subject in the result represented in the internal model one subject in the external model is produced as described above
* - maintitle of type String to store the main title of the result. It corresponds to the value of the first title in the resul to be dumped having classid equals to "main title"
* - subtitle of type String to store the subtitle of the result. It corresponds to the value of the first title in the resul to be dumped having classid equals to "subtitle"
* - description of type List<String> to store the description of the result. It corresponds to the list of description.value in the result represented in the internal model
* - publicationdate of type String to store the pubblication date. It corresponds to dateofacceptance.value in the result represented in the internal model
* - publisher of type String to store information about the publisher. It corresponds to publisher.value of the result represented in the intrenal model
* - embargoenddate of type String to store the embargo end date. It corresponds to embargoenddate.value of the result represented in the internal model
* - source of type List<String> See definition of Dublin Core field dc:source. It corresponds to the list of source.value in the result represented in the internal model
* - format of type List<String> It corresponds to the list of format.value in the result represented in the internal model
* - contributor of type List<String> to represent contributors for this result. It corresponds to the list of contributor.value in the result represented in the internal model
* - coverage of type String. It corresponds to the list of coverage.value in the result represented in the internal model
* - bestaccessright of type eu.dnetlib.dhp.schema.dump.oaf.AccessRight to store informatin about the openest access right associated to the manifestations of this research results. It corresponds to the same parameter in the result represented in the internal model and it is dumped as descriveb above
* - externalReference of type List<ExternalReference>. It will not be described here. ExternalReference to be changed in the mapping
* - instance of type List<eu.dnetlib.dhp.schema.dump.oaf.Instance> to store all the instances associated to the result. It corresponds to the same parameter in the result represented in the internal model and it is mapped as described previously
* - container of type eu.dnetlib.dhp.schema/dump.oaf.Container (only for result of type publication). It corresponds to the parameter journal of the result represented in the internal model and it is mapped as described prevoiusly
* - documentationUrl of type List<String> (only for results of type software) to store the URLs to the software documentation. It corresponds to the list of documentationUrl.value of the result represented in the internal model
* - codeRepositoryUrl of type String (only for results of type software) to store the URL to the repository with the source code. It corresponds to codeRepositoryUrl.value of the result represented in the internal model
* - programmingLanguage of type String (only for results of type software) to store the programming language. It corresponds to programmingLanguaga.classid of the result represented in the internal model
* - contactperson of type List<String> (only for results of type other) to store the contact person for this result. It corresponds to the list of contactperson.value of the result represented in the internal model
* - contactgroup of type List<String> (only for results of type other) to store the information for the contact group. It corresponds to the list of contactgroup.value of the result represented in the internal model
* - tool of type List<String> (only fro results of type other) to store information about tool useful for the interpretation and/or re-used of the research product. It corresponds to the list of tool.value in the result represented in the internal modelt
* - size of type String (only for results of type dataset) to store the size of the dataset. It corresponds to size.value in the result represented in the internal model
* - version of type String (only for results of type dataset) to store the version. It corresponds to version.value of the result represented in the internal model
* - geolocation fo type List<eu.dnetlib.dhp.schema.dump.oaf.GeoLocation> (only for results of type dataset) to store geolocation information. For each geolocation element in the result represented in the internal model a GeoLocation in the external model il produces ad described above
* - id of type String to store the OpenAIRE id of the result. It corresponds to the id of the result represented in the internal model
* - originalId of type List<String> to store the original ids of the result. It corresponds to the originalId of the result represented in the internal model
* - pid of type List<eu.dnetlib.dhp.schema.dump.oaf.ControlledField> to store the persistent identifiers for the result. For each pid in the results represented in the internal model one pid in the external model is produced. The value correspondence is:
* - scheme corresponds to pid.qualifier.classid of the result represented in the internal model
* - value corresponds to the pid.value of the result represented in the internal model
* - dateofcollection of type String to store information about the time OpenAIRE collected the record. It corresponds to dateofcollection of the result represented in the internal model
* - lasteupdatetimestamp of type String to store the timestamp of the last update of the record. It corresponds to lastupdatetimestamp of the resord represented in the internal model
*/
public class Result implements Serializable {
private List<Author> author;
// resulttype allows subclassing results into publications | datasets | software
private String type; // resulttype
// common fields
private Qualifier language;
private List<Country> country;
private List<Subject> subjects;
private String maintitle;
private String subtitle;
private List<String> description;
private String publicationdate; // dateofacceptance;
private String publisher;
private String embargoenddate;
private List<String> source;
private List<String> format;
private List<String> contributor;
private List<String> coverage;
private AccessRight bestaccessright;
private List<Instance> instance;
private Container container;// Journal
private List<String> documentationUrl; // software
private String codeRepositoryUrl; // software
private String programmingLanguage; // software
private List<String> contactperson; // orp
private List<String> contactgroup; // orp
private List<String> tool; // orp
private String size; // dataset
private String version; // dataset
private List<GeoLocation> geolocation; // dataset
private String id;
private List<String> originalId;
private List<ControlledField> pid;
private String dateofcollection;
private Long lastupdatetimestamp;
public Long getLastupdatetimestamp() {
return lastupdatetimestamp;
}
public void setLastupdatetimestamp(Long lastupdatetimestamp) {
this.lastupdatetimestamp = lastupdatetimestamp;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public List<String> getOriginalId() {
return originalId;
}
public void setOriginalId(List<String> originalId) {
this.originalId = originalId;
}
public List<ControlledField> getPid() {
return pid;
}
public void setPid(List<ControlledField> pid) {
this.pid = pid;
}
public String getDateofcollection() {
return dateofcollection;
}
public void setDateofcollection(String dateofcollection) {
this.dateofcollection = dateofcollection;
}
public List<Author> getAuthor() {
return author;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Container getContainer() {
return container;
}
public void setContainer(Container container) {
this.container = container;
}
public void setAuthor(List<Author> author) {
this.author = author;
}
public Qualifier getLanguage() {
return language;
}
public void setLanguage(Qualifier language) {
this.language = language;
}
public List<Country> getCountry() {
return country;
}
public void setCountry(List<Country> country) {
this.country = country;
}
public List<Subject> getSubjects() {
return subjects;
}
public void setSubjects(List<Subject> subjects) {
this.subjects = subjects;
}
public String getMaintitle() {
return maintitle;
}
public void setMaintitle(String maintitle) {
this.maintitle = maintitle;
}
public String getSubtitle() {
return subtitle;
}
public void setSubtitle(String subtitle) {
this.subtitle = subtitle;
}
public List<String> getDescription() {
return description;
}
public void setDescription(List<String> description) {
this.description = description;
}
public String getPublicationdate() {
return publicationdate;
}
public void setPublicationdate(String publicationdate) {
this.publicationdate = publicationdate;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public String getEmbargoenddate() {
return embargoenddate;
}
public void setEmbargoenddate(String embargoenddate) {
this.embargoenddate = embargoenddate;
}
public List<String> getSource() {
return source;
}
public void setSource(List<String> source) {
this.source = source;
}
public List<String> getFormat() {
return format;
}
public void setFormat(List<String> format) {
this.format = format;
}
public List<String> getContributor() {
return contributor;
}
public void setContributor(List<String> contributor) {
this.contributor = contributor;
}
public List<String> getCoverage() {
return coverage;
}
public void setCoverage(List<String> coverage) {
this.coverage = coverage;
}
public AccessRight getBestaccessright() {
return bestaccessright;
}
public void setBestaccessright(AccessRight bestaccessright) {
this.bestaccessright = bestaccessright;
}
public List<Instance> getInstance() {
return instance;
}
public void setInstance(List<Instance> instance) {
this.instance = instance;
}
public List<String> getDocumentationUrl() {
return documentationUrl;
}
public void setDocumentationUrl(List<String> documentationUrl) {
this.documentationUrl = documentationUrl;
}
public String getCodeRepositoryUrl() {
return codeRepositoryUrl;
}
public void setCodeRepositoryUrl(String codeRepositoryUrl) {
this.codeRepositoryUrl = codeRepositoryUrl;
}
public String getProgrammingLanguage() {
return programmingLanguage;
}
public void setProgrammingLanguage(String programmingLanguage) {
this.programmingLanguage = programmingLanguage;
}
public List<String> getContactperson() {
return contactperson;
}
public void setContactperson(List<String> contactperson) {
this.contactperson = contactperson;
}
public List<String> getContactgroup() {
return contactgroup;
}
public void setContactgroup(List<String> contactgroup) {
this.contactgroup = contactgroup;
}
public List<String> getTool() {
return tool;
}
public void setTool(List<String> tool) {
this.tool = tool;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public List<GeoLocation> getGeolocation() {
return geolocation;
}
public void setGeolocation(List<GeoLocation> geolocation) {
this.geolocation = geolocation;
}
}