Skip to content

Commit

Permalink
0004665: Added service code necessary for users to edit IDs
Browse files Browse the repository at this point in the history
  • Loading branch information
evan-miller-jumpmind committed Dec 6, 2021
1 parent d8c292a commit 9ddb969
Show file tree
Hide file tree
Showing 24 changed files with 461 additions and 9 deletions.
Expand Up @@ -26,6 +26,7 @@
import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.jumpmind.db.sql.ISqlTransaction;
import org.jumpmind.symmetric.ISymmetricEngine;
import org.jumpmind.symmetric.SymmetricException;
import org.jumpmind.symmetric.model.JobDefinition;
Expand Down Expand Up @@ -201,6 +202,24 @@ public void saveJob(JobDefinition job) {
sqlTemplate.update(getSql("insertJobSql"), args);
}
}

@Override
public void editJob(String oldName, JobDefinition job) {
ISqlTransaction transaction = null;
try {
transaction = sqlTemplate.startSqlTransaction();
removeJob(oldName);
saveJob(job);
transaction.commit();
} catch (Exception ex) {
if (transaction != null) {
transaction.rollback();
}
throw ex;
} finally {
close(transaction);
}
}

@Override
public void removeJob(String name) {
Expand Down
Expand Up @@ -42,6 +42,8 @@ public interface IJobManager {
public IJob getJob(String name);

public void saveJob(JobDefinition jobDefinition);

public void editJob(String oldName, JobDefinition jobDefinition);

public void removeJob(String name);

Expand Down
Expand Up @@ -42,6 +42,8 @@ public interface IConfigurationService {
public void saveNodeGroup(NodeGroup group);

public void saveNodeGroupLink(NodeGroupLink link);

public void editNodeGroupLink(String oldSourceId, String oldTargetId, NodeGroupLink link);

public void deleteNodeGroup(String nodeGroupId);

Expand All @@ -65,6 +67,8 @@ public interface IConfigurationService {
public void saveChannel(Channel channel, boolean reloadChannels);

public void saveChannel(NodeChannel channel, boolean reloadChannels);

public void editChannel(String oldId, Channel channel);

public void saveNodeChannel(NodeChannel channel, boolean reloadChannels);

Expand Down
Expand Up @@ -70,6 +70,8 @@ public interface IDataLoaderService {
public void deleteAllConflicts();

public void save(ConflictNodeGroupLink settings);

public void edit(String oldId, ConflictNodeGroupLink settings);

public void clearCache();

Expand Down
Expand Up @@ -47,6 +47,8 @@ public interface IExtensionService {
public List<Extension> getExtensions();

public void saveExtension(Extension extension);

public void editExtension(String oldId, Extension extension);

public void deleteExtension(String extensionId);

Expand Down
Expand Up @@ -43,8 +43,12 @@ public interface IFileSyncService {
public FileTrigger getFileTrigger(String triggerId);

public void saveFileTrigger(FileTrigger fileTrigger);

public void editFileTrigger(String oldId, FileTrigger fileTrigger);

public void saveFileTriggerRouter(FileTriggerRouter fileTriggerRouter);

public void editFileTriggerRouter(String oldTriggerId, String oldRouterId, FileTriggerRouter fileTriggerRouter);

public void deleteFileTriggerRouter(String triggerId, String routerId);

Expand Down
Expand Up @@ -49,6 +49,8 @@ public interface IGroupletService {
public boolean isTargetEnabled(TriggerRouter triggerRouter, Node targetNode);

public void saveGrouplet(Grouplet grouplet);

public void editGrouplet(Grouplet oldGrouplet, Grouplet newGrouplet);

public void saveGroupletLink(Grouplet grouplet, GroupletLink link);

Expand Down
Expand Up @@ -34,6 +34,8 @@ public interface ILoadFilterService {
public List<LoadFilterNodeGroupLink> getLoadFilterNodeGroupLinks();

public void saveLoadFilter(LoadFilterNodeGroupLink loadFilter);

public void editLoadFilter(String oldId, LoadFilterNodeGroupLink loadFilter);

public void deleteLoadFilter(String loadFilterId);

Expand Down
Expand Up @@ -38,6 +38,8 @@ public interface IMonitorService {
public void deleteMonitor(String notificationId);

public void saveMonitor(Monitor monitor);

public void editMonitor(String oldId, Monitor monitor);

public List<MonitorEvent> getMonitorEvents();

Expand All @@ -56,6 +58,8 @@ public interface IMonitorService {
public List<Notification> getActiveNotificationsForNodeFromDb(String nodeGroupId, String externalId);

public void saveNotification(Notification notification);

public void editNotification(String oldId, Notification notification);

public void deleteNotification(String notificationId);

Expand Down
Expand Up @@ -46,6 +46,8 @@ public List<TransformTableNodeGroupLink> findTransformsFor(NodeGroupLink link,
public List<TransformColumn> getTransformColumnsForTable(String transformId);

public void saveTransformTable(TransformTableNodeGroupLink transformTable, boolean saveTransformColumns);

public void editTransformTable(String oldId, TransformTableNodeGroupLink transformTable);

public void deleteTransformTable(String transformTableId);

Expand Down
Expand Up @@ -127,6 +127,8 @@ public interface ITriggerRouterService {
public void deleteAllRouters();

public void saveRouter(Router router);

public void editRouter(String oldId, Router router);

public List<TriggerRouter> getAllTriggerRoutersForCurrentNode(String sourceNodeGroupId);

Expand All @@ -138,6 +140,8 @@ public interface ITriggerRouterService {
public List<Trigger> getTriggers(boolean replaceTokens);

public void saveTrigger(Trigger trigger);

public void editTrigger(String oldId, Trigger trigger);

public void deleteTrigger(Trigger trigger);

Expand Down Expand Up @@ -165,6 +169,8 @@ public Set<TriggerRouter> getTriggerRouterForTableForCurrentNode(NodeGroupLink l
public TriggerRouter findTriggerRouterById(String triggerId, String routerId, boolean refreshCache);

public List<TriggerRouter> findTriggerRoutersByTriggerId(String triggerId, boolean refreshCache);

public List<TriggerRouter> findTriggerRoutersByRouterId(String routerId, boolean refreshCache);

public void inactivateTriggerHistory(TriggerHistory history);

Expand Down Expand Up @@ -200,6 +206,8 @@ public String getTriggerName(DataEventType dml, int maxTriggerNameLength, Trigge
public void saveTriggerRouter(TriggerRouter triggerRouter, boolean updateTriggerRouterTableOnly);

public void saveTriggerRouter(TriggerRouter triggerRouter);

public void editTriggerRouter(String oldTriggerId, String oldRouterId, TriggerRouter TriggerRouter);

public void syncTrigger(Trigger trigger, ITriggerCreationListener listener, boolean force);

Expand Down
Expand Up @@ -30,6 +30,7 @@
import java.util.Set;

import org.jumpmind.db.sql.ISqlRowMapper;
import org.jumpmind.db.sql.ISqlTransaction;
import org.jumpmind.db.sql.Row;
import org.jumpmind.symmetric.ISymmetricEngine;
import org.jumpmind.symmetric.cache.ICacheManager;
Expand Down Expand Up @@ -171,6 +172,47 @@ public void saveNodeGroupLink(NodeGroupLink link) {
link.getLastUpdateBy(), link.getCreateTime());
}
}

public void editNodeGroupLink(String oldSourceId, String oldTargetId, NodeGroupLink link) {
ISqlTransaction transaction = null;
try {
boolean sourceChanged = !oldSourceId.equals(link.getSourceNodeGroupId());
boolean targetChanged = !oldTargetId.equals(link.getTargetNodeGroupId());
transaction = sqlTemplate.startSqlTransaction();
saveNodeGroupLink(link);
if (sourceChanged && targetChanged) {
sqlTemplate.update(getSql("updateConflictGroupsSql"), link.getSourceNodeGroupId(),
link.getTargetNodeGroupId(), oldSourceId, oldTargetId);
sqlTemplate.update(getSql("updateLoadFilterGroupsSql"), link.getSourceNodeGroupId(),
link.getTargetNodeGroupId(), oldSourceId, oldTargetId);
sqlTemplate.update(getSql("updateRouterGroupsSql"), link.getSourceNodeGroupId(),
link.getTargetNodeGroupId(), oldSourceId, oldTargetId);
sqlTemplate.update(getSql("updateTransformGroupsSql"), link.getSourceNodeGroupId(),
link.getTargetNodeGroupId(), oldSourceId, oldTargetId);
}
if (sourceChanged) {
sqlTemplate.update(getSql("updateConflictSourceGroupSql"), link.getSourceNodeGroupId(), oldSourceId);
sqlTemplate.update(getSql("updateLoadFilterSourceGroupSql"), link.getSourceNodeGroupId(), oldSourceId);
sqlTemplate.update(getSql("updateRouterSourceGroupSql"), link.getSourceNodeGroupId(), oldSourceId);
sqlTemplate.update(getSql("updateTransformSourceGroupSql"), link.getSourceNodeGroupId(), oldSourceId);
}
if (targetChanged) {
sqlTemplate.update(getSql("updateConflictTargetGroupSql"), link.getTargetNodeGroupId(), oldTargetId);
sqlTemplate.update(getSql("updateLoadFilterTargetGroupSql"), link.getTargetNodeGroupId(), oldTargetId);
sqlTemplate.update(getSql("updateRouterTargetGroupSql"), link.getTargetNodeGroupId(), oldTargetId);
sqlTemplate.update(getSql("updateTransformTargetGroupSql"), link.getTargetNodeGroupId(), oldTargetId);
}
deleteNodeGroupLink(oldSourceId, oldTargetId);
transaction.commit();
} catch (Exception ex) {
if (transaction != null) {
transaction.rollback();
}
throw ex;
} finally {
close(transaction);
}
}

public boolean doesNodeGroupExist(String nodeGroupId) {
boolean exists = false;
Expand All @@ -197,8 +239,11 @@ public void deleteNodeGroup(String nodeGroupId) {
}

public void deleteNodeGroupLink(NodeGroupLink link) {
sqlTemplate.update(getSql("deleteNodeGroupLinkSql"), link.getSourceNodeGroupId(),
link.getTargetNodeGroupId());
deleteNodeGroupLink(link.getSourceNodeGroupId(), link.getTargetNodeGroupId());
}

private void deleteNodeGroupLink(String sourceId, String targetId) {
sqlTemplate.update(getSql("deleteNodeGroupLinkSql"), sourceId, targetId);
}

public void deleteAllNodeGroupLinks() {
Expand Down Expand Up @@ -288,6 +333,28 @@ public void saveChannel(Channel channel, boolean reloadChannels) {
public void saveChannel(NodeChannel nodeChannel, boolean reloadChannels) {
saveChannel(nodeChannel.getChannel(), reloadChannels);
}

public void editChannel(String oldId, Channel channel) {
ISqlTransaction transaction = null;
try {
transaction = sqlTemplate.startSqlTransaction();
saveChannel(channel, true);
sqlTemplate.update(getSql("updateConflictChannelSql"), channel.getChannelId(), oldId);
sqlTemplate.update(getSql("updateTriggerChannelSql"), channel.getChannelId(), oldId);
sqlTemplate.update(getSql("updateTriggerReloadChannelSql"), channel.getChannelId(), oldId);
sqlTemplate.update(getSql("updateFileTriggerChannelSql"), channel.getChannelId(), oldId);
sqlTemplate.update(getSql("updateFileTriggerReloadChannelSql"), channel.getChannelId(), oldId);
deleteChannel(oldId);
transaction.commit();
} catch (Exception ex) {
if (transaction != null) {
transaction.rollback();
}
throw ex;
} finally {
close(transaction);
}
}

public void saveNodeChannel(NodeChannel nodeChannel, boolean reloadChannels) {
saveChannel(nodeChannel.getChannel(), false);
Expand All @@ -313,8 +380,12 @@ public void saveNodeChannelControl(NodeChannel nodeChannel, boolean reloadChanne
}

public void deleteChannel(Channel channel) {
sqlTemplate.update(getSql("deleteNodeChannelSql"), new Object[] { channel.getChannelId() });
sqlTemplate.update(getSql("deleteChannelSql"), new Object[] { channel.getChannelId() });
deleteChannel(channel.getChannelId());
}

private void deleteChannel(String id) {
sqlTemplate.update(getSql("deleteNodeChannelSql"), new Object[] { id });
sqlTemplate.update(getSql("deleteChannelSql"), new Object[] { id });
clearCache();
}

Expand Down
Expand Up @@ -136,6 +136,34 @@ public ConfigurationServiceSqlMap(IDatabasePlatform platform,
putSql("selectMaxChannelLastUpdateTime" ,"select max(last_update_time) from $(channel) where last_update_time is not null" );
putSql("selectMaxNodeGroupLastUpdateTime" ,"select max(last_update_time) from $(node_group) where last_update_time is not null" );
putSql("selectMaxNodeGroupLinkLastUpdateTime" ,"select max(last_update_time) from $(node_group_link) where last_update_time is not null" );

putSql("updateConflictChannelSql", "update $(conflict) set target_channel_id=? where target_channel_id=?");
putSql("updateConflictGroupsSql",
"update $(conflict) set source_node_group_id=?, target_node_group_id=? where source_node_group_id=? and target_node_group_id=?");
putSql("updateConflictSourceGroupSql", "update $(conflict) set source_node_group_id=? where source_node_group_id=?");
putSql("updateConflictTargetGroupSql", "update $(conflict) set target_node_group_id=? where target_node_group_id=?");

putSql("updateFileTriggerChannelSql", "update $(file_trigger) set channel_id=? where channel_id=?");
putSql("updateFileTriggerReloadChannelSql", "update $(file_trigger) set reload_channel_id=? where reload_channel_id=?");

putSql("updateLoadFilterGroupsSql",
"update $(load_filter) set source_node_group_id=?, target_node_group_id=? where source_node_group_id=? and target_node_group_id=?");
putSql("updateLoadFilterSourceGroupSql", "update $(load_filter) set source_node_group_id=? where source_node_group_id=?");
putSql("updateLoadFilterTargetGroupSql", "update $(load_filter) set target_node_group_id=? where target_node_group_id=?");

putSql("updateRouterGroupsSql",
"update $(router) set source_node_group_id=?, target_node_group_id=? where source_node_group_id=? and target_node_group_id=?");
putSql("updateRouterSourceGroupSql", "update $(router) set source_node_group_id=? where source_node_group_id=?");
putSql("updateRouterTargetGroupSql", "update $(router) set target_node_group_id=? where target_node_group_id=?");

putSql("updateTransformGroupsSql",
"update $(transform_table) set source_node_group_id=?, target_node_group_id=? where source_node_group_id=? and target_node_group_id=?");
putSql("updateTransformSourceGroupSql", "update $(transform_table) set source_node_group_id=? where source_node_group_id=?");
putSql("updateTransformTargetGroupSql", "update $(transform_table) set target_node_group_id=? where target_node_group_id=?");

putSql("updateTriggerChannelSql", "update $(trigger) set channel_id=? where channel_id=?");
putSql("updateTriggerReloadChannelSql", "update $(trigger) set reload_channel_id=? where reload_channel_id=?");


}

Expand Down
Expand Up @@ -777,7 +777,11 @@ public List<ConflictNodeGroupLink> getConflictSettinsNodeGroupLinksFromDb(NodeGr
}

public void delete(ConflictNodeGroupLink settings) {
sqlTemplate.update(getSql("deleteConflictSettingsSql"), settings.getConflictId());
delete(settings.getConflictId());
}

private void delete(String id) {
sqlTemplate.update(getSql("deleteConflictSettingsSql"), id);
}

public void deleteAllConflicts() {
Expand Down Expand Up @@ -815,6 +819,23 @@ public void save(ConflictNodeGroupLink setting) {
Types.VARCHAR, Types.VARCHAR });
}
}

public void edit(String oldId, ConflictNodeGroupLink setting) {
ISqlTransaction transaction = null;
try {
transaction = sqlTemplate.startSqlTransaction();
delete(oldId);
save(setting);
transaction.commit();
} catch (Exception ex) {
if (transaction != null) {
transaction.rollback();
}
throw ex;
} finally {
close(transaction);
}
}

public List<IncomingError> getIncomingErrors(long batchId, String nodeId) {
return sqlTemplate.query(getSql("selectIncomingErrorSql"), new IncomingErrorMapper(),
Expand Down
Expand Up @@ -29,6 +29,7 @@
import org.apache.commons.lang3.ClassUtils;
import org.apache.commons.lang3.StringUtils;
import org.jumpmind.db.sql.ISqlRowMapper;
import org.jumpmind.db.sql.ISqlTransaction;
import org.jumpmind.db.sql.Row;
import org.jumpmind.extension.IBuiltInExtensionPoint;
import org.jumpmind.extension.IExtensionPoint;
Expand Down Expand Up @@ -289,6 +290,23 @@ public void saveExtension(Extension extension) {
refresh();
}
}

public void editExtension(String oldId, Extension extension) {
ISqlTransaction transaction = null;
try {
transaction = sqlTemplate.startSqlTransaction();
deleteExtension(oldId);
saveExtension(extension);
transaction.commit();
} catch (Exception ex) {
if (transaction != null) {
transaction.rollback();
}
throw ex;
} finally {
close(transaction);
}
}

public void deleteExtension(String extensionId) {
sqlTemplate.update(getSql("deleteExtensionSql"), extensionId);
Expand Down

0 comments on commit 9ddb969

Please sign in to comment.