diff --git a/PlayWallCore/src/de/tobias/playpad/action/ActionSerializer.java b/PlayWallCore/src/de/tobias/playpad/action/ActionSerializer.java index ff4c629b9b32b37ce6c1625db046ae5eed342927..4fe1c68b65c8da6c67d6bcd5658c5dd7f8805525 100644 --- a/PlayWallCore/src/de/tobias/playpad/action/ActionSerializer.java +++ b/PlayWallCore/src/de/tobias/playpad/action/ActionSerializer.java @@ -8,9 +8,9 @@ import de.tobias.playpad.PlayPadPlugin; import de.tobias.playpad.action.mapper.Mapper; import de.tobias.playpad.action.mapper.MapperSerializer; import de.tobias.playpad.registry.NoSuchComponentException; -import de.tobias.playpad.xml.XMLDeserializer; -import de.tobias.playpad.xml.XMLHandler; -import de.tobias.playpad.xml.XMLSerializer; +import de.tobias.utils.xml.XMLDeserializer; +import de.tobias.utils.xml.XMLHandler; +import de.tobias.utils.xml.XMLSerializer; public class ActionSerializer implements XMLSerializer<Action>, XMLDeserializer<Action> { diff --git a/PlayWallCore/src/de/tobias/playpad/action/MappingList.java b/PlayWallCore/src/de/tobias/playpad/action/MappingList.java index 103a680c903e400930e37f9d7610e6e7b4c5eea6..ab8e325ed73e463a7dbf7aa0bab8788acf9e69d9 100644 --- a/PlayWallCore/src/de/tobias/playpad/action/MappingList.java +++ b/PlayWallCore/src/de/tobias/playpad/action/MappingList.java @@ -17,7 +17,7 @@ import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import de.tobias.playpad.settings.Profile; -import de.tobias.playpad.xml.XMLHandler; +import de.tobias.utils.xml.XMLHandler; // COMMENT MappingList public class MappingList extends ArrayList<Mapping> { diff --git a/PlayWallCore/src/de/tobias/playpad/action/MappingSerializer.java b/PlayWallCore/src/de/tobias/playpad/action/MappingSerializer.java index e1885680e2aed52d687d4cb6d4cdf0fb52a18382..aea0d32e765d31b6e73818d9c72acff261f7e1c7 100644 --- a/PlayWallCore/src/de/tobias/playpad/action/MappingSerializer.java +++ b/PlayWallCore/src/de/tobias/playpad/action/MappingSerializer.java @@ -5,9 +5,9 @@ import java.util.UUID; import org.dom4j.Element; import de.tobias.playpad.settings.Profile; -import de.tobias.playpad.xml.XMLDeserializer; -import de.tobias.playpad.xml.XMLHandler; -import de.tobias.playpad.xml.XMLSerializer; +import de.tobias.utils.xml.XMLDeserializer; +import de.tobias.utils.xml.XMLHandler; +import de.tobias.utils.xml.XMLSerializer; public class MappingSerializer implements XMLSerializer<Mapping>, XMLDeserializer<Mapping> { diff --git a/PlayWallCore/src/de/tobias/playpad/action/mapper/MapperSerializer.java b/PlayWallCore/src/de/tobias/playpad/action/mapper/MapperSerializer.java index 604f33b3ddc14c39556638c315fc02d8d51d9cff..34f621600019be97a504fc0f3a92fea92cb2d82d 100644 --- a/PlayWallCore/src/de/tobias/playpad/action/mapper/MapperSerializer.java +++ b/PlayWallCore/src/de/tobias/playpad/action/mapper/MapperSerializer.java @@ -5,8 +5,8 @@ import org.dom4j.Element; import de.tobias.playpad.PlayPadPlugin; import de.tobias.playpad.action.Action; import de.tobias.playpad.registry.NoSuchComponentException; -import de.tobias.playpad.xml.XMLDeserializer; -import de.tobias.playpad.xml.XMLSerializer; +import de.tobias.utils.xml.XMLDeserializer; +import de.tobias.utils.xml.XMLSerializer; /** * Laden und Speichern von Mappern (Array von Mappern) diff --git a/PlayWallCore/src/de/tobias/playpad/pad/PadSerializer.java b/PlayWallCore/src/de/tobias/playpad/pad/PadSerializer.java index ef1d10807340525350f78708a644b976191fba6e..44b42cd8190563ed3ba1685112cbb0d0dd90afbb 100644 --- a/PlayWallCore/src/de/tobias/playpad/pad/PadSerializer.java +++ b/PlayWallCore/src/de/tobias/playpad/pad/PadSerializer.java @@ -15,9 +15,9 @@ import de.tobias.playpad.settings.Fade; import de.tobias.playpad.settings.Warning; import de.tobias.playpad.tigger.Trigger; import de.tobias.playpad.tigger.TriggerPoint; -import de.tobias.playpad.xml.XMLDeserializer; -import de.tobias.playpad.xml.XMLSerializer; import de.tobias.utils.settings.UserDefaults; +import de.tobias.utils.xml.XMLDeserializer; +import de.tobias.utils.xml.XMLSerializer; public class PadSerializer implements XMLSerializer<Pad>, XMLDeserializer<Pad> { diff --git a/PlayWallCore/src/de/tobias/playpad/project/Project.java b/PlayWallCore/src/de/tobias/playpad/project/Project.java index bdbb2b48c3d8729b5b6c8407da11392e937896b2..5d7b13afa3f7f5566c448eeb5d98632e9e4484b5 100644 --- a/PlayWallCore/src/de/tobias/playpad/project/Project.java +++ b/PlayWallCore/src/de/tobias/playpad/project/Project.java @@ -19,7 +19,7 @@ import de.tobias.playpad.pad.PadStatus; import de.tobias.playpad.registry.NoSuchComponentException; import de.tobias.playpad.settings.Profile; import de.tobias.playpad.settings.ProfileNotFoundException; -import de.tobias.playpad.xml.XMLHandler; +import de.tobias.utils.xml.XMLHandler; import javafx.application.Platform; import javafx.collections.FXCollections; import javafx.collections.ObservableList; diff --git a/PlayWallCore/src/de/tobias/playpad/project/ProjectReference.java b/PlayWallCore/src/de/tobias/playpad/project/ProjectReference.java index 44724c67c6a3815083e9c4eac9bb2b697f63acf9..dfd5aae6d7eda62b48cd2844b12a514a3528df5f 100644 --- a/PlayWallCore/src/de/tobias/playpad/project/ProjectReference.java +++ b/PlayWallCore/src/de/tobias/playpad/project/ProjectReference.java @@ -16,10 +16,10 @@ import org.dom4j.Element; import de.tobias.playpad.Displayable; import de.tobias.playpad.settings.ProfileReference; -import de.tobias.playpad.xml.XMLHandler; import de.tobias.utils.application.App; import de.tobias.utils.application.ApplicationUtils; import de.tobias.utils.application.container.PathType; +import de.tobias.utils.xml.XMLHandler; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; diff --git a/PlayWallCore/src/de/tobias/playpad/project/ProjectReferenceSerializer.java b/PlayWallCore/src/de/tobias/playpad/project/ProjectReferenceSerializer.java index 009b68e7171f8ed1ef6bdd1442070abf48a6fe3f..d84647a222b939b027293012b12b1fed3044b52a 100644 --- a/PlayWallCore/src/de/tobias/playpad/project/ProjectReferenceSerializer.java +++ b/PlayWallCore/src/de/tobias/playpad/project/ProjectReferenceSerializer.java @@ -8,10 +8,10 @@ import java.util.UUID; import org.dom4j.Element; import de.tobias.playpad.settings.ProfileReference; -import de.tobias.playpad.xml.XMLDeserializer; -import de.tobias.playpad.xml.XMLSerializer; import de.tobias.utils.application.ApplicationUtils; import de.tobias.utils.application.container.PathType; +import de.tobias.utils.xml.XMLDeserializer; +import de.tobias.utils.xml.XMLSerializer; public class ProjectReferenceSerializer implements XMLDeserializer<ProjectReference>, XMLSerializer<ProjectReference> { diff --git a/PlayWallCore/src/de/tobias/playpad/settings/ProfileReference.java b/PlayWallCore/src/de/tobias/playpad/settings/ProfileReference.java index c50d17723c8fb442c96fb1e6851b753c0eede9cd..5da855184620b09850f69206abe6eff4473eb140 100644 --- a/PlayWallCore/src/de/tobias/playpad/settings/ProfileReference.java +++ b/PlayWallCore/src/de/tobias/playpad/settings/ProfileReference.java @@ -14,11 +14,11 @@ import org.dom4j.DocumentHelper; import org.dom4j.Element; import de.tobias.playpad.Displayable; -import de.tobias.playpad.xml.XMLHandler; import de.tobias.utils.application.ApplicationUtils; import de.tobias.utils.application.container.PathType; import de.tobias.utils.util.FileUtils; import de.tobias.utils.util.FileUtils.FileActionAdapter; +import de.tobias.utils.xml.XMLHandler; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; diff --git a/PlayWallCore/src/de/tobias/playpad/settings/ProfileReferenceSerializer.java b/PlayWallCore/src/de/tobias/playpad/settings/ProfileReferenceSerializer.java index 3a281ef16c223a94c255b4d18591bcaf7423c2bd..19915d809824b0308575ec18ea31ccc0eab51067 100644 --- a/PlayWallCore/src/de/tobias/playpad/settings/ProfileReferenceSerializer.java +++ b/PlayWallCore/src/de/tobias/playpad/settings/ProfileReferenceSerializer.java @@ -4,8 +4,8 @@ import java.util.UUID; import org.dom4j.Element; -import de.tobias.playpad.xml.XMLDeserializer; -import de.tobias.playpad.xml.XMLSerializer; +import de.tobias.utils.xml.XMLDeserializer; +import de.tobias.utils.xml.XMLSerializer; /** * Util zum arbeiten mit XML und ProfileReference diff --git a/PlayWallCore/src/de/tobias/playpad/settings/keys/KeyCollection.java b/PlayWallCore/src/de/tobias/playpad/settings/keys/KeyCollection.java index f47a1e5ffbbe3a05f32c5f74627e6be5c5c5ba69..080d0e6a606fea3db9cc9a02ae002188dd1231d1 100644 --- a/PlayWallCore/src/de/tobias/playpad/settings/keys/KeyCollection.java +++ b/PlayWallCore/src/de/tobias/playpad/settings/keys/KeyCollection.java @@ -10,8 +10,8 @@ import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; -import de.tobias.playpad.xml.XMLHandler; import de.tobias.utils.util.OS; +import de.tobias.utils.xml.XMLHandler; /** * Verwaltung der Tastenkombinationen für das Menu. diff --git a/PlayWallCore/src/de/tobias/playpad/settings/keys/KeySerializer.java b/PlayWallCore/src/de/tobias/playpad/settings/keys/KeySerializer.java index cb8e7fc7a9d30c60e6b56f769758fe81fd05e391..c61992e73eea00bd45d685fa3953fa83dd09df33 100644 --- a/PlayWallCore/src/de/tobias/playpad/settings/keys/KeySerializer.java +++ b/PlayWallCore/src/de/tobias/playpad/settings/keys/KeySerializer.java @@ -2,8 +2,8 @@ package de.tobias.playpad.settings.keys; import org.dom4j.Element; -import de.tobias.playpad.xml.XMLDeserializer; -import de.tobias.playpad.xml.XMLSerializer; +import de.tobias.utils.xml.XMLDeserializer; +import de.tobias.utils.xml.XMLSerializer; public class KeySerializer implements XMLSerializer<Key>, XMLDeserializer<Key> { diff --git a/PlayWallCore/src/de/tobias/playpad/xml/XMLDeserializer.java b/PlayWallCore/src/de/tobias/playpad/xml/XMLDeserializer.java deleted file mode 100644 index 44581a3fffa50762840ba748a4a6206a103cc67b..0000000000000000000000000000000000000000 --- a/PlayWallCore/src/de/tobias/playpad/xml/XMLDeserializer.java +++ /dev/null @@ -1,24 +0,0 @@ -package de.tobias.playpad.xml; - -import org.dom4j.Element; - -/** - * Schnittstelle um ein Object auf einem XML Tree zu deserialisieren. - * - * @author tobias - * - * @param <T> - * Typ der Daten - */ -public interface XMLDeserializer<T> { - - /** - * Lädt ein Object auf XML Daten. - * - * @param element - * XML Objekt - * @return Daten aus dem XML - */ - public T loadElement(Element element); - -} diff --git a/PlayWallCore/src/de/tobias/playpad/xml/XMLHandler.java b/PlayWallCore/src/de/tobias/playpad/xml/XMLHandler.java deleted file mode 100644 index b106b92fc33910801ec9e8346818b42eb24fcaba..0000000000000000000000000000000000000000 --- a/PlayWallCore/src/de/tobias/playpad/xml/XMLHandler.java +++ /dev/null @@ -1,131 +0,0 @@ -package de.tobias.playpad.xml; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.List; - -import org.dom4j.Document; -import org.dom4j.DocumentException; -import org.dom4j.Element; -import org.dom4j.io.OutputFormat; -import org.dom4j.io.SAXReader; -import org.dom4j.io.XMLWriter; - -/** - * Util Methods zum Laden von XML Files. - * - * @author tobias - * - * @since 5.0.1 - */ -public class XMLHandler<T> { - - private Element rootElement; - - /** - * Lädt ein XML Dokument und speichert sich den RootNode. - * - * @param path - * Path zu XML Datei - * @throws DocumentException - * Fehler in der XML Datei - * @throws IOException - * IO Fehler (Bsp. Datei nicht vorhanden) - */ - public XMLHandler(Path path) throws DocumentException, IOException { - if (Files.exists(path)) { - SAXReader reader = new SAXReader(); - Document document = reader.read(Files.newInputStream(path)); - rootElement = document.getRootElement(); - } else { - throw new FileNotFoundException(path.toString()); - } - } - - /** - * Erstellt einen neuen Handler mit einem RootElement. - * - * @param rootElement - * RootElement - */ - public XMLHandler(Element rootElement) { - this.rootElement = rootElement; - } - - /** - * Lädt ein Datenrecord auf einem Array von Daten - * - * @param listElementTag - * Datentype - * @param deserializer - * Deserializer - * @return Liste von Daten - */ - public List<T> loadElements(String listElementTag, XMLDeserializer<T> deserializer) { - List<T> list = new ArrayList<>(); - - for (Object object : rootElement.elements(listElementTag)) { - if (object instanceof Element) { - Element element = (Element) object; - T data = deserializer.loadElement(element); - if (data != null) { - list.add(data); - } - } - } - - return list; - } - - /** - * Speichert eine Liste von Objekten mittels Serializer. - * - * @param listElementTag - * Name der XML Element - * @param list - * Liste der Daten - * @param serializer - * Serializer - */ - public void saveElements(String listElementTag, Iterable<T> list, XMLSerializer<T> serializer) { - for (T data : list) { - Element element = rootElement.addElement(listElementTag); - serializer.saveElement(element, data); - } - } - - /** - * Speichert eine XML in einem Path. - * - * @param path - * Path der Datei - * @param document - * XML Document - * @throws UnsupportedEncodingException - * Falsches Encoding - * @throws IOException - * IO Fehler (Bsp. File nicht vorhanden) - */ - public static void save(Path path, Document document) throws UnsupportedEncodingException, IOException { - if (Files.exists(path)) { - XMLWriter writer = new XMLWriter(Files.newOutputStream(path), OutputFormat.createPrettyPrint()); - writer.write(document); - writer.close(); - } else { - throw new FileNotFoundException(path.toString()); - } - } - - /** - * Gibt das RootElement zurück. - * - * @return Root Element - */ - public Element getRootElement() { - return rootElement; - } -} diff --git a/PlayWallCore/src/de/tobias/playpad/xml/XMLSerializer.java b/PlayWallCore/src/de/tobias/playpad/xml/XMLSerializer.java deleted file mode 100644 index 824741866bf6a72c89126febc81415cecb63869a..0000000000000000000000000000000000000000 --- a/PlayWallCore/src/de/tobias/playpad/xml/XMLSerializer.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.tobias.playpad.xml; - -import org.dom4j.Element; - -/** - * Schnittstelle um ein Object in eine XML Struktur zu überführen. - * - * @author tobias - * - * @param <T> - * Typ der Daten - */ -public interface XMLSerializer<T> { - - /** - * Überführt ein Object in eine XML Struktur. Dafür wird bereits ein XML Object angelegt, zu dem Attribute und Sub Elemente hinzugefügt - * werden können. - * - * @param newElement - * XML Object - * @param data - * Daten - */ - public void saveElement(Element newElement, T data); - -}