*/\r
package eu.etaxonomy.cdm.database.update;\r
\r
+import java.sql.ResultSet;\r
import java.sql.SQLException;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.UUID;\r
\r
+import org.apache.commons.lang.StringUtils;\r
import org.apache.log4j.Logger;\r
\r
-import eu.etaxonomy.cdm.common.IProgressMonitor;\r
+import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;\r
import eu.etaxonomy.cdm.database.DatabaseTypeEnum;\r
import eu.etaxonomy.cdm.database.ICdmDataSource;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
\r
/**\r
* @author a.mueller\r
* @date 13.09.2010\r
*\r
*/\r
-public abstract class SchemaUpdaterStepBase implements ISchemaUpdaterStep {\r
+public abstract class SchemaUpdaterStepBase<T extends SchemaUpdaterStepBase<T>> implements ISchemaUpdaterStep {\r
private static final Logger logger = Logger.getLogger(SchemaUpdaterStepBase.class);\r
\r
- private String stepName;\r
+ protected String stepName;\r
\r
\r
//************************ CONSTRUCTOR ***********************************/\r
}\r
return result;\r
}\r
+ \r
+ protected Integer getEnglishLanguageId(ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
+ return getLanguageId(Language.uuidEnglish, datasource, monitor);\r
+ }\r
+\r
+ /**\r
+ * @param uuidLanguage\r
+ * @param datasource\r
+ * @param monitor\r
+ * @return\r
+ * @throws SQLException\r
+ */\r
+ protected Integer getLanguageId(UUID uuidLanguage, ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
+ ResultSet rs;\r
+ Integer langId = null;\r
+ String sqlLangId = " SELECT id FROM DefinedTermBase WHERE uuid = '" + uuidLanguage + "'";\r
+ rs = datasource.executeQuery(sqlLangId);\r
+ if (rs.next()){\r
+ langId = rs.getInt("id");\r
+ }else{\r
+ String warning = "Term for language (" + uuidLanguage + ") does not exist!";\r
+ monitor.warning(warning);\r
+ }\r
+ return langId;\r
+ }\r
\r
\r
+ public List<ISchemaUpdaterStep> getInnerSteps(){\r
+ return new ArrayList<ISchemaUpdaterStep>();\r
+ }\r
+\r
+ @Override\r
+ public String toString(){\r
+ if (StringUtils.isNotBlank(stepName)){\r
+ return stepName;\r
+ }else{\r
+ return super.toString();\r
+ }\r
+ }\r
\r
}\r