Skip to content
Snippets Groups Projects
Commit db1b19c2 authored by Schuh Martin's avatar Schuh Martin
Browse files

Add: GsonHandler.java

Add: localMaps.json
Update: MapData.java (Attributes + Methods added)
Update: pom.xml (added GSON Dependency)
Update: module-info.java (added GSON)
Update: Persistence.java
parent 8ebcd6b9
No related branches found
No related tags found
2 merge requests!7Merge DataBase to development,!6Merging from Database to development
...@@ -57,6 +57,11 @@ ...@@ -57,6 +57,11 @@
<version>12.4.2.jre11</version> <version>12.4.2.jre11</version>
</dependency> </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies> </dependencies>
......
package de.hdm_stuttgart.battlearena.Persistance.Classes;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.FileReader;
import java.io.FileWriter;
import java.lang.reflect.Type;
import java.util.ArrayList;
public class GsonHandler {
Persistence singleton = Persistence.getInstance();
Gson gson = new Gson();
private static final Logger log = LogManager.getLogger(GsonHandler.class);
Type mapDataType = new TypeToken<ArrayList<MapData>>(){}.getType();
public void loadMaps() {
try (FileReader reader = new FileReader("src/main/resources/maps/localMaps.json")) {
singleton.maps = gson.fromJson(reader, mapDataType);
log.info("GSON - Maps successfully loaded from JSON");
} catch (Exception e) {
log.info(e);
log.info("GSON - Loading Maps from JSON failed");
}
}
public void updateMaps() {
try (FileWriter writer = new FileWriter("src/main/resources/maps/localMaps.json")) {
gson.toJson(singleton.maps, writer);
log.info("GSON - Maps successfully written to JSON");
} catch (
Exception e) {
log.info(e);
log.info("GSON - Saving SingleBookings to JSON failed");
}
}
}
package de.hdm_stuttgart.battlearena.Persistance.Classes; package de.hdm_stuttgart.battlearena.Persistance.Classes;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
public class MapData { public class MapData {
private static final Logger log = LogManager.getLogger(MapData.class); private static final Logger log = LogManager.getLogger(MapData.class);
private String mapID;
private String mapName;
private int mapHeight;
private int mapWidth;
private String mapData;
protected MapData(String mapID, String mapName, String mapSize, String mapData) {
this.mapID = mapID;
this.mapName = mapName;
this.mapData = mapData;
sizeParser(mapSize);
}
private void sizeParser(String mapSize){
int whereX = 0;
for(int i = 0; i > mapSize.length(); i++){
if(mapSize.substring(i, i+1).equals("x")){
whereX = i;
break;
}
}
mapHeight = Integer.valueOf(mapSize.substring(0, whereX));
mapWidth = Integer.valueOf(mapSize.substring(whereX));
}
} }
...@@ -9,19 +9,16 @@ import java.util.LinkedHashMap; ...@@ -9,19 +9,16 @@ import java.util.LinkedHashMap;
public class Persistence { public class Persistence {
private static final Logger log = LogManager.getLogger(Persistence.class); private static final Logger log = LogManager.getLogger(Persistence.class);
private static final Persistence singleton = new Persistence(); private static final Persistence singleton = new Persistence();
private Persistence (){}
private Connection connection; private Connection connection;
private LinkedHashMap<String, String> mapNames; private LinkedHashMap<String, String> mapNames;
private String map;
private int[] sizeArrayInt; private int[] sizeArrayInt;
private String sizeString; private String sizeString;
protected static PlayerStatistics statistics = new PlayerStatistics("", 0,0,0,0,0,0); protected static PlayerStatistics statistics = new PlayerStatistics("", 0,0,0,0,0,0);
protected ArrayList<MapData> maps = new ArrayList<MapData>();
private GsonHandler gsonHandler = new GsonHandler();
private Persistence (){}
public void createPlayer(String player){ public void createPlayer(String player){
statistics.setPlayerName(player); statistics.setPlayerName(player);
...@@ -31,6 +28,4 @@ public class Persistence { ...@@ -31,6 +28,4 @@ public class Persistence {
return singleton; return singleton;
} }
} }
...@@ -4,8 +4,10 @@ module gui { ...@@ -4,8 +4,10 @@ module gui {
requires javafx.media; requires javafx.media;
requires org.apache.logging.log4j; requires org.apache.logging.log4j;
requires java.sql; requires java.sql;
requires com.google.gson;
opens de.hdm_stuttgart.battlearena to javafx.fxml; opens de.hdm_stuttgart.battlearena to javafx.fxml;
exports de.hdm_stuttgart.battlearena.Main; exports de.hdm_stuttgart.battlearena.Main;
exports de.hdm_stuttgart.battlearena.Controller; exports de.hdm_stuttgart.battlearena.Controller;
opens de.hdm_stuttgart.battlearena.Persistance.Classes to com.google.gson, javafx.fxml;
} }
{
"name": "maps",
"version": "1.0.0",
"dependencies": {
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment