private static final Logger LOGGER = LoggerFactory.getLogger(DumpOntologyStructure.class);
private Resource ontology;
-
+
private Map<Resource, String> names = new HashMap<>();
private Map<Resource,Resource> parents = new HashMap<>();
private Map<Resource, File> libraryFolders = new HashMap<>();
parents.put(r, container);
names.put(r, NameUtils.getSafeName(graph, r));
}
-
+
private Collection<Resource> containers() {
return parents.values();
}
-
+
private void readHierarchy(ReadGraph graph, Resource container) throws DatabaseException {
Layer0 L0 = Layer0.getInstance(graph);
for(Resource r : CommonDBUtils.objectsWithType(graph, container, L0.ConsistsOf, L0.Entity)) {
}
}
- public void read(ReadGraph graph, Resource ontology) throws DatabaseException {
+ public DumpOntologyStructure read(ReadGraph graph, Resource ontology) throws DatabaseException {
this.ontology = ontology;
readHierarchy(graph, ontology);
readGeneric(graph);
+ return this;
}
-
- private File escapeFile(File file) {
+ private File escapeFile(File file) {
if(file.exists())
return file;
-
return new File(escapeFile(file.getParentFile()), FileUtils.escapeFileName(file.getName()));
-
}
-
+
public void write(File unsafeFolder) throws IOException {
File folder = escapeFile(unsafeFolder);
- if(folder.exists())
- FileUtils.deleteAll(folder);
+ FileUtils.delete(folder.toPath());
folder.mkdirs();
writeDirectories(folder);
writeResources(folder);
}
-
+
private File getFolder(File root, Resource library) {
if(ontology.equals(library))
return root;
writeResource(rootFolder, r);
}
}
-
+
private boolean isParent(Resource r) {
return parents.values().contains(r);
}
-
+
private void writeResource(File rootFolder, Resource resource) throws IOException {
byte[] dump = contentDumps.get(resource);
if(dump == null)
FileUtils.writeFile(getFile(rootFolder, resource), bytes);
}
-}
+}
\ No newline at end of file