* @date 16.09.2010\r
*\r
*/\r
-public class UniqueIndexDropper extends SchemaUpdaterStepBase<UniqueIndexDropper> implements ISchemaUpdaterStep {\r
+public class UniqueIndexDropper extends AuditedSchemaUpdaterStepBase<UniqueIndexDropper> implements ISchemaUpdaterStep {\r
private static final Logger logger = Logger.getLogger(UniqueIndexDropper.class);\r
\r
- private String tableName;\r
private String indexColumn;\r
- private boolean includeAudTable;\r
\r
public static final UniqueIndexDropper NewInstance(String tableName, String indexColumn, boolean includeAudTable){\r
String stepName = "Drop index " + tableName + "-" + indexColumn;\r
this.includeAudTable = includeAudTable;\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.database.update.SchemaUpdaterStepBase#invoke(eu.etaxonomy.cdm.database.ICdmDataSource, eu.etaxonomy.cdm.common.IProgressMonitor)\r
- */\r
@Override\r
- public Integer invoke(ICdmDataSource datasource, IProgressMonitor monitor) throws SQLException {\r
- boolean result = true;\r
- result &= dropIndex(tableName, datasource, monitor);\r
- if (includeAudTable){\r
- String aud = "_AUD";\r
- result &= dropIndex(tableName + aud, datasource, monitor);\r
- }\r
- return (result == true )? 0 : null;\r
- }\r
-\r
- private boolean dropIndex(String tableName, ICdmDataSource datasource, IProgressMonitor monitor) {\r
+ protected boolean invokeOnTable(String tableName, ICdmDataSource datasource, IProgressMonitor monitor) {\r
try {\r
if (checkExists(datasource)){\r
String updateQuery = getUpdateQueryString(tableName, datasource, monitor);\r
datasource.executeUpdate(updateQuery);\r
}\r
return true;\r
- } catch ( DatabaseTypeNotSupportedException e) {\r
- e.printStackTrace();\r
- return false;\r
- } catch ( SQLException e) {\r
- e.printStackTrace();\r
+ } catch ( Exception e) {\r
+ monitor.warning(e.getMessage(), e);\r
return false;\r
}\r
}\r