Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
0001548: fix file sync from Windows to Linux with subdirectories
  • Loading branch information
erilong committed Jan 29, 2014
1 parent a36ec03 commit a3e06c8
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 15 deletions.
Expand Up @@ -162,9 +162,9 @@ public void end(Batch batch, boolean inError) {

FileTrigger fileTrigger = triggerRouter.getFileTrigger();

String targetBaseDir = triggerRouter.getTargetBaseDir();
String targetBaseDir = triggerRouter.getTargetBaseDir().replace('\\', '/');
if (StringUtils.isBlank(targetBaseDir)) {
targetBaseDir = fileTrigger.getBaseDir();
targetBaseDir = fileTrigger.getBaseDir().replace('\\', '/');
}
targetBaseDir = StringEscapeUtils.escapeJava(targetBaseDir);

Expand Down
Expand Up @@ -96,22 +96,21 @@ public FileSnapshot(FileTriggerRouter fileTriggerRouter, File file, LastEventTyp
this.lastEventType = lastEventType;
this.lastUpdateTime = new Date();
this.fileName = file.getName();
this.relativeDir = file.getPath();
if (this.relativeDir.replace('\\', '/').startsWith(fileTriggerRouter.getFileTrigger()
.getBaseDir().replace('\\', '/'))) {
this.relativeDir = this.relativeDir.substring(fileTriggerRouter.getFileTrigger().getBaseDir().length());
this.relativeDir = file.getPath().replace('\\', '/');
String baseDir = fileTriggerRouter.getFileTrigger().getBaseDir().replace('\\', '/');
if (this.relativeDir.startsWith(baseDir)) {
this.relativeDir = this.relativeDir.substring(baseDir.length());
}

if (this.relativeDir.endsWith(fileName)) {
this.relativeDir = this.relativeDir.substring(0, this.relativeDir.lastIndexOf(fileName));
}

String fileSeparator = System.getProperty("file.separator");
if (this.relativeDir.startsWith(fileSeparator)) {
if (this.relativeDir.startsWith("/")) {
this.relativeDir = this.relativeDir.substring(1);
}

if (this.relativeDir.endsWith(fileSeparator)) {
if (this.relativeDir.endsWith("/")) {
this.relativeDir = this.relativeDir.substring(0, this.relativeDir.length()-1);
}

Expand Down
Expand Up @@ -112,7 +112,7 @@ public void trackChanges(boolean force) {
for (FileSnapshot fileSnapshot : dirSnapshot) {
File file = fileTriggerRouter.getFileTrigger()
.createSourceFile(fileSnapshot);
String filePath = file.getParentFile().getPath();
String filePath = file.getParentFile().getPath().replace('\\', '/');
String fileName = file.getName();
String nodeId = findSourceNodeIdFromFileIncoming(filePath,
fileName, fileSnapshot.getFileModifiedTime());
Expand Down Expand Up @@ -560,7 +560,7 @@ protected List<IncomingBatch> processZip(InputStream is, String sourceNodeId,
Interpreter interpreter = new Interpreter();
try {
interpreter.set("log", log);
interpreter.set("batchDir", batchDir.getAbsolutePath());
interpreter.set("batchDir", batchDir.getAbsolutePath().replace('\\', '/'));
interpreter.set("engine", engine);
interpreter.set("sourceNodeId", sourceNodeId);

Expand Down Expand Up @@ -623,7 +623,7 @@ protected void updateFileIncoming(String nodeId, Map<String, String> filesToEven
String eventType = filesToEventType.get(filePath);
File file = new File(filePath);
String fileName = file.getName();
String dirName = file.getParentFile().getPath();
String dirName = file.getParentFile().getPath().replace('\\', '/');
long lastUpdateTime = file.lastModified();
int updateCount = sqlTemplate.update(getSql("updateFileIncoming"), nodeId,
lastUpdateTime, eventType, dirName, fileName);
Expand Down Expand Up @@ -716,7 +716,7 @@ protected RemoteNodeStatuses queueJob(boolean force, long minimumPeriodMs, Strin
class FileTriggerMapper implements ISqlRowMapper<FileTrigger> {
public FileTrigger mapRow(Row rs) {
FileTrigger fileTrigger = new FileTrigger();
fileTrigger.setBaseDir(rs.getString("base_dir"));
fileTrigger.setBaseDir(rs.getString("base_dir").replace('\\', '/'));
fileTrigger.setCreateTime(rs.getDateTime("create_time"));
fileTrigger.setExcludesFiles(rs.getString("excludes_files"));
fileTrigger.setIncludesFiles(rs.getString("includes_files"));
Expand Down Expand Up @@ -746,7 +746,7 @@ public FileTriggerRouter mapRow(Row rs) {
fileTriggerRouter.setLastUpdateTime(rs.getDateTime("last_update_time"));
fileTriggerRouter.setEnabled(rs.getBoolean("enabled"));
fileTriggerRouter.setInitialLoadEnabled(rs.getBoolean("initial_load_enabled"));
fileTriggerRouter.setTargetBaseDir(rs.getString("target_base_dir"));
fileTriggerRouter.setTargetBaseDir(rs.getString("target_base_dir").replace('\\', '/'));
fileTriggerRouter.setRouter(engine.getTriggerRouterService().getRouterById(
rs.getString("router_id")));
return fileTriggerRouter;
Expand All @@ -762,7 +762,7 @@ public FileSnapshot mapRow(Row rs) {
fileSnapshot.setLastUpdateTime(rs.getDateTime("last_update_time"));
fileSnapshot.setFileModifiedTime(rs.getLong("file_modified_time"));
fileSnapshot.setFileName(rs.getString("file_name"));
fileSnapshot.setRelativeDir(rs.getString("relative_dir"));
fileSnapshot.setRelativeDir(rs.getString("relative_dir").replace('\\', '/'));
fileSnapshot.setFileSize(rs.getLong("file_size"));
fileSnapshot.setLastEventType(LastEventType.fromCode(rs.getString("last_event_type")));
fileSnapshot.setTriggerId(rs.getString("trigger_id"));
Expand Down

0 comments on commit a3e06c8

Please sign in to comment.