commit 69a0ca98bc5a8d01135a63ec3de2ae4f89f505bc
Author: Pavel Fidranský <fidransky@outlook.com>
Date:   Fri Feb 8 21:00:35 2019 +0100

    [imiger-plugin-template] use imiger-vo classes instead of own copies

diff --git a/sources/imiger-plugin-template/pom.xml b/sources/imiger-plugin-template/pom.xml
index a5694a5..e10bc3c 100644
--- a/sources/imiger-plugin-template/pom.xml
+++ b/sources/imiger-plugin-template/pom.xml
@@ -4,6 +4,13 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
+    <parent>
+        <artifactId>imiger</artifactId>
+        <groupId>cz.zcu.kiv</groupId>
+        <version>0.1.2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
     <groupId>com.example.plugin</groupId>
     <artifactId>imiger-plugin-template</artifactId>
     <version>1.0-SNAPSHOT</version>
@@ -42,6 +49,12 @@
     </build>
 
     <dependencies>
+        <dependency>
+            <groupId>cz.zcu.kiv</groupId>
+            <artifactId>imiger-vo</artifactId>
+            <version>0.1.2-SNAPSHOT</version>
+        </dependency>
+
         <!-- Lib for JSON handling -->
         <dependency>
             <groupId>com.google.code.gson</groupId>
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/Converter.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/Converter.java
deleted file mode 100644
index 8f828bb..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/Converter.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade;
-
-import com.google.gson.Gson;
-import cz.zcu.kiv.imiger.plugin.spade.api.Graph;
-
-public class Converter {
-
-    /**
-     * Convert input file to RAW JSON and return it.
-     */
-    public String getRawJson(String inputFile) {
-
-        Graph graph = new Graph();
-        return new Gson().toJson(graph);
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/AttributeDataType.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/AttributeDataType.java
deleted file mode 100644
index 7686787..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/AttributeDataType.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-public enum AttributeDataType {
-    NUMBER {
-        @Override
-        public String toString() {
-            return "number";
-        }
-    },
-    DATE {
-        @Override
-        public String toString() {
-            return "date";
-        }
-    },
-    ENUM {
-        @Override
-        public String toString() {
-            return "enum";
-        }
-    },
-    STRING {
-        @Override
-        public String toString() {
-            return "string";
-        }
-    };
-
-    public static AttributeDataType getEnum(String value){
-        switch (value) {
-            case "number": return AttributeDataType.NUMBER;
-            case "date": return AttributeDataType.DATE;
-            case "enum": return AttributeDataType.ENUM;
-            default: return AttributeDataType.STRING;
-        }
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/AttributeType.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/AttributeType.java
deleted file mode 100644
index 9771d07..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/AttributeType.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-/**
- * Class represents one attribute type which is used in input JSON file and in output JSON file (file between frontend
- * and backend).
- */
-public class AttributeType {
-    /** name of attribute */
-    public String name;
-    /** data type of attribute */
-    public AttributeDataType dataType;
-    /** additional info */
-    public String text;
-
-    public AttributeType(String name, AttributeDataType dataType, String text) {
-        this.name = name;
-        this.dataType = dataType;
-        this.text = text;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public AttributeDataType getDataType() {
-        return dataType;
-    }
-
-    public String getText() {
-        return text;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/BaseEdge.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/BaseEdge.java
deleted file mode 100644
index c6b8769..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/BaseEdge.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-/**
- * Class represents edge. Class contains attributes which are common for input JSON format and for
- * output JSON format (JSON between frontend and backend)
- */
-public class BaseEdge {
-    /** identification number of edge */
-    private int id;
-    /** original ID of vertex from edge leads */
-    private int from;
-    /** original ID of vertex where edge leads */
-    private int to;
-    /** additional info */
-    private String text;
-
-    public BaseEdge(int id, int from, int to, String text) {
-        this.id = id;
-        this.from = from;
-        this.to = to;
-        this.text = text;
-    }
-
-    public int getId() {
-        return id;
-    }
-
-    public void setId(int id) {
-        this.id = id;
-    }
-
-    public int getFrom() {
-        return from;
-    }
-
-    public void setFrom(int from) {
-        this.from = from;
-    }
-
-    public int getTo() {
-        return to;
-    }
-
-    public void setTo(int to) {
-        this.to = to;
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(String text) {
-        this.text = text;
-    }
-
-    /**
-     * Generate hash code based on attributes {@code from} and {@code to}.
-     * @return generated hash code.
-     */
-    @Override
-    public int hashCode() {
-        return from * 100000 + to;
-    }
-
-    /**
-     * Two edges are equals where their {@code from} and {@code to} are equals.
-     *
-     * @param edge which will be compared with this instance
-     * @return tru if edges are equal, false otherwise
-     */
-    @Override
-    public boolean equals(Object edge) {
-        if (!(edge instanceof BaseEdge)) return false;
-
-        BaseEdge cmpEdge = (BaseEdge) edge;
-        return from == cmpEdge.from && to == cmpEdge.to;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/BaseVertex.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/BaseVertex.java
deleted file mode 100644
index db7e3f0..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/BaseVertex.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-/**
- * Class represents vertex. Class contains attributes which are common for input JSON format and for
- * output JSON format (JSON between frontend and backend)
- */
-public class BaseVertex {
-
-    /** New generated identification number. */
-    private int id;
-    /** Name of vertex. */
-    private String name;
-    /** Index of vertex archetype. */
-    private int archetypeIndex;
-    /** Additional info. */
-    private String text;
-
-    public BaseVertex(int id, String name, int archetypeIndex, String text) {
-        this.id = id;
-        this.name = name;
-        this.archetypeIndex = archetypeIndex;
-        this.text = text;
-    }
-
-    public int getId() {
-        return id;
-    }
-
-    public void setId(int id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public int getArchetype() {
-        return archetypeIndex;
-    }
-
-    public void setArchetype(int archetypeIndex) {
-        this.archetypeIndex = archetypeIndex;
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(String text) {
-        this.text = text;
-    }
-
-    /**
-     * Generate hash code which is based on {@code originalId}.
-     * @return generated has code
-     */
-    @Override
-    public int hashCode() {
-        return id;
-    }
-
-    /**
-     * Two vertices are equals when their {@code originalId} is equals.
-     * @param vertex which will be compared with this instance
-     * @return true if vertices are equal, false otherwise
-     */
-    @Override
-    public boolean equals(Object vertex) {
-        if (!(vertex instanceof BaseVertex)) return false;
-        return id == ((BaseVertex) vertex).id;
-    }
-}
\ No newline at end of file
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Edge.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Edge.java
deleted file mode 100644
index 60e1872..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Edge.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-import java.util.List;
-
-/**
- * Class represents edge which is used for output JSON format (JSON between frontend and backend).
- */
-public class Edge extends BaseEdge {
-
-    /**
-     * List of subedgeInfo.
-     * When two input edges are equals, in output their are in one record and their differences are in subedgeInfo.
-     */
-    private List<SubedgeInfo> subedgeInfo;
-
-    /**
-     * Create new edge.
-     * @param id new generated identification number
-     * @param from original ID of vertex from edge leads
-     * @param to original ID of vertex where edge leads
-     * @param text additional info
-     * @param subedgeInfo list which contains differences between equals edges
-     */
-    public Edge(int id, int from, int to, String text, List<SubedgeInfo> subedgeInfo) {
-        super(id, from, to, text);
-        this.subedgeInfo = subedgeInfo;
-    }
-
-    public List<SubedgeInfo> getSubedgeInfo(){
-        return subedgeInfo;
-    }
-
-    public void setSubedgeInfo(List<SubedgeInfo> subedgeInfo) {
-        this.subedgeInfo = subedgeInfo;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/EdgeArchetype.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/EdgeArchetype.java
deleted file mode 100644
index d836c3b..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/EdgeArchetype.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-public class EdgeArchetype {
-    public String name;
-    public String text;
-
-    public EdgeArchetype(String name, String text) {
-        this.name = name;
-        this.text = text;
-    }
-
-    public String getName() {
-        return  name;
-    }
-
-    public String getText() {
-        return text;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Graph.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Graph.java
deleted file mode 100644
index bc95629..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Graph.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-import java.util.*;
-
-/**
- * Class represents graph with all information about graph plus information about state in which used store graph.
- * Class is used for creating of JSON which is send to frontend.
- */
-public class Graph {
-
-    private Set<Vertex> vertices;
-    private List<Edge> edges;
-    private List<VertexArchetype> vertexArchetypes;
-    private List<EdgeArchetype> edgeArchetypes;
-    private List<AttributeType> attributeTypes;
-    private Map<String, List<String>> possibleEnumValues;
-
-    private List<Group> groups;
-    private List<SideBar> sideBar;
-    private String highlightedVertex; // group-ID, vertex-ID
-    private String highlightedEdge;
-
-    private static final Logger logger = LogManager.getLogger();
-
-    public Graph() {
-        vertices = new HashSet<>();
-        edges = new LinkedList<>();
-    }
-
-    public List<Edge> getEdges() {
-        logger.trace("ENTRY");
-        logger.trace("EXIT");
-        return edges;
-    }
-
-    public Set<Vertex> getVertices() {
-        logger.trace("ENTRY");
-        logger.trace("EXIT");
-        return vertices;
-    }
-
-    public List<VertexArchetype> getVertexArchetypes() {
-        return vertexArchetypes;
-    }
-
-    public List<EdgeArchetype> getEdgeArchetypes() {
-        return edgeArchetypes;
-    }
-
-    public List<AttributeType> getAttributeTypes() {
-        return attributeTypes;
-    }
-
-    public Map<String, List<String>> getPossibleEnumValues() {
-        return possibleEnumValues;
-    }
-
-    public List<Group> getGroups() {
-        return groups;
-    }
-
-    public List<SideBar> getSideBar() {
-        return sideBar;
-    }
-
-    public String getHighlightedVertex() {
-        return highlightedVertex;
-    }
-
-    public String getHighlightedEdge() {
-        return highlightedEdge;
-    }
-
-    public void setVertexArchetypes(List<VertexArchetype> vertexArchetypes) {
-        this.vertexArchetypes = vertexArchetypes;
-    }
-
-    public void setEdgeArchetypes(List<EdgeArchetype> edgeArchetypes) {
-        this.edgeArchetypes = edgeArchetypes;
-    }
-
-    public void setAttributeTypes(List<AttributeType> attributeTypes) {
-        this.attributeTypes = attributeTypes;
-    }
-
-    public void setPossibleEnumValues(Map<Integer, List<String>> possibleEnumValues) {
-        this.possibleEnumValues = new HashMap<>();
-        for (Map.Entry<Integer, List<String>> entry : possibleEnumValues.entrySet()) {
-            this.possibleEnumValues.put("" + entry.getKey(), entry.getValue());
-        }
-    }
-
-    public void setGroups(List<Group> groups) {
-        this.groups = groups;
-    }
-
-    public void setSideBar(List<SideBar> sideBar) {
-        this.sideBar = sideBar;
-    }
-
-    public void setHighlightedVertex(String highlightedVertex) {
-        this.highlightedVertex = highlightedVertex;
-    }
-
-    public void setHighlightedEdge(String highlightedEdge) {
-        this.highlightedEdge = highlightedEdge;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Group.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Group.java
deleted file mode 100644
index fd28ab0..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Group.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Class represents group of edges and their settings. Used in JSON between frontend and backend.
- */
-public class Group {
-
-    /** Generated id of group. */
-    private int id;
-    /** Name of group */
-    private String name;
-    /** List of vertices id which belongs to this group */
-    private List<Integer> verticesId;
-    /** List of vertices id whose outgoing edges are visible. */
-    private List<Integer> verticesEdgeFromId;
-    /** List of vertices id whose incoming edges are visible. */
-    private List<Integer> verticesEdgeToId;
-    /** Relative position in graph */
-    private Position position;
-
-    public Group(int id, String name){
-        this.id = id;
-        this.name = name;
-        this.verticesId = new ArrayList<>();
-        this.verticesEdgeFromId = new ArrayList<>();
-        this.verticesEdgeToId = new ArrayList<>();
-        this.position = null;
-    }
-
-    public Group(int id, String name, List<Integer> verticesId, List<Integer> verticesEdgeFromId, List<Integer> verticesEdgeToId) {
-        this.id = id;
-        this.name = name;
-        this.verticesId = verticesId;
-        this.verticesEdgeFromId = verticesEdgeFromId;
-        this.verticesEdgeToId = verticesEdgeToId;
-        this.position = null;
-    }
-
-    public int getId() {
-        return id;
-    }
-
-    public void setId(int id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public List<Integer> getVerticesId() {
-        return verticesId;
-    }
-
-    public void setVerticesId(List<Integer> verticesId) {
-        this.verticesId = verticesId;
-    }
-
-    public List<Integer> getVerticesEdgeFromId() {
-        return verticesEdgeFromId;
-    }
-
-    public void setVerticesEdgeFromId(List<Integer> verticesEdgeFromId) {
-        this.verticesEdgeFromId = verticesEdgeFromId;
-    }
-
-    public List<Integer> getVerticesEdgeToId() {
-        return verticesEdgeToId;
-    }
-
-    public void setVerticesEdgeToId(List<Integer> verticesEdgeToId) {
-        this.verticesEdgeToId = verticesEdgeToId;
-    }
-
-    public void addVertexId(int vertexId){
-        this.verticesId.add(vertexId);
-    }
-
-    public void addVetexEdgeToId(int vertexId){
-        this.verticesEdgeToId.add(vertexId);
-    }
-
-    public void addVetexEdgeFromId(int vertexId){
-        this.verticesEdgeFromId.add(vertexId);
-    }
-
-    public Position getPosition() {
-        return position;
-    }
-
-    public void setPosition(Position position) {
-        this.position = position;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Position.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Position.java
deleted file mode 100644
index 8b18aae..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Position.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-/**
- * Class is used for storing information about vertex/group relative position.
- */
-public class Position {
-
-    /** Relative X position. */
-    private float x;
-    /** Relative Y position */
-    private float y;
-
-    public Position(float x, float y) {
-        this.x = x;
-        this.y = y;
-    }
-
-    public float getX() {
-        return x;
-    }
-
-    public void setX(float x) {
-        this.x = x;
-    }
-
-    public float getY() {
-        return y;
-    }
-
-    public void setY(float y) {
-        this.y = y;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/SideBar.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/SideBar.java
deleted file mode 100644
index 634ba50..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/SideBar.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-/**
- * Class store information about item in side bar.
- */
-public class SideBar {
-
-    /** Identification number of vertex or group which was generated in application. */
-    private int vertexId;
-    /** Indicates if related vertexes of this item have visible icon which shows relation with this item. */
-    private boolean isIconsDisplayed;
-
-    public SideBar(int vertexId, boolean isIconsDisplayed) {
-        this.vertexId = vertexId;
-        this.isIconsDisplayed = isIconsDisplayed;
-    }
-
-    public int getVertexId() {
-        return vertexId;
-    }
-
-    public void setVertexId(int vertexId) {
-        this.vertexId = vertexId;
-    }
-
-    public boolean isIconsDisplayed() {
-        return isIconsDisplayed;
-    }
-
-    public void setIconsDisplayed(boolean iconsDisplayed) {
-        this.isIconsDisplayed = iconsDisplayed;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/SubedgeInfo.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/SubedgeInfo.java
deleted file mode 100644
index 7610127..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/SubedgeInfo.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-import java.util.List;
-
-public class SubedgeInfo {
-
-    /** Edge archetype index. */
-    private int archetype;
-    /** Original id of edge which is taken from input JSON file. */
-    private int id;
-    /** List of all tributes. Every attribute is stored in String array in pair as {attribute name, attribute value}. */
-    private List<String[]> attributes;
-
-    /**
-     * Create new subedgeInfo
-     * @param id Original id of edge which is taken from input JSON file.
-     * @param archetype Edge archetype index.
-     * @param attributes  List of all tributes. Every attribute is stored in String array in pair as {attribute name, attribute value}.
-     */
-    public SubedgeInfo(int id, int archetype, List<String[]> attributes) {
-        this.id = id;
-        this.archetype = archetype;
-        this.attributes = attributes;
-    }
-
-    public int getId() {
-        return id;
-    }
-
-    public int getArchetype() {
-        return archetype;
-    }
-
-    public List<String[]> getAttributes() {
-        return attributes;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Vertex.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Vertex.java
deleted file mode 100644
index 9138751..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/Vertex.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-import java.util.List;
-
-/**
- * Class represents vertex which is used for output JSON format (JSON between frontend and backend)
- */
-public class Vertex extends BaseVertex {
-
-    /** List of all tributes. Every attribute is stored in String array in pair as {attribute name, attribute value}. */
-    private List<String[]> attributes;
-    /** Relative position in graph */
-    private Position position;
-
-    /**
-     * Create new vertex.
-     * @param id original identification number from input file
-     * @param name of vertex
-     * @param archetypeIndex index of vertex archetype
-     * @param text additional info
-     * @param attributes List of all attributes. Every attribute is stored in String array in pair as {attribute name, attribute value}.
-     */
-    public Vertex(int id, String name, int archetypeIndex, String text, List<String[]> attributes) {
-        super(id, name, archetypeIndex, text);
-        this.attributes = attributes;
-        this.position = null;
-    }
-
-    public List<String[]> getAttributes() {
-        return attributes;
-    }
-
-    public void setAttributes(List<String[]> attributes) {
-        this.attributes = attributes;
-    }
-
-    public Position getPosition() {
-        return position;
-    }
-
-    public void setPosition(Position position) {
-        this.position = position;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/VertexArchetype.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/VertexArchetype.java
deleted file mode 100644
index 707a3bf..0000000
--- a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/spade/api/VertexArchetype.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package cz.zcu.kiv.imiger.plugin.spade.api;
-
-public class VertexArchetype {
-    public String name;
-    public String text;
-    public String icon;
-
-    public VertexArchetype(String name, String text, String icon) {
-        this.name = name;
-        this.text = text;
-        this.icon = icon;
-    }
-
-    public VertexArchetype(String name, String text) {
-        this(name, text, "");
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public String getIcon() {
-        return icon;
-    }
-}
diff --git a/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/template/Converter.java b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/template/Converter.java
new file mode 100644
index 0000000..4588118
--- /dev/null
+++ b/sources/imiger-plugin-template/src/main/java/cz/zcu/kiv/imiger/plugin/template/Converter.java
@@ -0,0 +1,16 @@
+package cz.zcu.kiv.imiger.plugin.template;
+
+import com.google.gson.Gson;
+import cz.zcu.kiv.imiger.vo.Graph;
+
+public class Converter {
+
+    /**
+     * Convert input file to RAW JSON and return it.
+     */
+    public String getRawJson(String inputFile) {
+
+        Graph graph = new Graph();
+        return new Gson().toJson(graph);
+    }
+}
diff --git a/sources/imiger-plugin-template/src/main/resources/META-INF/MANIFEST.MF b/sources/imiger-plugin-template/src/main/resources/META-INF/MANIFEST.MF
index c4a49a0..4452774 100644
--- a/sources/imiger-plugin-template/src/main/resources/META-INF/MANIFEST.MF
+++ b/sources/imiger-plugin-template/src/main/resources/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@ Manifest-Version: 1.0
 Created-By: Apache Maven ${maven.version}
 Built-By: ${user.name}
 Build-Jdk: ${java.version}
-Module-Class: cz.zcu.kiv.imiger.plugin.spade.Converter
+Module-Class: cz.zcu.kiv.imiger.plugin.template.Converter
 Module-Name: My Convertor
