From 88a43c8f438cb87e985a2be178551daedca07e49 Mon Sep 17 00:00:00 2001 From: Austin Brougher Date: Thu, 30 May 2013 20:46:18 +0000 Subject: [PATCH] Add additional UI support to the file sync service. --- .../symmetric/service/IFileSyncService.java | 22 +++--- .../service/impl/FileSyncService.java | 44 +++++++---- .../service/impl/FileSyncServiceSqlMap.java | 77 ++++++++++--------- 3 files changed, 80 insertions(+), 63 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/IFileSyncService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/IFileSyncService.java index cfc45d691f..7642661a3f 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/IFileSyncService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/IFileSyncService.java @@ -1,22 +1,22 @@ /* - * Licensed to JumpMind Inc under one or more contributor + * Licensed to JumpMind Inc under one or more contributor * license agreements. See the NOTICE file distributed - * with this work for additional information regarding + * with this work for additional information regarding * copyright ownership. JumpMind Inc licenses this file * to you under the GNU Lesser General Public License (the * "License"); you may not use this file except in compliance - * with the License. - * + * with the License. + * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see + * License along with this library; if not, see * . - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations - * under the License. + * under the License. */ package org.jumpmind.symmetric.service; @@ -46,6 +46,10 @@ public interface IFileSyncService { public void saveFileTriggerRouter(FileTriggerRouter fileTriggerRouter); + public void deleteFileTriggerRouter(FileTriggerRouter fileTriggerRouter); + + public void deleteFileTrigger(FileTrigger fileTrigger); + public List getFileTriggerRouters(FileTrigger fileTrigger); public DirectorySnapshot getDirectorySnapshot(FileTriggerRouter fileTriggerRouter); @@ -55,13 +59,13 @@ public interface IFileSyncService { public List getFileTriggerRoutersForCurrentNode(); public FileTriggerRouter getFileTriggerRouter(String triggerId, String routerId); - + public void loadFilesFromPush(String nodeId, InputStream in, OutputStream out); public RemoteNodeStatuses pullFilesFromNodes(boolean force); public RemoteNodeStatuses pushFilesToNodes(boolean force); - + public List sendFiles(ProcessInfo processInfo, Node node, IOutgoingTransport outgoingTransport); } diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/FileSyncService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/FileSyncService.java index cda8c34b93..808ab07ea0 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/FileSyncService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/FileSyncService.java @@ -1,22 +1,22 @@ /* - * Licensed to JumpMind Inc under one or more contributor + * Licensed to JumpMind Inc under one or more contributor * license agreements. See the NOTICE file distributed - * with this work for additional information regarding + * with this work for additional information regarding * copyright ownership. JumpMind Inc licenses this file * to you under the GNU Lesser General Public License (the * "License"); you may not use this file except in compliance - * with the License. - * + * with the License. + * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see + * License along with this library; if not, see * . - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations - * under the License. + * under the License. */ package org.jumpmind.symmetric.service.impl; @@ -203,35 +203,47 @@ public void saveFileTrigger(FileTrigger fileTrigger) { public void saveFileTriggerRouter(FileTriggerRouter fileTriggerRouter) { fileTriggerRouter.setLastUpdateTime(new Date()); if (0 == sqlTemplate.update( - getSql("updateFileTriggerSql"), + getSql("updateFileTriggerRouterSql"), new Object[] { fileTriggerRouter.isEnabled() ? 1 : 0, fileTriggerRouter.isInitialLoadEnabled() ? 1 : 0, fileTriggerRouter.getTargetBaseDir(), fileTriggerRouter.getTargetFilePath(), fileTriggerRouter.getConflictStrategy().name(), - fileTriggerRouter.getLastUpdateBy(), fileTriggerRouter.getLastUpdateTime(), + fileTriggerRouter.getLastUpdateBy(), + fileTriggerRouter.getLastUpdateTime(), fileTriggerRouter.getFileTrigger().getTriggerId(), - fileTriggerRouter.getRouter().getRouterId() }, new int[] { Types.SMALLINT, - Types.SMALLINT, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, - Types.VARCHAR, Types.TIMESTAMP, Types.VARCHAR, Types.VARCHAR })) { + fileTriggerRouter.getRouter().getRouterId() }, + new int[] { Types.SMALLINT, Types.SMALLINT, Types.VARCHAR, + Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, + Types.TIMESTAMP, Types.VARCHAR, Types.VARCHAR })) { fileTriggerRouter.setCreateTime(fileTriggerRouter.getLastUpdateTime()); sqlTemplate.update( - getSql("insertFileTriggerSql"), + getSql("insertFileTriggerRouterSql"), new Object[] { fileTriggerRouter.isEnabled() ? 1 : 0, fileTriggerRouter.isInitialLoadEnabled() ? 1 : 0, fileTriggerRouter.getTargetBaseDir(), fileTriggerRouter.getTargetFilePath(), fileTriggerRouter.getConflictStrategy().name(), - fileTriggerRouter.getCreateTime(), fileTriggerRouter.getLastUpdateBy(), + fileTriggerRouter.getCreateTime(), + fileTriggerRouter.getLastUpdateBy(), fileTriggerRouter.getLastUpdateTime(), fileTriggerRouter.getFileTrigger().getTriggerId(), - fileTriggerRouter.getRouter().getRouterId() }, new int[] { - Types.SMALLINT, Types.SMALLINT, Types.VARCHAR, Types.VARCHAR, + fileTriggerRouter.getRouter().getRouterId() }, + new int[] { Types.SMALLINT, Types.SMALLINT, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.TIMESTAMP, Types.VARCHAR, Types.TIMESTAMP, Types.VARCHAR, Types.VARCHAR }); } } + public void deleteFileTriggerRouter(FileTriggerRouter fileTriggerRouter) { + sqlTemplate.update(getSql("deleteFileTriggerRouterSql"), (Object) fileTriggerRouter.getFileTrigger() + .getTriggerId(), fileTriggerRouter.getRouter().getRouterId()); + } + + public void deleteFileTrigger(FileTrigger fileTrigger) { + sqlTemplate.update(getSql("deleteFileTriggerSql"), (Object) fileTrigger.getTriggerId()); + } + public List getFileTriggerRouters(FileTrigger fileTrigger) { return sqlTemplate.query(getSql("selectFileTriggerRoutersSql", "whereTriggerIdSql"), new FileTriggerRouterMapper(), fileTrigger.getTriggerId()); diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/FileSyncServiceSqlMap.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/FileSyncServiceSqlMap.java index 1fc4eb9491..d9b5414c04 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/FileSyncServiceSqlMap.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/FileSyncServiceSqlMap.java @@ -10,8 +10,8 @@ public FileSyncServiceSqlMap(IDatabasePlatform platform, Map rep super(platform, replacementTokens); // @formatter:off - - putSql("selectFileTriggersSql", + + putSql("selectFileTriggersSql", " select trigger_id, base_dir, recurse, " + " includes_files, excludes_files, " + " sync_on_create, sync_on_modified, sync_on_delete, " + @@ -20,99 +20,100 @@ public FileSyncServiceSqlMap(IDatabasePlatform platform, Map rep " create_time, last_update_by, " + " last_update_time " + " from $(file_trigger) "); - + putSql("triggerIdWhere", "where trigger_id=?"); - - - putSql("updateFileTriggerSql", + + + putSql("updateFileTriggerSql", " update $(file_trigger) set base_dir=?, recurse=?, includes_files=?, " + " excludes_files=?, sync_on_create=?, sync_on_modified=?, sync_on_delete=?, " + " before_copy_script=?, after_copy_script=?, " + " last_update_by=?, last_update_time=? where trigger_id=? "); - putSql("insertFileTriggerSql", + putSql("insertFileTriggerSql", " insert into $(file_trigger) (base_dir, recurse, includes_files, " + " excludes_files, sync_on_create, sync_on_modified, sync_on_delete, " + " before_copy_script, after_copy_script, " + " last_update_by, last_update_time, trigger_id, create_time) " + - " values(?,?,?,?,?,?,?,?,?,?,?,?,?) "); - - putSql("selectFileSnapshotSql", + " values(?,?,?,?,?,?,?,?,?,?,?,?,?) "); + + putSql("selectFileSnapshotSql", " select trigger_id, router_id, file_path, file_name, last_event_type, crc32_checksum, " + " file_size, file_modified_time, create_time, last_update_time, last_update_by " + " from $(file_snapshot) where trigger_id=? and router_id=? "); - - putSql("updateFileSnapshotSql", + + putSql("updateFileSnapshotSql", " update $(file_snapshot) set " + - " last_event_type=?, crc32_checksum=?, " + + " last_event_type=?, crc32_checksum=?, " + " file_size=?, file_modified_time=?, last_update_time=?, " + " last_update_by=? " + " where " + " trigger_id=? and router_id=? and file_path=? and file_name=? "); - - putSql("updateFileIncoming", + + putSql("updateFileIncoming", " update $(file_incoming) set " + " node_id=?, " + " file_modified_time=?, " + " last_event_type=? " + " where " + " file_path=? and file_name=? "); - - putSql("insertFileIncoming", + + putSql("insertFileIncoming", " insert into $(file_incoming) (node_id, file_modified_time, last_event_type, file_path, file_name) " + " values(?,?,?,?,?) "); - putSql("deleteFileIncoming", + putSql("deleteFileIncoming", " delete from $(file_incoming)"); - - putSql("findNodeIdFromFileIncoming", + + putSql("findNodeIdFromFileIncoming", " select node_id from $(file_incoming) where file_path=? and file_name=? and file_modified_time=?"); - putSql("deleteFileSnapshotSql", + putSql("deleteFileSnapshotSql", " delete from $(file_snapshot) " + " where " + - " trigger_id=? and router_id=? and file_path=? and file_name=? "); + " trigger_id=? and router_id=? and file_path=? and file_name=? "); - putSql("insertFileSnapshotSql", + putSql("insertFileSnapshotSql", " insert into $(file_snapshot) ( " + - " last_event_type, crc32_checksum, " + + " last_event_type, crc32_checksum, " + " file_size, file_modified_time, create_time, last_update_time, " + " last_update_by, trigger_id, router_id, file_path, file_name " + " ) values(?,?,?,?,?,?,?,?,?,?,?) "); - - putSql("selectFileTriggerRoutersSql", + + putSql("selectFileTriggerRoutersSql", " select " + " tr.trigger_id as trigger_id, tr.router_id as router_id, enabled, " + " initial_load_enabled, target_base_dir, target_file_path, " + " conflict_strategy, tr.create_time as create_time, " + " tr.last_update_by as last_update_by, tr.last_update_time as last_update_time " + " from $(file_trigger_router) tr "); - - putSql("whereTriggerRouterId", "where trigger_id=? and router_id=?"); - + + putSql("whereTriggerRouterId", "where trigger_id=? and router_id=?"); + putSql("fileTriggerRoutersForCurrentNodeWhere", " " + " inner join $(router) r on " + " tr.router_id=r.router_id " + - " where r.source_node_group_id=?"); - - putSql("updateFileTriggerRouterSql", + " where r.source_node_group_id=?"); + + putSql("updateFileTriggerRouterSql", " update $(file_trigger_router) set " + " enabled=?, initial_load_enabled=?, target_base_dir=?, " + " target_file_path=?, " + " conflict_strategy=?, last_update_by=?, last_update_time=? " + " where trigger_id=? and router_id=? "); - putSql("insertFileTriggerRouterSql", + putSql("insertFileTriggerRouterSql", " insert into $(file_trigger_router) ( " + " enabled, initial_load_enabled, target_base_dir, " + " target_file_path, " + " conflict_strategy, create_time, last_update_by, " + " last_update_time, trigger_id, router_id " + - " ) values(?,?,?,?,?,?,?,?,?,?) "); - - - - + " ) values(?,?,?,?,?,?,?,?,?,?) "); + + putSql("deleteFileTriggerRouterSql", "" + + "delete from $(file_trigger_router) where trigger_id=? and router_id=? "); + + putSql("deleteFileTriggerSql", "" + "delete from $(file_trigger) where trigger_id=? "); }