use of com.solinia.solinia.Factories.ISoliniaLootTableEntryTypeAdapterFactory in project solinia3-core by mixxit.
the class JsonLootTableRepository method reload.
@Override
public void reload() {
List<ISoliniaLootTable> file = new ArrayList<ISoliniaLootTable>();
try {
GsonBuilder gsonbuilder = new GsonBuilder();
gsonbuilder.registerTypeAdapterFactory(new ISoliniaLootTableEntryTypeAdapterFactory(SoliniaLootTableEntry.class));
Gson gson = gsonbuilder.create();
BufferedReader br = new BufferedReader(new FileReader(filePath));
file = gson.fromJson(br, new TypeToken<List<SoliniaLootTable>>() {
}.getType());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
loottables.clear();
for (ISoliniaLootTable i : file) {
loottables.put(i.getId(), i);
}
System.out.println("Reloaded " + loottables.size() + " loottables");
}
use of com.solinia.solinia.Factories.ISoliniaLootTableEntryTypeAdapterFactory in project solinia3-core by mixxit.
the class JsonLootTableRepository method commit.
@Override
public void commit() {
// TODO Auto-generated method stub
GsonBuilder gsonbuilder = new GsonBuilder();
// gsonbuilder.setPrettyPrinting();
gsonbuilder.registerTypeAdapterFactory(new ISoliniaLootTableEntryTypeAdapterFactory(SoliniaLootTableEntry.class));
Gson gson = gsonbuilder.create();
String jsonOutput = gson.toJson(loottables.values(), new TypeToken<List<SoliniaLootTable>>() {
}.getType());
try {
File file = new File(filePath);
if (!file.exists())
file.createNewFile();
FileOutputStream fileOut = new FileOutputStream(file);
OutputStreamWriter outWriter = new OutputStreamWriter(fileOut);
outWriter.append(jsonOutput);
outWriter.close();
fileOut.close();
System.out.println("Commited " + loottables.size() + " loottables");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Aggregations