org.hl7.fhir.utilities.npm.ResourceRenamer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.hl7.fhir.utilities Show documentation
Show all versions of org.hl7.fhir.utilities Show documentation
Builds the hapi fhir utilities. Requires the hapi-fhir-base be built first and be excluded
from any other poms requiring it.
The newest version!
package org.hl7.fhir.utilities.npm;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.json.model.JsonObject;
import org.hl7.fhir.utilities.json.parser.JsonParser;
public class ResourceRenamer {
public static void main(String[] args) throws IOException {
new ResourceRenamer().processArg(new File(args[0]));
}
private void processArg(File file) throws IOException {
if (file.isDirectory()) {
process(file);
} else {
unbundle(file);
}
}
private void unbundle(File f) throws IOException {
JsonObject j = JsonParser.parseObject(f);
for (JsonObject e : j.getJsonObjects("entry")) {
JsonObject r = e.getJsonObject("resource");
String rt = r.asString("resourceType");
String id = r.asString("id");
String nn = Utilities.path(Utilities.getDirectoryForFile(f.getAbsolutePath()), rt+"-"+id+".json");
FileOutputStream fs = new FileOutputStream(nn);
try {
JsonParser.compose(r, fs, true);
} finally {
fs.close();
}
}
}
private void process(File dir) {
for (File f : dir.listFiles()) {
if (f.getName().endsWith(".json")) {
try {
JsonObject j = JsonParser.parseObject(f);
String rt = j.asString("resourceType");
String id = j.asString("id");
String nn = Utilities.path(Utilities.getDirectoryForFile(f.getAbsolutePath()), rt+"-"+id+".json");
File nf = new File(nn);
if (!nn.equals(f.getAbsolutePath())) {
System.out.println("Rename "+f.getName()+" to "+nf.getName());
f.renameTo(nf);
}
} catch (Exception e) {
System.out.println("Error Processing "+f.getName()+" : "+e.getMessage());
}
}
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy