Skip to content

Commit

Permalink
0000872: testing uninstall
Browse files Browse the repository at this point in the history
  • Loading branch information
chenson42 committed Nov 6, 2012
1 parent 56b35e2 commit 181b141
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 49 deletions.
Expand Up @@ -15,10 +15,8 @@
import org.jumpmind.properties.EnvironmentSpecificProperties;
import org.jumpmind.symmetric.ClientSymmetricEngine;
import org.jumpmind.symmetric.ISymmetricEngine;
import org.jumpmind.symmetric.TestConstants;
import org.jumpmind.symmetric.common.ParameterConstants;
import org.jumpmind.symmetric.db.ISymmetricDialect;
import org.jumpmind.symmetric.service.impl.ParameterService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -54,53 +52,6 @@ protected static ISymmetricEngine prepareRoot(String sql) {
}

public static IDatabasePlatform dropDatabaseTables(String databaseType, ISymmetricEngine engine) {

engine.stop();

ISymmetricDialect dialect = engine.getSymmetricDialect();

final AbstractJdbcDatabasePlatform platform = (AbstractJdbcDatabasePlatform) dialect
.getPlatform();

dialect.cleanupTriggers();

IDdlBuilder builder = platform.getDdlBuilder();

platform.resetDataSource();

String fileName = TestConstants.TEST_DROP_SEQ_SCRIPT + databaseType + "-pre.sql";
URL url = getResource(fileName);
if (url != null) {
new SqlScript(url, dialect.getPlatform().getSqlTemplate(), false).execute(true);
}

Database db2drop = platform.readDatabase(platform.getDefaultCatalog(),
platform.getDefaultSchema(), new String[] { "TABLE" });

String sql = builder.dropTables(db2drop);

platform.resetDataSource();

SqlScript dropScript = new SqlScript(sql, platform.getSqlTemplate(), false);
dropScript.execute(true);

new SqlScript(getResource(TestConstants.TEST_DROP_ALL_SCRIPT), platform.getSqlTemplate(),
false).execute(true);
((ParameterService) engine.getParameterService()).setDatabaseHasBeenInitialized(false);

fileName = TestConstants.TEST_DROP_SEQ_SCRIPT + databaseType + ".sql";
url = getResource(fileName);
if (url != null) {
new SqlScript(url, dialect.getPlatform().getSqlTemplate(), false).execute(true);
}

dialect.purgeRecycleBin();

return platform;
}

// TODO this is the new version that uses uninstall, but i haven't gotten it to work
public static IDatabasePlatform dropDatabaseTables2(String databaseType, ISymmetricEngine engine) {

ISymmetricDialect dialect = engine.getSymmetricDialect();

Expand Down
Expand Up @@ -33,6 +33,7 @@
import org.jumpmind.symmetric.job.DefaultOfflineServerListener;
import org.jumpmind.symmetric.job.IJobManager;
import org.jumpmind.symmetric.model.Node;
import org.jumpmind.symmetric.model.NodeGroupLink;
import org.jumpmind.symmetric.model.NodeSecurity;
import org.jumpmind.symmetric.model.NodeStatus;
import org.jumpmind.symmetric.model.RemoteNodeStatuses;
Expand Down Expand Up @@ -512,6 +513,7 @@ public synchronized void uninstall() {
stop();

try {

List<TriggerRouter> triggerRouters = triggerRouterService.getTriggerRouters();
for (TriggerRouter triggerRouter : triggerRouters) {
triggerRouterService.deleteTriggerRouter(triggerRouter);
Expand All @@ -521,6 +523,12 @@ public synchronized void uninstall() {
triggerRouterService.deleteTrigger(triggerRouter.getTrigger());
triggerRouterService.deleteRouter(triggerRouter.getRouter());
}

// remove the links so the symmetric table trigger will be removed
List<NodeGroupLink> links = configurationService.getNodeGroupLinks();
for (NodeGroupLink nodeGroupLink : links) {
configurationService.deleteNodeGroupLink(nodeGroupLink);
}

// this should remove all triggers because we have removed all the
// trigger configuration
Expand Down

0 comments on commit 181b141

Please sign in to comment.