From 307e09ac1db64116560726cd56f18aa470a47755 Mon Sep 17 00:00:00 2001 From: chenson42 Date: Tue, 18 Dec 2012 18:23:30 +0000 Subject: [PATCH] 0000961: Uninstall feature needs to delete conflicts and transforms before trying to delete group links --- .../jumpmind/symmetric/AbstractSymmetricEngine.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/AbstractSymmetricEngine.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/AbstractSymmetricEngine.java index 20799ac9fb..c509b13b2c 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/AbstractSymmetricEngine.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/AbstractSymmetricEngine.java @@ -89,6 +89,7 @@ import org.jumpmind.symmetric.service.impl.DataExtractorService; import org.jumpmind.symmetric.service.impl.DataLoaderService; import org.jumpmind.symmetric.service.impl.DataLoaderService.ConflictNodeGroupLink; +import org.jumpmind.symmetric.service.impl.TransformService.TransformTableNodeGroupLink; import org.jumpmind.symmetric.service.impl.DataService; import org.jumpmind.symmetric.service.impl.IncomingBatchService; import org.jumpmind.symmetric.service.impl.LoadFilterService; @@ -550,6 +551,12 @@ public synchronized void uninstall() { for (ConflictNodeGroupLink conflict : conflicts) { dataLoaderService.delete(conflict); } + + // need to remove all transforms before we can remove the node group links + List transforms = transformService.getTransformTables(); + for (TransformTableNodeGroupLink transformTable : transforms) { + transformService.deleteTransformTable(transformTable.getTransformId()); + } // remove the links so the symmetric table trigger will be removed List links = configurationService.getNodeGroupLinks(); @@ -562,8 +569,7 @@ public synchronized void uninstall() { triggerRouterService.syncTriggers(); } catch (SqlException ex) { - //TODO: figure out what we really want to do here... - log.error("SQL Exception while trying to uninstall. " + ex.getMessage() ); + log.error("SQL Exception while trying to uninstall", ex); } // remove any additional triggers that may remain because they were not in trigger history