merge-update from trunk
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / update / SchemaUpdaterStepBase.java
index 209734a855d498d8be7255ebde0744a475b98b48..807cf0012dc8d6954f95af6914307fcbdaa1d6fa 100644 (file)
@@ -43,30 +43,27 @@ public abstract class SchemaUpdaterStepBase<T extends SchemaUpdaterStepBase<T>>
                this.setStepName(stepName);\r
        }\r
        \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep#invoke(eu.etaxonomy.cdm.database.ICdmDataSource, eu.etaxonomy.cdm.common.IProgressMonitor)\r
-        */\r
-       public abstract Integer invoke (ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException;\r
 \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep#setStepName(java.lang.String)\r
-        */\r
+       @Override\r
+       public abstract Integer invoke (ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException;\r
+\r
+\r
+       @Override\r
        public void setStepName(String stepName) {\r
                this.stepName = stepName;\r
        }\r
 \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.database.update.ISchemaUpdaterStep#getStepName()\r
-        */\r
+       @Override\r
        public String getStepName() {\r
                return stepName;\r
        }\r
        \r
-\r
-\r
        protected String getBoolean(boolean value, ICdmDataSource datasource) {\r
+               \r
                String result;\r
                DatabaseTypeEnum type = datasource.getDatabaseType();\r
+               //TODO use\r
+//             type.getHibernateDialect().toBooleanValueString(bool);\r
                int intValue = value == true? 1 : 0;\r
                if (type.equals(DatabaseTypeEnum.MySQL)){\r
                        result = "b'"+intValue+"'";\r
@@ -83,8 +80,8 @@ public abstract class SchemaUpdaterStepBase<T extends SchemaUpdaterStepBase<T>>
                return result;\r
        }\r
        \r
-       protected Integer getEnglishLanguageId(ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
-               return getLanguageId(Language.uuidEnglish, datasource, monitor);\r
+       protected Integer getEnglishLanguageId(ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException {\r
+               return getLanguageId(Language.uuidEnglish, datasource, monitor, caseType);\r
        }\r
 \r
        /**\r
@@ -94,10 +91,12 @@ public abstract class SchemaUpdaterStepBase<T extends SchemaUpdaterStepBase<T>>
         * @return\r
         * @throws SQLException\r
         */\r
-       protected Integer getLanguageId(UUID uuidLanguage, ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
+       protected Integer getLanguageId(UUID uuidLanguage, ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException {\r
+               \r
                ResultSet rs;\r
                Integer langId = null;\r
-               String sqlLangId = " SELECT id FROM DefinedTermBase WHERE uuid = '" + uuidLanguage + "'";\r
+               String sqlLangId = " SELECT id FROM %s WHERE uuid = '%s'";\r
+               sqlLangId = String.format(sqlLangId, caseType.transformTo("DefinedTermBase"), uuidLanguage.toString() );\r
                rs = datasource.executeQuery(sqlLangId);\r
                if (rs.next()){\r
                        langId = rs.getInt("id");\r