private String value;
//if false, the preference should not be overridden by local preferences,
- //if false local preferences override database preferences
+ //if true existing local preferences override database preferences
+ //and the database preference only defines the default.
private boolean allowOverride = false;
@Embeddable
@Override
public Integer invoke(ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException {
+ String existsSql = " SELECT count(*) FROM @@CdmPreference@@ "
+ + " WHERE key_predicate = 'model.name.NC' AND key_subject = '/'";
+ existsSql = caseType.replaceTableNames(existsSql);
+ if (((Number)datasource.getSingleValue(existsSql)).intValue() > 0 ){
+ return 0;
+ }
+
String sql = "SELECT count(DTYPE) as n, DTYPE FROM @@TaxonNameBase@@ "
+ " GROUP BY DTYPE ORDER BY count(DTYPE) DESC ";
sql = caseType.replaceTableNames(sql);
List<ISchemaUpdaterStep> stepList = new ArrayList<ISchemaUpdaterStep>();
+ //#3658 update nomenclatural code
+ NomenclaturalCodeUpdater.NewInstance(stepList);
+
//#5970
//Implement allowOverride in CdmPreference
stepName = "Add allowOverride in CdmPreference";
//#5974 Remove synonym relationships
removeSynonymRelationships_5974(stepList);
- //#3658 update nomenclatural code
- NomenclaturalCodeUpdater.NewInstance(stepList);
//#5981 Add abbreviation to Rank "Cultivar"
stepName = "Add abbreviation to Rank 'Cultivar'";