add nextUpdater to 331_34 updater
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / update / ClassChanger.java
index 6140431876f5628868c30ebf59d751a53713546a..48f2cb6c0a824d7a7a80aa53e2d9b61151e08062 100644 (file)
@@ -53,7 +53,7 @@ public class ClassChanger extends AuditedSchemaUpdaterStepBase<ClassChanger> imp
        }\r
 \r
        @Override\r
-       protected boolean invokeOnTable(String tableName, ICdmDataSource datasource, IProgressMonitor monitor) {\r
+       protected boolean invokeOnTable(String tableName, ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) {\r
                boolean result = true;\r
                try {\r
                        if (true){\r
@@ -62,14 +62,14 @@ public class ClassChanger extends AuditedSchemaUpdaterStepBase<ClassChanger> imp
                        }\r
                        \r
                        if (isAnnotatable){\r
-                               updateAnnotatables(tableName, datasource, monitor);\r
+                               updateAnnotatables(tableName, datasource, monitor, caseType);\r
                        }\r
                        if (isSourcable){\r
-                               updateSourcable(tableName, datasource, monitor);\r
+                               updateSourcable(tableName, datasource, monitor, caseType);\r
                        }\r
                        \r
                        if (isIdentifiable){\r
-                               updateIdentifiables(tableName, datasource, monitor);\r
+                               updateIdentifiables(tableName, datasource, monitor, caseType);\r
                        }\r
                        \r
                        return result;\r
@@ -80,23 +80,23 @@ public class ClassChanger extends AuditedSchemaUpdaterStepBase<ClassChanger> imp
                }\r
        }\r
 \r
-       private void updateSourcable(String tableName, ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
-               updateSingleExtension("OriginalSourceBase", "sourcedObj_type" , datasource, monitor);\r
+       private void updateSourcable(String tableName, ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException {\r
+               updateSingleExtension("OriginalSourceBase", "sourcedObj_type" , datasource, monitor, caseType);\r
        }\r
-       private void updateIdentifiables(String tableName, ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
-               updateSingleExtension("Extension", "extendedObj_type" , datasource, monitor);\r
+       private void updateIdentifiables(String tableName, ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException {\r
+               updateSingleExtension("Extension", "extendedObj_type" , datasource, monitor, caseType);\r
        }\r
-       private void updateAnnotatables(String tableName, ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
-               updateSingleExtension("Marker", "markedObj_type" , datasource, monitor);\r
-               updateSingleExtension("Annotation", "annotatedObj_type" , datasource, monitor);\r
+       private void updateAnnotatables(String tableName, ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException {\r
+               updateSingleExtension("Marker", "markedObj_type" , datasource, monitor, caseType);\r
+               updateSingleExtension("Annotation", "annotatedObj_type" , datasource, monitor, caseType);\r
        }\r
-       private void updateSingleExtension(String extensionClass, String typeAttr, ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException{\r
+       private void updateSingleExtension(String extensionClass, String typeAttr, ICdmDataSource datasource, IProgressMonitor monitor, CaseType caseType) throws SQLException{\r
                String sql = " UPDATE %s " +\r
                                " SET %s = '%s' " +\r
                                " WHERE %s = '%s'";\r
                \r
                for (String oldClassPath : oldClassNames){\r
-                       String query = String.format(sql, extensionClass\r
+                       String query = String.format(sql, caseType.transformTo(extensionClass)\r
                                        typeAttr, newClassName, \r
                                        typeAttr, oldClassPath);\r
                        datasource.executeUpdate(query);\r
@@ -106,15 +106,15 @@ public class ClassChanger extends AuditedSchemaUpdaterStepBase<ClassChanger> imp
        \r
        public String getDtypeUpdateQueryString(String tableName, ICdmDataSource datasource, IProgressMonitor monitor) throws DatabaseTypeNotSupportedException {\r
                String updateQuery;\r
-               updateQuery = " UPDATE @tableName " + \r
-                               " SET t.DTYPE = '@newTableName' " +\r
+               updateQuery = " UPDATE @tableName " + \r
+                               " SET DTYPE = '@newTableName' " +\r
                                " WHERE (1=0 @dtypes)";\r
                \r
                updateQuery = updateQuery.replace("@tableName", tableName);\r
                updateQuery = updateQuery.replace("@newTableName", getSimpleName(newClassName));\r
                String dtypes = "";\r
                for (String oldClassName : oldClassNames){\r
-                       dtypes += String.format(" OR t.DTYPE = '%s' ", getSimpleName(oldClassName)) ;\r
+                       dtypes += String.format(" OR DTYPE = '%s' ", getSimpleName(oldClassName)) ;\r
                }\r
                updateQuery = updateQuery.replace("@dtypes", dtypes);\r
                \r