2020-04-27 14:52:31 +02:00
|
|
|
|
2019-10-24 11:39:41 +02:00
|
|
|
package eu.dnetlib.dhp.schema.oaf;
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
import java.util.List;
|
|
|
|
|
2020-04-28 11:23:29 +02:00
|
|
|
import eu.dnetlib.dhp.schema.common.ModelConstants;
|
|
|
|
|
2019-10-25 18:10:30 +02:00
|
|
|
public class Software extends Result implements Serializable {
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
private List<Field<String>> documentationUrl;
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-06-08 15:01:21 +02:00
|
|
|
// candidate for removal
|
2020-04-27 14:52:31 +02:00
|
|
|
private List<StructuredProperty> license;
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-06-08 15:01:21 +02:00
|
|
|
// candidate for removal
|
2020-04-27 14:52:31 +02:00
|
|
|
private Field<String> codeRepositoryUrl;
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
private Qualifier programmingLanguage;
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public Software() {
|
|
|
|
setResulttype(ModelConstants.SOFTWARE_DEFAULT_RESULTTYPE);
|
|
|
|
}
|
2020-04-23 19:14:37 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public List<Field<String>> getDocumentationUrl() {
|
|
|
|
return documentationUrl;
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public void setDocumentationUrl(List<Field<String>> documentationUrl) {
|
|
|
|
this.documentationUrl = documentationUrl;
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public List<StructuredProperty> getLicense() {
|
|
|
|
return license;
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public void setLicense(List<StructuredProperty> license) {
|
|
|
|
this.license = license;
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public Field<String> getCodeRepositoryUrl() {
|
|
|
|
return codeRepositoryUrl;
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public void setCodeRepositoryUrl(Field<String> codeRepositoryUrl) {
|
|
|
|
this.codeRepositoryUrl = codeRepositoryUrl;
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public Qualifier getProgrammingLanguage() {
|
|
|
|
return programmingLanguage;
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
public void setProgrammingLanguage(Qualifier programmingLanguage) {
|
|
|
|
this.programmingLanguage = programmingLanguage;
|
|
|
|
}
|
2019-12-13 09:40:02 +01:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
@Override
|
|
|
|
public void mergeFrom(OafEntity e) {
|
|
|
|
super.mergeFrom(e);
|
2020-04-01 18:28:23 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
if (!Software.class.isAssignableFrom(e.getClass())) {
|
|
|
|
return;
|
|
|
|
}
|
2020-04-01 18:28:23 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
final Software s = (Software) e;
|
|
|
|
documentationUrl = mergeLists(documentationUrl, s.getDocumentationUrl());
|
2019-12-13 09:40:02 +01:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
license = mergeLists(license, s.getLicense());
|
2019-12-13 09:40:02 +01:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
codeRepositoryUrl = s.getCodeRepositoryUrl() != null && compareTrust(this, s) < 0
|
|
|
|
? s.getCodeRepositoryUrl()
|
|
|
|
: codeRepositoryUrl;
|
2019-12-13 09:40:02 +01:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
programmingLanguage = s.getProgrammingLanguage() != null && compareTrust(this, s) < 0
|
|
|
|
? s.getProgrammingLanguage()
|
|
|
|
: programmingLanguage;
|
2019-12-13 09:40:02 +01:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
mergeOAFDataInfo(e);
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
}
|