_ do not lock ignored files

pull/1/head
io42630 3 years ago
parent 6db86e0f5b
commit 9113eeebb9

@ -2,21 +2,18 @@ package com.olexyn.ensync;
import com.olexyn.ensync.artifacts.DataRoot;
import com.olexyn.ensync.artifacts.SyncBundle;
import com.olexyn.ensync.lock.LockUtil;
import com.olexyn.ensync.util.IgnoreUtil;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.File;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
public class MainApp {
final public static Flow FLOW = new Flow();
public static List<String> IGNORE = new ArrayList<>();
final private static Tools TOOLS = new Tools();
public static void main(String[] args) throws JSONException {
@ -35,7 +32,7 @@ public class MainApp {
}
var ignorePath = Path.of(System.getProperty("user.dir") + "/src/main/resources/syncignore");
IGNORE = Tools.fileToLines(LockUtil.lockFile(ignorePath).getFc());
IgnoreUtil.IGNORE = Tools.fileToLines(LockUtil.lockFile(ignorePath).getFc());
FLOW.start();
}
}

@ -1,9 +1,9 @@
package com.olexyn.ensync.artifacts;
import com.olexyn.ensync.LogUtil;
import com.olexyn.ensync.MainApp;
import com.olexyn.ensync.Tools;
import com.olexyn.ensync.lock.LockKeeper;
import com.olexyn.ensync.util.IgnoreUtil;
import org.apache.commons.io.FileUtils;
import java.io.File;
@ -80,7 +80,7 @@ public class SyncDirectory {
RecordFile recordFile = new RecordFile(this, absolutePath);
recordFile.setTimeModifiedFromRecord(modTime);
if (noIgnore(recordFile.toPath())) {
if (IgnoreUtil.noIgnore(recordFile.toPath())) {
filemap.put(sFilePath, recordFile);
}
}
@ -163,27 +163,14 @@ public class SyncDirectory {
tools.writeStringListToFile(record.getPath().toString(), outputList);
}
private boolean noIgnore(Path path) {
for (var line : MainApp.IGNORE) {
line = line
.replace("/", "")
.replace("\\", "");
var pathX = path.toString()
.replace("/", "")
.replace("\\", "");
if (pathX.contains(line)) {
return false;
}
}
return true;
}
private Stream<File> getFiles() {
try {
return Files.walk(directoryPath)
.filter(Files::isRegularFile)
.map(Path::toFile)
.filter(file -> noIgnore(file.toPath()))
.filter(file -> IgnoreUtil.noIgnore(file.toPath()))
.filter(file -> !file.getName().equals(Constants.STATE_FILE_NAME));
} catch (IOException e) {
LOGGER.severe("Could walk the file tree : Record will be empty.");

@ -1,6 +1,7 @@
package com.olexyn.ensync.lock;
import com.olexyn.ensync.LogUtil;
import com.olexyn.ensync.util.IgnoreUtil;
import java.io.IOException;
import java.nio.channels.FileChannel;
@ -25,6 +26,7 @@ public class LockKeeper {
try {
fcStates = Files.walk(dirPath)
.filter(filePath -> filePath.toFile().isFile())
.filter(IgnoreUtil::noIgnore)
.map(filePath -> LockUtil.lockFile(filePath, TRY_COUNT))
.collect(Collectors.toList());
} catch (IOException e) {

@ -0,0 +1,26 @@
package com.olexyn.ensync.util;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
public class IgnoreUtil {
public static List<String> IGNORE = new ArrayList<>();
public static boolean noIgnore(Path path) {
for (var line : IGNORE) {
line = line
.replace("/", "")
.replace("\\", "");
var pathX = path.toString()
.replace("/", "")
.replace("\\", "");
if (pathX.contains(line)) {
return false;
}
}
return true;
}
}
Loading…
Cancel
Save