From b32a613fd521476ab718c1c6793057d9b92d5a63 Mon Sep 17 00:00:00 2001 From: Gravit Date: Tue, 25 Sep 2018 00:41:00 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=86=D0=B8=D0=BE=D0=BD=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BC=D0=BE=D0=B4=D1=8B=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D0=BE=20=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/gravit/launcher/hasher/HashedDir.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/libLauncher/src/main/java/ru/gravit/launcher/hasher/HashedDir.java b/libLauncher/src/main/java/ru/gravit/launcher/hasher/HashedDir.java index 97c8a13f..d82a9a4e 100644 --- a/libLauncher/src/main/java/ru/gravit/launcher/hasher/HashedDir.java +++ b/libLauncher/src/main/java/ru/gravit/launcher/hasher/HashedDir.java @@ -5,13 +5,8 @@ import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; -import java.util.Collections; -import java.util.Deque; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; -import java.util.Set; import ru.gravit.launcher.LauncherAPI; import ru.gravit.utils.helper.IOHelper; @@ -148,8 +143,21 @@ public Diff diff(HashedDir other, FileNameMatcher matcher) { return new Diff(mismatch, extra); } public void pushHashedFile(String name, HashedFile file) - { - map.put(name,file); + { //TODO: NOT WORKED + Stack dir_stack = new Stack<>(); + StringTokenizer st = new StringTokenizer(name,"/"); + while(st.hasMoreTokens()) + { + dir_stack.push(st.nextToken()); + } + HashedDir dir; + Map current = map; + while(dir_stack.size() != 1) + { + dir = (HashedDir) current.get(dir_stack.pop()); + current = dir.map; + } + current.put(dir_stack.pop(),file); } public void remove(String name) {