Search in sources :

Example 1 with ISoliniaLootTableEntryTypeAdapterFactory

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");
}
Also used : ISoliniaLootTableEntryTypeAdapterFactory(com.solinia.solinia.Factories.ISoliniaLootTableEntryTypeAdapterFactory) GsonBuilder(com.google.gson.GsonBuilder) ArrayList(java.util.ArrayList) BufferedReader(java.io.BufferedReader) FileNotFoundException(java.io.FileNotFoundException) Gson(com.google.gson.Gson) SoliniaLootTableEntry(com.solinia.solinia.Models.SoliniaLootTableEntry) FileReader(java.io.FileReader) ArrayList(java.util.ArrayList) List(java.util.List) ISoliniaLootTable(com.solinia.solinia.Interfaces.ISoliniaLootTable)

Example 2 with ISoliniaLootTableEntryTypeAdapterFactory

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();
    }
}
Also used : ISoliniaLootTableEntryTypeAdapterFactory(com.solinia.solinia.Factories.ISoliniaLootTableEntryTypeAdapterFactory) SoliniaLootTable(com.solinia.solinia.Models.SoliniaLootTable) ISoliniaLootTable(com.solinia.solinia.Interfaces.ISoliniaLootTable) GsonBuilder(com.google.gson.GsonBuilder) TypeToken(com.google.gson.reflect.TypeToken) FileOutputStream(java.io.FileOutputStream) FileNotFoundException(java.io.FileNotFoundException) Gson(com.google.gson.Gson) SoliniaLootTableEntry(com.solinia.solinia.Models.SoliniaLootTableEntry) OutputStreamWriter(java.io.OutputStreamWriter) IOException(java.io.IOException) File(java.io.File)

Aggregations

Gson (com.google.gson.Gson)2 GsonBuilder (com.google.gson.GsonBuilder)2 ISoliniaLootTableEntryTypeAdapterFactory (com.solinia.solinia.Factories.ISoliniaLootTableEntryTypeAdapterFactory)2 ISoliniaLootTable (com.solinia.solinia.Interfaces.ISoliniaLootTable)2 SoliniaLootTableEntry (com.solinia.solinia.Models.SoliniaLootTableEntry)2 FileNotFoundException (java.io.FileNotFoundException)2 TypeToken (com.google.gson.reflect.TypeToken)1 SoliniaLootTable (com.solinia.solinia.Models.SoliniaLootTable)1 BufferedReader (java.io.BufferedReader)1 File (java.io.File)1 FileOutputStream (java.io.FileOutputStream)1 FileReader (java.io.FileReader)1 IOException (java.io.IOException)1 OutputStreamWriter (java.io.OutputStreamWriter)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1