Compare commits

...

51 Commits

Author SHA1 Message Date
Claudio Atzori 7f884efba8 [maven-release-plugin] prepare for next development iteration 2024-12-20 10:47:03 +01:00
Claudio Atzori 0278f8e108 [maven-release-plugin] prepare release dhp-schemas-10.0.2 2024-12-20 10:46:56 +01:00
Claudio Atzori 36320a0c08 Merge pull request 'Preparing release 10.0.2' (#42) from raw_author_affiliations into master
Reviewed-on: #42
2024-12-20 10:46:22 +01:00
Claudio Atzori 63c667a951 Preparing release 10.0.2
[Graph model]
- Added RawAuthorAffiliation to represent the raw author affiliation strings and optionally the organization PIDs associated with them
2024-12-20 10:44:57 +01:00
Claudio Atzori a858c0c457 [maven-release-plugin] prepare for next development iteration 2024-12-09 16:27:29 +01:00
Claudio Atzori f14bd003b0 [maven-release-plugin] prepare release dhp-schemas-10.0.1 2024-12-09 16:27:23 +01:00
Claudio Atzori 846aea468e [maven-release-plugin] rollback the release of dhp-schemas-10.0.1 2024-12-09 16:18:01 +01:00
Claudio Atzori e8c256ed7b [maven-release-plugin] prepare for next development iteration 2024-12-09 16:14:54 +01:00
Claudio Atzori bb973563aa updated changelog 2024-12-09 16:11:17 +01:00
Claudio Atzori 58c601171f excluding project lombok from the dependencies, allow to deserialize solr.RecordType from 'otherresearchproduct' 2024-12-09 16:09:23 +01:00
Claudio Atzori e89828babe [maven-release-plugin] prepare for next development iteration 2024-11-20 15:39:22 +01:00
Claudio Atzori cee2e8e6cd [maven-release-plugin] prepare release dhp-schemas-10.0.0 2024-11-20 15:39:19 +01:00
Claudio Atzori a4788db18b Merge pull request 'Auhtor name in the Solr payload's related record' (#41) from solr_payload_relatedrecord into master
Reviewed-on: #41
2024-11-20 15:38:49 +01:00
Claudio Atzori db7b8184a3 updated changelog 2024-11-20 15:38:30 +01:00
Claudio Atzori f70e95ff56 bumped pom version 2024-11-20 15:36:53 +01:00
Claudio Atzori e7c0a05548 Merge branch 'solr_payload_relatedrecord' of https://code-repo.d4science.org/D-Net/dhp-schemas into solr_payload_relatedrecord 2024-11-20 15:35:39 +01:00
Claudio Atzori df5c224b8a added given name and family name among the properties describing a related record in solr 2024-11-20 15:35:21 +01:00
Claudio Atzori f0665c475c added given name and family name among the properteis describing a related record in solr 2024-11-20 15:34:05 +01:00
Claudio Atzori bd93479688 [maven-release-plugin] prepare for next development iteration 2024-10-28 10:40:13 +01:00
Claudio Atzori 842542a41c [maven-release-plugin] prepare release dhp-schemas-9.0.0 2024-10-28 10:40:09 +01:00
Claudio Atzori 43ecf83c04 method accessibiliy 2024-10-28 10:39:49 +01:00
Claudio Atzori a24da6de30 [maven-release-plugin] prepare for next development iteration 2024-10-28 10:34:14 +01:00
Claudio Atzori c82a007217 [maven-release-plugin] prepare release dhp-schemas-9.0.0 2024-10-28 10:34:11 +01:00
Claudio Atzori 330794f12c RecordType resolves 'otherresearchproduct' to 'other' 2024-10-28 10:30:39 +01:00
Claudio Atzori 1ae0a39aa0 [maven-release-plugin] prepare for next development iteration 2024-10-28 10:13:57 +01:00
Claudio Atzori f872a24c96 [maven-release-plugin] prepare release dhp-schemas-9.0.0 2024-10-28 10:13:54 +01:00
Claudio Atzori a40552fb94 Renamed RecordType. to . Deprecated Result.resulttype 2024-10-28 10:10:41 +01:00
Claudio Atzori d0b310c1f4 [maven-release-plugin] prepare for next development iteration 2024-10-25 13:03:44 +02:00
Claudio Atzori caebb5e661 [maven-release-plugin] prepare release dhp-schemas-9.0.0 2024-10-25 13:03:40 +02:00
Claudio Atzori c43362bc6d [Solr Model] simplified author details 2024-10-25 13:03:18 +02:00
Claudio Atzori eee23553bd [maven-release-plugin] prepare for next development iteration 2024-10-25 12:27:35 +02:00
Claudio Atzori 161dc0141f [maven-release-plugin] prepare release dhp-schemas-9.0.0 2024-10-25 12:27:31 +02:00
Claudio Atzori c6e77902d5 Preparing release 9.0.0
[Graph model]
- added OafEntity.mergedIds
- added Result.bestInstanceType

[Solr model]
- added Result.bestInstanceType
- added RelatedRecord.description
- added RelatedRecord.author[]
2024-10-25 12:25:36 +02:00
Claudio Atzori c45a6dbba7 [maven-release-plugin] prepare for next development iteration 2024-10-08 16:21:23 +02:00
Claudio Atzori 0340fafb56 [maven-release-plugin] prepare release dhp-schemas-8.0.1 2024-10-08 16:21:19 +02:00
Claudio Atzori 9ad61e70fa using string to represent PersonTopic.(fromYear|toYear) 2024-10-08 16:20:55 +02:00
Claudio Atzori 14365d7ea2 [maven-release-plugin] prepare for next development iteration 2024-09-24 11:17:01 +02:00
Claudio Atzori 0b3ae130e2 [maven-release-plugin] prepare release dhp-schemas-8.0.0 2024-09-24 11:16:58 +02:00
Claudio Atzori dc20c3b54c Merge pull request 'raw affiliation string' (#40) from raw_affiliations into master
Reviewed-on: #40
2024-09-24 11:16:33 +02:00
Claudio Atzori f8f5381221 Renamed to 2024-09-24 11:14:00 +02:00
Claudio Atzori 02abe33b46 updated solr.Person model, using string to model the Year field. 2024-09-24 11:03:45 +02:00
Claudio Atzori 8c2665a706 [maven-release-plugin] prepare for next development iteration 2024-07-31 10:28:35 +02:00
Claudio Atzori 06db0239cf [maven-release-plugin] prepare release dhp-schemas-7.0.2 2024-07-31 10:28:32 +02:00
Claudio Atzori fd6ec5e58f Person entity: use int instead of java.time.Year as this is susceptible to errors in spark 2024-07-31 10:27:58 +02:00
Claudio Atzori 9d296a48c6 [maven-release-plugin] prepare for next development iteration 2024-07-29 10:56:20 +02:00
Claudio Atzori fbfc413d85 [maven-release-plugin] prepare release dhp-schemas-7.0.1 2024-07-29 10:56:16 +02:00
Claudio Atzori 40c20d9e33 Merge pull request 'Person entity model refinements' (#39) from person_entity into master
Reviewed-on: #39
2024-07-29 10:55:23 +02:00
Claudio Atzori 81fda4a9b8 [maven-release-plugin] prepare for next development iteration 2024-07-17 11:52:19 +02:00
Claudio Atzori 1c66476cb9 [maven-release-plugin] prepare release dhp-schemas-7.0.0 2024-07-17 11:52:15 +02:00
Claudio Atzori ec1f471eb1 bumped version to 7.0.0 2024-07-17 11:51:51 +02:00
Claudio Atzori a6bc90b90e Merge pull request 'Person entity' (#37) from person_entity into master
Reviewed-on: #37
2024-07-17 11:50:38 +02:00
15 changed files with 199 additions and 36 deletions

View File

@ -4,7 +4,13 @@
| **Version** | **Changes** | **Readiness** | | **Version** | **Changes** | **Readiness** |
|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------| |-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| 7.0.0 | [Graph model] </br> <ul><li>Introduced Person entity and its relations: authorship, coauthorship, affiliation</li><li>Updated Solr JSON payload model classes</li></ul> | beta | | 10.0.2 | [Graph model] </br><ul><li>Added `RawAuthorAffiliation` to represent the raw author affiliation strings and optionally the organization PIDs associated with them</li></ul> | beta |
| 10.0.1 | [Solr model] </br> <ul><li>Improved mapping robustness</li></ul></br> | beta |
| 10.0.0 | [Solr model] </br> <ul><li>Auhtor name in the Solr payload's related record</li></ul></br> | beta |
| 9.0.0 | [Graph model] </br> <ul><li>added OafEntity.mergedIds</li><li>added Result.bestInstanceType</li></ul></br>[Solr model]</br> <ul><li>added Result.bestInstanceType</li><li>added RelatedRecord.description</li><li>added RelatedRecord.author[]</li></ul></br> | beta |
| 8.0.1 | [Solr model] </br> <ul><li>using string to represent PersonTopic.(fromYear/toYear)</li></ul> | production |
| 8.0.0 | [Graph model] </br> <ul><li>Renamed `Result.author.affiliation` to `rawAffiliationString`. Updated Solr JSON payload model classes</li></ul> | production |
| 7.0.0 | [Graph model] </br> <ul><li>Introduced Person entity and its relations: authorship, coauthorship, affiliation</li><li>Updated Solr JSON payload model classes</li></ul> | production |
| 6.1.3 | [Graph model] </br> <ul><li>Updated Solr JSON payload model classes</li></ul> | production | | 6.1.3 | [Graph model] </br> <ul><li>Updated Solr JSON payload model classes</li></ul> | production |
| 6.1.1 | [Graph model] </br> <ul><li>Introduced constants used in the DOIBoost dismission.</li></ul> | production | | 6.1.1 | [Graph model] </br> <ul><li>Introduced constants used in the DOIBoost dismission.</li></ul> | production |
| 6.1.0 | [Graph model] </br> <ul><li>Introduced model classes to provide a JSON representation of records embedding information from the related entities.</li></ul> | production | | 6.1.0 | [Graph model] </br> <ul><li>Introduced model classes to provide a JSON representation of records embedding information from the related entities.</li></ul> | production |

10
pom.xml
View File

@ -5,7 +5,7 @@
<groupId>eu.dnetlib.dhp</groupId> <groupId>eu.dnetlib.dhp</groupId>
<artifactId>dhp-schemas</artifactId> <artifactId>dhp-schemas</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>7.0.1-SNAPSHOT</version> <version>10.0.3-SNAPSHOT</version>
<licenses> <licenses>
<license> <license>
@ -32,7 +32,7 @@
<connection>scm:git:gitea@code-repo.d4science.org:D-Net/dhp-schemas.git</connection> <connection>scm:git:gitea@code-repo.d4science.org:D-Net/dhp-schemas.git</connection>
<developerConnection>scm:git:gitea@code-repo.d4science.org:D-Net/dhp-schemas.git</developerConnection> <developerConnection>scm:git:gitea@code-repo.d4science.org:D-Net/dhp-schemas.git</developerConnection>
<url>https://code-repo.d4science.org/D-Net/dhp-schemas/</url> <url>https://code-repo.d4science.org/D-Net/dhp-schemas/</url>
<tag>dhp-schemas-2.10.30</tag> <tag>HEAD</tag>
</scm> </scm>
<description>This module contains common schema classes meant to be used across the dnet-hadoop submodules</description> <description>This module contains common schema classes meant to be used across the dnet-hadoop submodules</description>
@ -430,6 +430,12 @@
<dependency> <dependency>
<groupId>com.github.sisyphsu</groupId> <groupId>com.github.sisyphsu</groupId>
<artifactId>dateparser</artifactId> <artifactId>dateparser</artifactId>
<exclusions>
<exclusion>
<artifactId>lombok</artifactId>
<groupId>org.projectlombok</groupId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -7,6 +7,7 @@ import java.util.*;
public class Author implements Serializable { public class Author implements Serializable {
private static final long serialVersionUID = 1625492739044457437L; private static final long serialVersionUID = 1625492739044457437L;
private String fullname; private String fullname;
private String name; private String name;
@ -18,7 +19,7 @@ public class Author implements Serializable {
private List<StructuredProperty> pid; private List<StructuredProperty> pid;
private List<Field<String>> affiliation; private List<RawAuthorAffiliation> rawAffiliationString;
public String getFullname() { public String getFullname() {
return fullname; return fullname;
@ -60,12 +61,11 @@ public class Author implements Serializable {
this.pid = pid; this.pid = pid;
} }
public List<Field<String>> getAffiliation() { public List<RawAuthorAffiliation> getRawAffiliationString() {
return affiliation; return rawAffiliationString;
} }
public void setAffiliation(List<Field<String>> affiliation) { public void setRawAffiliationString(List<RawAuthorAffiliation> rawAffiliationString) {
this.affiliation = affiliation; this.rawAffiliationString = rawAffiliationString;
} }
} }

View File

@ -10,6 +10,11 @@ public abstract class OafEntity extends Oaf implements Serializable {
private String id; private String id;
/**
* MergedIds contains the list of the OpenAIRE IDs of the records merged into this one.
*/
private List<String> mergedIds;
private List<String> originalId; private List<String> originalId;
private List<StructuredProperty> pid; private List<StructuredProperty> pid;
@ -80,6 +85,14 @@ public abstract class OafEntity extends Oaf implements Serializable {
return originalId; return originalId;
} }
public List<String> getMergedIds() {
return mergedIds;
}
public void setMergedIds(List<String> mergedIds) {
this.mergedIds = mergedIds;
}
public void setOriginalId(List<String> originalId) { public void setOriginalId(List<String> originalId) {
this.originalId = originalId; this.originalId = originalId;
} }

View File

@ -1,7 +1,6 @@
package eu.dnetlib.dhp.schema.oaf; package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable; import java.io.Serializable;
import java.time.Year;
public class PersonTopic implements Serializable { public class PersonTopic implements Serializable {
@ -11,9 +10,9 @@ public class PersonTopic implements Serializable {
private String schema; private String schema;
private Year fromYear; private String fromYear;
private Year toYear; private String toYear;
public PersonTopic() { public PersonTopic() {
} }
@ -34,19 +33,19 @@ public class PersonTopic implements Serializable {
this.schema = schema; this.schema = schema;
} }
public Year getFromYear() { public String getFromYear() {
return fromYear; return fromYear;
} }
public void setFromYear(Year fromYear) { public void setFromYear(String fromYear) {
this.fromYear = fromYear; this.fromYear = fromYear;
} }
public Year getToYear() { public String getToYear() {
return toYear; return toYear;
} }
public void setToYear(Year toYear) { public void setToYear(String toYear) {
this.toYear = toYear; this.toYear = toYear;
} }
} }

View File

@ -0,0 +1,29 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
public class Pid implements Serializable {
private static final long serialVersionUID = 8927505521598533507L;
private String type;
private String value;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

View File

@ -0,0 +1,30 @@
package eu.dnetlib.dhp.schema.oaf;
import java.io.Serializable;
import java.util.List;
public class RawAuthorAffiliation implements Serializable {
private static final long serialVersionUID = -4248069698947092558L;
private String rawAffiliationString;
private List<Pid> pids;
public String getRawAffiliationString() {
return rawAffiliationString;
}
public void setRawAffiliationString(String rawAffiliationString) {
this.rawAffiliationString = rawAffiliationString;
}
public List<Pid> getPids() {
return pids;
}
public void setPids(List<Pid> pids) {
this.pids = pids;
}
}

View File

@ -125,6 +125,11 @@ public class Result extends OafEntity implements Serializable {
*/ */
private List<ExternalReference> externalReference; private List<ExternalReference> externalReference;
/**
* The most representative instanceType among the instances.
*/
private Qualifier bestInstancetype;
/** /**
* The Instance. * The Instance.
*/ */
@ -521,6 +526,14 @@ public class Result extends OafEntity implements Serializable {
this.externalReference = externalReference; this.externalReference = externalReference;
} }
public Qualifier getBestInstancetype() {
return bestInstancetype;
}
public void setBestInstancetype(Qualifier bestInstancetype) {
this.bestInstancetype = bestInstancetype;
}
/** /**
* Gets instance. * Gets instance.
* *

View File

@ -2,10 +2,9 @@
package eu.dnetlib.dhp.schema.orcid; package eu.dnetlib.dhp.schema.orcid;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.google.common.collect.Lists;
/** /**
* This class models the data that are retrieved from orcid publication * This class models the data that are retrieved from orcid publication
*/ */
@ -65,7 +64,7 @@ public class AuthorData implements Serializable {
public void setOtherNames(List<String> otherNames) { public void setOtherNames(List<String> otherNames) {
if (this.otherNames == null) { if (this.otherNames == null) {
this.otherNames = Lists.newArrayList(); this.otherNames = new ArrayList<>();
} }
this.otherNames = otherNames; this.otherNames = otherNames;
} }

View File

@ -1,15 +1,14 @@
package eu.dnetlib.dhp.schema.solr; package eu.dnetlib.dhp.schema.solr;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.google.common.collect.Lists;
public class Category implements Serializable { public class Category implements Serializable {
private String id; private String id;
private String label; private String label;
private List<Concept> concept = Lists.newArrayList(); private List<Concept> concept = new ArrayList<>();
public static Category newInstance(String id, String label) { public static Category newInstance(String id, String label) {
Category category = new Category(); Category category = new Category();

View File

@ -1,16 +1,15 @@
package eu.dnetlib.dhp.schema.solr; package eu.dnetlib.dhp.schema.solr;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.google.common.collect.Lists;
public class Context implements Serializable { public class Context implements Serializable {
private String id; private String id;
private String label; private String label;
private String type; private String type;
private List<Category> category = Lists.newArrayList(); private List<Category> category = new ArrayList<>();
public static Context newInstance(String id, String label, String type, List<Category> category) { public static Context newInstance(String id, String label, String type, List<Category> category) {
Context context = new Context(); Context context = new Context();

View File

@ -11,11 +11,11 @@ public class PersonTopic implements Serializable {
private String schema; private String schema;
private Year fromYear; private String fromYear;
private Year toYear; private String toYear;
public static PersonTopic newInstance(String value, String schema, Year fromYear, Year toYear) { public static PersonTopic newInstance(String value, String schema, String fromYear, String toYear) {
final PersonTopic personTopic = new PersonTopic(); final PersonTopic personTopic = new PersonTopic();
personTopic.setValue(value); personTopic.setValue(value);
personTopic.setSchema(schema); personTopic.setSchema(schema);
@ -43,19 +43,19 @@ public class PersonTopic implements Serializable {
this.schema = schema; this.schema = schema;
} }
public Year getFromYear() { public String getFromYear() {
return fromYear; return fromYear;
} }
public void setFromYear(Year fromYear) { public void setFromYear(String fromYear) {
this.fromYear = fromYear; this.fromYear = fromYear;
} }
public Year getToYear() { public String getToYear() {
return toYear; return toYear;
} }
public void setToYear(Year toYear) { public void setToYear(String toYear) {
this.toYear = toYear; this.toYear = toYear;
} }
} }

View File

@ -1,15 +1,29 @@
package eu.dnetlib.dhp.schema.solr; package eu.dnetlib.dhp.schema.solr;
import java.io.Serializable; import java.io.Serializable;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonCreator;
public enum RecordType implements Serializable { public enum RecordType implements Serializable {
publication, publication,
dataset, dataset,
otherresearchproduct, other,
software, software,
datasource, datasource,
organization, organization,
project, project,
person; person;
@JsonCreator
public static RecordType fromString(String s) {
if (Objects.isNull(s)) {
return null;
}
if ("otherresearchproduct".equalsIgnoreCase(s)) {
return other;
}
return valueOf(s);
}
} }

View File

@ -12,14 +12,16 @@ public class RelatedRecord implements Serializable {
// common fields // common fields
private String title; private String title;
private String websiteurl; // datasource, organizations, projects private String websiteurl; // datasource, organizations, projects
private List<Pid> pid;
private List<Provenance> collectedfrom;
// results // results
private List<String> author;
private String description;
private String dateofacceptance; private String dateofacceptance;
private String publisher; private String publisher;
private List<Pid> pid;
private String codeRepositoryUrl; private String codeRepositoryUrl;
private String resulttype; private String resulttype;
private List<Provenance> collectedfrom;
private List<Instance> instances; private List<Instance> instances;
// datasource // datasource
@ -41,6 +43,10 @@ public class RelatedRecord implements Serializable {
private Funding funding; private Funding funding;
private String validationDate; private String validationDate;
// person
private String givenName;
private String familyName;
public RelatedRecordHeader getHeader() { public RelatedRecordHeader getHeader() {
return header; return header;
} }
@ -57,6 +63,22 @@ public class RelatedRecord implements Serializable {
this.title = title; this.title = title;
} }
public List<String> getAuthor() {
return author;
}
public void setAuthor(List<String> author) {
this.author = author;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getWebsiteurl() { public String getWebsiteurl() {
return websiteurl; return websiteurl;
} }
@ -224,4 +246,20 @@ public class RelatedRecord implements Serializable {
public void setValidationDate(String validationDate) { public void setValidationDate(String validationDate) {
this.validationDate = validationDate; this.validationDate = validationDate;
} }
public String getGivenName() {
return givenName;
}
public void setGivenName(String givenName) {
this.givenName = givenName;
}
public String getFamilyName() {
return familyName;
}
public void setFamilyName(String familyName) {
this.familyName = familyName;
}
} }

View File

@ -9,7 +9,9 @@ public class Result implements Serializable {
/** /**
* Type of the result: one of 'publication', 'dataset', 'software', 'other' (see also https://api.openaire.eu/vocabularies/dnet:result_typologies) * Type of the result: one of 'publication', 'dataset', 'software', 'other' (see also https://api.openaire.eu/vocabularies/dnet:result_typologies)
* This field is deprecated. See eu.dnetlib.dhp.schema.solr.SolrRecordHeader.RecordType
*/ */
@Deprecated
private String resulttype; private String resulttype;
/** /**
@ -157,16 +159,24 @@ public class Result implements Serializable {
private List<ExternalReference> externalReference; private List<ExternalReference> externalReference;
private String bestinstancetype;
/** /**
* Each instance is one specific materialisation or version of the result. For example, you can have one result with * Each instance is one specific materialisation or version of the result. For example, you can have one result with
* three instance: one is the pre-print, one is the post-print, one is te published version * three instance: one is the pre-print, one is the post-print, one is te published version
*/ */
private List<Instance> instance; private List<Instance> instance;
/**
* This field is deprecated. See eu.dnetlib.dhp.schema.solr.SolrRecordHeader.RecordType
* @return resulttype
*/
@Deprecated
public String getResulttype() { public String getResulttype() {
return resulttype; return resulttype;
} }
@Deprecated
public void setResulttype(String resulttype) { public void setResulttype(String resulttype) {
this.resulttype = resulttype; this.resulttype = resulttype;
} }
@ -427,6 +437,14 @@ public class Result implements Serializable {
this.externalReference = externalReference; this.externalReference = externalReference;
} }
public String getBestinstancetype() {
return bestinstancetype;
}
public void setBestinstancetype(String bestinstancetype) {
this.bestinstancetype = bestinstancetype;
}
public List<Instance> getInstance() { public List<Instance> getInstance() {
return instance; return instance;
} }