mxd пре 4 година
родитељ
комит
db854e12fb

+ 1 - 1
src/main/java/org/ssssssss/magicapi/adapter/resource/ZipResource.java

@@ -70,7 +70,7 @@ public class ZipResource implements Resource {
 
 	@Override
 	public boolean isDirectory() {
-		return this.path.endsWith("/");
+		return this.path.isEmpty() || this.path.endsWith("/");
 	}
 
 	@Override

+ 3 - 1
src/main/java/org/ssssssss/magicapi/controller/MagicWorkbenchController.java

@@ -135,7 +135,8 @@ public class MagicWorkbenchController extends MagicController {
 			groups.removeIf(it -> it.getId().equalsIgnoreCase(group.getId()));
 		}
 		for (Group group : groups) {
-			if (groupServiceProvider.getGroupResource(group.getId()).exists()) {
+			Resource groupResource = groupServiceProvider.getGroupResource(group.getId());
+			if (groupResource!= null && groupResource.exists()) {
 				groupServiceProvider.update(group);
 			} else {
 				groupServiceProvider.insert(group);
@@ -154,6 +155,7 @@ public class MagicWorkbenchController extends MagicController {
 	private <T extends MagicEntity> void write(StoreServiceProvider<T> provider, Resource backups, Set<T> infos) {
 		for (T info : infos) {
 			Resource resource = configuration.getGroupServiceProvider().getGroupResource(info.getGroupId());
+			resource = resource.getResource(info.getName() + ".ms");
 			byte[] content = provider.serialize(info);
 			resource.write(content);
 			Resource directory = backups.getDirectory(info.getId());

+ 2 - 1
src/main/java/org/ssssssss/magicapi/provider/impl/DefaultGroupServiceProvider.java

@@ -154,7 +154,8 @@ public class DefaultGroupServiceProvider implements GroupServiceProvider {
 		if (groupId == null || "0".equals(groupId)) {
 			return null;
 		}
-		return mappings.get(groupId).parent();
+		Resource resource = mappings.get(groupId);
+		return resource == null ? null : resource.parent();
 	}
 
 	private TreeNode<Group> convertToTree(List<Group> groups) {