collectorsnumber varchar(255),
fieldnotes varchar(255),
fieldnumber varchar(255),
+ barcode varchar(255),
createdby_id integer,
updatedby_id integer,
lifestage_id integer,
sex_id integer,
fieldnotes varchar(255),
fieldnumber varchar(255),
+ barcode varchar(255),
gatheringevent_id integer,
accessionnumber varchar(255),
catalognumber varchar(255),
COLLECTORSNUMBER CDATA #IMPLIED
FIELDNOTES CDATA #IMPLIED
FIELDNUMBER CDATA #IMPLIED
+ BARCODE CDATA #IMPLIED
CREATEDBY_ID CDATA #IMPLIED
UPDATEDBY_ID CDATA #IMPLIED
LIFESTAGE_ID CDATA #IMPLIED
SEX_ID CDATA #IMPLIED
FIELDNOTES CDATA #IMPLIED
FIELDNUMBER CDATA #IMPLIED
+ BARCODE CDATA #IMPLIED
GATHERINGEVENT_ID CDATA #IMPLIED
ACCESSIONNUMBER CDATA #IMPLIED
CATALOGNUMBER CDATA #IMPLIED
"storedUnder",
"derivationEvent",
"accessionNumber",
- "collectorsNumber"
+ "collectorsNumber",
+ "barcode"
})
@XmlRootElement(name = "DerivedUnitBase")
@Entity
@Length(max = 255)
private String collectorsNumber;
+ @XmlElement(name = "Barcode")
+ @Field(index=Index.UN_TOKENIZED)
+ @NullOrNotEmpty
+ @Length(max = 255)
+ private String barcode;
+
@XmlElement(name = "StoredUnder")
@XmlIDREF
@XmlSchemaType(name = "IDREF")
this.catalogNumber = catalogNumber;
}
+ public void setBarcode(String barcode) {
+ this.barcode = barcode;
+ }
+ public String getBarcode() {
+ return barcode;
+ }
+
public void setStoredUnder(TaxonNameBase storedUnder) {
this.storedUnder = storedUnder;
}
//no changes to: accessionNumber, catalogNumber, collectorsNumber
return result;
}
+
}
return new ColumnAdder(stepName, tableName, newColumnName, "bit", includeAudTable, defaultValue);\r
}\r
\r
+ public static final ColumnAdder NewStringInstance(String stepName, String tableName, String newColumnName, boolean includeAudTable){\r
+ return new ColumnAdder(stepName, tableName, newColumnName, "nvarchar(255)", includeAudTable, null);\r
+ }\r
+ \r
protected ColumnAdder(String stepName, String tableName, String newColumnName, String columnType, boolean includeAudTable, Object defaultValue) {\r
super(stepName);\r
this.tableName = tableName;\r
@Override\r
public Integer invoke(ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
boolean result = true;\r
- result &= addColumn(tableName, newColumnName, columnType, datasource, monitor);\r
+ String databaseColumnType = getDatabaseColumnType(datasource, columnType);\r
+ result &= addColumn(tableName, newColumnName, databaseColumnType, datasource, monitor);\r
if (includeAudTable){\r
String aud = "_AUD";\r
- result &= addColumn(tableName + aud, newColumnName, columnType, datasource, monitor);\r
+ result &= addColumn(tableName + aud, newColumnName, databaseColumnType, datasource, monitor);\r
}\r
return (result == true )? 0 : null;\r
}\r
\r
+ private String getDatabaseColumnType(ICdmDataSource datasource, String columnType) {\r
+ String result = columnType;\r
+ if (datasource.getDatabaseType().equals(DatabaseTypeEnum.PostgreSQL)){\r
+ result = result.replace("nvarchar", "varchar");\r
+ }\r
+ return result;\r
+ }\r
+\r
private boolean addColumn(String tableName, String newColumnName, String columnType, ICdmDataSource datasource, IProgressMonitor monitor) {\r
DatabaseTypeEnum type = datasource.getDatabaseType();\r
String updateQuery;\r
step = ColumnAdder.NewBooleanInstance(stepName, "TaxonBase", "excluded", INCLUDE_AUDIT, defaultValue);\r
stepList.add(step);\r
\r
-// //add barcode to derived unit base\r
-// stepName = "Add barcode to specimen";\r
-// step = ColumnAdder.NewStringInstance(stepName, "SpecimenOrObservationBase", "barcode", INCLUDE_AUDIT);\r
-// stepList.add(step);\r
+ //add barcode to derived unit base\r
+ stepName = "Add barcode to specimen";\r
+ step = ColumnAdder.NewStringInstance(stepName, "SpecimenOrObservationBase", "barcode", INCLUDE_AUDIT);\r
+ stepList.add(step);\r
\r
\r
// //rename taxonomicTree -> classification\r
accessionnumber varchar(255),
catalognumber varchar(255),
collectorsnumber varchar(255),
+ barcode varchar(255),
fieldnotes varchar(255),
fieldnumber varchar(255),
createdby_id integer,
sex_id integer,
fieldnotes varchar(255),
fieldnumber varchar(255),
+ barcode varchar(255),
gatheringevent_id integer,
accessionnumber varchar(255),
catalognumber varchar(255),
COLLECTORSNUMBER CDATA #IMPLIED
FIELDNOTES CDATA #IMPLIED
FIELDNUMBER CDATA #IMPLIED
+ BARCODE CDATA #IMPLIED
CREATEDBY_ID CDATA #IMPLIED
UPDATEDBY_ID CDATA #IMPLIED
LIFESTAGE_ID CDATA #IMPLIED
STOREDUNDER_ID CDATA #IMPLIED
FIELDNOTES CDATA #IMPLIED
FIELDNUMBER CDATA #IMPLIED
+ BARCODE CDATA #IMPLIED
GATHERINGEVENT_ID CDATA #IMPLIED
PRESERVATION_ID CDATA #IMPLIED
>
collectorsnumber varchar(255),
fieldnotes varchar(255),
fieldnumber varchar(255),
+ barcode varchar(255),
createdby_id integer,
updatedby_id integer,
lifestage_id integer,
preservation_id integer,
fieldnotes varchar(255),
fieldnumber varchar(255),
+ barcode varchar(255),
gatheringevent_id integer,
primary key (id, REV)
);