From 6631e339d41757c2b6b00d0e56644300e3731d04 Mon Sep 17 00:00:00 2001
From: aschwinn <al.schwinn@gsi.de>
Date: Thu, 4 Aug 2016 16:01:19 +0200
Subject: [PATCH] moved plugin to separate git repo

---
 silecs-eclipse-plugin-feature/.project        |  17 -
 .../build.properties                          |   1 -
 silecs-eclipse-plugin-feature/feature.xml     | 746 ---------------
 silecs-eclipse-plugin-update-site/.gitignore  |   2 -
 silecs-eclipse-plugin-update-site/.project    |  17 -
 .../artifacts.jar                             | Bin 703 -> 0 bytes
 silecs-eclipse-plugin-update-site/content.jar | Bin 79343 -> 0 bytes
 .../deliverToWebDav.sh                        |  29 -
 silecs-eclipse-plugin-update-site/index.html  |  60 --
 silecs-eclipse-plugin-update-site/install.sh  |  10 -
 silecs-eclipse-plugin-update-site/site.xml    |  18 -
 silecs-eclipse-plugin-update-site/test.txt    |   1 -
 .../web/site.css                              |  12 -
 .../web/site.xsl                              | 214 -----
 silecs-eclipse-plugin/.classpath              |  10 -
 silecs-eclipse-plugin/.gitignore              |   4 -
 silecs-eclipse-plugin/.project                |  36 -
 silecs-eclipse-plugin/.pydevproject           |   8 -
 .../org.eclipse.core.resources.prefs          |   3 -
 .../.settings/org.eclipse.jdt.core.prefs      |  13 -
 .../org.eclipse.ltk.core.refactoring.prefs    |   2 -
 .../.settings/org.eclipse.m2e.core.prefs      |   4 -
 .../JNLP-INF/APPLICATION_TEMPLATE.JNLP        |  69 --
 silecs-eclipse-plugin/LICENSE                 | 674 --------------
 silecs-eclipse-plugin/META-INF/MANIFEST.MF    | 114 ---
 .../OSGI-INF/l10n/bundle.properties           |   2 -
 silecs-eclipse-plugin/README.md               |  40 -
 silecs-eclipse-plugin/build.properties        |  17 -
 silecs-eclipse-plugin/build.xml               | 527 -----------
 .../icons/class-document.png                  | Bin 1035 -> 0 bytes
 .../icons/deploy-document.png                 | Bin 1028 -> 0 bytes
 silecs-eclipse-plugin/icons/diag-tool.gif     | Bin 197 -> 0 bytes
 .../icons/generated-code.gif                  | Bin 591 -> 0 bytes
 silecs-eclipse-plugin/icons/silecs-logo.ico   | Bin 15086 -> 0 bytes
 .../icons/validate-document.gif               | Bin 76 -> 0 bytes
 silecs-eclipse-plugin/plugin.xml              | 874 ------------------
 silecs-eclipse-plugin/pom.xml                 | 127 ---
 silecs-eclipse-plugin/project.properties      |   3 -
 .../java/cern/silecs/activator/Activator.java |  70 --
 .../silecs/activator/WebStartLauncher.java    |  52 --
 .../control/core/DeployProjectNature.java     | 103 ---
 .../control/core/DesignProjectNature.java     | 110 ---
 .../control/core/SilecsProjectNature.java     | 162 ----
 .../control/handlers/AboutSilecsHandler.java  |  68 --
 .../silecs/control/handlers/BaseHandler.java  | 175 ----
 .../handlers/DiagnosticToolHandler.java       |  76 --
 .../control/handlers/ExpandAllHandler.java    |  60 --
 .../control/handlers/GenerateCodeHandler.java | 154 ---
 .../silecs/control/handlers/SilecsWikis.java  |  54 --
 .../handlers/UpdateSilecsProjectHandler.java  |  77 --
 .../control/handlers/ValidateHandler.java     |  52 --
 .../silecs/control/validation/Validator.java  | 103 ---
 .../control/validation/internal/Handler.java  |  91 --
 .../control/validation/internalRules.java     | 201 ----
 .../model/document/SilecsDocumentError.java   | 106 ---
 .../model/document/XmlBasedDocument.java      | 234 -----
 .../model/exception/SilecsException.java      |  95 --
 .../src/java/cern/silecs/utils/OSExecute.java | 175 ----
 .../cern/silecs/utils/SilecsConstants.java    |  97 --
 .../java/cern/silecs/utils/SilecsUtils.java   | 311 -------
 .../src/java/cern/silecs/utils/XmlUtils.java  | 188 ----
 .../java/cern/silecs/view/Application.java    |  68 --
 .../view/ApplicationActionBarAdvisor.java     |  27 -
 .../view/ApplicationWorkbenchAdvisor.java     |  74 --
 .../ApplicationWorkbenchWindowAdvisor.java    | 179 ----
 .../java/cern/silecs/view/Perspective.java    |  28 -
 .../silecs/view/console/ConsoleHandler.java   | 109 ---
 .../view/dialogs/SilecsMessageDialog.java     |  48 -
 .../view/editor/DeployMultiPageEditor.java    |  25 -
 .../view/editor/DesignMultiPageEditor.java    |  25 -
 .../view/editor/XMLMultiPageEditor.java       | 169 ----
 .../view/editor/internal/SchemaHelper.java    |  58 --
 .../SilecsTableColumnViewerLabelProvider.java | 181 ----
 .../SilecsXMLTableTreeContentProvider.java    | 111 ---
 ...MLTableTreePropertyDescriptionFactory.java | 194 ----
 .../internal/SilecsXMLTableTreeViewer.java    | 176 ----
 .../silecs/view/explorer/ContentSorter.java   |  64 --
 .../silecs/view/explorer/ProjectContent.java  | 137 ---
 .../view/explorer/SilecsProjectExplorer.java  | 199 ----
 .../cern/silecs/view/job/BaseFileJob.java     |  79 --
 .../cern/silecs/view/job/BaseProjectJob.java  |  76 --
 .../silecs/view/job/GenerateClassJob.java     |  99 --
 .../silecs/view/job/GenerateDeployJob.java    | 107 ---
 .../silecs/view/job/UpdateVersionJob.java     | 115 ---
 .../cern/silecs/view/job/ValidationJob.java   | 223 -----
 .../cern/silecs/view/marker/SilecsMarker.java |  64 --
 .../view/marker/SilecsMarkerUpdater.java      |  48 -
 .../preferences/EditorPreferencePage.java     | 232 -----
 .../preferences/LoggingPreferencePage.java    | 121 ---
 .../view/preferences/MainPreferencePage.java  | 350 -------
 .../preferences/PreferenceInitializer.java    |  59 --
 .../view/wizards/GenerateCodeWizard.java      |  70 --
 .../view/wizards/ImportDeployFileWizard.java  |  79 --
 .../view/wizards/ImportDesignFileWizard.java  |  76 --
 .../view/wizards/NewSilecsDeployWizard.java   | 113 ---
 .../view/wizards/NewSilecsDesignWizard.java   | 115 ---
 .../wizards/UpdateSilecsProjectWizard.java    |  52 --
 .../view/wizards/page/ChooseFilePage.java     | 136 ---
 .../view/wizards/page/PickTemplatePage.java   |  58 --
 .../view/wizards/page/PickVersionPage.java    |  72 --
 .../view/wizards/page/SilecsProjectPage.java  | 152 ---
 101 files changed, 10836 deletions(-)
 delete mode 100644 silecs-eclipse-plugin-feature/.project
 delete mode 100644 silecs-eclipse-plugin-feature/build.properties
 delete mode 100644 silecs-eclipse-plugin-feature/feature.xml
 delete mode 100644 silecs-eclipse-plugin-update-site/.gitignore
 delete mode 100644 silecs-eclipse-plugin-update-site/.project
 delete mode 100644 silecs-eclipse-plugin-update-site/artifacts.jar
 delete mode 100644 silecs-eclipse-plugin-update-site/content.jar
 delete mode 100755 silecs-eclipse-plugin-update-site/deliverToWebDav.sh
 delete mode 100644 silecs-eclipse-plugin-update-site/index.html
 delete mode 100755 silecs-eclipse-plugin-update-site/install.sh
 delete mode 100644 silecs-eclipse-plugin-update-site/site.xml
 delete mode 100644 silecs-eclipse-plugin-update-site/test.txt
 delete mode 100644 silecs-eclipse-plugin-update-site/web/site.css
 delete mode 100644 silecs-eclipse-plugin-update-site/web/site.xsl
 delete mode 100644 silecs-eclipse-plugin/.classpath
 delete mode 100644 silecs-eclipse-plugin/.gitignore
 delete mode 100644 silecs-eclipse-plugin/.project
 delete mode 100644 silecs-eclipse-plugin/.pydevproject
 delete mode 100644 silecs-eclipse-plugin/.settings/org.eclipse.core.resources.prefs
 delete mode 100644 silecs-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs
 delete mode 100644 silecs-eclipse-plugin/.settings/org.eclipse.ltk.core.refactoring.prefs
 delete mode 100644 silecs-eclipse-plugin/.settings/org.eclipse.m2e.core.prefs
 delete mode 100644 silecs-eclipse-plugin/JNLP-INF/APPLICATION_TEMPLATE.JNLP
 delete mode 100644 silecs-eclipse-plugin/LICENSE
 delete mode 100644 silecs-eclipse-plugin/META-INF/MANIFEST.MF
 delete mode 100644 silecs-eclipse-plugin/OSGI-INF/l10n/bundle.properties
 delete mode 100644 silecs-eclipse-plugin/README.md
 delete mode 100644 silecs-eclipse-plugin/build.properties
 delete mode 100644 silecs-eclipse-plugin/build.xml
 delete mode 100644 silecs-eclipse-plugin/icons/class-document.png
 delete mode 100644 silecs-eclipse-plugin/icons/deploy-document.png
 delete mode 100644 silecs-eclipse-plugin/icons/diag-tool.gif
 delete mode 100644 silecs-eclipse-plugin/icons/generated-code.gif
 delete mode 100644 silecs-eclipse-plugin/icons/silecs-logo.ico
 delete mode 100644 silecs-eclipse-plugin/icons/validate-document.gif
 delete mode 100644 silecs-eclipse-plugin/plugin.xml
 delete mode 100644 silecs-eclipse-plugin/pom.xml
 delete mode 100644 silecs-eclipse-plugin/project.properties
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/activator/Activator.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/activator/WebStartLauncher.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/core/DeployProjectNature.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/core/DesignProjectNature.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/core/SilecsProjectNature.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/AboutSilecsHandler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/BaseHandler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/DiagnosticToolHandler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/ExpandAllHandler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/GenerateCodeHandler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/SilecsWikis.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/UpdateSilecsProjectHandler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/ValidateHandler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/validation/Validator.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/validation/internal/Handler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/control/validation/internalRules.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/model/document/SilecsDocumentError.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/model/document/XmlBasedDocument.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/model/exception/SilecsException.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/utils/OSExecute.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/utils/SilecsConstants.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/utils/SilecsUtils.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/utils/XmlUtils.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/Application.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationActionBarAdvisor.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationWorkbenchAdvisor.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationWorkbenchWindowAdvisor.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/Perspective.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/console/ConsoleHandler.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/dialogs/SilecsMessageDialog.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/editor/DeployMultiPageEditor.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/editor/DesignMultiPageEditor.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/editor/XMLMultiPageEditor.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SchemaHelper.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsTableColumnViewerLabelProvider.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreeContentProvider.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreePropertyDescriptionFactory.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreeViewer.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/ContentSorter.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/ProjectContent.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/SilecsProjectExplorer.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/job/BaseFileJob.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/job/BaseProjectJob.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/job/GenerateClassJob.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/job/GenerateDeployJob.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/job/UpdateVersionJob.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/job/ValidationJob.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/marker/SilecsMarker.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/marker/SilecsMarkerUpdater.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/EditorPreferencePage.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/LoggingPreferencePage.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/MainPreferencePage.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/PreferenceInitializer.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/GenerateCodeWizard.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/ImportDeployFileWizard.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/ImportDesignFileWizard.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/NewSilecsDeployWizard.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/NewSilecsDesignWizard.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/UpdateSilecsProjectWizard.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/ChooseFilePage.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/PickTemplatePage.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/PickVersionPage.java
 delete mode 100644 silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/SilecsProjectPage.java

diff --git a/silecs-eclipse-plugin-feature/.project b/silecs-eclipse-plugin-feature/.project
deleted file mode 100644
index a49d71b..0000000
--- a/silecs-eclipse-plugin-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>silecs-eclipse-plugin-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/silecs-eclipse-plugin-feature/build.properties b/silecs-eclipse-plugin-feature/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/silecs-eclipse-plugin-feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/silecs-eclipse-plugin-feature/feature.xml b/silecs-eclipse-plugin-feature/feature.xml
deleted file mode 100644
index 14d3b07..0000000
--- a/silecs-eclipse-plugin-feature/feature.xml
+++ /dev/null
@@ -1,746 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="silecsEclipsePluginFeature"
-      label="Silecs-eclipse-plugin-feature"
-      version="1.0.0.qualifier">
-
-   <description url="http://www.example.com/description">
-      SILECS Eclipse Plugin
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      Copyright 2016 CERN and GSI
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
-   </copyright>
-
-   <license url="http://www.gnu.org/licenses">
-      GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. &lt;http://fsf.org/&gt;
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers&apos; and authors&apos; protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users&apos; and
-authors&apos; sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users&apos; freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  &quot;This License&quot; refers to version 3 of the GNU General Public License.
-
-  &quot;Copyright&quot; also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  &quot;The Program&quot; refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as &quot;you&quot;.  &quot;Licensees&quot; and
-&quot;recipients&quot; may be individuals or organizations.
-
-  To &quot;modify&quot; a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a &quot;modified version&quot; of the
-earlier work or a work &quot;based on&quot; the earlier work.
-
-  A &quot;covered work&quot; means either the unmodified Program or a work based
-on the Program.
-
-  To &quot;propagate&quot; a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To &quot;convey&quot; a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays &quot;Appropriate Legal Notices&quot;
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The &quot;source code&quot; for a work means the preferred form of the work
-for making modifications to it.  &quot;Object code&quot; means any non-source
-form of a work.
-
-  A &quot;Standard Interface&quot; means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The &quot;System Libraries&quot; of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-&quot;Major Component&quot;, in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The &quot;Corresponding Source&quot; for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work&apos;s
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users&apos; Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work&apos;s
-users, your or third parties&apos; legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program&apos;s source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    &quot;keep intact all notices&quot;.
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-&quot;aggregate&quot; if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation&apos;s users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A &quot;User Product&quot; is either (1) a &quot;consumer product&quot;, which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, &quot;normally used&quot; refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  &quot;Installation Information&quot; for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  &quot;Additional permissions&quot; are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered &quot;further
-restrictions&quot; within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An &quot;entity transaction&quot; is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party&apos;s predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A &quot;contributor&quot; is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor&apos;s &quot;contributor version&quot;.
-
-  A contributor&apos;s &quot;essential patent claims&quot; are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, &quot;control&quot; includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor&apos;s essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a &quot;patent license&quot; is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To &quot;grant&quot; such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  &quot;Knowingly relying&quot; means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient&apos;s use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is &quot;discriminatory&quot; if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others&apos; Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License &quot;or any later version&quot; applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy&apos;s
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the &quot;copyright&quot; line and a pointer to where the full notice is found.
-
-    &lt;one line to give the program&apos;s name and a brief idea of what it does.&gt;
-    Copyright (C) &lt;year&gt;  &lt;name of author&gt;
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    &lt;program&gt;  Copyright (C) &lt;year&gt;  &lt;name of author&gt;
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w&apos;.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c&apos; for details.
-
-The hypothetical commands `show w&apos; and `show c&apos; should show the appropriate
-parts of the General Public License.  Of course, your program&apos;s commands
-might be different; for a GUI interface, you would use an &quot;about box&quot;.
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a &quot;copyright disclaimer&quot; for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-&lt;http://www.gnu.org/licenses/&gt;.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-&lt;http://www.gnu.org/philosophy/why-not-lgpl.html&gt;.
-   </license>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui.workbench"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.wst.xml.core"/>
-      <import plugin="org.eclipse.wst.xml.ui"/>
-      <import plugin="org.eclipse.ui.navigator.resources"/>
-      <import plugin="org.eclipse.core.filesystem"/>
-      <import plugin="org.eclipse.ui.console"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.wst.validation"/>
-      <import plugin="org.eclipse.wst.validation.infopop"/>
-      <import plugin="org.eclipse.wst.validation.ui"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.wst.sse.ui"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.ui.navigator"/>
-      <import plugin="org.eclipse.xsd"/>
-      <import plugin="org.eclipse.wst.xsd.core"/>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.cdt"/>
-      <import plugin="org.eclipse.cdt.core"/>
-      <import plugin="org.eclipse.cdt.ui"/>
-      <import plugin="org.eclipse.cdt.managedbuilder.ui"/>
-      <import plugin="org.eclipse.ltk.core.refactoring"/>
-      <import plugin="org.eclipse.ltk.ui.refactoring"/>
-      <import plugin="org.eclipse.equinox.launcher"/>
-   </requires>
-
-   <plugin
-         id="silecs.eclipse.plugin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/silecs-eclipse-plugin-update-site/.gitignore b/silecs-eclipse-plugin-update-site/.gitignore
deleted file mode 100644
index 0d55b7c..0000000
--- a/silecs-eclipse-plugin-update-site/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/features/*
-/plugins/*
\ No newline at end of file
diff --git a/silecs-eclipse-plugin-update-site/.project b/silecs-eclipse-plugin-update-site/.project
deleted file mode 100644
index e9558b3..0000000
--- a/silecs-eclipse-plugin-update-site/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>silecs-eclipse-plugin-update-site</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/silecs-eclipse-plugin-update-site/artifacts.jar b/silecs-eclipse-plugin-update-site/artifacts.jar
deleted file mode 100644
index a87d7ab050a527669b91f8d1c7c95b33f7f74ff4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 703
zcmWIWW@Zs#;Nak3xLU~Q$$$iS8CVz+i%K%n5|c}c^(u06{+(iAxI67&(Jcdkw)Zxz
zd_GfUvb?t$re!_2GRHc%=$*#4gewzOLnqx9Xe(cTfWukZL*t#w<;7)te}&KgKXtCZ
zycS<wK<*5Y<PK&QM$uNCnKSwy-hF%aH;<qC-Wsnhsm4J!&WCs&UUQ}U@2b+fzYOoD
zv94Tk+i~iVpbxE)T#d0B;*+Z6E;JdZW;pD>?sKBu!L?DG<CZPcVXdQ?+MN7WrL!i>
zG3>k)6d3NyYw+fxrpxS#*&okZh@RHU(pfp>cGrhntc6A{83M~A=Ny%2bJymM)b#CL
z_;lTsSF_ASD{q)>j0|_tY`;)0^1H9(tmX{Eyp?i?SC_Aw$p2u~gCi1V$$DyM=dga?
zs$sczUz@|Vu&ZS}zfYS^wLTlZ@X^;foWkFxuZgLBtH0eP?4bFg^0)Tt#phWrb}MuF
ze&TNw&)@gI>Gj#){Ap8eM9EuUGOK>&Q~9DZFYKPqy!>ZBf3e(n%`TVE!4%fFFmaC9
zv*gc5mh;}1o^NjwBcM2E5l`Zr2Pvy7Pc`~iuAE}eI(<n=pU^a}>etJX(lyIH&T%Ep
zP5E(RN_t(<{H-b3&m~k>=>EPt<8?=RiBRP0!?kYKJ-yryAIdgJ+Z@(7n%VMC==?i5
z3yZKOx0gQ+9#yn_FnGz}ew;5$fcJkkdud-z%SCCow)pB7dIvv$x$w~B+@#N$F3l!V
zDeHS5Phx!ik56jP(Z*d*X8qgFJhhDJ4b%UaZ=LT;=3H7hd)bSg{)pX0FKu%EFIV3i
zAK=Z-VYa37pf(c&!+UN9h5&CyCJ_ciT0@otr8QK5k@5n(S=m5J7=h3pNM`|!WncgR
D8nY|i

diff --git a/silecs-eclipse-plugin-update-site/content.jar b/silecs-eclipse-plugin-update-site/content.jar
deleted file mode 100644
index 5d4662ba608c642e81076909afa6682abd697802..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 79343
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

diff --git a/silecs-eclipse-plugin-update-site/deliverToWebDav.sh b/silecs-eclipse-plugin-update-site/deliverToWebDav.sh
deleted file mode 100755
index c5ff0fe..0000000
--- a/silecs-eclipse-plugin-update-site/deliverToWebDav.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /bin/bash
-
-kinit
-
-function copyFileToWebDav
-{
-
-cadaver -t <<EOF
-open https://www.acc.gsi.de/dav/eclipse-luna/silecs
-mput $1
-quit
-EOF
-
-}
-
-for file in features/*
-do
-    copyFileToWebDav $file
-done
-
-for file in plugins/*
-do
-    copyFileToWebDav $file
-done
-
-copyFileToWebDav artifacts.jar
-copyFileToWebDav content.jar
-copyFileToWebDav index.html
-copyFileToWebDav site.xml
\ No newline at end of file
diff --git a/silecs-eclipse-plugin-update-site/index.html b/silecs-eclipse-plugin-update-site/index.html
deleted file mode 100644
index c6627db..0000000
--- a/silecs-eclipse-plugin-update-site/index.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<title>silecs-eclipse-plugin-update-site</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<style>@import url("web/site.css");</style>
-<script type="text/javascript">
-	var returnval = 0;
-	var stylesheet, xmlFile, cache, doc;
-	function init(){
-		// NSCP 7.1+ / Mozilla 1.4.1+ / Safari
-		// Use the standard DOM Level 2 technique, if it is supported
-		if (document.implementation && document.implementation.createDocument) {
-			xmlFile = document.implementation.createDocument("", "", null);
-			stylesheet = document.implementation.createDocument("", "", null);
-			if (xmlFile.load){
-				xmlFile.load("site.xml");
-				stylesheet.load("web/site.xsl");
-			} else {
-				alert("Document could not be loaded by browser.");
-			}
-			xmlFile.addEventListener("load", transform, false);
-			stylesheet.addEventListener("load", transform, false);
-		}
-		//IE 6.0+ solution
-		else if (window.ActiveXObject) {
-			xmlFile = new ActiveXObject("msxml2.DOMDocument.3.0");
-			xmlFile.async = false;
-			xmlFile.load("site.xml");
-			stylesheet = new ActiveXObject("msxml2.FreeThreadedDOMDocument.3.0");
-			stylesheet.async = false;
-			stylesheet.load("web/site.xsl");
-			cache = new ActiveXObject("msxml2.XSLTemplate.3.0");
-			cache.stylesheet = stylesheet;
-			transformData();
-		}
-	}
-	// separate transformation function for IE 6.0+
-	function transformData(){
-		var processor = cache.createProcessor();
-		processor.input = xmlFile;
-		processor.transform();
-		data.innerHTML = processor.output;
-	}
-	// separate transformation function for NSCP 7.1+ and Mozilla 1.4.1+ 
-	function transform(){
-		returnval+=1;
-		if (returnval==2){
-			var processor = new XSLTProcessor();
-			processor.importStylesheet(stylesheet); 
-			doc = processor.transformToDocument(xmlFile);
-			document.getElementById("data").innerHTML = doc.documentElement.innerHTML;
-		}
-	}
-</script>
-</head>
-<body onload="init();">
-<!--[insert static HTML here]-->
-<div id="data"><!-- this is where the transformed data goes --></div>
-</body>
-</html>
diff --git a/silecs-eclipse-plugin-update-site/install.sh b/silecs-eclipse-plugin-update-site/install.sh
deleted file mode 100755
index c989b39..0000000
--- a/silecs-eclipse-plugin-update-site/install.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-set -e
-
-INSTALL_DIR=$1
-
-SCRIPT=$(readlink -f "$0")
-SCRIPTPATH=$(dirname "$SCRIPT")     # path where this script is located in
-
-mkdir -p ${INSTALL_DIR}
-cp -ruv ${SCRIPTPATH}/* ${INSTALL_DIR}
\ No newline at end of file
diff --git a/silecs-eclipse-plugin-update-site/site.xml b/silecs-eclipse-plugin-update-site/site.xml
deleted file mode 100644
index 1989289..0000000
--- a/silecs-eclipse-plugin-update-site/site.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/silecsEclipsePluginFeature_1.0.0.201602241715.jar" id="silecsEclipsePluginFeature" version="1.0.0.201602241715">
-      <category name="0.9.0"/>
-   </feature>
-   <feature url="features/silecsEclipsePluginFeature_1.0.0.201604071714.jar" id="silecsEclipsePluginFeature" version="1.0.0.201604071714">
-      <category name="0.10.0"/>
-   </feature>
-   <feature url="features/silecsEclipsePluginFeature_1.0.0.201607291027.jar" id="silecsEclipsePluginFeature" version="1.0.0.201607291027">
-      <category name="1.0.0"/>
-   </feature>
-   <feature url="features/silecsEclipsePluginFeature_1.0.0.201608011414.jar" id="silecsEclipsePluginFeature" version="1.0.0.201608011414">
-      <category name="1.0.0"/>
-   </feature>
-   <category-def name="0.9.0" label="0.9.0"/>
-   <category-def name="0.10.0" label="0.10.0"/>
-   <category-def name="1.0.0" label="1.0.0"/>
-</site>
diff --git a/silecs-eclipse-plugin-update-site/test.txt b/silecs-eclipse-plugin-update-site/test.txt
deleted file mode 100644
index 5e40c08..0000000
--- a/silecs-eclipse-plugin-update-site/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-asdf
\ No newline at end of file
diff --git a/silecs-eclipse-plugin-update-site/web/site.css b/silecs-eclipse-plugin-update-site/web/site.css
deleted file mode 100644
index 62c6f9f..0000000
--- a/silecs-eclipse-plugin-update-site/web/site.css
+++ /dev/null
@@ -1,12 +0,0 @@
-<STYLE type="text/css">
-td.spacer {padding-bottom: 10px; padding-top: 10px;}
-.title { font-family: sans-serif; color: #99AACC;}
-.bodyText { font-family: sans-serif; font-size: 9pt; color:#000000;  }
-.sub-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white;}
-.log-text {font-family: sans-serif; font-style: normal; font-weight: lighter; font-size: 8pt; color:black;}
-.big-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white; border-top:10px solid white;}
-.light-row {background:#FFFFFF}
-.dark-row {background:#EEEEFF}
-.header {background:#99AADD}
-#indent {word-wrap : break-word;width :300px;text-indent:10px;}
-</STYLE>
diff --git a/silecs-eclipse-plugin-update-site/web/site.xsl b/silecs-eclipse-plugin-update-site/web/site.xsl
deleted file mode 100644
index ccb882e..0000000
--- a/silecs-eclipse-plugin-update-site/web/site.xsl
+++ /dev/null
@@ -1,214 +0,0 @@
-<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl="urn:schemas-microsoft-com:xslt">
-<xsl:output method="html" encoding="UTF-8"/>
-<xsl:key name="cat" match="category" use="@name"/>
-<xsl:template match="/">
-<xsl:for-each select="site">
-	<html>
-	<head>
-	<title>silecs-eclipse-plugin-update-site</title>
-	<style>@import url("web/site.css");</style>
-	</head>
-	<body>
-	<h1 class="title">silecs-eclipse-plugin-update-site</h1>
-	<p class="bodyText"><xsl:value-of select="description"/></p>
-	<table width="100%" border="0" cellspacing="1" cellpadding="2">
-	<xsl:for-each select="category-def">
-		<xsl:sort select="@label" order="ascending" case-order="upper-first"/>
-		<xsl:sort select="@name" order="ascending" case-order="upper-first"/>
-	<xsl:if test="count(key('cat',@name)) != 0">
-			<tr class="header">
-				<td class="sub-header" width="30%">
-					<xsl:value-of select="@name"/>
-				</td>
-				<td class="sub-header" width="70%">
-					<xsl:value-of select="@label"/>
-				</td>
-			</tr>
-			<xsl:for-each select="key('cat',@name)">
-			<xsl:sort select="ancestor::feature//@version" order="ascending"/>
-			<xsl:sort select="ancestor::feature//@id" order="ascending" case-order="upper-first"/>
-			<tr>
-				<xsl:choose>
-				<xsl:when test="(position() mod 2 = 1)">
-					<xsl:attribute name="class">dark-row</xsl:attribute>
-				</xsl:when>
-				<xsl:otherwise>
-					<xsl:attribute name="class">light-row</xsl:attribute>
-				</xsl:otherwise>
-				</xsl:choose>
-				<td class="log-text" id="indent">
-						<xsl:choose>
-						<xsl:when test="ancestor::feature//@label">
-							<a href="{ancestor::feature//@url}"><xsl:value-of select="ancestor::feature//@label"/></a>
-							<br/>
-							<div id="indent">
-							(<xsl:value-of select="ancestor::feature//@id"/> - <xsl:value-of select="ancestor::feature//@version"/>)
-							</div>
-						</xsl:when>
-						<xsl:otherwise>
-						<a href="{ancestor::feature//@url}"><xsl:value-of select="ancestor::feature//@id"/> - <xsl:value-of select="ancestor::feature//@version"/></a>
-						</xsl:otherwise>
-						</xsl:choose>
-						<br />
-				</td>
-				<td>
-					<table>
-						<xsl:if test="ancestor::feature//@os">
-							<tr><td class="log-text" id="indent">Operating Systems:</td>
-							<td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@os"/></td>
-							</tr>
-						</xsl:if>
-						<xsl:if test="ancestor::feature//@ws">
-							<tr><td class="log-text" id="indent">Windows Systems:</td>
-							<td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@ws"/></td>
-							</tr>
-						</xsl:if>
-						<xsl:if test="ancestor::feature//@nl">
-							<tr><td class="log-text" id="indent">Languages:</td>
-							<td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@nl"/></td>
-							</tr>
-						</xsl:if>
-						<xsl:if test="ancestor::feature//@arch">
-							<tr><td class="log-text" id="indent">Architecture:</td>
-							<td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@arch"/></td>
-							</tr>
-						</xsl:if>
-					</table>
-				</td>
-			</tr>
-			</xsl:for-each>
-			<tr><td class="spacer"><br/></td><td class="spacer"><br/></td></tr>
-		</xsl:if>
-	</xsl:for-each>
-	<xsl:if test="count(feature)  &gt; count(feature/category)">
-	<tr class="header">
-		<td class="sub-header" colspan="2">
-		Uncategorized
-		</td>
-	</tr>
-	</xsl:if>
-	<xsl:choose>
-	<xsl:when test="function-available('msxsl:node-set')">
-	   <xsl:variable name="rtf-nodes">
-		<xsl:for-each select="feature[not(category)]">
-			<xsl:sort select="@id" order="ascending" case-order="upper-first"/>
-			<xsl:sort select="@version" order="ascending" />
-			<xsl:value-of select="."/>
-			<xsl:copy-of select="." />
-		</xsl:for-each>
-	   </xsl:variable>
-	   <xsl:variable name="myNodeSet" select="msxsl:node-set($rtf-nodes)/*"/>
-	<xsl:for-each select="$myNodeSet">
-	<tr>
-		<xsl:choose>
-		<xsl:when test="position() mod 2 = 1">
-		<xsl:attribute name="class">dark-row</xsl:attribute>
-		</xsl:when>
-		<xsl:otherwise>
-		<xsl:attribute name="class">light-row</xsl:attribute>
-		</xsl:otherwise>
-		</xsl:choose>
-		<td class="log-text" id="indent">
-			<xsl:choose>
-			<xsl:when test="@label">
-				<a href="{@url}"><xsl:value-of select="@label"/></a>
-				<br />
-				<div id="indent">
-				(<xsl:value-of select="@id"/> - <xsl:value-of select="@version"/>)
-				</div>
-			</xsl:when>
-			<xsl:otherwise>
-				<a href="{@url}"><xsl:value-of select="@id"/> - <xsl:value-of select="@version"/></a>
-			</xsl:otherwise>
-			</xsl:choose>
-			<br /><br />
-		</td>
-		<td>
-			<table>
-				<xsl:if test="@os">
-					<tr><td class="log-text" id="indent">Operating Systems:</td>
-					<td class="log-text" id="indent"><xsl:value-of select="@os"/></td>
-					</tr>
-				</xsl:if>
-				<xsl:if test="@ws">
-					<tr><td class="log-text" id="indent">Windows Systems:</td>
-					<td class="log-text" id="indent"><xsl:value-of select="@ws"/></td>
-					</tr>
-				</xsl:if>
-				<xsl:if test="@nl">
-					<tr><td class="log-text" id="indent">Languages:</td>
-					<td class="log-text" id="indent"><xsl:value-of select="@nl"/></td>
-					</tr>
-				</xsl:if>
-				<xsl:if test="@arch">
-					<tr><td class="log-text" id="indent">Architecture:</td>
-					<td class="log-text" id="indent"><xsl:value-of select="@arch"/></td>
-					</tr>
-				</xsl:if>
-			</table>
-		</td>
-	</tr>
-	</xsl:for-each>
-	</xsl:when>
-	<xsl:otherwise>
-	<xsl:for-each select="feature[not(category)]">
-	<xsl:sort select="@id" order="ascending" case-order="upper-first"/>
-	<xsl:sort select="@version" order="ascending" />
-	<tr>
-		<xsl:choose>
-		<xsl:when test="count(preceding-sibling::feature[not(category)]) mod 2 = 1">
-		<xsl:attribute name="class">dark-row</xsl:attribute>
-		</xsl:when>
-		<xsl:otherwise>
-		<xsl:attribute name="class">light-row</xsl:attribute>
-		</xsl:otherwise>
-		</xsl:choose>
-		<td class="log-text" id="indent">
-			<xsl:choose>
-			<xsl:when test="@label">
-				<a href="{@url}"><xsl:value-of select="@label"/></a>
-				<br />
-				<div id="indent">
-				(<xsl:value-of select="@id"/> - <xsl:value-of select="@version"/>)
-				</div>
-			</xsl:when>
-			<xsl:otherwise>
-				<a href="{@url}"><xsl:value-of select="@id"/> - <xsl:value-of select="@version"/></a>
-			</xsl:otherwise>
-			</xsl:choose>
-			<br /><br />
-		</td>
-		<td>
-			<table>
-				<xsl:if test="@os">
-					<tr><td class="log-text" id="indent">Operating Systems:</td>
-					<td class="log-text" id="indent"><xsl:value-of select="@os"/></td>
-					</tr>
-				</xsl:if>
-				<xsl:if test="@ws">
-					<tr><td class="log-text" id="indent">Windows Systems:</td>
-					<td class="log-text" id="indent"><xsl:value-of select="@ws"/></td>
-					</tr>
-				</xsl:if>
-				<xsl:if test="@nl">
-					<tr><td class="log-text" id="indent">Languages:</td>
-					<td class="log-text" id="indent"><xsl:value-of select="@nl"/></td>
-					</tr>
-				</xsl:if>
-				<xsl:if test="@arch">
-					<tr><td class="log-text" id="indent">Architecture:</td>
-					<td class="log-text" id="indent"><xsl:value-of select="@arch"/></td>
-					</tr>
-				</xsl:if>
-			</table>
-		</td>
-	</tr>
-	</xsl:for-each>
-	</xsl:otherwise>
-	</xsl:choose>
-	</table>
-	</body>
-	</html>
-</xsl:for-each>
-</xsl:template>
-</xsl:stylesheet>
diff --git a/silecs-eclipse-plugin/.classpath b/silecs-eclipse-plugin/.classpath
deleted file mode 100644
index 6eafc33..0000000
--- a/silecs-eclipse-plugin/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry exported="true" kind="lib" path="ext-jars/xml-apis-1.3.04.jar"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-	<classpathentry exported="true" kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src/java"/>
-	<classpathentry exported="true" kind="lib" path="ext-jars/jaxen-1.1.6.jar"/>
-	<classpathentry exported="true" kind="lib" path="ext-jars/xalan-2.7.2.jar"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/silecs-eclipse-plugin/.gitignore b/silecs-eclipse-plugin/.gitignore
deleted file mode 100644
index 7c9fdc3..0000000
--- a/silecs-eclipse-plugin/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/target/
-/ext-jars/
-/jaxen-1.1.6.jar
-/xalan-2.7.2.jar
diff --git a/silecs-eclipse-plugin/.project b/silecs-eclipse-plugin/.project
deleted file mode 100644
index 5a975ee..0000000
--- a/silecs-eclipse-plugin/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>silecs-eclipse-plugin</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.springsource.ide.eclipse.gradle.core.nature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.python.pydev.pythonNature</nature>
-	</natures>
-</projectDescription>
diff --git a/silecs-eclipse-plugin/.pydevproject b/silecs-eclipse-plugin/.pydevproject
deleted file mode 100644
index 3328e17..0000000
--- a/silecs-eclipse-plugin/.pydevproject
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?eclipse-pydev version="1.0"?><pydev_project>
-<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
-<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">jython 2.7</pydev_property>
-<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
-<path>/${PROJECT_DIR_NAME}/src/scripts</path>
-</pydev_pathproperty>
-</pydev_project>
diff --git a/silecs-eclipse-plugin/.settings/org.eclipse.core.resources.prefs b/silecs-eclipse-plugin/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 8dd9b1d..0000000
--- a/silecs-eclipse-plugin/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/test/java=UTF-8
-encoding/<project>=UTF-8
diff --git a/silecs-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs b/silecs-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 13b3428..0000000
--- a/silecs-eclipse-plugin/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,13 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/silecs-eclipse-plugin/.settings/org.eclipse.ltk.core.refactoring.prefs b/silecs-eclipse-plugin/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index b196c64..0000000
--- a/silecs-eclipse-plugin/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/silecs-eclipse-plugin/.settings/org.eclipse.m2e.core.prefs b/silecs-eclipse-plugin/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f..0000000
--- a/silecs-eclipse-plugin/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/silecs-eclipse-plugin/JNLP-INF/APPLICATION_TEMPLATE.JNLP b/silecs-eclipse-plugin/JNLP-INF/APPLICATION_TEMPLATE.JNLP
deleted file mode 100644
index cf8e499..0000000
--- a/silecs-eclipse-plugin/JNLP-INF/APPLICATION_TEMPLATE.JNLP
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jnlp spec="1.0+" codebase="*" href="silecs_launcher.jnlp"> <!-- URL to the site containing the jnlp application. It should match the 
-		value used on export. Href, the name of this file -->
-	<information>
-		<!-- user readable name of the application -->
-		<title> Silecs-Eclipse-Plugin</title>
-		<!-- vendor name -->
-		<vendor>CERN</vendor>
-		<!-- vendor homepage -->
-		<homepage href="https://wikis/display/SIL/SILECs+Home"/>
-		<!-- product description -->
-		<description>Silecs Configuration tool</description>
-	</information>
-
-	<!--request all permissions from the application. This does not change -->
-	<security>
-		<all-permissions />
-	</security>
-	<update check="always" policy="always"></update>
-
-	<!-- The name of the main class to execute. This does not change -->
-	<application-desc main-class="cern.silecs.activator.WebStartLauncher">
-		<argument>-nosplash</argument>
-		<argument>-consoleLog</argument>
-		<argument>-data</argument>
-		<argument>@noDefault</argument>
-	</application-desc>
-
-	<resources>
-		<!-- Reference to the launcher jar.-->
-		<jar href="*" />
-
-		<property name="app.name" value="Silecs-Eclipse-Plugin"></property>
-    	<property name="app.version" value="1.m.p"></property>
-					
-		<!-- The id of the product to run, like found in the overview page of the 
-			product editor -->
-		<property name="eclipse.application" value="silecs.eclipse.plugin.application" />
-		<property name="osgi.parentClassloader" value="current" />
-		<property name="osgi.framework" value="org.eclipse.osgi" />
-		<property name="osgi.bundles"
-			value="org.eclipse.core.runtime@start,org.eclipse.equinox.common@2:start,org.eclipse.equinox.ds@1:start,org.eclipse.equinox.simpleconfigurator@1:start,org.eclipse.osgi@-1:start,org.eclipse.equinox.event@3:start" />
-	</resources>
-
-	<resources os="Windows">
-		<j2se version="1.8+"
-			java-vm-args="-Xms128m -Xmx1024m -Dpython.cachedir.skip=true -Dpython.cachedir=/tmp  -Dpython.home=. -Dpython.console.encoding=UTF-8" />
-
-        	<property name="osgi.instance.area" value="@user.home/Silecs-Eclipse-Plugin/1.m.p/"/>
-       	 	<property name="osgi.configuration.area" value="@user.home/Silecs-Eclipse-Plugin/1.m.p/"/>
-
-		<extension name="Wrapper feature"
-			href="*" />    		
-	</resources>
-
-	<resources os="Linux">
-		<j2se version="1.8+" 
-			java-vm-args="-Xms128m -Xmx1024m -Dpython.cachedir.skip=true -Dpython.cachedir=/tmp  -Dpython.home=. -Dpython.console.encoding=UTF-8" />
-
-		<property name="jnlp.osgi.instance.area" value="@user.home/Silecs-Eclipse-Plugin/1.m.p/" />
-		<property name="jnlp.osgi.configuration.area" value="@user.home/Silecs-Eclipse-Plugin/1.m.p/" />
-		<property name="jnlp.Dosgi.user.area" value="@user.home"/>
-        	<property name="osgi.ws" value="gtk"/>
-
-		<extension name="Wrapper feature"
-			href="*" />
-
-  	</resources>
-</jnlp>
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/LICENSE b/silecs-eclipse-plugin/LICENSE
deleted file mode 100644
index 20d40b6..0000000
--- a/silecs-eclipse-plugin/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/META-INF/MANIFEST.MF b/silecs-eclipse-plugin/META-INF/MANIFEST.MF
deleted file mode 100644
index c498624..0000000
--- a/silecs-eclipse-plugin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,114 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: silecs.eclipse.plugin;singleton:=true
-Bundle-Version: 1.1.1.qualifier
-Bundle-Activator: cern.silecs.activator.Activator
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.ui.workbench,
- org.eclipse.core.resources,
- org.eclipse.ui.ide,
- org.eclipse.ui.editors,
- org.eclipse.wst.xml.core,
- org.eclipse.wst.xml.ui,
- org.eclipse.ui.navigator.resources,
- org.eclipse.core.filesystem,
- org.eclipse.ui.console,
- org.eclipse.ui.views,
- org.eclipse.wst.validation,
- org.eclipse.wst.validation.infopop,
- org.eclipse.wst.validation.ui,
- org.eclipse.jface.text,
- org.eclipse.wst.sse.ui,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.text,
- org.eclipse.wst.sse.core,
- org.eclipse.ui.navigator,
- org.eclipse.xsd,
- org.eclipse.wst.xsd.core,
- org.eclipse.core.expressions,
- org.eclipse.cdt,
- org.eclipse.cdt.core,
- org.eclipse.cdt.ui,
- org.eclipse.cdt.managedbuilder.ui,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.ltk.ui.refactoring,
- org.eclipse.equinox.launcher,
- org.eclipse.cdt.make.core;bundle-version="7.3.0",
- org.eclipse.cdt.make.ui;bundle-version="7.2.0",
- org.eclipse.cdt.managedbuilder.core;bundle-version="8.3.0"
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .,
- ext-jars/xalan-2.7.2.jar,
- ext-jars/jaxen-1.1.6.jar,
- ext-jars/xml-apis-1.3.04.jar
-Permissions: all-permissions
-Codebase: http://abwww.cern.ch/ap/dist/silecs/1.m.p/configuration/
-Application-Name: Silecs-Eclipse-Plugin
-Export-Package: org.apache.bcel,
- org.apache.bcel.classfile,
- org.apache.bcel.generic,
- org.apache.bcel.util,
- org.apache.bcel.verifier,
- org.apache.bcel.verifier.exc,
- org.apache.bcel.verifier.statics,
- org.apache.bcel.verifier.structurals,
- org.apache.regexp,
- org.apache.xalan,
- org.apache.xalan.client,
- org.apache.xalan.extensions,
- org.apache.xalan.lib,
- org.apache.xalan.lib.sql,
- org.apache.xalan.processor,
- org.apache.xalan.res,
- org.apache.xalan.serialize,
- org.apache.xalan.templates,
- org.apache.xalan.trace,
- org.apache.xalan.transformer,
- org.apache.xalan.xslt,
- org.apache.xalan.xsltc,
- org.apache.xalan.xsltc.cmdline,
- org.apache.xalan.xsltc.cmdline.getopt,
- org.apache.xalan.xsltc.compiler,
- org.apache.xalan.xsltc.compiler.util,
- org.apache.xalan.xsltc.dom,
- org.apache.xalan.xsltc.runtime,
- org.apache.xalan.xsltc.runtime.output,
- org.apache.xalan.xsltc.trax,
- org.apache.xalan.xsltc.util,
- org.apache.xml.dtm,
- org.apache.xml.dtm.ref,
- org.apache.xml.dtm.ref.dom2dtm,
- org.apache.xml.dtm.ref.sax2dtm,
- org.apache.xml.res,
- org.apache.xml.utils,
- org.apache.xml.utils.res,
- org.apache.xpath,
- org.apache.xpath.axes,
- org.apache.xpath.compiler,
- org.apache.xpath.domapi,
- org.apache.xpath.functions,
- org.apache.xpath.jaxp,
- org.apache.xpath.objects,
- org.apache.xpath.operations,
- org.apache.xpath.patterns,
- org.apache.xpath.res,
- org.jaxen,
- org.jaxen.dom,
- org.jaxen.dom4j,
- org.jaxen.expr,
- org.jaxen.expr.iter,
- org.jaxen.function,
- org.jaxen.function.ext,
- org.jaxen.function.xslt,
- org.jaxen.javabean,
- org.jaxen.jdom,
- org.jaxen.pattern,
- org.jaxen.saxpath,
- org.jaxen.saxpath.base,
- org.jaxen.saxpath.helpers,
- org.jaxen.util,
- org.jaxen.xom,
- org.w3c.dom
diff --git a/silecs-eclipse-plugin/OSGI-INF/l10n/bundle.properties b/silecs-eclipse-plugin/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 3ed82f2..0000000
--- a/silecs-eclipse-plugin/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#Properties file for silecs.eclipse.plugin
-Bundle-Name = Silecs-config
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/README.md b/silecs-eclipse-plugin/README.md
deleted file mode 100644
index 04caae1..0000000
--- a/silecs-eclipse-plugin/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# silecs-codegen
-
-This component of the SILECS PLC-framework is used in order to generate and manage silecs-project.
-
-## Getting Started
-
-Please check the lab-specific SILECS-Wikis for more information:
-
-[CERN SILECS Wiki Page][CERN_Wiki]
-
-[GSI SILECS Wiki Page][GSI_Wiki]
-
-## License
-
-Licensed under the GNU GENERAL PUBLIC LICENSE Version 3. See the [LICENSE file][license] for details.
-
-[license]: LICENSE
-[CERN_Wiki]: https://wikis.cern.ch/display/SIL/SILECs+Home
-[GSI_Wiki]: https://www-acc.gsi.de/wiki/Frontend/SILECS
-
-## Dependencies
-
-### Eclipse Plugins
-Install Eclipse plug-in development environment – repo: Official Eclipse repo 
-install eclipse-core-tool – http://eclipse.org/eclipse/platform-core/updates
-
-### Maven
-Configure the Eclipe-Maven:
-https://www-acc.gsi.de/wiki/bin/viewauth/IN/Maven
-
-Goto project-folder in console and run:
-“mvn install”
-Right click on project in eclipse configure → Convert to Maven Project
-Goto eclipse and run project-->Build
-
-## Execution
-
-Goto eclipse-perspective
-double-click plugin.xml
-Launch an Eclipse Application
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/build.properties b/silecs-eclipse-plugin/build.properties
deleted file mode 100644
index 745ea66..0000000
--- a/silecs-eclipse-plugin/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-source.. = src/java/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               JNLP-INF/,\
-               src/java/,\
-               OSGI-INF/,\
-               ext-jars/jaxen-1.1.6.jar,\
-               ext-jars/xalan-2.7.2.jar,\
-               ext-jars/xml-apis-1.3.04.jar
-src.includes = src/,\
-               ext-jars/jaxen-1.1.6.jar,\
-               ext-jars/xalan-2.7.2.jar,\
-               ext-jars/xml-apis-1.3.04.jar
-jars.compile.order = .
-qualifier = context
diff --git a/silecs-eclipse-plugin/build.xml b/silecs-eclipse-plugin/build.xml
deleted file mode 100644
index 223e13e..0000000
--- a/silecs-eclipse-plugin/build.xml
+++ /dev/null
@@ -1,527 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="silecs.eclipse.plugin" default="build.jars" basedir=".">
-
-	<property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
-	<property name="basews" value="${ws}"/>
-	<property name="baseos" value="${os}"/>
-	<property name="basearch" value="${arch}"/>
-	<property name="basenl" value="${nl}"/>
-	<property name="bundleId" value="silecs.eclipse.plugin"/>
-	<property name="bundleVersion" value="1.1.1.201608011414"/>
-	<property name="p2.publishonerror" value="false"/>
-
-	<!-- Compiler settings. -->
-	<property name="javacFailOnError" value="false"/>
-	<property name="javacDebugInfo" value="on"/>
-	<property name="javacVerbose" value="false"/>
-	<property name="logExtension" value=".log"/>
-	<property name="compilerArg" value=""/>
-	<property name="compilation.prereq.log" value="${buildDirectory}/prereqErrors.log"/>
-	<property name="javacSource" value="1.3"/>
-	<property name="javacTarget" value="1.2"/>
-	<condition property="dir_bootclasspath" value="${java.home}/../Classes">
-		<and>
-			<os family="mac"/>
-			<available file="${java.home}/../Classes" type="dir"/>
-		</and>
-	</condition>
-	<property name="dir_bootclasspath" value="${java.home}/lib"/>
-	<path id="path_bootclasspath">
-		<fileset dir="${dir_bootclasspath}">
-			<include name="*.jar"/>
-		</fileset>
-	</path>
-	<property name="bootclasspath" refid="path_bootclasspath"/>
-	<condition property="bundleBootClasspath" value="${JavaSE-1.8}"	>
-		<isset property="JavaSE-1.8"/>
-	</condition>
-	<condition property="bundleJavacSource" value="1.8"	>
-		<isset property="JavaSE-1.8"/>
-	</condition>
-	<condition property="bundleJavacTarget" value="1.8"	>
-		<isset property="JavaSE-1.8"/>
-	</condition>
-	<property name="bundleJavacSource" value="${javacSource}"/>
-	<property name="bundleJavacTarget" value="${javacTarget}"/>
-	<property name="bundleBootClasspath" value="${bootclasspath}"/>
-
-	<target name="init" depends="properties">
-		<condition property="pluginTemp" value="${buildTempFolder}/plugins"		>
-			<isset property="buildTempFolder"/>
-		</condition>
-		<property name="pluginTemp" value="${basedir}"/>
-		<condition property="build.result.folder" value="${pluginTemp}/silecs.eclipse.plugin_1.1.1.201608011414"		>
-			<isset property="buildTempFolder"/>
-		</condition>
-		<property name="build.result.folder" value="${basedir}"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-		<condition property="p2.publish.parts" value="true"		>
-			<istrue value="${p2.gathering}"/>
-		</condition>
-		<property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
-		<condition property="compilation.problem.marker.exists" value="true"		>
-			<and>
-			<available file="${compilation.problem.marker}"/>
-			<isfalse value="${p2.publishonerror}"/>
-			</and>
-		</condition>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-
-	</target>
-
-	<target name="build.update.jar" depends="init" description="Build the plug-in: silecs.eclipse.plugin for an update site.">
-		<delete dir="${temp.folder}"/>
-		<mkdir dir="${temp.folder}"/>
-		<antcall target="build.jars"/>
-		<antcall target="gather.bin.parts">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<jar destfile="${plugin.destination}/silecs.eclipse.plugin_1.1.1.201608011414.jar" basedir="${temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414" filesetmanifest="merge"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="@dot.nestedJars">
-		<mkdir dir="${buildDirectory}/nestedJars/org.eclipse.equinox.registry_3.6.0.v20150318-1503"/>
-		<unzip src="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.registry_3.6.0.v20150318-1503.jar" dest="${buildDirectory}/nestedJars/org.eclipse.equinox.registry_3.6.0.v20150318-1503" overwrite="false">
-			<patternset includes="runtime_registry_compatibility.jar"/>
-		</unzip>
-		<mkdir dir="${buildDirectory}/nestedJars/com.ibm.icu_54.1.1.v201501272100"/>
-		<unzip src="../../../../../../../../opt/eclipse/mars/plugins/com.ibm.icu_54.1.1.v201501272100.jar" dest="${buildDirectory}/nestedJars/com.ibm.icu_54.1.1.v201501272100" overwrite="false">
-			<patternset includes="icu-data.jar"/>
-		</unzip>
-		<mkdir dir="${buildDirectory}/nestedJars/org.eclipse.e4.core.services_2.0.0.v20150403-1912"/>
-		<unzip src="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.core.services_2.0.0.v20150403-1912.jar" dest="${buildDirectory}/nestedJars/org.eclipse.e4.core.services_2.0.0.v20150403-1912" overwrite="false">
-			<patternset includes="injection_annotations.jar"/>
-		</unzip>
-	</target>
-	<target name="@dot" depends="init,@dot.nestedJars" unless="@dot" description="Create jar: silecs.eclipse.plugin @dot.">
-		<delete dir="${build.result.folder}/@dot"/>
-		<mkdir dir="${build.result.folder}/@dot"/>
-		<path id="@dot.classpath">
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui_3.107.0.v20150507-1945.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.runtime_3.11.1.v20150903-1804.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/javax.annotation_1.2.0.v201401042248.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/javax.inject_1.0.0.v20091030.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.osgi_3.10.102.v20160118-1700.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.osgi.compatibility.state_1.0.100.v20150402-1551.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.jobs_3.7.0.v20150330-2103.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.runtime.compatibility.registry_3.6.0.v20150318-1505/runtime_registry_compatibility.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.runtime.compatibility.registry_3.6.0.v20150318-1505"/>
-			<pathelement path="${buildDirectory}/nestedJars/org.eclipse.equinox.registry_3.6.0.v20150318-1503/runtime_registry_compatibility.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.registry_3.6.0.v20150318-1503.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/javax.xml_1.3.4.v201005080400.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.preferences_3.5.300.v20150408-1437.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.contenttype_3.5.0.v20150421-2214.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.app_1.3.300.v20150423-1356.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.osgi.services_3.5.0.v20150519-2006.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/javax.servlet_3.1.0.v201410161800.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.swt_3.104.2.v20160212-1350.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.swt.gtk.linux.x86_64_3.104.2.v20160212-1350.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jface_3.11.1.v20160128-1644.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.commands_3.7.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.bidi_0.10.0.v20130327-1442.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.workbench_3.107.1.v20160120-2131.jar"/>
-			<pathelement path="${buildDirectory}/nestedJars/com.ibm.icu_54.1.1.v201501272100/icu-data.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/com.ibm.icu_54.1.1.v201501272100.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.core.commands_0.11.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.expressions_3.5.0.v20150421-2214.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.core.contexts_1.4.0.v20150828-0818.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.core.di_1.5.0.v20150421-2214.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.core.di.annotations_1.4.0.v20150528-1451.jar"/>
-			<pathelement path="${buildDirectory}/nestedJars/org.eclipse.e4.core.services_2.0.0.v20150403-1912/injection_annotations.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.core.services_2.0.0.v20150403-1912.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.workbench_1.3.1.v20160203-0951.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.model.workbench_1.1.100.v20150407-1430.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.emf.ecore_2.11.2.v20160208-0816.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.emf.common_2.11.1.v20160208-0816.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.resources_3.10.1.v20150725-1910.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ant.core_3.4.0.v20150428-1928.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.variables_3.2.800.v20130819-1716.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.filesystem_1.5.0.v20150725-1910.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.filesystem.java7_1.0.100.v20150423-0754.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.filesystem.linux.x86_64_1.2.200.v20140124-1940.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.emf.xpath_0.1.100.v20150513-0856.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.commons.jxpath_1.3.0.v200911051830.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.services_1.2.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.di_1.1.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.core.di.extensions_0.13.0.v20150421-2214.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.emf.ecore.change_2.11.0.v20160208-0816.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.emf.ecore.xmi_2.11.1.v20160208-0816.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.workbench.renderers.swt_0.13.0.v20150901-1347.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.workbench.swt_0.13.0.v20150504-0621.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.databinding_1.5.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.databinding.observable_1.5.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.databinding.property_1.5.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jface.databinding_1.7.0.v20150406-2148.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.css.core_0.11.0.v20150511-1937.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.w3c.css.sac_1.3.1.v200903091627.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.batik.css_1.7.0.v201011041433.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.w3c.dom.events_3.0.0.draft20060413_v201105210656.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.w3c.dom.svg_1.1.0.v201011041433.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.w3c.dom.smil_1.0.1.v200903091627.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.batik.util_1.7.0.v201011041433.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.batik.util.gui_1.7.0.v200903091627.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.css.swt_0.12.0.v20150511-1003.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.bindings_0.11.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.workbench3_0.13.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.css.swt.theme_0.10.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.swt.gtk_1.0.1.v20150708-1529.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.widgets_1.1.0.v20150427-1751.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.ds_1.4.300.v20150423-1356.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.util_1.0.500.v20130404-1337.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.event_1.3.100.v20140115-1647.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.help_3.6.0.v20130326-1254.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.e4.ui.workbench.addons.swt_1.2.0.v20150512-1414.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.ide_3.11.0.v20150825-2158.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.views_3.8.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jface.text_3.10.0.v20150603-1752.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.text_3.5.400.v20150505-1044.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.forms_3.6.200.v20150506-2029.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.p2.engine_2.4.0.v20150511-1532.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.p2.core_2.4.0.v20150527-1706.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.p2.metadata_2.3.0.v20150511-1532.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.p2.metadata.repository_1.2.200.v20150428-1613.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.p2.repository_2.3.100.v20150428-1613.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.security_1.2.100.v20150423-1356.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.tukaani.xz_1.3.0.v201308270617.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.editors_3.9.0.v20150213-1939.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.workbench.texteditor_3.9.100.v20141023-1946.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.compare.core_3.5.500.v20150505-1058.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.filebuffers_3.5.500.v20140723-1040.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.xml.core_1.1.902.v201501211904.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.xerces_2.9.0.v201101211617.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.xml.resolver_1.2.0.v201005080400.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.xml.serializer_2.7.1.v201005080400.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.uriresolver_1.2.200.v201505132009.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.sse.core_1.1.900.v201401092025.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.validation_1.2.700.v201508251749.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.frameworks_1.2.200.v201304241450.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.environment_1.0.400.v200912181831.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.osgi.util_3.3.100.v20150423-1351.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.core_1.2.0.v200908251833.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.project.facet.core_1.4.300.v201111030423.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jem.util_2.1.200.v201404021757.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.emf_1.2.400.v201505132009.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.emfworkbench.integration_1.2.101.v201107081800.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.emf.edit_2.11.1.v20160208-0841.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.xml.ui_1.1.501.v201501212057.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.sse.ui_1.3.400.v201505141512.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.debug.ui_3.11.101.v20160203-1230.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.console_3.6.100.v20150822-1912.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.debug.core_3.10.0.v20150303-1130.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.search_3.10.0.v20150318-0856.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ltk.core.refactoring_3.6.201.v20150819-1034.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ltk.ui.refactoring_3.7.200.v20140625-1835.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.navigator_3.6.0.v20150422-0725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.compare_3.5.600.v20150420-1449.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.team.core_3.7.100.v20150203-1452.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.team.ui_3.7.200.v20150203-1452.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.ui_1.1.500.v200911182011.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.validation.ui_1.2.500.v201310231452.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.common.frameworks.ui_1.2.400.v201504292002.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.navigator.resources_3.5.1.v20160128-1644.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.views.properties.tabbed_3.6.100.v20150423-0822.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.validation.infopop_1.0.300.v201309101952.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.xsd_2.11.0.v20160208-0841.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.wst.xsd.core_1.1.900.v201401141857.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt_8.8.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.intro_3.4.300.v20141007-1449.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.help.base_4.0.301.v20160212-1500.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.http.jetty_3.1.2.v20160115-1350.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.http.servlet_1.2.2.v20160202-2102.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jetty.http_9.2.13.v20150730.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jetty.util_9.2.13.v20150730.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.slf4j.api_1.7.2.v20121108-1250.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/ch.qos.logback.slf4j_1.0.7.v201505121915.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.slf4j.impl.log4j12_1.7.2.v20131105-2200.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.log4j_1.2.15.v201012070815.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/ch.qos.logback.core_1.0.7.v20121108-1250.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/ch.qos.logback.classic_1.0.7.v20121108-1250.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.logback.appender_1.6.2.20150902-0002.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.core.ui_1.6.2.20150902-0002.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.core_1.6.2.20150902-0002.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/takari-local-repository-0.9.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/takari-filemanager-0.7.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-core-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-model-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-settings-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-settings-builder-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-builder-support-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-repository-metadata-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-artifact-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-plugin-api-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-model-builder-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-aether-provider-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/aether-api-1.0.2.v20150114.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/aether-util-1.0.2.v20150114.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/plexus-interpolation-1.21.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/plexus-utils-3.0.20.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/plexus-classworlds-2.5.2.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/plexus-component-annotations-1.5.5.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/plexus-sec-dispatcher-1.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-embedder-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/plexus-cipher-1.7.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/commons-cli-1.2.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/maven-compat-3.3.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/wagon-provider-api-2.9.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/org.eclipse.sisu.plexus-0.3.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/cdi-api-1.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/jsr250-api-1.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/org.eclipse.sisu.inject-0.3.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/sisu-guice-3.2.5-no_aop.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/guava-18.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/plexus-build-api-0.0.7.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/aether-impl-1.0.2.v20150114.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/aether-spi-1.0.2.v20150114.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/aether-connector-okhttp-0.15.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/okhttp-2.3.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/okio-1.3.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/aether-connector-basic-1.0.2.v20150114.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/aether-transport-wagon-1.0.2.v20150114.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/wagon-file-2.9.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime_1.6.2.20150902-0001/jars/commons-lang-2.6.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime.slf4j.simple_1.6.2.20150902-0001"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.runtime.slf4j.simple_1.6.2.20150902-0001/jars/slf4j-simple-1.7.5.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/archetype-common-2.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/archetype-catalog-2.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/archetype-descriptor-2.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/archetype-registry-2.3.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/maven-invoker-2.1.1.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/commons-collections-3.1.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/commons-io-2.2.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/commons-lang-2.1.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/dom4j-1.6.1.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/jchardet-1.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/jdom-1.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/oro-2.0.8.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/plexus-velocity-1.1.8.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.archetype.common_1.6.2.20150902-0001/velocity-1.5.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.indexer_1.6.2.20150902-0001"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.indexer_1.6.2.20150902-0001/indexer-core-3.1.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.indexer_1.6.2.20150902-0001/indexer-artifact-3.1.0.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.indexer_1.6.2.20150902-0001/lucene-core-2.4.1.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.maven.indexer_1.6.2.20150902-0001/lucene-highlighter-2.4.1.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.workspace.cli_0.3.1.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/com.google.guava_15.0.0.v201403281430.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.m2e.model.edit_1.6.2.20150902-0002.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.emf.ecore.edit_2.9.0.v20160208-0841.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jetty.server_9.2.13.v20150730.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jetty.io_9.2.13.v20150730.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jetty.servlet_9.2.13.v20150730.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.jetty.security_9.2.13.v20150730.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.lucene.analysis_3.5.0.v20120725-1805.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.apache.lucene.core_3.5.0.v20120725-1805.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.net_1.2.300.v20141118-1725.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.core.net.linux.x86_64_1.1.100.v20140124-2013.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.ui.cheatsheets_3.4.200.v20131227-1524.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.help.ui_4.0.100.v20140401-0608.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.core_5.11.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.core.native_5.8.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.core.linux_5.3.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.core.linux.x86_64_5.3.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.ui_5.11.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.managedbuilder.ui_8.2.2.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.make.core_7.3.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.make.ui_7.2.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.cdt.managedbuilder.core_8.3.0.201509131935.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar"/>
-			<pathelement path="../../../../../../../../opt/eclipse/mars/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.300.v20150602-1417"/>
-			<pathelement path="ext-jars/xalan-2.7.2.jar"/>
-			<pathelement path="${build.result.folder}/../silecs.eclipse.plugin_1.1.1.201608011414/ext-jars/xalan-2.7.2.jar"/>
-			<pathelement path="ext-jars/jaxen-1.1.6.jar"/>
-			<pathelement path="${build.result.folder}/../silecs.eclipse.plugin_1.1.1.201608011414/ext-jars/jaxen-1.1.6.jar"/>
-			<pathelement path="ext-jars/xml-apis-1.3.04.jar"/>
-			<pathelement path="${build.result.folder}/../silecs.eclipse.plugin_1.1.1.201608011414/ext-jars/xml-apis-1.3.04.jar"/>
-		</path>
-		<!-- compile the source code -->
-		<javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"		>
-			<compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
-			<classpath refid="@dot.classpath" />
-			<src path="src/java/"			/>
-			<compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"			/>
-			<compilerarg line="-log &apos;${build.result.folder}/@dot${logExtension}&apos;" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"			/>
-		</javac>
-		<antcall target="checkCompilationResults"/>
-		<!-- Copy necessary resources -->
-		<copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
-			<fileset dir="src/java/">
-				<exclude name="**/*.java"/>
-				<exclude name="**/package.htm*"/>
-			</fileset>
-		</copy>
-	</target>
-
-	<target name="src.zip" depends="init" unless="src.zip">
-		<mkdir dir="${build.result.folder}"/>
-		<antcall target="zip.src.zip"/>
-	</target>
-	<target name="zip.src.zip">
-		<zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
-			<fileset dir="src/java/">
-				<include name="**/*.java"/>
-			</fileset>
-		</zip>
-	</target>
-	<target name="copy.src.zip">
-		<copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
-			<fileset dir="src/java/">
-				<include name="**/*.java"/>
-			</fileset>
-		</copy>
-	</target>
-
-	<target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: silecs.eclipse.plugin.">
-		<delete file="${compilation.problem.marker}" quiet="true"/>
-		<available property="@dot" file="${build.result.folder}/@dot"/>
-		<antcall target="@dot"/>
-	</target>
-
-	<target name="checkCompilationResults" if="compilation.error.occured">
-		<echo file="${compilation.problem.marker}" message="silecs.eclipse.plugin_1.1.1.201608011414${line.separator}compilation.error.occured=${compilation.error.occured}"/>
-		<eclipse.logCompileError log="${compilation.prereq.log}" bundle="silecs.eclipse.plugin_1.1.1.201608011414">
-		</eclipse.logCompileError>
-	</target>
-
-	<target name="build.sources" depends="init">
-		<available property="src.zip" file="${build.result.folder}/src.zip"/>
-		<antcall target="src.zip"/>
-	</target>
-
-	<target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
-		<mkdir dir="${build.result.folder}/silecs.eclipse.plugin_1.1.1.201608011414"/>
-		<copy todir="${build.result.folder}" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}">
-				<include name="META-INF/MANIFEST.MF"/>
-				<include name="plugin.xml"/>
-				<include name="fragment.xml"/>
-			</fileset>
-		</copy>
-		<eclipse.versionReplacer path="${build.result.folder}" version="1.1.1.201608011414"/>
-		<antcall target="apitools.generation">
-			<param name="projectLocation" value="${basedir}"/>
-			<param name="binary.folders" value="${build.result.folder}/@dot:/common/home/bel/schwinn/lnx/git/git/silecs-eclipse-plugin/ext-jars/xml-apis-1.3.04.jar:/common/home/bel/schwinn/lnx/git/git/silecs-eclipse-plugin/ext-jars/jaxen-1.1.6.jar:/common/home/bel/schwinn/lnx/git/git/silecs-eclipse-plugin/ext-jars/xalan-2.7.2.jar"/>
-			<param name="projectName" value="${bundleId}_${bundleVersion}"/>
-			<param name="target.folder" value="${build.result.folder}"/>
-		</antcall>
-		<eclipse.gatherBundle 
-		   metadataRepository="${p2.build.repo}"
-		   artifactRepository="${p2.build.repo}"
-		   buildResultFolder="${build.result.folder}"
-		   unpack="false"
-		   baseDirectory="${basedir}"
-		/>
-	</target>
-
-	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414"/>
-		<copy todir="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414" failonerror="true" overwrite="false">
-			<fileset dir="${build.result.folder}/@dot">
-				<include name="**"/>
-			</fileset>
-		</copy>
-		<copy todir="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414" failonerror="true" overwrite="true">
-			<fileset dir="${basedir}">
-				<include name="plugin.xml"/>
-				<include name="META-INF/"/>
-				<include name="icons/"/>
-				<include name="JNLP-INF/"/>
-				<include name="src/java/"/>
-				<include name="OSGI-INF/"/>
-				<include name="ext-jars/xml-apis-1.3.04.jar"/>
-				<include name="ext-jars/xalan-2.7.2.jar"/>
-				<include name="ext-jars/serializer-2.7.2.jar"/>
-				<include name="jaxen-1.1.6.jar"/>
-				<include name="xalan-2.7.2.jar"/>
-			</fileset>
-		</copy>
-		<eclipse.versionReplacer path="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414" version="1.1.1.201608011414"/>
-		<antcall target="apitools.generation">
-			<param name="projectLocation" value="${basedir}"/>
-			<param name="binary.folders" value="${build.result.folder}/@dot:/common/home/bel/schwinn/lnx/git/git/silecs-eclipse-plugin/ext-jars/xml-apis-1.3.04.jar:/common/home/bel/schwinn/lnx/git/git/silecs-eclipse-plugin/ext-jars/jaxen-1.1.6.jar:/common/home/bel/schwinn/lnx/git/git/silecs-eclipse-plugin/ext-jars/xalan-2.7.2.jar"/>
-			<param name="projectName" value="${bundleId}_${bundleVersion}"/>
-			<param name="target.folder" value="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414"/>
-		</antcall>
-	</target>
-
-	<target name="build.zips" depends="init">
-	</target>
-
-	<target name="gather.sources" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414"/>
-		<copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414" failonerror="false" overwrite="false"/>
-		<antcall target="copy.src.includes">
-			<param name="source.destination.folder" value="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414"/>
-		</antcall>
-	</target>
-
-	<target name="gather.individual.sources" depends="init">
-		<antcall target="copy.src.zip">
-			<param name="source.destination.folder" value="${destination.temp.folder}"/>
-		</antcall>
-		<antcall target="copy.src.includes">
-			<param name="source.destination.folder" value="${destination.temp.folder}"/>
-		</antcall>
-	</target>
-
-	<target name="copy.src.includes" depends="init">
-		<copy todir="${source.destination.folder}" failonerror="false" overwrite="false">
-			<fileset dir="${basedir}">
-				<include name="src/"/>
-			</fileset>
-		</copy>
-	</target>
-
-	<target name="gather.logs" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414"/>
-		<copy todir="${destination.temp.folder}/silecs.eclipse.plugin_1.1.1.201608011414" failonerror="false" overwrite="false">
-			<fileset dir="${build.result.folder}">
-				<include name="@dot${logExtension}"/>
-			</fileset>
-		</copy>
-	</target>
-
-	<target name="clean" depends="init" description="Clean the plug-in: silecs.eclipse.plugin of all the zips, jars and logs created.">
-		<delete dir="${build.result.folder}/@dot"/>
-		<delete file="${build.result.folder}/src.zip"/>
-		<delete file="${plugin.destination}/silecs.eclipse.plugin_1.1.1.201608011414.jar"/>
-		<delete file="${plugin.destination}/silecs.eclipse.plugin_1.1.1.201608011414.zip"/>
-		<delete dir="${temp.folder}"/>
-		<delete file="${compilation.problem.marker}" quiet="true"/>
-	</target>
-
-	<target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
-		<eclipse.convertPath fileSystemPath="/common/home/bel/schwinn/lnx/git/git/silecs-eclipse-plugin" property="resourcePath"/>
-		<eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
-	</target>
-
-	<target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: silecs.eclipse.plugin.">
-		<delete dir="${temp.folder}"/>
-		<mkdir dir="${temp.folder}"/>
-		<antcall target="build.jars"/>
-		<antcall target="build.sources"/>
-		<antcall target="gather.bin.parts">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<antcall target="gather.sources">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<delete>
-			<fileset dir="${temp.folder}">
-				<include name="**/*.bin${logExtension}"/>
-			</fileset>
-		</delete>
-		<zip destfile="${plugin.destination}/silecs.eclipse.plugin_1.1.1.201608011414.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="apitools.generation" if="generateAPIDescription">
-		<apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}" extramanifests="${extraManifests}" allownonapiproject="${allowNonApiProject}"		/>
-	</target>
-
-</project>
diff --git a/silecs-eclipse-plugin/icons/class-document.png b/silecs-eclipse-plugin/icons/class-document.png
deleted file mode 100644
index 80984b14d8f98dba890f8e9e56b08f7c642ba50c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1035
zcmWksO^6m$6g@L0qt;-Wpoab6K#shE<fMyAnB*J2nSKTteTgkBTHHkuBr^~M$<qup
zh@eeetECiA5JrfIX3-B(*;R(>fwXFq5V;Yeh>+8p#eJ81FT8v1Ip^%bx#9SRyEgzB
zpPd=Z_k8DStXtFH$%i%`>S<(Qes};EukQE*82#(u(}$;f6ChxK0|5vLNJKIuM+zh%
z1DVK%?8t#E6rd2rP#h&tgbGxm8mglPs?dN&G(&T=KvVx4B4m(50rjHqCSimV(PvCx
zB9k#WQ!t4c%w#rZXAWkufQ2l^;w-@;R<M%QSe-Rk#RfLA8Jn{On<!AEjB+Zdj-#JV
zgBjcq9hN0nq9wEBmco)O!!j+KWw#ubWd&Af#jLoMup+ClN~>not%g-ugEd++Yi=#9
z$pjNkW^z-QIt86^I?UmY=!|%RCwekZ?kPOUGd$C?d3Mj?Szh3UUd)So2`};ruk>nO
z-D`N2H+Z8r^XA^dn_O_wWiEGxtFzz5X21d-h%QDXL}Db1<dGthA|o;*TV#(Mkrf3|
z7{#J^l!&6Jh{~uI)uTpKMME@3vuGYIqA7$BLl*K-gtTgeu12S%<Lbk1g#;xknUX7o
zl9ZuLWm9(LP?ic*sA4Lv5-L)KDpgI@RYO&3P@|fuxmu{LF6&0?YIn-}-Mv2h==UFY
z*N-gD&mF?l^=sV+7<uuj;Q(jW-ZRsS^{>txT>x&sYc)o2?!#@pIkq_a%=FlAqj#(y
z-E!rNmA8BA&Dp^dhqwLw&bv#SzL{EgTPqV=Cw2`7dj`YD9(et;iJhO{yZO)OFP&d`
z|2QA~@sV5GH-EjbxU&89eGB(LXZwaX);@k=*Y595TzF~em;ZkFYSYV~zW3x$i(AfI
z9(#DrsbiDN&z@YKe`RX&#+RR5`e@IU%g5hZeq;aX54P^U$-U=)-9Pv5_-nU*KezG7
Xx6?cR`FrP5hlAPaxxvK)FP!=x3@y|_

diff --git a/silecs-eclipse-plugin/icons/deploy-document.png b/silecs-eclipse-plugin/icons/deploy-document.png
deleted file mode 100644
index 894abc409c39559e46105f195802d42f64241321..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1028
zcmWksO^6m$6g}SzgN-^g7||f6n~3lc{oEk2MPK#}GgCPZ<M)Dg5^}`VNX{;!mm)cB
zBtq&|&`?422p8={qMudJRfKpDL{J+mYAGeQIK5fice(e%yXT&BHddAwX14F%4q#?!
zakSd=>{i@0+24mAzWZoTgVU=Ehj97&o<D(!TPrV&=X(<{fPe!52nk4rL?lNFBq0OY
zkcsTbfh-iD7z$AwB~XM4R6`}IqXw$bfM#e!bF@HH{~I!hkV66WqVF~X4Q_}&vjj_K
ziI&__SdwK}Hp{f^mcz2Fz=~O+6}J*rWEED;Dy_QJuqtb?X4YuUt%Wt2U@{X;ZVFS!
z(a$!5gcH$WF@edL$mC4HBxW!hGnt(^n8gAXV<C&P1dCX~YOG{+)?gJI*o=*A&K7K<
zKp92Ksh~OqopE!};g0Bxc!DSML{IK1JjpXWn`e4<&*52K;KjVqi+c$#@(Qo!m0sOz
zc$GJJGjH_f-ol$)aG8rPcZI97-^I2710IMjMkGYCNQ~r>B9bB_vPEWOj~tN|1yL*t
zqj;2vqNs>!Q5n^vMpQ*ZG>gV)9xb9Ngph?8@=%1dWrVIqr=;WR!)}EHB~zl3D}|Dj
zp=`=jcI8l(3RFymDy|YLQiZCiQq@&MRccT(HLAH<sBJClM(b*K%KP2D-Z=REXWjLK
z_0{F07~cG;`v8NNpI;c^!qokXy_i0=_|j=$$30sy!22K0_2#zqrNi^vex2AkJ^AP#
zpG@uUtusrbXU20szINow%;aM`uU`9f|J6MooZ9>1-Um;fx%B3hw+{b(d-lL^_VZoe
z9{Ks7S4S&9Ouuq|{hjgn!j8c&(;r`Yck|BXvHMQ$I{xGn|Ghmo+&r+n@3*sa!+#(D
zZt(QEwToX||7z_-yf=Jy?Tv%?p8N9Rc;X{&JoU}({rmoU<n`aD(&BSB*1mq=e8+*M
M`Q_2&L&whk59;>LIsgCw

diff --git a/silecs-eclipse-plugin/icons/diag-tool.gif b/silecs-eclipse-plugin/icons/diag-tool.gif
deleted file mode 100644
index 3748db1fddb2fe61380bac4dc029d6a617236453..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 197
zcmZ?wbhEHb6krfwXc1%h&j3Ua0!07+&rr_*L=XZ*HvyRp43d(P#>U1zK0aw_Y4!E>
zGiT1+v}x0sGiRPYefl3SQ2fcl$iN`apaU`mWG4fw(*t!Q70r1sj;rXLUh@3bHhrD&
z;@(r7^OkSFmw)`w&zJ+JE=F8Dn&$Lecvb>Og4T-Af~`}x-O>9d@~kf~_2bSOx7p4N
F)&S-kU`_x4

diff --git a/silecs-eclipse-plugin/icons/generated-code.gif b/silecs-eclipse-plugin/icons/generated-code.gif
deleted file mode 100644
index 18ffabe77f499a954f2ef0d2077da4ff4365e391..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 591
zcmZ?wbhEHb6krfwc*el+|IGh?|2O{ozxm()3;+LZ{{Mf=@2@NW{yhEf>xzG0SN;9E
z>fg^Ze}BLJ|M%Uum$SaToc-(5;eUTVyuZ=$;dal*TRk6c_I`V@`^&8fUvBhmSl0Xg
z?Ta@js=nOc`1WM&`Xznu-@aV8xPR@E$&WXszS^DpYFFOz{hLl4*!*O3`s0lmuXp9W
z+Evh9=+j*s`0m1zovWw+{`lzF{;e+_-{~$4=qe1}xoSpFVQ_ar@YxwDy#+z1_isM2
zZ_A5EcfNf3@b%M&Q+qa-C4`nHMwBFkuWc*c&{np-wRBy3MR`I*X<}4KLga?FijD1+
zYul^VE|{}s!JLh)6`R^BH?>u7Y^^F!h$@SZEQybLeE(i~T;$q$v)9a@Qyw2(78mvZ
z|9=KL0>z&!j0_CX3_2h?L2<&szNR6%smUqGueqbyIm*C~#ns9!u(Qd5$;_SA$AsB;
zO0<DC_hNQlLmP%pKj%mR`A~VD*7goZAqlb2?%w{1lcPPoB4nhd&0q~OW^`{>)zjBs
z$i>CU#$ja89HeW#I+9<(L6I-mC7{VW+;*FUsDogTu(*hQ2gAV-Svhw}X?IUojj0I>
vn~rdZYG(cTp~A|_r=q^(hJfIc%R<_gU3UtSm`+aiZ=Upr*|R7>fx#L8Moafv

diff --git a/silecs-eclipse-plugin/icons/silecs-logo.ico b/silecs-eclipse-plugin/icons/silecs-logo.ico
deleted file mode 100644
index 2b22b71097787713417cae9933d9604b169ea962..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15086
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
aNMJ$&6B77tBrtp)i2oBsnz(=8a`=C-`vvd-

diff --git a/silecs-eclipse-plugin/icons/validate-document.gif b/silecs-eclipse-plugin/icons/validate-document.gif
deleted file mode 100644
index 23c97f09e677bb8812b26d4415fd97997e5c95a4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 76
zcmZ?wbhEHb6krfwn8?f!yfVYEKB{JS)&Kwh6@RiYGB7YR=r8~QNS=X7c257w({Jy)
dG&pl*gzr#W|He>ggQJQAZ^o%@>w*~=tO0mX7=r)+

diff --git a/silecs-eclipse-plugin/plugin.xml b/silecs-eclipse-plugin/plugin.xml
deleted file mode 100644
index 72c6c8b..0000000
--- a/silecs-eclipse-plugin/plugin.xml
+++ /dev/null
@@ -1,874 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="4.6"?>
-<plugin>
-   <extension
-           id="application"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="cern.silecs.view.Application">
-         </run>
-      </application>
-   </extension>
-  <extension
-	point="org.eclipse.core.resources.natures"
-	      id="cern.fesa.plugin.core.fesaClassProjectNature"
-	      name="cern.fesa.plugin.core.fesaClassProjectNature">
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            class="cern.silecs.view.Perspective"
-            fixed="false"
-            id="silecs.eclipse.plugin.perspective"
-            name="Silecs">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="silecs.eclipse.plugin.perspective">
-         <view
-               closeable="false"
-               id="cern.silecs.view.explorer"
-               minimized="false"
-               moveable="false"
-               ratio="0.25"
-               relationship="left"
-               relative="org.eclipse.ui.editorss"
-               visible="true">
-         </view>
-         <view
-               closeable="false"
-               id="org.eclipse.ui.views.ProblemView"
-               minimized="false"
-               ratio="0.8f"
-               relationship="bottom"
-               relative="org.eclipse.ui.editorss"
-               visible="true">
-         </view>
-         <view
-               closeable="false"
-               id="org.eclipse.ui.console.ConsoleView"
-               minimized="false"
-               relationship="stack"
-               relative="org.eclipse.ui.views.ProblemView">
-         </view>
-         <view
-               closeable="false"
-               id="org.eclipse.wst.xml.ui.views.annotations.XMLAnnotationsView"
-               minimized="false"
-               relationship="stack"
-               relative="org.eclipse.ui.views.ProblemView"
-               visible="true">
-         </view>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.projectNatureImages">
-      <image
-            icon="icons/deploy-document.png"
-            id="cern.silecs.control.core.DeployProjectNature.img"
-            natureId="cern.silecs.control.core.deployprojectnature">
-      </image>
-      <image
-            icon="icons/class-document.png"
-            id="cern.silecs.control.core.DesignProjectNature.img"
-            natureId="cern.silecs.control.core.designprojectnature">
-      </image>
-   </extension>
-   <extension
-         id="deployprojectnature"
-         point="org.eclipse.core.resources.natures">
-      <runtime>
-         <run
-               class="cern.silecs.control.core.DeployProjectNature">
-         </run>
-      </runtime>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            id="cern.silecs.view.category"
-            name="Cat">
-      </category>
-      <command
-            categoryId="cern.silecs.view.category"
-            defaultHandler="cern.silecs.control.handlers.ValidateHandler"
-            id="cern.silecs.control.handlers.validate"
-            name="SILECS Validate">
-         <commandParameter
-               id="silecs-eclipse-plugin.commandParameter"
-               name="silecs-eclipse-plugin.commandParameter"
-               optional="false">
-         </commandParameter>
-      </command>
-      <command
-            categoryId="cern.silecs.view.category"
-            defaultHandler="cern.silecs.control.handlers.GenerateCodeHandler"
-            id="cern.silecs.control.handlers.generatecodehandler"
-            name="SILECS Generate Code">
-         <commandParameter
-               id="silecs-eclipse-plugin.commandParameter"
-               name="silecs-eclipse-plugin.commandParameter"
-               optional="false">
-         </commandParameter>
-      </command>
-      <command
-            categoryId="cern.silecs.view.category"
-            defaultHandler="cern.silecs.control.handlers.AboutSilecsHandler"
-            id="cern.silecs.control.handlers.aboutsilecs"
-            name="About Silecs">
-      </command>
-      <command
-            categoryId="cern.silecs.view.category"
-            defaultHandler="cern.silecs.control.handlers.SilecsWikis"
-            id="cern.silecs.control.handlers.silecswikis"
-            name="Silecs Wikis">
-      </command>
-      <command
-            categoryId="cern.silecs.view.category"
-            defaultHandler="cern.silecs.control.handlers.ExpandAllHandler"
-            id="cern.silecs.control.handlers.expandallhandler"
-            name="Expand All">
-      </command>
-      <command
-            categoryId="cern.silecs.view.category"
-            defaultHandler="cern.silecs.control.handlers.DiagnosticToolHandler"
-            id="cern.silecs.control.handlers.launchdiagnostitoolhandler"
-            name="SILECS Diagnostic Tool">
-         <commandParameter
-               id="silecs-eclipse-plugin.commandParameter"
-               name="silecs-eclipse-plugin.commandParameter"
-               optional="false">
-         </commandParameter>
-      </command>
-      <command
-            categoryId="cern.silecs.view.category"
-            defaultHandler="cern.silecs.control.handlers.UpdateSilecsProjectHandler"
-            id="cern.silecs.control.handlers.updatesilecsprojecthandler"
-            name="SILECS Update Project">
-         <commandParameter
-               id="silecs-eclipse-plugin.commandParameter"
-               name="silecs-eclipse-plugin.commandParameter"
-               optional="false">
-         </commandParameter>
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.menus">
-      <menuContribution
-            locationURI="menu:org.eclipse.ui.main.menu">
-         <menu
-               label="Silecs">
-            <command
-                  commandId="cern.silecs.control.handlers.silecswikis"
-                  label="Silecs wikis"
-                  style="push">
-            </command>
-            <command
-                  commandId="cern.silecs.control.handlers.aboutsilecs"
-                  label="About Silecs"
-                  style="push">
-            </command>
-
-            <visibleWhen
-                  checkEnabled="false">
-               <reference
-                     definitionId="cern.silecs.view.perspectivedefinition">
-               </reference>
-            </visibleWhen>
-         </menu>
-         
-      </menuContribution>
-      <menuContribution
-            locationURI="toolbar:org.eclipse.ui.main.toolbar">
-         <toolbar
-               id="cern.silecs.view.toolbars.projectFunctions"
-               label="SILECS Toolbar">
-            <command
-                  commandId="cern.silecs.control.handlers.validate"
-                  icon="icons/validate-document.gif"
-                  label="SILECS Validate"
-                  style="push">
-               <visibleWhen
-                     checkEnabled="false">
-                  <or>
-	                  <reference
-	                        definitionId="cern.silecs.view.editors.design.activeEditor">
-	                  </reference>
-	                  <reference
-	                        definitionId="cern.silecs.view.editors.deploy.activeEditor">
-	                  </reference>
-                  </or>
-               </visibleWhen>
-               <parameter
-                     name="silecs-eclipse-plugin.commandParameter"
-                     value="toolbar">
-               </parameter>
-            </command>
-            <command
-                  commandId="cern.silecs.control.handlers.generatecodehandler"
-                  icon="icons/generated-code.gif"
-                  label="SILECS Generate Code"
-                  style="push">
-              <visibleWhen
-                 checkEnabled="false">
-              <or>
-	                  <reference
-	                        definitionId="cern.silecs.view.editors.design.activeEditor">
-	                  </reference>
-	                  <reference
-	                        definitionId="cern.silecs.view.editors.deploy.activeEditor">
-	                  </reference>
-              </or>
-           </visibleWhen>
-              <parameter
-                    name="silecs-eclipse-plugin.commandParameter"
-                    value="toolbar">
-              </parameter>
-            </command>
-            <command
-                  commandId="cern.silecs.control.handlers.launchdiagnostitoolhandler"
-                  icon="icons/diag-tool.gif"
-                  label="SILECS Diagnostic Tool"
-                  style="push">
-              <visibleWhen
-                 checkEnabled="false">
-	                  <reference
-	                        definitionId="cern.silecs.view.editors.deploy.activeEditor">
-	                  </reference>
-           		</visibleWhen>
-              <parameter
-                    name="silecs-eclipse-plugin.commandParameter"
-                    value="toolbar">
-              </parameter>
-            </command>
-         </toolbar>
-      </menuContribution>
-      <menuContribution
-            allPopups="false"
-            locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
-        <menu
-               id="silecs_submenu"
-               label="SILECS">
-        <command
-              commandId="cern.silecs.control.handlers.validate"
-              label="SILECS Validate"
-              style="push">
-           <visibleWhen
-                 checkEnabled="false">
-              <or>
-                  <reference
-                        definitionId="cern.silecs.control.core.designprojectdefinition">
-                  </reference>
-                  <reference
-                        definitionId="cern.silecs.control.core.deployprojectdefinition">
-                  </reference>
-                  <reference
-                        definitionId="cern.silecs.menu.designFile">
-                  </reference>
-                  <reference
-                        definitionId="cern.silecs.menu.deployFile">
-                  </reference>
-              </or>
-           </visibleWhen>
-           <parameter
-                 name="silecs-eclipse-plugin.commandParameter"
-                 value="menubar">
-           </parameter>
-        </command>
-                 <command
-               commandId="cern.silecs.control.handlers.generatecodehandler"
-               label="SILECS Generate Code"
-               style="push">
-           <visibleWhen
-                 checkEnabled="false">
-              <or>
-                  <reference
-                        definitionId="cern.silecs.control.core.designprojectdefinition">
-                  </reference>
-                  <reference
-                        definitionId="cern.silecs.control.core.deployprojectdefinition">
-                  </reference>
-                  <reference
-                        definitionId="cern.silecs.menu.designFile">
-                  </reference>
-                  <reference
-                        definitionId="cern.silecs.menu.deployFile">
-                  </reference>
-              </or>
-           </visibleWhen>
-           <parameter
-                 name="silecs-eclipse-plugin.commandParameter"
-                 value="menubar">
-           </parameter>
-         </command>
-         <command
-                  commandId="cern.silecs.control.handlers.launchdiagnostitoolhandler"
-                  label="SILECS Diagnostic Tool"
-                  style="push">
-              <visibleWhen
-                 checkEnabled="false">
-                   <or>
-                      <reference
-                            definitionId="cern.silecs.control.core.deployprojectdefinition">
-                      </reference>
-                      <reference
-                            definitionId="cern.silecs.menu.deployFile">
-                      </reference>
-                   </or>
-                </visibleWhen>
-              <parameter
-                    name="silecs-eclipse-plugin.commandParameter"
-                    value="menubar">
-              </parameter>
-            </command>
-            <command
-                  commandId="cern.silecs.control.handlers.updatesilecsprojecthandler"
-                  label="Update SILECS version"
-                  style="push">
-              <visibleWhen
-                 checkEnabled="false">
-                  <or>
-                      <reference
-                            definitionId="cern.silecs.control.core.designprojectdefinition">
-                      </reference>
-                      <reference
-                            definitionId="cern.silecs.control.core.deployprojectdefinition">
-                      </reference>
-                      <reference
-                        definitionId="cern.silecs.menu.designFile">
-                      </reference>
-                      <reference
-                        definitionId="cern.silecs.menu.deployFile">
-                      </reference>
-                  </or>
-                </visibleWhen>
-              <parameter
-                    name="silecs-eclipse-plugin.commandParameter"
-                    value="menubar">
-              </parameter>
-            </command>
-            </menu>
-      </menuContribution>
-      <menuContribution
-            allPopups="false"
-            locationURI="popup:cern.silecs.view.explorer#PopupMenu?after=additions">
-            <menu
-               id="silecs_submenu"
-               label="SILECS">
-            </menu>
-      </menuContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            class="cern.silecs.view.editor.DesignMultiPageEditor"
-            contributorClass="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorActionBarContributor"
-            default="true"
-            icon="icons/class-document.png"
-            extensions="xml"
-            filenames="silecsdesign"
-            id="cern.silecs.view.editors.design"
-            name="XML Editor">
-         <contentTypeBinding
-               contentTypeId="cern.silecs.model.contenttype.design">
-         </contentTypeBinding>
-      </editor>
-      <editor
-            class="cern.silecs.view.editor.DeployMultiPageEditor"
-            contributorClass="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorActionBarContributor"
-            default="true"
-            icon="icons/deploy-document.png"
-            extensions="xml"
-            filenames="silecsdeploy"
-            id="cern.silecs.view.editors.deploy"
-            name="XML Editor">
-         <contentTypeBinding
-               contentTypeId="cern.silecs.model.contenttype.deploy">
-         </contentTypeBinding>
-      </editor>
-   </extension>
-   <extension
-         id="designprojectnature"
-         point="org.eclipse.core.resources.natures">
-      <runtime>
-         <run
-               class="cern.silecs.control.core.DesignProjectNature">
-         </run>
-      </runtime>
-   </extension>
-   <extension
-         id="cern.silecs.view.marker"
-         name="%silecs.marker.problem"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.problemmarker">
-      </super>
-      <persistent
-            value="false">
-      </persistent>
-      <attribute
-            name="xPath">
-      </attribute>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors.markerUpdaters">
-      <updater
-            class="cern.silecs.view.marker.SilecsMarkerUpdater"
-            id="cern.silecs.view.marker.updater"
-            markerType="cern.silecs.view.marker">
-      </updater>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            id="cern.silecs.view.category.wizards"
-            name="Silecs">
-      </category>
-      <wizard
-            category="cern.silecs.view.category.wizards"
-            class="cern.silecs.view.wizards.NewSilecsDesignWizard"
-            finalPerspective="silecs.eclipse.plugin.perspective"
-            icon="icons/class-document.png"
-            id="cern.silecs.view.wizards.newdesignclass"
-            name="Design"
-            project="true">
-      </wizard>
-      <wizard
-            category="cern.silecs.view.category.wizards"
-            class="cern.silecs.view.wizards.NewSilecsDeployWizard"
-            finalPerspective="silecs.eclipse.plugin.perspective"
-            icon="icons/deploy-document.png"
-            id="cern.silecs.view.wizards.newdeployclass"
-            name="Deploy"
-            project="true">
-      </wizard>
-   </extension>
-   <extension
-         id="product"
-         point="org.eclipse.core.runtime.products">
-      <product
-            application="silecs.eclipse.plugin.application"
-            name="Silecs-Eclipse-Plugin 1.1.1">
-         <property
-               name="appName"
-               value="Silecs-Eclipse-Plugin 1.1.1">
-         </property>
-      </product>
-   </extension>
-   <extension
-         point="org.eclipse.ui.importWizards">
-      <category
-            id="cern.silecs.view.category.wizards"
-            name="Silecs">
-      </category>
-      <wizard
-            category="cern.silecs.view.category.wizards"
-            class="cern.silecs.view.wizards.ImportDeployFileWizard"
-            icon="icons/deploy-document.png"
-            id="cern.silecs.view.wizards.importdeploywizard"
-            name="Import Silecs-1 Deploy-Unit File">
-      </wizard>
-      <wizard
-            category="cern.silecs.view.category.wizards"
-            class="cern.silecs.view.wizards.ImportDesignFileWizard"
-            icon="icons/class-document.png"
-            id="cern.silecs.view.wizards.importdesignfilewizard"
-            name="Import Silecs-1 Design File">
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            extension="*.silecsdesign"
-            type="text">
-      </fileTypes>
-      <fileTypes
-            extension="*.silecsdeploy"
-            type="text">
-      </fileTypes>
-   </extension>
-   <extension
-         point="org.eclipse.core.contenttype.contentTypes">
-      <content-type
-            base-type="org.eclipse.core.runtime.xml"
-            file-extensions="silecsdesign"
-            id="cern.silecs.model.contenttype.design"
-            name="Design">
-      </content-type>
-      <content-type
-            base-type="org.eclipse.core.runtime.xml"
-            file-extensions="silecsdeploy"
-            id="cern.silecs.model.contenttype.deploy"
-            name="Deploy">
-      </content-type>
-   </extension>
-   <extension
-         point="org.eclipse.core.expressions.definitions">
-       <definition id="cern.silecs.designFile">
-         <iterate ifEmpty="false">
-            <adapt
-                  type="org.eclipse.core.resources.IFile">
-               <test
-                     property="org.eclipse.core.resources.extension"
-                     value="silecsdesign">
-               </test>
-            </adapt>
-         </iterate>
-      </definition>
-      
-      <definition id="cern.silecs.deployFile">
-         <iterate ifEmpty="false">
-            <adapt
-                  type="org.eclipse.core.resources.IFile">
-               <test
-                     property="org.eclipse.core.resources.extension"
-                     value="silecsdeploy">
-               </test>
-            </adapt>
-         </iterate>
-      </definition>
-      
-       <definition
-            id="cern.silecs.menu.designFile">
-         <with
-               variable="activeMenuSelection">
-            <reference
-                  definitionId="cern.silecs.designFile">
-            </reference>
-         </with>
-      </definition>
-      
-      <definition
-            id="cern.silecs.menu.deployFile">
-         <with
-               variable="activeMenuSelection">
-            <reference
-                  definitionId="cern.silecs.deployFile">
-            </reference>
-         </with>
-      </definition>
-      
-      <definition
-            id="cern.silecs.control.core.deployprojectdefinition">
-         <iterate
-               ifEmpty="false">
-            <adapt
-                  type="org.eclipse.core.resources.IProject">
-               <test
-                     property="org.eclipse.core.resources.projectNature"
-                     value="cern.silecs.control.core.deployprojectnature">
-               </test>
-            </adapt>
-         </iterate>
-      </definition>
-      <definition
-            id="cern.silecs.control.core.designprojectdefinition">
-         <iterate
-               ifEmpty="false">
-            <adapt
-                  type="org.eclipse.core.resources.IProject">
-               <test
-                     property="org.eclipse.core.resources.projectNature"
-                     value="cern.silecs.control.core.designprojectnature">
-               </test>
-            </adapt>
-         </iterate>
-      </definition>
-      <definition
-            id="cern.silecs.view.editors.design.activeEditor">
-         <with variable="activeEditorId">
-            <equals
-                  value="cern.silecs.view.editors.design">
-            </equals>
-         </with>
-      </definition>
-            <definition
-            id="cern.silecs.view.editors.deploy.activeEditor">
-         <with variable="activeEditorId">
-            <equals
-                  value="cern.silecs.view.editors.deploy">
-            </equals>
-         </with>
-      </definition>
-      <definition
-            id="cern.silecs.view.perspectivedefinition">
-         <with
-               variable="activeWorkbenchWindow.activePerspective">
-            <equals
-                  value="silecs.eclipse.plugin.perspective">
-            </equals>
-         </with>
-      </definition>
-   </extension>
-   <extension
-         point="org.eclipse.ui.decorators">
-      <decorator
-            adaptable="true"
-            class="org.eclipse.cdt.internal.ui.navigator.CNavigatorProblemsLabelDecorator"
-            id="cern.silecs.view.decorators.ErrorDecorator"
-            label="Project error decorator"
-            lightweight="true"
-            location="BOTTOM_LEFT"
-            objectClass="org.eclipse.core.resources.IResource"
-            state="true">
-         <enablement>
-            <and>
-               <objectClass
-                     name="org.eclipse.core.resources.IResource">
-               </objectClass>
-               <or>
-                  <objectClass
-                        name="org.eclipse.core.resources.IFolder">
-                  </objectClass>
-                  <objectClass
-                        name="org.eclipse.core.resources.IFile">
-                  </objectClass>
-               </or>
-            </and>
-         </enablement>
-      </decorator>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <scheme
-            id="cern.silecs.control.bindingscheme"
-            name="Binding scheme">
-      </scheme>
-      <key
-            commandId="cern.silecs.control.handlers.expandallhandler"
-            contextId="org.eclipse.ui.contexts.window"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="M1+M2+A">
-      </key>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            id="cern.silecs.view.ui"
-            name="Silecs">
-      </category>
-      <view
-            category="cern.silecs.view.ui"
-            class="cern.silecs.view.explorer.SilecsProjectExplorer"
-            icon="icons/silecs-logo.ico"
-            id="cern.silecs.view.explorer"
-            name="Silecs Explorer"
-            restorable="true">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.navigator.navigatorContent">
-      <commonFilter
-            activeByDefault="true"
-            id="cern.silecs.view.explorer.filter.hiddenfiles"
-            name=".* resources"
-            visibleInUI="true">
-         <filterExpression>
-            <and>
-               <adapt
-                     type="org.eclipse.core.resources.IResource">
-                  <test
-                        property="org.eclipse.core.resources.name"
-                        value=".*">
-                  </test>
-               </adapt>
-            </and>
-         </filterExpression>
-      </commonFilter>
-      <navigatorContent
-            activeByDefault="true"
-            contentProvider="cern.silecs.view.explorer.ProjectContent"
-            id="cern.silecs.view.explorer.content"
-            labelProvider="org.eclipse.ui.model.WorkbenchLabelProvider"
-            name="Silecs Project Content"
-            priority="normal">
-         <triggerPoints>
-            <or>
-               <adapt
-                     type="org.eclipse.core.resources.IWorkspaceRoot">
-               </adapt>
-               <adapt
-                     type="org.eclipse.core.resources.IFolder">
-               </adapt>
-               <adapt
-                     type="org.eclipse.core.resources.IProject">
-                  <or>
-                     <test
-                           property="org.eclipse.core.resources.projectNature"
-                           value="cern.silecs.control.core.DesignProjectNature">
-                     </test>
-                     <test
-                           property="org.eclipse.core.resources.projectNature"
-                           value="cern.silecs.control.core.DeployProjectNature">
-                     </test>
-                  </or>
-               </adapt>
-            </or>
-         </triggerPoints>
-         <possibleChildren>
-            <or>
-               <adapt
-                     type="org.eclipse.core.resources.IProject">
-               </adapt>
-               <adapt
-                     type="org.eclipse.core.resources.IFolder">
-               </adapt>
-               <adapt
-                     type="org.eclipse.core.resources.IFile">
-               </adapt>
-            </or>
-         </possibleChildren>
-         <commonSorter
-               class="cern.silecs.view.explorer.ContentSorter"
-               id="cern.silecs.view.explorer.sorter.ContentSorter">
-         </commonSorter>
-         <dropAssistant
-               class="org.eclipse.cdt.internal.ui.navigator.CNavigatorDropAdapterAssistant"
-               id="cern.silecs.view.explorer.resourceDropAdapter">
-            <possibleDropTargets>
-               <or>
-                  <adapt
-                        type="org.eclipse.core.resources.IProject">
-                  </adapt>
-                  <adapt
-                        type="org.eclipse.core.resources.IFolder">
-                  </adapt>
-                  <adapt
-                        type="org.eclipse.core.resources.IFile">
-                  </adapt>
-               </or></possibleDropTargets>
-         </dropAssistant>
-         <actionProvider
-               class="org.eclipse.cdt.internal.ui.navigator.CNavigatorEditActionProvider"
-               id="cern.silecs.view.explorer.actions.EditActions">
-         </actionProvider>
-         <actionProvider
-               class="org.eclipse.cdt.internal.ui.navigator.CNavigatorRefactorActionProvider"
-               id="cern.silecs.view.explorer.actions.RefactorActions">
-         </actionProvider>
-      </navigatorContent>
-   </extension>
-   <extension
-         point="org.eclipse.ui.navigator.viewer">
-      <viewer
-            viewerId="cern.silecs.view.explorer">
-         <popupMenu
-               allowsPlatformContributions="true"
-               id="cern.silecs.view.explorer#PopupMenu">
-     <insertionPoint
-                  name="group.new"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.goto">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.open"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.openwith">
-            </insertionPoint>
-            <insertionPoint
-                  name="silecs"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.edit"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.reorganize"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.port"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.generate"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.search"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.build"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="additions"
-                  separator="true">
-            </insertionPoint>
-            <insertionPoint
-                  name="group.properties"
-                  separator="true">
-            </insertionPoint>
-         </popupMenu>
-      </viewer>
-      <viewerContentBinding
-            viewerId="cern.silecs.view.explorer">
-         <includes>
-            <contentExtension
-                  isRoot="true"
-                  pattern="cern.silecs.view.explorer.content">
-            </contentExtension>
-            <contentExtension
-                  pattern="cern.silecs.view.explorer.filter.*">
-            </contentExtension>
-            <contentExtension
-                  pattern="org.eclipse.ui.navigator.resources.linkHelper">
-            </contentExtension>
-            <contentExtension
-                  pattern="org.eclipse.ui.navigator.resources.filters.workingSet">
-            </contentExtension>
-         </includes>
-      </viewerContentBinding>
-      <viewerActionBinding
-            viewerId="cern.silecs.view.explorer">
-         <includes>
-            <actionExtension
-                  pattern="org.eclipse.ui.navigator.resources.*">
-            </actionExtension>
-            <actionExtension
-                  pattern="cern.silecs.view.explorer.*">
-            </actionExtension>
-         </includes>
-      </viewerActionBinding>
-      <dragAssistant
-            class="org.eclipse.cdt.internal.ui.navigator.CNavigatorDragAdapterAssistant"
-            viewerId="cern.silecs.view.explorer">
-      </dragAssistant>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="cern.silecs.view.preferences.PreferenceInitializer">
-      </initializer>
-   </extension>
-      <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            class="cern.silecs.view.preferences.MainPreferencePage"
-            id="Silecs"
-            name="Silecs">
-      </page>
-      <page
-            category="Silecs"
-            class="cern.silecs.view.preferences.EditorPreferencePage"
-            id="cern.silecs.plugin.preferences.editor"
-            name="XML-Editor">
-      </page>
-      <page
-            category="Silecs"
-            class="cern.silecs.view.preferences.LoggingPreferencePage"
-            id="cern.silecs.plugin.preferences.logging"
-            name="Logging">
-      </page>
-   </extension>
-</plugin>
diff --git a/silecs-eclipse-plugin/pom.xml b/silecs-eclipse-plugin/pom.xml
deleted file mode 100644
index 8ca264d..0000000
--- a/silecs-eclipse-plugin/pom.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>de.gsi.cs.co</groupId>
-		<artifactId>csco-parent</artifactId>
-		<version>1.0.7</version>
-	</parent>
-	<groupId>de.gsi.cs.co.fe</groupId>
-	<artifactId>silecs.eclipse.plugin</artifactId>
-	<name>silecs-eclipse-plugin</name>
-	<packaging>eclipse-plugin</packaging>
-	<version>1.1.1.qualifier</version>
-	<description>Management of Silecs projects</description>
-	<url>https://www-acc.gsi.de/wiki/Frontend/SILECS</url>
-
-	<properties>
-		<tycho-version>0.21.0</tycho-version>
-		<platform-version-name>neon</platform-version-name>
-		<eclipse-site>http://download.eclipse.org/releases/${platform-version-name}</eclipse-site>
-	</properties>
-	<profiles>
-		<profile>
-			<id>platform-mars</id>
-			<activation>
-				<property>
-					<name>platform-version-name</name>
-					<value>mars</value>
-				</property>
-			</activation>
-			<properties>
-				<eclipse-site>http://download.eclipse.org/releases/mars</eclipse-site>
-				<platform-version>[4.4,4.6)</platform-version>
-				<swtbot-site>http://download.eclipse.org/technology/swtbot/mars/dev-build/update-site</swtbot-site>
-			</properties>
-		</profile>
-		<profile>
-            <id>platform-neon</id>
-            <activation>
-                <property>
-                    <name>platform-version-name</name>
-                    <value>neon</value>
-                </property>
-            </activation>
-            <properties>
-                <eclipse-site>http://download.eclipse.org/releases/neon</eclipse-site>
-                <platform-version>[4.6,4.8)</platform-version>
-                <swtbot-site>http://download.eclipse.org/technology/swtbot/neon/dev-build/update-site</swtbot-site>
-            </properties>
-        </profile>
-	</profiles>
-	<repositories>
-		<repository>
-			<id>default</id>
-			<url>https://artifacts.acc.gsi.de/nexus/content/repositories/default</url>
-		</repository>
-		<repository>
-			<id>mars</id>
-			<layout>p2</layout>
-			<url>${eclipse-site}</url>
-		</repository>
-		      <repository>
-            <id>neon</id>
-            <layout>p2</layout>
-            <url>${eclipse-site}</url>
-        </repository>
-	</repositories>
-	<dependencies>
-		<dependency>
-			<groupId>xalan</groupId>
-			<artifactId>xalan</artifactId>
-			<version>2.7.2</version>
-		</dependency>
-		<dependency>
-			<groupId>jaxen</groupId>
-			<artifactId>jaxen</artifactId>
-			<version>1.1.6</version>
-		</dependency>
-	</dependencies>
-	<build>
-		<plugins>
-			<plugin>
-				<artifactId>maven-eclipse-plugin</artifactId>
-				<version>2.10</version>
-				<configuration>
-					<pde>true</pde>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.8</source>
-					<target>1.8</target>
-					<compilerVersion>1.8</compilerVersion>
-				</configuration>
-			</plugin>
-			<plugin>
-				<artifactId>maven-clean-plugin</artifactId>
-				<version>2.3</version>
-				<configuration>
-					<filesets>
-						<fileset>
-							<directory>${basedir}/ext-jars</directory>
-							<includes>
-								<include>*.jar</include>
-							</includes>
-							<followSymlinks>false</followSymlinks>
-						</fileset>
-					</filesets>
-				</configuration>
-			</plugin>
-			<plugin>
-                <groupId>org.eclipse.tycho</groupId>
-                <artifactId>tycho-maven-plugin</artifactId>
-                <version>${tycho-version}</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <pomDependencies>consider</pomDependencies>
-                    <executionEnvironment>JavaSE-1.8</executionEnvironment>
-                </configuration>
-            </plugin>
-		</plugins>
-	</build>
-
-</project>
diff --git a/silecs-eclipse-plugin/project.properties b/silecs-eclipse-plugin/project.properties
deleted file mode 100644
index 2dbdd52..0000000
--- a/silecs-eclipse-plugin/project.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipseLocalOverride=true
-javadoc.enabled=false
-junit.enabled=false
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/activator/Activator.java b/silecs-eclipse-plugin/src/java/cern/silecs/activator/Activator.java
deleted file mode 100644
index 3eea8ab..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/activator/Activator.java
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.activator;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "silecs.eclipse.plugin"; //$NON-NLS-1$
-	
-	// The shared instance
-	private static Activator plugin;
-	
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	@Override
-    public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override
-    public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/activator/WebStartLauncher.java b/silecs-eclipse-plugin/src/java/cern/silecs/activator/WebStartLauncher.java
deleted file mode 100644
index e3ee96e..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/activator/WebStartLauncher.java
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.activator;
-
-import java.util.Properties;
-import java.util.Set;
-
-import org.eclipse.equinox.launcher.WebStartMain;
-
-/**
- * This class is only used by jnlp launcher. 
- * It is not used locally.
- */
-@SuppressWarnings("restriction")
-public class WebStartLauncher {
-
-    public static void main(String[] args) {
-        Properties properties = System.getProperties();
-        // copy properties to avoid ConcurrentModificationException
-        Properties copiedProperties = new Properties();
-        copiedProperties.putAll(properties);
-        Set<Object> keys = copiedProperties.keySet();
-        for (Object key : keys) {
-            if (key instanceof String) {
-                String keyString = (String) key;
-                if (keyString.startsWith("jnlp.")) {
-                    // re set all properties starting with the jnlp-prefix
-                    // and set them without the prefix
-                    String property = System.getProperty(keyString);
-                    String replacedKeyString = keyString.replaceFirst("jnlp.", "");
-
-                    System.setProperty(replacedKeyString, property);
-                }
-            }
-        }
-
-        WebStartMain.main(args);
-    }
-}
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/core/DeployProjectNature.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/core/DeployProjectNature.java
deleted file mode 100644
index 8442589..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/core/DeployProjectNature.java
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-public class DeployProjectNature extends SilecsProjectNature implements IProjectNature {
-    
-    private static final String CERN_FESA_PLUGIN_CORE_FESA_DEPLOY_PROJECT_NATURE = "cern.fesa.plugin.core.fesaDeployProjectNature";
-	public static final String NATURE_ID = "cern.silecs.control.core.deployprojectnature";
-    
-    public static void addDeployNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (monitor == null) {
-            monitor = new NullProgressMonitor();
-        }
-
-        try {
-            monitor.beginTask("Add silecs deploy nature", 2);
-            addNature(project, NATURE_ID, new SubProgressMonitor(monitor, 1));
-            addCppNature(project, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-
-    public static void removeDeployNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (monitor == null) {
-            monitor = new NullProgressMonitor();
-        }
-        
-        try {
-            monitor.beginTask("Remove silecs deploy nature", 2);
-            removeNature(project, NATURE_ID, new SubProgressMonitor(monitor, 1));
-            removeCppNature(project, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    public static void convertToDeployNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (monitor == null) {
-            monitor = new NullProgressMonitor();
-        }
-        
-        try {
-            monitor.beginTask("Converting project to silecs deploy nature", 2);
-            removeAllNatures(project, new SubProgressMonitor(monitor, 1));
-            addDeployNature(project, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    public static void addFESADeployUnitNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        monitor.beginTask("Adding FESA Class Nature to project", 2);
-        try {
-            addNature(project, CERN_FESA_PLUGIN_CORE_FESA_DEPLOY_PROJECT_NATURE, new SubProgressMonitor(monitor, 1));
-            addManageBuilderNature(project,mon);
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    public static void removeFESADeployUnitNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        monitor.beginTask("Removing FESA Nature from project", 2);
-        try {
-            removeNature(project, CERN_FESA_PLUGIN_CORE_FESA_DEPLOY_PROJECT_NATURE, new SubProgressMonitor(monitor, 1));
-            removeManageBuilderNature(project,mon);
-        } finally {
-            monitor.done();
-        }
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/core/DesignProjectNature.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/core/DesignProjectNature.java
deleted file mode 100644
index be974ee..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/core/DesignProjectNature.java
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import cern.silecs.view.console.ConsoleHandler;
-
-public class DesignProjectNature extends SilecsProjectNature implements IProjectNature {
-
-    public static final String NATURE_ID = "cern.silecs.control.core.designprojectnature";
-    
-	private static final String CERN_FESA_PLUGIN_CORE_FESA_CLASS_PROJECT_NATURE = "cern.fesa.plugin.core.fesaClassProjectNature";
-	
-    public static void addClassNature(IProject project, IProgressMonitor mon) throws CoreException {
-    	ConsoleHandler.printMessage("Debug0", true);
-        IProgressMonitor monitor = mon;
-        if (monitor == null) {
-            monitor = new NullProgressMonitor();
-        }
-
-        try {
-            monitor.beginTask("Add silecs class nature", 2);
-            ConsoleHandler.printMessage("Debug1", true);
-            addNature(project, NATURE_ID, new SubProgressMonitor(monitor, 1));
-            ConsoleHandler.printMessage("Debug2", true);
-            addCppNature(project, new SubProgressMonitor(monitor, 1));
-            ConsoleHandler.printMessage("Debug3", true);
-		} finally {
-            monitor.done();
-        }
-    }
-
-    public static void removeClassNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (monitor == null) {
-            monitor = new NullProgressMonitor();
-        }
-        
-        try {
-            monitor.beginTask("Remove silecs class nature", 2);
-            removeNature(project, NATURE_ID, new SubProgressMonitor(monitor, 1));
-            removeCppNature(project, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    public static void convertToClassNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (monitor == null) {
-            monitor = new NullProgressMonitor();
-        }
-        
-        try {
-            monitor.beginTask("Converting project to silecs class nature", 2);
-            removeAllNatures(project, new SubProgressMonitor(monitor, 1));
-            addClassNature(project, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    public static void addFESAClassNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        monitor.beginTask("Adding FESA Class Nature to project", 2);
-        try {
-            addNature(project, CERN_FESA_PLUGIN_CORE_FESA_CLASS_PROJECT_NATURE, new SubProgressMonitor(monitor, 1));
-            addManageBuilderNature(project,mon);
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    public static void removeFESAClassNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        monitor.beginTask("Removing FESA Nature from project", 2);
-        try {
-            removeNature(project, CERN_FESA_PLUGIN_CORE_FESA_CLASS_PROJECT_NATURE, new SubProgressMonitor(monitor, 1));
-            removeManageBuilderNature(project,mon);
-        } finally {
-            monitor.done();
-        }
-    }
-    
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/core/SilecsProjectNature.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/core/SilecsProjectNature.java
deleted file mode 100644
index c7ea191..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/core/SilecsProjectNature.java
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.core;
-
-
-import org.eclipse.cdt.core.CCProjectNature;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.view.console.ConsoleHandler;
-
-
-public abstract class SilecsProjectNature extends CCProjectNature {
-
-    public static final String PROJECT_FILE = ".project";
-    public static final String CDT_PROJECT_FILE = ".cproject";
-
-    private static final String ORG_ECLIPSE_CDT_MANAGEDBUILDER_CORE_SCANNER_CONFIG_NATURE = "org.eclipse.cdt.managedbuilder.core.ScannerConfigNature";
-	private static final String ORG_ECLIPSE_CDT_MANAGEDBUILDER_CORE_MANAGED_BUILD_NATURE = "org.eclipse.cdt.managedbuilder.core.managedBuildNature";
-	
-	private static final String FESA_BUILD_COMMAND_1 = "org.eclipse.cdt.managedbuilder.core.genmakebuilder";
-	private static final String FESA_BUILD_COMMAND_2 = "org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder";
-	
-    protected static void removeAllNatures(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        try {
-            IProjectDescription desc = project.getDescription();
-            desc.setNatureIds(new String[0]);
-            project.setDescription(desc, null);
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    protected static void addCppNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        monitor.beginTask("Adding C++ Nature to project", 2);
-        
-        try {
-            addNature(project, C_NATURE_ID, new SubProgressMonitor(monitor, 1));
-            addNature(project, CC_NATURE_ID, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    protected static void removeCppNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        
-        monitor.beginTask("Removing C++ Nature from project", 2);
-        
-        try {
-            removeNature(project, C_NATURE_ID, new SubProgressMonitor(monitor, 1));
-            removeNature(project, CC_NATURE_ID, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-
-    @Override
-    public void configure() throws CoreException {
-        // Do nothing. this allow to put fesa nature first
-    }
-    
-    public static SilecsConstants.ProjectType getProjectType(IProject project) throws CoreException, SilecsException {
-        if (project.hasNature(DesignProjectNature.NATURE_ID)) {
-            return SilecsConstants.ProjectType.DESIGN_PROJECT;
-        } else if (project.hasNature(DeployProjectNature.NATURE_ID)) {
-            return SilecsConstants.ProjectType.DEPLOY_PROJECT;
-        } else {
-            throw new SilecsException("Project " + project.getName() + " has no fesa nature");
-        }
-    }
-    
-    protected static void addManageBuilderNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        monitor.beginTask("Adding Managebuilder Nature to project", 2);
-        
-        try {
-        	addCppNature(project,mon);
-            addNature(project, ORG_ECLIPSE_CDT_MANAGEDBUILDER_CORE_MANAGED_BUILD_NATURE, new SubProgressMonitor(monitor, 1));
-            addNature(project, ORG_ECLIPSE_CDT_MANAGEDBUILDER_CORE_SCANNER_CONFIG_NATURE, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    protected static void removeManageBuilderNature(IProject project, IProgressMonitor mon) throws CoreException {
-        IProgressMonitor monitor = mon;
-        if (mon == null) {
-            monitor = new NullProgressMonitor();
-        }
-        
-        monitor.beginTask("Removing Managebuilder Nature from project", 2);
-        
-        try {
-        	removeCppNature(project,mon);
-            removeNature(project, ORG_ECLIPSE_CDT_MANAGEDBUILDER_CORE_MANAGED_BUILD_NATURE, new SubProgressMonitor(monitor, 1));
-            removeNature(project, ORG_ECLIPSE_CDT_MANAGEDBUILDER_CORE_SCANNER_CONFIG_NATURE, new SubProgressMonitor(monitor, 1));
-        } finally {
-            monitor.done();
-        }
-    }
-    
-    public static void addBuildSpecs(IProject project)
-    {
-        try {
-        	IProjectDescription desc = project.getDescription();
-        	ICommand[] commands = new ICommand[2];
-            final ICommand command0 = desc.newCommand();
-            final ICommand command1 = desc.newCommand();
-            command0.setBuilderName(FESA_BUILD_COMMAND_1);
-            command1.setBuilderName(FESA_BUILD_COMMAND_2);
-            commands[0] = command0;
-            commands[1] = command1;
-            
-            //remove auto-build options
-            commands[0].setBuilding(IncrementalProjectBuilder.AUTO_BUILD, false);
-            commands[1].setBuilding(IncrementalProjectBuilder.AUTO_BUILD, false);
-            commands[1].setBuilding(IncrementalProjectBuilder.CLEAN_BUILD, false);
-        	desc.setBuildSpec(commands);
-            project.setDescription(desc, null);
-        } catch (CoreException e) {
-            e.printStackTrace();
-            ConsoleHandler.printStackTrace(e);
-        }
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/AboutSilecsHandler.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/AboutSilecsHandler.java
deleted file mode 100644
index f639039..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/AboutSilecsHandler.java
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.view.dialogs.SilecsMessageDialog;
-
-/**
- * This handler displays basic information about the Silecs tool.
- */
-public class AboutSilecsHandler extends AbstractHandler implements IHandler {
-
-    @Override
-    public Object execute(ExecutionEvent event) throws ExecutionException {
-        Shell shell = PlatformUI.getWorkbench().getDisplay().getActiveShell();
-
-      //GSI-Hack .. use GSI-Support
-        String dialogMessage = "About SILECS\n\n"
-                + "A 'Design project' defines the data to be exchanged with the controller (blocks and the registers) in a hardware independent manners while a 'Deploy project' binds several design instances on a physical controller. \n"
-                + "Purpose of this tool is to provide an easy-to-use graphical interface to guide the user in the definition of his design/deploy projects and to generate the client and controller resources necessary for the communication via the Silecs communication library.\n\n"
-
-                + "If you are using this tool you may also be interests in: \n"
-                + "\u2022   Silecs communication library \n"
-                + "\u2022   Silecs diagnostic tool \n\n"
-                + "Support contact: silecs-support@gsi.de \n"
-                + "Silecs wiki:     "+ SilecsConstants.SILECS_WIKIS_PATH + "\n\n\n"
-                
-                + "Copyright 2016 CERN and GSI\n"
-                + "This program is free software: you can redistribute it and/or modify\n"
-                + "it under the terms of the GNU General Public License as published by\n"
-                + "the Free Software Foundation, either version 3 of the License, or\n"
-                + "(at your option) any later version.\n\n"
-
-                + "This program is distributed in the hope that it will be useful,\n"
-                + "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-                + "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-                + "GNU General Public License for more details.\n\n"
-                + "You should have received a copy of the GNU General Public License\n"
-                + "along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n";
-
-
-        MessageDialog dialog = new SilecsMessageDialog(shell, "About Silecs", null, dialogMessage,
-                MessageDialog.INFORMATION, new String[] { "OK" }, 0);
-        dialog.open();
-        return null;
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/BaseHandler.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/BaseHandler.java
deleted file mode 100644
index 5167a21..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/BaseHandler.java
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.handlers;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.ide.IDE;
-
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.control.core.DesignProjectNature;
-import cern.silecs.utils.SilecsUtils;
-
-public abstract class BaseHandler extends AbstractHandler {
-    
-    
-    
-    /**
-     * Gives the list of selected documents
-     * Asks the user to save the file if dirty in an editor
-     * 
-     * @param event
-     * @return
-     */
-    protected List<IFile> retrieveIeplcFiles(ExecutionEvent event) {
-        List<IFile> files = retrieveIeplcFilesNonCheck(event);
-        return ensureFileSaved(files);
-    }
-    
-    /**
-     * Gives the Ieplc file form file selection or project selection
-     * @param event
-     * @return
-     */
-    private List<IFile> retrieveIeplcFilesNonCheck(ExecutionEvent event) {
-        List<IFile> files = new ArrayList<IFile>();
-
-        // get from where the command was fired
-        Object trigger = event.getTrigger();
-        if (trigger instanceof Event) {
-            Event ev = (Event) trigger;
-
-            if (ev.widget instanceof MenuItem) {
-                // if fired by a popup
-                IStructuredSelection selection = (IStructuredSelection) HandlerUtil.getActiveMenuSelection(event);
-
-                for (Object o : selection.toList()) {
-                    if (o instanceof IFile) {
-                        files.add((IFile) o);
-                    } else if (o instanceof IProject) {
-                        // if project selected return the design or du file
-                        IProject project = (IProject) o;
-                        try {
-                            files.add(retriveIeplcFileFromProject(project));
-                        } catch (CoreException e) {
-                            // if project nature can't be retrieve, log but do nothing
-                            //LOGGER.error("Could not retrieve project nature for {}", project.getName());
-                        } catch (Exception e) {
-                            //LOGGER.error("Project nature not supported for {}", project.getName());
-                        }
-
-                    }
-                }
-
-            } else {
-                // the command was fired by a shortcut or a toolbar button
-                IEditorPart editor = HandlerUtil.getActiveEditor(event);
-                IFileEditorInput input = (IFileEditorInput) editor.getEditorInput();
-                files.add(input.getFile());
-            }
-        }
-        
-        return files;
-    }
-
-    /**
-     * Gives the list of selected project
-     * 
-     * @param event
-     * @return
-     */
-    protected List<IProject> retrieveProjects(ExecutionEvent event) {
-        List<IProject> projects = new ArrayList<IProject>();
-
-        // get from where the command was fired
-        Object trigger = event.getTrigger();
-        if (trigger instanceof Event) {
-            Event ev = (Event) trigger;
-
-            if (ev.widget instanceof MenuItem) {
-                IStructuredSelection selection = (IStructuredSelection) HandlerUtil.getActiveMenuSelection(event);
-                List<?> resources = IDE.computeSelectedResources(selection);
-                for (Object o : resources) {
-                    if (o instanceof IProject) {
-                        projects.add((IProject) o);
-                    } else if (o instanceof IFile) {
-                        IProject project = ((IFile) o).getProject();
-
-                        if (project != null) {
-                            projects.add(project);
-                        }
-                    }
-                }
-            } else {
-                IEditorPart editor = HandlerUtil.getActiveEditor(event);
-                if (editor == null) return projects;
-                IFileEditorInput input = (IFileEditorInput) editor.getEditorInput();
-                projects.add(input.getFile().getProject());
-            }
-        }
-
-        if (projects.isEmpty()) {
-            //LOGGER.info("No projects could be retrieved");
-        }
-
-        return projects;
-    }
-
-    /**
-     * Finds the Ieplc file from the project root
-     * @param project
-     * @return
-     * @throws Exception 
-     * @throws Exception
-     */
-    private IFile retriveIeplcFileFromProject(IProject project) throws Exception {
-        if (project.hasNature(DeployProjectNature.NATURE_ID)) {
-            return SilecsUtils.getSilecsDeployFile(project);
-        } else if (project.hasNature(DesignProjectNature.NATURE_ID)) {
-            return SilecsUtils.getSilecsDesignFile(project);
-        } else {
-            throw new Exception();
-        }
-    }
-    
-    /**
-     * Ensure the documents are not dirty in an open editor
-     * @param files
-     * @return
-     */
-    private List<IFile> ensureFileSaved(List<IFile> files) {
-        if (IDE.saveAllEditors(files.toArray(new IResource[files.size()]), true)) {
-            return files;
-        } else {
-            return Collections.<IFile> emptyList();
-        }
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/DiagnosticToolHandler.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/DiagnosticToolHandler.java
deleted file mode 100644
index 362d5d1..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/DiagnosticToolHandler.java
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.handlers;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.utils.OSExecute;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.preferences.MainPreferencePage;
-
-public class DiagnosticToolHandler extends AbstractHandler implements IHandler {
-
-    @Override
-    public Object execute(ExecutionEvent event) throws ExecutionException {
-
-            try
-            {
-            	ConsoleHandler.clear();
-
-                IProject project = SilecsUtils.extractSilecsFileFromEvent(event).getProject();
-
-                if( project.hasNature(DeployProjectNature.NATURE_ID) == false )
-                	throw new Exception("The project: " + project.getName() + " is not a silecs-deploy-project");
-                
-                SilecsUtils.checkSilecsVersion(project);
-                IFile deployFile = SilecsUtils.getSilecsDeployFile(project);
-               
-            	String binary = MainPreferencePage.getDiagToolBasePath(SilecsUtils.getSilecsVersion(project)) + "/bin/x86_64/silecs-diagnostic";
-            	String snap7lib = MainPreferencePage.getSNAP7LibraryBasePath(SilecsUtils.getSilecsVersion(project)) + "/bin/x86_64-linux";
-            	
-            	ConsoleHandler.printMessage("Starting  Silecs Diagnostic Tool from:" + binary, true);
-
-            	String[] command = new String[3];
-            	command[0] = binary;
-            	command[1] = "-d";
-            	command[2] = deployFile.getRawLocation().makeAbsolute().toOSString();
-            	String envVarName = "LD_LIBRARY_PATH";
-            	Map<String, String> env = new HashMap<String, String>();
-            	env.put(envVarName, snap7lib);
-            	ConsoleHandler.printMessage("Setting environment variable: '" + envVarName + "' to '" + snap7lib + "'", true);
-            	ConsoleHandler.printMessage("Executing command: " + command[0] + " " + command[1] + " " + command[2], true);
-            	OSExecute.executeCommand(env, command);
-            }
-            catch (Exception e)
-            {
-                ConsoleHandler.printError("Could not launch Silecs Diagnostic Tool", true);
-                e.printStackTrace();
-            }
-
-        return null;
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/ExpandAllHandler.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/ExpandAllHandler.java
deleted file mode 100644
index e9e4559..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/ExpandAllHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.handlers;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.ISelectionService;
-import org.eclipse.ui.PlatformUI;
-import cern.silecs.view.explorer.SilecsProjectExplorer;
-
-/**
- * This handler is responsible for expanding selected projects in the silecs explorer.<br>
- * It calls SilecsProjectExplorer's expandHelper to expand projects to src-file level. 
- */
-public class ExpandAllHandler extends AbstractHandler implements IHandler {
-
-    @Override
-    public Object execute(ExecutionEvent event) throws ExecutionException {
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        ArrayList<IProject> projects = new ArrayList<>();
-        
-        ISelectionService selectionService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService();
-
-        IStructuredSelection selections = (IStructuredSelection) selectionService
-                .getSelection(SilecsProjectExplorer.VIEW_ID);
-           
-        for(Object selection : selections.toArray()) {
-            if(selection instanceof IProject)
-                projects.add((IProject)selection);
-        }
-        
-        SilecsProjectExplorer explorer = (SilecsProjectExplorer) PlatformUI.getWorkbench().getActiveWorkbenchWindow()
-                .getActivePage().findView(SilecsProjectExplorer.VIEW_ID);
-
-        explorer.expandHelper(root, projects);
-
-        return null;
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/GenerateCodeHandler.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/GenerateCodeHandler.java
deleted file mode 100644
index 94b33bc..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/GenerateCodeHandler.java
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.handlers;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.control.core.DesignProjectNature;
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.job.BaseProjectJob;
-import cern.silecs.view.job.GenerateClassJob;
-import cern.silecs.view.job.GenerateDeployJob;
-import cern.silecs.view.preferences.MainPreferencePage;
-import cern.silecs.view.wizards.GenerateCodeWizard;
-
-public class GenerateCodeHandler extends BaseHandler implements IHandler {
-	
-	@Override
-    public Object execute(ExecutionEvent event) throws ExecutionException {
-
-		ConsoleHandler.clear();
-		
-        BaseProjectJob job = null;
-        try {
-            IFile silecsFile = SilecsUtils.extractSilecsFileFromEvent(event);
-            IProject project = silecsFile.getProject();
-            SilecsUtils.checkSilecsVersion(project);
-            
-        	IFolder src = project.getFolder("src");
-			if(project.hasNature(DesignProjectNature.NATURE_ID) )
-			{
-	    		IFile fesaDesignDoc = src.getFile(project.getName() + ".design");
-	    		boolean designDocExists = fesaDesignDoc.exists();
-	    		if(designDocExists)
-	    		{
-	    			IFile backup = src.getFile(fesaDesignDoc.getName() + ".backup");
-	    			ConsoleHandler.printMessage("Existing FESA Design document detected - new data will be inserted", true);
-	    			ConsoleHandler.printWarning("Please note that old, obsolete xml-elements are not deleted automatically! Sometimes this can lead to an invalid FESA Design document!", true);
-	    			ConsoleHandler.printWarning("If this is the case, please remove the obsolete elements by hand.", true);
-	    			ConsoleHandler.printMessage("A backup of your old document will be saved at: " + backup.getRawLocation().makeAbsolute(), true);
-	    			if(backup.exists())
-	    				backup.delete(true, null);
-	    			fesaDesignDoc.copy(backup.getFullPath(), true, null);
-	    		}
-	    		else
-	    		{
-	        		File[] templates = MainPreferencePage.getFESADesignTemplates();
-	        		File template = pickTemplate(event,templates);
-	        		if( template == null) // cancel pressed
-	        			return null;
-	        		ConsoleHandler.printMessage("The following template will be used:" + template.getAbsolutePath(), true);
-	    		    InputStream source = new FileInputStream(template);
-	    		    fesaDesignDoc.create(source, IResource.NONE, null);
-	    		}
-				job = new GenerateClassJob(project, fesaDesignDoc);
-			}
-			else if(project.hasNature(DeployProjectNature.NATURE_ID) )
-			{
-	    		IFile fesaDeployDoc = src.getFile(project.getName() + ".deploy");
-	    		boolean deployDocExists = fesaDeployDoc.exists();
-	    		if(deployDocExists)
-	    		{
-	    			IFile backup = src.getFile(fesaDeployDoc.getName() + ".backup");
-	    			ConsoleHandler.printMessage("Existing FESA Deploy-Unit document detected - new data will be inserted", true);
-	    			ConsoleHandler.printWarning("Please note that old, obsolete xml-elements are not deleted automatically! Sometimes this can lead to an invalid FESA Deploy-Unit document !", true);
-	    			ConsoleHandler.printWarning("If this is the case, please remove the obsolete elements by hand.", true);
-	    			ConsoleHandler.printMessage("A backup of your old document will be saved at: " + backup.getRawLocation().makeAbsolute(), true);
-	    			if(backup.exists())
-	    				backup.delete(true, null);
-	    			fesaDeployDoc.copy(backup.getFullPath(), true, null);
-	    		}
-	    		else
-	    		{
-	        		File[] templates = MainPreferencePage.getFESADeployUnitTemplates();
-	        		File template = pickTemplate(event,templates);
-	        		if( template == null) // cancel pressed
-	        			return null;
-	        		ConsoleHandler.printMessage("The following template will be used:" + template.getAbsolutePath(), true);
-	    		    InputStream source = new FileInputStream(template);
-	    		    fesaDeployDoc.create(source, IResource.NONE, null);
-	    		}
-	    		
-				job = new GenerateDeployJob(project, fesaDeployDoc,!deployDocExists);
-			}
-			else
-			{
-				ConsoleHandler.printError("Failed to find SILECS Project Nature", true);
-				return null;
-			}
-		} catch (Exception e)
-        {
-			ConsoleHandler.printError("Failed to generate code: ", true);
-			ConsoleHandler.printStackTrace(e);
-	        return null;
-		}
-            	
-        job.setUser(true);
-        job.schedule();
-        
-        return null;
-    }
-
-	private File pickTemplate(ExecutionEvent event, File[] templates) throws SilecsException
-	{
-		if(templates.length < 1)
-		{
-			String error = "Failed to generate FESA Class. No templates found. please fix your FESA-PATH in the preferences!";
-			ConsoleHandler.printError(error, true);
-			throw new SilecsException(error);
-		}
-		if( templates.length == 1 )
-		{
-			return templates[0];
-		}
-		//TODO: Would be nice to add the possibility to pick a foreign template from the file system
-		Shell activeShell = HandlerUtil.getActiveShell(event);
-		IWizard wizard = new GenerateCodeWizard(templates);
-		WizardDialog dialog = new WizardDialog(activeShell, wizard);
-		dialog.open();
-		return ((GenerateCodeWizard)wizard).getChoice();
-	}
-    
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/SilecsWikis.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/SilecsWikis.java
deleted file mode 100644
index 0973f98..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/SilecsWikis.java
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.utils.SilecsConstants;
-
-import java.awt.Desktop;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-/**
- * This handler opens silecs-wiki in the browser.
- */
-public class SilecsWikis extends AbstractHandler implements IHandler {
-
-    @Override
-    public Object execute(ExecutionEvent event) throws ExecutionException {
-        
-        // Open windows default browser (or firefox under linux) and load Silecs Wikis pages
-        try {
-            if (SilecsUtils.isWindows) {
-                Desktop.getDesktop().browse(new URI(SilecsConstants.SILECS_WIKIS_PATH));
-            } else {
-                Runtime runtime = Runtime.getRuntime();
-                runtime.exec("/usr/bin/firefox -new-window " + SilecsConstants.SILECS_WIKIS_PATH);
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        } catch (URISyntaxException e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/UpdateSilecsProjectHandler.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/UpdateSilecsProjectHandler.java
deleted file mode 100644
index 6966b77..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/UpdateSilecsProjectHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.handlers;
-
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.job.BaseProjectJob;
-
-import cern.silecs.view.job.UpdateVersionJob;
-import cern.silecs.view.wizards.UpdateSilecsProjectWizard;
-
-
-public class UpdateSilecsProjectHandler extends AbstractHandler implements IHandler {
-
-	@Override
-    public Object execute(ExecutionEvent event) throws ExecutionException
-	{
-
-		ConsoleHandler.clear();
-		
-        BaseProjectJob job = null;
-        
-        try
-        {
-        	String newVersion = pickVersion(event);
-            IFile silecsFile = SilecsUtils.extractSilecsFileFromEvent(event);
-            IProject project = silecsFile.getProject();
-			job = new UpdateVersionJob(project, newVersion);
-
-		} catch (Exception e)
-        {
-			ConsoleHandler.printError("Failed to update SILECS version: " , true);
-			ConsoleHandler.printStackTrace(e);
-	        return null;
-		}
-            	
-        job.setUser(true);
-        job.schedule();
-        
-        return null;
-	}
-	
-	private String pickVersion(ExecutionEvent event) throws SilecsException
-	{
-		Shell activeShell = HandlerUtil.getActiveShell(event);
-		IWizard wizard = new UpdateSilecsProjectWizard();
-		WizardDialog dialog = new WizardDialog(activeShell, wizard);
-		dialog.open();
-		return ((UpdateSilecsProjectWizard)wizard).getSelectedVersion();
-	}
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/ValidateHandler.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/ValidateHandler.java
deleted file mode 100644
index 37e7e05..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/handlers/ValidateHandler.java
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.resources.IFile;
-
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.job.ValidationJob;
-import cern.silecs.utils.SilecsUtils;
-
-
-public class ValidateHandler extends BaseHandler implements IHandler {
-	
-    @Override
-    public Object execute(ExecutionEvent event) throws ExecutionException {
-
-    	ConsoleHandler.clear();
-        ConsoleHandler.printMessage("Validating XML  ...", true);
-        ValidationJob job;
-		try
-		{
-			IFile file = SilecsUtils.extractSilecsFileFromEvent(event);
-			SilecsUtils.checkSilecsVersion(file.getProject());
-			job = new ValidationJob(file);
-		}
-		catch (Exception e)
-		{
-			 ConsoleHandler.printError("Failed to validate file:", true);
-			 ConsoleHandler.printStackTrace(e);
-			 return null;
-		}
-
-        job.schedule();
-        return null;
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/Validator.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/Validator.java
deleted file mode 100644
index e9e0197..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/Validator.java
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.validation;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.List;
-
-import org.apache.xerces.parsers.DOMParser;
-import org.apache.xerces.xni.parser.XMLInputSource;
-import org.eclipse.core.resources.IFile;
-
-import cern.silecs.control.validation.internal.Handler;
-import cern.silecs.model.document.SilecsDocumentError;
-import cern.silecs.view.console.ConsoleHandler;
-
-/**
- * Class used for validating single xmlFile
- */
-public class Validator
-{
-    /**
-     * This method takes as an argument xml file.<br>
-     * If the document is not xml file or is somehow broken list with "Document is not parsed correctly" error is returned."<br>
-     * 
-     * External python validation is called in this method!
-     * 
-     * @param xmlFile
-     * @return list of errors
-     */
-    public static List<SilecsDocumentError> validate(File xmlFile)
-    {
-        List<SilecsDocumentError> errors = null;
-        try {
-            // create DOM parser which validates, use a grammar pool,
-            // support xincludes and allow the access to the nodes
-            // during the parsing
-            DOMParser parser = new DOMParser();
-            
-            parser.setFeature("http://xml.org/sax/features/validation", true);
-            parser.setFeature("http://apache.org/xml/features/validation/schema", true);
-            parser.setFeature("http://apache.org/xml/features/honour-all-schemaLocations", true);
-            parser.setFeature("http://apache.org/xml/features/xinclude", true);
-            parser.setFeature("http://apache.org/xml/features/xinclude/fixup-base-uris", false);
-            parser.setFeature("http://apache.org/xml/features/xinclude/fixup-language", false);
-            parser.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", false);
-
-            // Set the error handler
-            Handler handler = new Handler(xmlFile, parser);
-            parser.setErrorHandler(handler);
-
-            // create the input
-            String uri = xmlFile.toURI().toString().replace("%20", " ");
-            
-            InputStream inputStream = new FileInputStream(xmlFile);
-            XMLInputSource inputSource = new XMLInputSource("", uri, uri, inputStream, "UTF-8");
-            parser.parse(inputSource);
-
-            // get the errors and the model
-            errors = handler.getErrors();
-            errors.addAll(internalRules.validate(xmlFile));
-
-        }
-        catch (Exception e)
-        {
-            ConsoleHandler.printError("Document " + xmlFile.getName() + " has not been parsed correctly: " + e.getMessage(), true);
-            ConsoleHandler.printStackTrace(e);
-        }
-        
-        return errors;
-    }
-    
-    public static boolean isDocumentValid(IFile silecsDocument)
-    {
-        try
-        {
-            File xmlFile = new File(silecsDocument.getLocationURI());
-            if (validate(xmlFile).isEmpty())
-            	return true;
-            return false;
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            ConsoleHandler.printStackTrace(e);
-            return false;
-        }
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/internal/Handler.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/internal/Handler.java
deleted file mode 100644
index 56f49f7..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/internal/Handler.java
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.validation.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.xerces.parsers.DOMParser;
-import org.w3c.dom.Element;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.SAXParseException;
-
-import cern.silecs.model.document.SilecsDocumentError;
-import cern.silecs.model.document.SilecsDocumentError.ErrorLevel;
-import cern.silecs.view.console.ConsoleHandler;
-
-public class Handler implements ErrorHandler
-{
-    private static final String CURRENT_NODE = "http://apache.org/xml/properties/dom/current-element-node";
-
-    private final DOMParser parser;
-    private final String fileName;
-    private List<SilecsDocumentError> errors;
-
-    public Handler(File xmlFile, DOMParser parser) {
-        this.parser = parser;
-        this.fileName = xmlFile.getName();
-        this.errors = new ArrayList<SilecsDocumentError>();
-    }
-
-    @Override
-    public void warning(SAXParseException e) throws SAXException {
-        addError(ErrorLevel.WARNING, e);
-    }
-
-    @Override
-    public void error(SAXParseException e) throws SAXException {
-        addError(ErrorLevel.ERROR, e);
-    }
-
-    @Override
-    public void fatalError(SAXParseException e) throws SAXException {
-        addError(ErrorLevel.FATAL, e);
-    }
-
-    public final List<SilecsDocumentError> getErrors() {
-        return errors;
-    }
-
-    private void addError(ErrorLevel level, SAXParseException e) {
-        Element element = null;
-        try
-        {
-            element = (Element) parser.getProperty(CURRENT_NODE);
-        }
-        catch (SAXNotRecognizedException | SAXNotSupportedException e1)
-        {
-        	ConsoleHandler.printStackTrace(e1);
-        	return;
-        }
-        SilecsDocumentError error = null;
-        String file = e.getSystemId();
-        if (!file.endsWith(fileName)) {
-            // if the error is in the included xml or in the schema, we want to report the problem
-            // on the validated file but with a specific message
-            error = new SilecsDocumentError(level, "Error in included file: " + file + " at " + e.getLineNumber() + ":"
-                    + e.getColumnNumber() + " => " + e.getMessage(), -1, -1, null);
-        } else {
-            error = new SilecsDocumentError(level, e, element);
-        }
-
-        errors.add(error);
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/internalRules.java b/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/internalRules.java
deleted file mode 100644
index 0b2524b..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/control/validation/internalRules.java
+++ /dev/null
@@ -1,201 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.control.validation;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-import cern.silecs.model.document.SilecsDocumentError;
-import cern.silecs.utils.SilecsUtils;
-
-public class internalRules {
-
-    public static List<SilecsDocumentError> validate(File file) throws ParserConfigurationException, SAXException, IOException
-    {
-    	// Some of the XSD-checks are version-specific. This is painful and will vanish some day when using XSD1.1 for all checks
-    	//String silecs_version =  
-    			
-    	List<SilecsDocumentError> errors = new ArrayList<SilecsDocumentError>();
-
-    	DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
-    	DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
-    	Document doc = dBuilder.parse(file);
-    	
-    	if( SilecsUtils.isSilecsDesign(file.getAbsolutePath()) )
-    	{
-    		errors.addAll(classRule_RegisterDim2(doc));
-    		errors.addAll(classRule_RO_Slave(doc));
-    		errors.addAll(classRule_WO_Master(doc));
-    		errors.addAll(classRule_StringLength(doc));
-    	}
-    	if( SilecsUtils.isSilecsDeploy(file.getAbsolutePath()) )
-    	{
-    		errors.addAll(deployRule_addressing_SchneiderM340(doc));
-    		errors.addAll(deployRule_addressing_BeckhoffCX90xx(doc));
-    	}
-        return errors;
-    }
-    
-    private static String getXPath(Node node)
-    {
-        Node parent = node.getParentNode();
-        if (parent == null)
-        {
-            return "/";
-        }
-        
-        if(!((Element)node).getAttribute("name").isEmpty())
-        	return getXPath(parent) + "/" + node.getNodeName() + "[@name='"+ ((Element)node).getAttribute("name") + "']";
-        
-        return getXPath(parent) + "/" + node.getNodeName();
-    }
-    
-    private static List<SilecsDocumentError> classRule_RegisterDim2(Document doc)
-    {
-    	List<SilecsDocumentError> errors = new ArrayList<SilecsDocumentError>();
-    	NodeList regNodes = doc.getElementsByTagName("Register");
-    	for( int i = 0; i< regNodes.getLength() ; i++)
-    	{
-    		Element register = (Element)regNodes.item(i);
-    		if( register.hasAttribute("array-dim2") && !register.hasAttribute("array-dim1") )
-    		{
-                SilecsDocumentError newError = new SilecsDocumentError( SilecsDocumentError.ErrorLevel.ERROR, "array-dim1 is required if array-dim2 is defined", -1, -1,getXPath(register));
-                errors.add(newError);
-    		}
-    	}
-    	return errors;
-    }
-    
-    private static List<SilecsDocumentError> classRule_RO_Slave(Document doc)
-    {
-    	List<SilecsDocumentError> errors = new ArrayList<SilecsDocumentError>();
-    	NodeList blockNodes = doc.getElementsByTagName("Block");
-    	for( int i = 0; i< blockNodes.getLength() ; i++)
-    	{
-    		Element block = (Element)blockNodes.item(i);
-    		if( block.getAttribute("mode").equals("READ-ONLY") )
-    		{
-    			NodeList registerNodes = block.getElementsByTagName("Register");
-    			for( int j = 0; j< registerNodes.getLength() ; j++)
-    			{
-    				Element register = (Element)registerNodes.item(j);
-    	    		if( register.getAttribute("synchro").equals("SLAVE") )
-    	    		{
-    	                SilecsDocumentError newError = new SilecsDocumentError( SilecsDocumentError.ErrorLevel.ERROR, "Register cannot have SLAVE synchro attribute within READ-ONLY block", -1, -1,getXPath(register));
-    	                errors.add(newError);
-    	    		}
-    			}
-    		}
-    	}
-    	return errors;
-    }
-    
-    private static List<SilecsDocumentError> classRule_WO_Master(Document doc)
-    {
-    	List<SilecsDocumentError> errors = new ArrayList<SilecsDocumentError>();
-    	NodeList blockNodes = doc.getElementsByTagName("Block");
-    	for( int i = 0; i< blockNodes.getLength() ; i++)
-    	{
-    		Element block = (Element)blockNodes.item(i);
-    		if( block.getAttribute("mode").equals("WRITE-ONLY"))
-    		{
-    			NodeList registerNodes = block.getElementsByTagName("Register");
-    			for( int j = 0; j< registerNodes.getLength() ; j++)
-    			{
-    				Element register = (Element)registerNodes.item(j);
-    	    		if( register.getAttribute("synchro").equals("MASTER") )
-    	    		{
-    	                SilecsDocumentError newError = new SilecsDocumentError( SilecsDocumentError.ErrorLevel.ERROR, "Register cannot have MASTER synchro attribute within WRITE-ONLY block", -1, -1,getXPath(register));
-    	                errors.add(newError);
-    	    		}
-    			}
-    		}
-    	}
-    	return errors;
-    }
-    	
-    private static List<SilecsDocumentError> classRule_StringLength(Document doc)
-    {
-    	List<SilecsDocumentError> errors = new ArrayList<SilecsDocumentError>();
-		NodeList registerNodes = doc.getElementsByTagName("Register");
-		for( int j = 0; j< registerNodes.getLength() ; j++)
-		{
-			Element register = (Element)registerNodes.item(j);
-    		if( register.getAttribute("format").equals("string") == false )
-    		{
-    			if( register.hasAttribute("string-len"))
-    			{
-	                SilecsDocumentError newError = new SilecsDocumentError( SilecsDocumentError.ErrorLevel.ERROR, "string-len attribute only allowed for @format='string'.", -1, -1,getXPath(register));
-	                errors.add(newError);
-    			}
-    		}
-		}
-    	return errors;
-    }
-
-    private static List<SilecsDocumentError> deployRule_addressing_SchneiderM340(Document doc)
-    {
-    	List<SilecsDocumentError> errors = new ArrayList<SilecsDocumentError>();
-		NodeList schneiderPLCNode = doc.getElementsByTagName("Schneider-PLC");
-		for( int i = 0; i< schneiderPLCNode.getLength() ; i++)
-		{
-			Element plc = (Element)schneiderPLCNode.item(i);
-    		if( plc.getAttribute("model").equals("M340"))
-    		{
-    			int basAddress = Integer.parseInt( plc.getAttribute("base-address"));
-    			if( basAddress%2 != 0 )
-    			{
-	                SilecsDocumentError newError = new SilecsDocumentError( SilecsDocumentError.ErrorLevel.ERROR, "Only even addressing is allowed for UNITY_M340. Please change the base address value to an even number.", -1, -1,getXPath(plc));
-	                errors.add(newError);
-    			}
-    		}
-		}
-    	return errors;
-    }
-    
-    private static List<SilecsDocumentError> deployRule_addressing_BeckhoffCX90xx(Document doc)
-    {
-    	List<SilecsDocumentError> errors = new ArrayList<SilecsDocumentError>();
-		NodeList schneiderPLCNode = doc.getElementsByTagName("Beckhoff-PLC");
-		for( int i = 0; i< schneiderPLCNode.getLength() ; i++)
-		{
-			Element plc = (Element)schneiderPLCNode.item(i);
-    		if( plc.getAttribute("model").equals("CX9020"))
-    		{
-    			int basAddress = Integer.parseInt( plc.getAttribute("base-address"));
-    			if( basAddress%2 != 0 )
-    			{
-	                SilecsDocumentError newError = new SilecsDocumentError( SilecsDocumentError.ErrorLevel.ERROR, "Only even addressing is allowed for TWINCAT_CX9020. Please change the base address value to an even number.", -1, -1,getXPath(plc));
-	                errors.add(newError);
-    			}
-    		}
-		}
-    	return errors;
-    }
-    
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/model/document/SilecsDocumentError.java b/silecs-eclipse-plugin/src/java/cern/silecs/model/document/SilecsDocumentError.java
deleted file mode 100644
index 1e0f25d..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/model/document/SilecsDocumentError.java
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.model.document;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.w3c.dom.Node;
-import org.xml.sax.SAXParseException;
-
-import cern.silecs.utils.XmlUtils;
-
-
-public class SilecsDocumentError {
-
-    public enum ErrorLevel {
-        INFO,
-        WARNING,
-        ERROR,
-        FATAL
-    }
-
-    /**
-     * error level
-     */
-    public final ErrorLevel level;
-
-    /**
-     * text with the description of the error
-     */
-    public final String message;
-
-    /**
-     * line of the error
-     */
-    public final int lineNumber;
-
-    /**
-     * column of the error
-     */
-    public final int columnNumber;
-
-    /**
-     * Element which cause the error
-     */
-    public final String xPath;
-    
-    /**
-     * If an identity constraint has been violated, this contains the name of the violated key
-     */
-    public final String violatedKey;
-    
-    /**
-     * If an identity constraint has been violated, this contains the incorrect value which is the cause of the error
-     */
-    public final String incorrectValue;
-    
-    private static final String CONSTRAINT_MESSAGE_PATTERN = "cvc-identity-constraint.4.3: Key '(.*)' with value '(.*)' not found for identity constraint of element '(.*)'\\.";
-
-    public SilecsDocumentError(ErrorLevel level, String message, int lineNumber, int columnNumber, String xPath) {
-        this.level = level;
-        this.message = message;
-        this.lineNumber = lineNumber;
-        this.columnNumber = columnNumber;
-        this.xPath = xPath;
-        
-        String key = "";
-        String value = "";
-        Pattern constraintPattern = Pattern.compile(CONSTRAINT_MESSAGE_PATTERN);
-        Matcher m = constraintPattern.matcher(message);
-        if (m.find()) {
-            key = m.group(1);
-            value =  m.group(2);
-        }
-        
-        this.violatedKey = key;
-        this.incorrectValue = value;
-    }
-
-    public SilecsDocumentError(ErrorLevel level, SAXParseException e, Node node) {
-        this(level, e.getMessage(), e.getLineNumber(), e.getColumnNumber(), XmlUtils.xPathFromNode(node));
-    }
-    
-    public boolean isIdentityConstraintError() {
-        return !violatedKey.isEmpty();
-    }
-
-    @Override
-    public String toString() {
-        return lineNumber + ":" + columnNumber + " => " + message;
-    }
-}
-
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/model/document/XmlBasedDocument.java b/silecs-eclipse-plugin/src/java/cern/silecs/model/document/XmlBasedDocument.java
deleted file mode 100644
index e48c06a..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/model/document/XmlBasedDocument.java
+++ /dev/null
@@ -1,234 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.model.document;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-
-import org.apache.xpath.XPathAPI;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.utils.XmlUtils;
-import cern.silecs.view.console.ConsoleHandler;
-
-public class XmlBasedDocument {
-
-    public static final String XML_EXTENSION = ".xml";
-    public static final String XSD_EXTENSION = ".xsd";
-
-    protected Document xmlDocument;
-
-    /**
-     * Abstract class for data access object based on xml DOM
-     */
-    public XmlBasedDocument(Document xmlDocument) {
-        this.xmlDocument = xmlDocument;
-    }
-
-    /**
-     * Give the DOM
-     * 
-     * @return
-     */
-    public Document getXmlDocument() {
-        return xmlDocument;
-    }
-
-    /**
-     * Helper that gives the list of element from an xPath query
-     * 
-     * @param xPathQuery
-     * @return
-     * @throws SilecsException
-     */
-    public List<Element> getElements(String xPathQuery) throws SilecsException {
-        return getElements(xmlDocument, xPathQuery);
-    }
-
-    /**
-     * Helper that gives the list of element from an xPath query
-     * 
-     * @param node node from where the query is executed
-     * @param xPathQuery
-     * @return
-     * @throws SilecsException
-     */
-    public List<Element> getElements(Node node, String xPathQuery) throws SilecsException {
-        List<Node> nodes = getNodes(node, xPathQuery);
-        List<Element> elements = new ArrayList<Element>(nodes.size());
-
-        for (Node n : nodes) {
-            if (n instanceof Element) {
-                elements.add((Element) n);
-            }
-        }
-
-        return elements;
-    }
-
-    /**
-     * Helper that gives the first element from an xPath query
-     * 
-     * @param xPathQuery
-     * @return
-     * @throws SilecsException
-     */
-    public Element getSingleElement(String xPathQuery) throws SilecsException {
-        Node foundNode = getSingleNode(xPathQuery);
-        if (foundNode instanceof Element) {
-            return (Element) foundNode;
-        } else {
-            return null;
-        }
-    }
-
-    /**
-     * Helper that gives the first element from an xPath query
-     * 
-     * @param node node from where the query is executed
-     * @param xPathQuery
-     * @return
-     * @throws SilecsException
-     */
-    public Element getSingleElement(Node node, String xPathQuery) throws SilecsException {
-        Node foundNode = getSingleNode(node, xPathQuery);
-        if (foundNode instanceof Element) {
-            return (Element) foundNode;
-        } else {
-            return null;
-        }
-    }
-
-    public List<Node> getNodes(String xPathQuery) throws SilecsException {
-        return getNodes(xmlDocument, xPathQuery);
-    }
-
-    public List<Node> getNodes(Node node, String xPathQuery) throws SilecsException {
-        if (xPathQuery == null || xPathQuery.isEmpty()) {
-            return Collections.emptyList();
-        }
-
-        // check the node is from the document
-        if (node != xmlDocument && node.getOwnerDocument() != xmlDocument) {
-            throw new SilecsException("The given node is not part of the document being queried");
-        }
-
-        try {
-            NodeList foundNodes = XPathAPI.selectNodeList(node, xPathQuery);
-            List<Node> nodes = new ArrayList<Node>(foundNodes.getLength());
-
-            for (int i = 0; i < foundNodes.getLength(); i++) {
-                nodes.add(foundNodes.item(i));
-            }
-
-            return nodes;
-        } catch (TransformerException e) {
-            throw new SilecsException("Could not get entity's node using xpath " + xPathQuery, e);
-        }
-    }
-
-    /**
-     * Helper that gives the first node from an xPath query
-     * 
-     * @param xPathQuery
-     * @return
-     * @throws SilecsException
-     */
-    public Node getSingleNode(String xPathQuery) throws SilecsException {
-        if (xPathQuery == null || xPathQuery.isEmpty()) {
-            return null;
-        }
-
-        try {
-            return XPathAPI.selectSingleNode(xmlDocument, xPathQuery);
-        } catch (TransformerException e) {
-            throw new SilecsException("Could not get entity's node using xpath " + xPathQuery, e);
-        }
-    }
-
-    /**
-     * Helper that gives the first node from an xPath query
-     * 
-     * @param node node from where the query is executed
-     * @param xPathQuery
-     * @return
-     * @throws SilecsException
-     */
-    public Node getSingleNode(Node node, String xPathQuery) throws SilecsException {
-        if (xPathQuery == null || xPathQuery.isEmpty()) {
-            return null;
-        }
-
-        // check the node is from the document
-        if (node.getOwnerDocument() != xmlDocument) {
-            throw new SilecsException("The given node is not part of the document being queried");
-        }
-
-        try {
-            return XPathAPI.selectSingleNode(node, xPathQuery);
-        } catch (TransformerException e) {
-            throw new SilecsException("Could not get entity's node using xpath " + xPathQuery, e);
-        }
-    }
-
-    /**
-     * Helper that gives the tag name of the elements matched by the xpath
-     * 
-     * @param xPathQuery
-     * @return
-     * @throws SilecsException
-     */
-    public List<String> getTagNames(String xPathQuery) throws SilecsException {
-        List<Element> elements = getElements(xPathQuery);
-        List<String> nodeNames = new ArrayList<String>(elements.size());
-
-        for (Element e : elements) {
-            nodeNames.add(e.getTagName());
-        }
-
-        return nodeNames;
-    }
-
-    /**
-     * Give the string representation of the DOM
-     */
-    @Override
-    public String toString()
-    {
-        try
-        {
-            return XmlUtils.nodeToString(xmlDocument);
-        }
-        catch( TransformerException e)
-        {
-        	ConsoleHandler.printStackTrace(e);
-            return super.toString();
-        }
-        catch(TransformerFactoryConfigurationError e)
-        {
-        	ConsoleHandler.printStackTrace(e.getException());
-            return super.toString();
-        }
-    }
-}
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/model/exception/SilecsException.java b/silecs-eclipse-plugin/src/java/cern/silecs/model/exception/SilecsException.java
deleted file mode 100644
index 0e8ff65..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/model/exception/SilecsException.java
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.model.exception;
-
-
-public class SilecsException extends Exception {
-
-    private static final long serialVersionUID = 5282474727123991544L;
-
-    /**
-     * The error code which can be used to localize the error messages
-     */
-    private final int errorCode;
-
-    /** Empty constructor **/
-    public SilecsException() {
-        this.errorCode = -1;
-    }
-
-    /**
-     * Constructor with the Silecs error code
-     * 
-     * @param errorCode
-     */
-    public SilecsException(int errorCode) {
-        this.errorCode = errorCode;
-    }
-
-    /**
-     * Constructor
-     * 
-     * @param message
-     */
-    public SilecsException(String message) {
-        super(message);
-        this.errorCode = -1;
-    }
-
-    /**
-     * Constructor with the Silecs error code
-     * 
-     * @param errorCode
-     * @param message
-     */
-    public SilecsException(int errorCode, String message) {
-        super(message);
-        this.errorCode = errorCode;
-    }
-
-    /**
-     * Constructor
-     * 
-     * @param message
-     * @param cause previous cause of the error (exception chaining)
-     */
-    public SilecsException(String message, Throwable cause) {
-        super(message, cause);
-        this.errorCode = -1;
-    }
-
-    /**
-     * Constructor
-     * 
-     * @param errorCode
-     * @param message
-     * @param cause
-     */
-    public SilecsException(int errorCode, String message, Throwable cause) {
-        super(message, cause);
-        this.errorCode = errorCode;
-    }
-
-    /**
-     * Returns the Silecs error code
-     * -1 is the default value if no error code is set
-     * @return
-     */
-    public int getErrorCode() {
-        return errorCode;
-    }
-}
-
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/utils/OSExecute.java b/silecs-eclipse-plugin/src/java/cern/silecs/utils/OSExecute.java
deleted file mode 100644
index 70852a0..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/utils/OSExecute.java
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.utils;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import cern.silecs.activator.Activator;
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.preferences.MainPreferencePage;
-
-public class OSExecute
-{
-    
-    public static String getNewestSilecsFesaCodegenDirectory(String codegenBaseDirectory) throws SilecsException, IOException
-	{
-    	String fesaBaseDirectory = codegenBaseDirectory + "/fesa";
-    	if(!new File(fesaBaseDirectory).exists())
-    	{
-    		throw new SilecsException("The directory: '" + fesaBaseDirectory + "' does not exist. Please check your Eclipse-Silecs preferences!");
-    	}
-		File baseFolder = new File(fesaBaseDirectory);
-		
-		List<String> fesaFolders = new ArrayList<String>();
-
-	    for (final File fileEntry : baseFolder.listFiles())
-	    {
-	    	if( fileEntry.isDirectory())
-	    	{
-	    		fesaFolders.add(fileEntry.getCanonicalPath().toString());
-	    	}
-	    }
-	    Collections.sort(fesaFolders);
-	    Collections.reverse(fesaFolders);
-	    return fesaFolders.get(0);
-	}
-    
-    public static String getmatchingSilecsFesaCodegen(String codegenBaseDirectory, String silecsVersion) throws SilecsException, IOException
-	{
-		if( MainPreferencePage.getFESAVersion().equals("DEV"))
-		{
-			String silecsCodegenFolder = getNewestSilecsFesaCodegenDirectory(codegenBaseDirectory);
-			ConsoleHandler.printMessage("DEV of FESA version was selected, using most recent silecs-fesa codegen: " + silecsCodegenFolder, true);
-			return silecsCodegenFolder;
-		}
-		
-    	String fesaBaseDirectory = codegenBaseDirectory + "/fesa";
-    	if(!new File(fesaBaseDirectory).exists())
-    	{
-    		throw new SilecsException("The directory: '" + fesaBaseDirectory + "' does not exist. Please check your Eclipse-Silecs preferences!");
-    	}
-    	List<String> availableFesaVersions = MainPreferencePage.getAllFesaVersions();
-    	String selectedFesaVersion =  MainPreferencePage.getFESAVersion();
-    	String tempFesaVersion = selectedFesaVersion;
-    	int fesaVersionIndex = availableFesaVersions.lastIndexOf(selectedFesaVersion);
-    	String fesaDirectory = "";
-    	while(true)
-    	{
-	    	String fesaVersionUnderscored = tempFesaVersion.replaceAll("\\.", "_");
-	    	fesaDirectory = fesaBaseDirectory + "/fesa_" + fesaVersionUnderscored;
-	    	if(new File(fesaDirectory).exists())
-	    	{
-	    		return fesaDirectory;
-	    	}
-        	fesaVersionIndex ++ ;
-        	if( fesaVersionIndex >= availableFesaVersions.size() )
-        	{
-        		throw new SilecsException("No matching silecs code-generation found for FESA-version '" + selectedFesaVersion + "'. Please select a more recent FESA-version in the Eclipse-Silecs preferences!");
-        	}
-        	ConsoleHandler.printError("No silecs code-generation for the FESA-version '" + tempFesaVersion + "' found. Attempt to use silecs-codegen for the older FESA-version: '" + availableFesaVersions.get(fesaVersionIndex) + "'", true);
-        	tempFesaVersion = availableFesaVersions.get(fesaVersionIndex);
-    	}
-	}
-    
-    
-    public static void executePython(String file, String method, String silecsVersion, String[] parameters) throws IOException, InterruptedException, SilecsException
-    {   
-    	String[] command = new String[3];  
-    	command[0] = "python";
-    	command[1] = "-c";
-    	
-    	String codegenBaseDirectory = MainPreferencePage.getCodeGenBasePath(silecsVersion);
-    	String fesaDirectory = getmatchingSilecsFesaCodegen(codegenBaseDirectory, silecsVersion);
-        
-    	// Add required root directories
-    	command[2] = "import sys; ";
-    	command[2] += "sys.path.append('" + codegenBaseDirectory + "'); ";
-    	command[2] += "sys.path.append('" + codegenBaseDirectory + "/migration'); "; 
-    	command[2] += "sys.path.append('" + fesaDirectory + "'); ";
-    	
-    	// import file
-    	command[2] += "import " + file + "; ";
-    	
-    	// execute method
-    	command[2] += file +"." + method + "(";
-    	
-    	for(int i=0;i<parameters.length;i++)
-	    {
-    		command[2] += "'" + parameters[i] + "'";
-    		if( i < parameters.length - 1)
-    		{
-    			command[2] += ",";
-    		}
-	    }
-    	command[2] += ")";
-    	int exitCode = executeCommand(command);
-        if (exitCode != 0)
-        {
-            throw new SilecsException("Executing python-command '" + command[2] + "' failed. Error code: " + exitCode);
-        }
-    }
-    
-    class Environment
-    {
-    	String environmentVariableName;
-    	
-    	
-    };
-    
-    public static int executeCommand(String... command) throws IOException, InterruptedException, SilecsException
-    {
-    	Map<String, String> env = new HashMap<String, String>();
-    	return executeCommand(env, command);
-    }
-    
-    public static int executeCommand(Map<String, String> environmentVariables, String... command) throws IOException, InterruptedException, SilecsException
-    {
-		ProcessBuilder pb = new ProcessBuilder(command);
-		Map<String, String> env = pb.environment();
-		env.putAll(environmentVariables);
-		
-		Process process = pb.start();
-        process.waitFor();
-        int exitCode = process.exitValue();
-
-        BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
-        String line;
-		while ((line = input.readLine()) != null)
-        {
-			ConsoleHandler.printMessage(line, true);
-        }
-        input.close();
-		
-        BufferedReader error = new BufferedReader(new InputStreamReader(process.getErrorStream()));
-
-		while ((line = error.readLine()) != null)
-        {
-			ConsoleHandler.printError(line, true);
-        }
-		error.close();
-		
-		return exitCode;
-    }
-}
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/utils/SilecsConstants.java b/silecs-eclipse-plugin/src/java/cern/silecs/utils/SilecsConstants.java
deleted file mode 100644
index a9f157a..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/utils/SilecsConstants.java
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.utils;
-
-import java.util.Arrays;
-import java.util.List;
-
-public class SilecsConstants {
-
-	public enum ProjectType {
-	    DESIGN_PROJECT,
-	    DEPLOY_PROJECT
-	}
-	
-    public static final String SILECS_NAME = "Silecs-Eclipse-Plugin";
-    
-    //consistency check
-    public static final String DESIGN_CLASS_NODE = "SILECS-Class";
-    
-    public static final String DEPLOY_UNIT_NODE = "Deploy-Unit";
-    
-    public static final String NAME = "name";
-    
-    public static final String HOST_NAME = "host-name";
-    
-    // schema files
-    public static final String DESIGN_SCHEMA_XSD = "DesignSchema.xsd";
-    
-    public static final String DEPLOY_SCHEMA_XSD = "DeploySchema.xsd";
-    
-    //file extensions
-    public static final String IEDESIGN_FILE = "silecsdesign";
-    
-    public static final String IEDEPLOY_FILE = "silecsdeploy";
-    
-    //name patterns
-    public static final String DESIGN_PATTERN = "[A-Z][A-Za-z0-9_]*";
-    
-    public static final String DEPLOY_PATTERN = "[A-Z][A-Za-z0-9_]*";
-    
-    public static final int MAX_DESIGN_LENGTH = 20;
-    
-    public static final int MAX_DEPLOY_LENGTH = 20;
-    
-    // SILECS versions which are supported by this plugin
-    public static final String[] SUPPORTED_SILECS_MAJOR_VERSIONS = { "1","DEV"};
-    public static final List<String> ADDITIONAL_SILECS_TARGET_MIGRATION_VERSIONS = Arrays.asList("0.10.0"); //e.g. in order to allow migration from 0.9.0 to 0.10.0
-    public static final int DEFAULT_SILECS_VERSION_INDEX = 0;
-    
-    // SILECS Versions which are NOT supported by this plugin
-    // All other versions foudn in the silecs-search path are supported
-    public static final String[] SILECS_VERSION_BLACKLIST = { "0.9.0" };
-    
-    //Wizards
-        //New Design Wizard
-    public static final String NEW_DESIGN_WIZARD_TITLE = "New Design Wizard";
-    public static final String NEW_DESIGN_PAGE_TITLE = "New Design Project";
-    
-        //New Deploy Wizard
-    public static final String NEW_DEPLOY_WIZARD_TITLE = "New Deploy Wizard";
-    public static final String NEW_DEPLOY_PAGE_TITLE = "New Deploy Project";
-    
-        //New Class Wizard Page
-    
-    public static final String INVAILD_PROJECT_NAME= "Invaild project name. Project name must follow pattern:";
-    
-    public static final String INITIAL_PROJECT_VERSION = "1.0.0";
-    
-        //Generate Fesa Class Wizard
-    public static final String GENERATE_FESA_CLASS_WIZARD_TITLE = "Generate Fesa Class Wizard";
-    public static final String GENERATE_FESA_CLASS_PAGE_TITLE = "Generate Fesa Class";
-    
-        //Generate Client Resources Wizard
-    public static final String GENERATE_CLIENT_RESOURCES_WIZARD_TITLE = "Generate Client Resources Wizard";
-    public static final String GENERATE_CLIENT_RESOURCES_PAGE_TITLE = "Generate Client Resources";
-    
-        //Deliver Client Resources Wizard
-    public static final String DELIVER_CLIENT_RESOURCES_WIZARD_TITLE = "Deliver Client Resources Wizard";
-    public static final String DELIVER_CLIENT_RESOURCES_PAGE_TITLE = "Deliver Client Resources";
-    
-    //GSI-Hack Use GSI SILECS Wiki
-    //public static final String SILECS_WIKIS_PATH = "https://wikis.cern.ch/display/SIL";
-    public static final String SILECS_WIKIS_PATH = "https://www-acc.gsi.de/wiki/Frontend/SILECS";
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/utils/SilecsUtils.java b/silecs-eclipse-plugin/src/java/cern/silecs/utils/SilecsUtils.java
deleted file mode 100644
index 517c96b..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/utils/SilecsUtils.java
+++ /dev/null
@@ -1,311 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.utils;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ITreeSelection;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.part.FileEditorInput;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import cern.silecs.activator.Activator;
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.control.core.DesignProjectNature;
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.preferences.MainPreferencePage;
-
-public class SilecsUtils {
-    
-    public static final String CLASS_VERSION_MATCHER = "version";
-    
-    static public String userName;
-    static public boolean isWindows = false;
-    static {
-        String system = System.getProperty("os.name");
-        isWindows = system.toLowerCase().contains("win");
-        userName = System.getProperty("user.name");
-    }
-
-    public static String findInBundle(String resourceToLocate) {
-        try {
-            URL fileURL = FileLocator.find(Platform.getBundle(Activator.PLUGIN_ID), new Path(resourceToLocate), null);
-            fileURL = FileLocator.toFileURL(fileURL);
-            if(isWindows)
-                return fileURL.getPath().toString().substring(1);
-            
-            return fileURL.getPath().toString();
-        } catch (Exception e1) {
-            e1.printStackTrace();
-        }
-        return null;
-    }
-
-    public static String getSilecsDesignFilePath(String workspacePath, String projectName) {
-    	return workspacePath + "/" + projectName + "/" + getSilecsDesignFilePathRelative(projectName);
-    }
-    
-    public static String getSilecsDeployFilePath(String workspacePath, String projectName) {
-    	return workspacePath + "/" + projectName + "/" + getSilecsDeployFilePathRelative(projectName);
-    }
-    
-    public static String getSilecsDesignFilePathRelative(String projectName) {
-    	return "/src/" + projectName + "." + SilecsConstants.IEDESIGN_FILE;
-    }
-    
-    public static String getSilecsDeployFilePathRelative(String projectName){
-    	return "/src/" + projectName + "." + SilecsConstants.IEDEPLOY_FILE;
-    }
-    
-    public static Boolean isSilecsDesign(String filePath)
-    {
-		String extension = "";
-		int i = filePath.lastIndexOf('.');
-		if (i > 0)
-		    extension = filePath.substring(i+1);
-		if(extension.equals(SilecsConstants.IEDESIGN_FILE) )
-			return true;
-		return false;
-    }
-    
-    public static Boolean isSilecsDeploy(String filePath)
-    {
-		String extension = "";
-		int i = filePath.lastIndexOf('.');
-		if (i > 0)
-		    extension = filePath.substring(i+1);
-		if(extension.equals(SilecsConstants.IEDEPLOY_FILE) )
-			return true;
-		return false;
-    }
-
-    public static IFile getSilecsDesignFile(IProject project) {
-        return project.getFile(getSilecsDesignFilePathRelative(project.getName()));
-    }
-    
-    public static IFile getSilecsDeployFile(IProject project) {
-        return project.getFile(getSilecsDeployFilePathRelative(project.getName()));
-    }
-
-    public static IFile getSilecsDocument(IProject project) throws Exception
-    {
-		if ( project.hasNature(DesignProjectNature.NATURE_ID) )
-		{
-			return SilecsUtils.getSilecsDesignFile(project);
-		}
-		else if( project.hasNature(DeployProjectNature.NATURE_ID) )
-		{
-			return SilecsUtils.getSilecsDeployFile(project);
-		}
-		else
-        	 throw new Exception("The project: " + project.getName() + " is not a silecs-project");
-    }
-    
-    public static String getSilecsVersion(IProject project) throws SilecsException {
-    	String filePath = "";
-    	try 
-    	{
-    		if( project.hasNature(DeployProjectNature.NATURE_ID) )
-    		{
-    			filePath = getSilecsDeployFile(project).getRawLocation().makeAbsolute().toOSString();
-    		}
-    		else if( project.hasNature(DesignProjectNature.NATURE_ID) )
-    		{
-    			filePath = getSilecsDesignFile(project).getRawLocation().makeAbsolute().toOSString();
-    		}
-    		else
-    		{
-    			throw new SilecsException("Faild to extract project nature from: " + project.getName());
-    		}
-
-	    	DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
-	    	DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
-	    	Document doc = dBuilder.parse(filePath);
-	    	Node root;
-	    	if( project.hasNature(DesignProjectNature.NATURE_ID) )
-	    		root = doc.getElementsByTagName("SILECS-Design").item(0);
-	    	else
-	    		root = doc.getElementsByTagName("SILECS-Deploy").item(0);
-	    	return root.getAttributes().getNamedItem("silecs-version").getTextContent();
-    	}
-    	catch(Exception ex)
-    	{
-    		ConsoleHandler.printError("Faild to extract silecs-version from: " + filePath, true);
-    		
-    		throw new SilecsException("Faild to extract silecs-version from: " + filePath, ex);
-    	}
-    }
-    
-    public static String getSilecsDesignVersion(String filePath) throws SilecsException {
-    	try 
-    	{
-	    	DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
-	    	DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
-	    	Document doc = dBuilder.parse(filePath);
-	    	Node classNode = doc.getElementsByTagName("SILECS-Class").item(0);
-	    	return classNode.getAttributes().getNamedItem(CLASS_VERSION_MATCHER).getNodeValue();
-    	}
-    	catch(Exception ex)
-    	{
-    		ConsoleHandler.printError("Faild to extract class-version from: " + filePath, true);
-    		throw new SilecsException("Faild to extract class-version from: " + filePath, ex);
-    	}
-    }
-    
-    public static String getDeployVersion(String filePath) throws SilecsException {
-    	try 
-    	{
-	    	DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
-	    	DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
-	    	Document doc = dBuilder.parse(filePath);
-	    	Node deployNode = doc.getElementsByTagName("Deploy-Unit").item(0);
-	    	return deployNode.getAttributes().getNamedItem(CLASS_VERSION_MATCHER).getNodeValue();
-		}
-		catch(Exception ex)
-		{
-			ConsoleHandler.printError("Faild to extract deploy-version from: " + filePath, true);
-			throw new SilecsException("Faild to extract deploy-version from: " + filePath, ex);
-		}
-    }
-    
-    public static void openInEditor(final IFile file)
-    {
-    	Display.getDefault().asyncExec(new Runnable() {
-    	    @Override
-    	    public void run() {
-    	    	IEditorDescriptor desc = PlatformUI.getWorkbench().getEditorRegistry().getDefaultEditor(file.getName());
-    	    	IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-    	    	try {
-					page.openEditor(new FileEditorInput(file), desc.getId());
-				} catch (Exception e) {
-			    	 ConsoleHandler.printError("Failed to open file:" + file, true);
-			    	 e.printStackTrace();
-				}
-    	    }
-    	});
-    }
-
-    	
-    public static void checkSilecsVersion(IProject project) throws SilecsException
-    {
-    	String version = getSilecsVersion(project);
-    	if( isSilecsVersionSupported(version) == false )
-    	{
-    		throw new SilecsException("The old silecs version: '" + version + "' is not supported by this silecs-plugin. Please update your SILECS project to a more recent version (right-click --> SILECS Update Project)");
-    	}
-    }
-    
-    
-    public static Boolean isSilecsVersionSupported(String version)
-    {
-    	for(String supportedVersion: SilecsConstants.SUPPORTED_SILECS_MAJOR_VERSIONS)
-    	{
-    		if(version.startsWith(supportedVersion))
-    			return true;
-    	}
-    	return false;
-    }
-    
-    public static List<String> readOutAvailableSilecsVersions()
-	{
-    	List<String> silecsVersions = new ArrayList<String>();
-    	if (MainPreferencePage.isLocalDirectoryUsed())
-    	{
-    		silecsVersions.add("DEV");
-    		return silecsVersions;
-    	}
-    	
-    	// We just pick any sub-project
-		File silecsBaseFolder = new File(MainPreferencePage.getGlobalSilecsDirectory() + "/silecs-model");
-	    for (final File fileEntry : silecsBaseFolder.listFiles())
-	    {
-	    	silecsVersions.add(fileEntry.getName());
-	    }
-	    Collections.sort(silecsVersions);
-	    Collections.reverse(silecsVersions);
-	    return silecsVersions;
-	}
-    
-    public static IFile extractSilecsFileFromEvent(ExecutionEvent event) throws Exception
-	{
-    	String parameter = event.getParameter("silecs-eclipse-plugin.commandParameter");
-    	if ( parameter.equals("menubar"))
-    	{
-			IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
-			IWorkbenchPage activePage = window.getActivePage();
-	
-	        // Get the Selection from the active WorkbenchPage page
-	        ISelection selection = activePage.getSelection();
-	        if(selection instanceof ITreeSelection) // Event was triggered by right-click on project
-	        {
-	            TreeSelection treeSelection = (TreeSelection) selection;
-	            TreePath[] treePaths = treeSelection.getPaths();
-	            TreePath treePath = treePaths[0];
-	
-	            // The first segment should be a IProject
-	            Object firstSegmentObj = treePath.getFirstSegment();
-	            IProject theProject = (IProject) ((IAdaptable)firstSegmentObj).getAdapter(IProject.class);
-	            if( theProject == null )
-	            {
-	            	ConsoleHandler.printError("Failed to find the right project", true);
-	            	throw new ExecutionException("Failed to find the right project");
-	            }
-	            return getSilecsDocument(theProject);
-	        }
-    	}
-    	if (parameter.equals("toolbar"))
-    	{
-	        // The default: the toolbar button was pressed
-	    	IEditorPart editor = HandlerUtil.getActiveEditor(event);
-	        if (editor == null)
-	        {
-	        	ConsoleHandler.printError("Failed to find active SILECS editor", true);
-	        	throw new Exception("Failed to find active SILECS editor");
-	        } 
-	    	return ((IFileEditorInput) editor.getEditorInput()).getFile();
-    	}
-    	String message = new String("Failed to find correct silecs-project/file - command: '" + event.getCommand().getName() + "' send with parameter: '" + parameter + "'.");
-    	ConsoleHandler.printError(message, true);
-    	throw new Exception(message);
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/utils/XmlUtils.java b/silecs-eclipse-plugin/src/java/cern/silecs/utils/XmlUtils.java
deleted file mode 100644
index 218810b..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/utils/XmlUtils.java
+++ /dev/null
@@ -1,188 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.utils;
-
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-@SuppressWarnings("restriction")
-public class XmlUtils {
-
-    private static TransformerFactory TRANSFORMER_FACTORY;
-
-    public static String nodeToString(Node node) throws TransformerFactoryConfigurationError, TransformerException {
-        Transformer transformer = createPrettyTransformer();
-
-        // if given node is not a complete document, we do not
-        // put the xml declaration. we also omit if the document already has
-        // a type
-        if (!(node instanceof Document) || ((Document) node).getDoctype() != null) {
-            transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-        }
-
-        // write node to string
-        DOMSource source = new DOMSource(node);
-        StringWriter writer = new StringWriter();
-        StreamResult result = new StreamResult(writer);
-        transformer.transform(source, result);
-
-        return writer.toString();
-    }
-
-
-    private static Transformer createPrettyTransformer() throws TransformerConfigurationException,
-            TransformerFactoryConfigurationError {
-        if (TRANSFORMER_FACTORY == null) {
-            TRANSFORMER_FACTORY = TransformerFactory.newInstance();
-        }
-        Transformer t = TRANSFORMER_FACTORY.newTransformer();
-        t.setOutputProperty(OutputKeys.INDENT, "yes");
-        t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
-
-        return t;
-    }
-
-    public static String xPathFromNode(Node node) {
-        if (node == null) {
-            return "";
-        }
-
-        switch (node.getNodeType()) {
-        case Node.DOCUMENT_NODE:
-            return "";
-
-        case Node.ATTRIBUTE_NODE:
-            Attr attr = (Attr) node;
-            return xPathFromNode(attr.getOwnerElement()) + "/@" + attr.getName();
-
-        case Node.ELEMENT_NODE:
-            Element elem = (Element) node;
-            Node parent = elem.getParentNode();
-            String name = elem.getTagName();
-            NodeList childs = parent.getChildNodes();
-
-            int index = 1;
-            for (int i = 0; i < childs.getLength(); i++) {
-                Node n = childs.item(i);
-                if (n.equals(elem)) {
-                    // first element in xPath is 1, not 0
-                    return xPathFromNode(parent) + "/" + node.getNodeName() + "[" + index + "]";
-                } else if (n instanceof Element && n.getNodeName().equals(name)) {
-                    // there is another element with the same name before in the list
-                    index++;
-                }
-            }
-
-        default:
-            throw new IllegalStateException("Unexpected Node type: " + node.getNodeType());
-        }
-    }
-
-    /**
-     * Return the string contained in the string builder. Remove the ending if equals to the parameter (use for joining
-     * strings in loops)
-     * 
-     * @param stringBuilder
-     * @param endingToRemove
-     * @return
-     */
-    public static String finalize(StringBuilder stringBuilder, String endingToRemove) {
-        if (stringBuilder == null) {
-            throw new IllegalArgumentException("stringBuilder cannot be null");
-        } else if (endingToRemove == null) {
-            throw new IllegalArgumentException("endingToRemove cannot be null");
-        }
-
-        int length = stringBuilder.length();
-        int endingLength = endingToRemove.length();
-        if (length > endingLength && stringBuilder.substring(length - endingLength).equals(endingToRemove)) {
-            return stringBuilder.substring(0, length - endingLength);
-        } else {
-            return stringBuilder.toString();
-        }
-    }
-    
-    public static void reloadDependencies() {
-        List<IEditorReference> editors = new ArrayList<>();
-        for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
-            for (IWorkbenchPage page : window.getPages()) {
-                editors.addAll(Arrays.asList(page.getEditorReferences()));
-            }
-        }
-
-        for (IEditorReference er : editors) {
-            IEditorPart editor = er.getEditor(false);
-            ITextEditor textEditor = null;
-            if (editor instanceof ITextEditor)
-                textEditor = (ITextEditor) editor;
-            else if (editor != null) {
-                Object o = editor.getAdapter(ITextEditor.class);
-                if (o != null)
-                    textEditor = (ITextEditor) o;
-            }
-            if (textEditor != null) {
-                IDocument document = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
-                IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-                if (model != null) {
-                    ModelQuery modelQuery = null;
-                    try {
-                        modelQuery = ModelQueryUtil.getModelQuery(model);
-                    } finally {
-                        model.releaseFromRead();
-                    }
-                    Document domDocument = ((IDOMModel) model).getDocument();
-                    if ((modelQuery != null) && (modelQuery.getCMDocumentManager() != null)) {
-                        modelQuery.getCMDocumentManager().getCMDocumentCache().clear();
-                        CMDocumentLoader loader = new InferredGrammarBuildingCMDocumentLoader(domDocument, modelQuery);
-                        loader.loadCMDocuments();
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/Application.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/Application.java
deleted file mode 100644
index b74bc99..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/Application.java
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	@Override
-    public Object start(IApplicationContext context) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		
-		// Displaying ChooseWorkspace Dialog and then assigning new workspace to the application
-		//      Add "-data @noDefault" to PROGRAM ARGUMENTS          to make workspace choosing working
-		
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART)
-				return IApplication.EXIT_RESTART;
-			else
-				return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	@Override
-    public void stop() {
-		if (!PlatformUI.isWorkbenchRunning())
-			return;
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			@Override
-            public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationActionBarAdvisor.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 8ff8da6..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view;
-
-
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationWorkbenchAdvisor.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 6d6f682..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view;
-
-import java.net.URL;
-import java.net.URLClassLoader;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-import org.eclipse.ui.ide.IDE;
-
-import cern.silecs.utils.OSExecute;
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.utils.XmlUtils;
-import cern.silecs.view.console.ConsoleHandler;
-
-/**
- * In this class a lot of initialization takes place because this is the point when workbench is already created.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-    private static final String PERSPECTIVE_ID = "silecs.eclipse.plugin.perspective"; //$NON-NLS-1$
-
-    @Override
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-    @Override
-    public String getInitialWindowPerspectiveId() {
-        return PERSPECTIVE_ID;
-    }
-
-    @Override
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-        
-        configurer.setSaveAndRestore(true);
-        PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS, false);
-
-        IDE.registerAdapters();
-    }
-
-    @Override
-    public IAdaptable getDefaultPageInput() {
-        return ResourcesPlugin.getWorkspace().getRoot();
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationWorkbenchWindowAdvisor.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index c8de392..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,179 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-import org.eclipse.ui.internal.dialogs.WorkbenchWizardElement;
-import org.eclipse.ui.internal.wizards.AbstractExtensionWizardRegistry;
-import org.eclipse.ui.wizards.IWizardCategory;
-import org.eclipse.ui.wizards.IWizardDescriptor;
-
-import cern.silecs.utils.SilecsConstants;
-
-@SuppressWarnings("restriction")
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    @Override
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-
-    @Override
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(700, 500));
-        configurer.setShowCoolBar(true);
-        configurer.setShowStatusLine(true);
-        configurer.setTitle(SilecsConstants.SILECS_NAME); //$NON-NLS-1$
-        configurer.setShowProgressIndicator(true);
-    }
-
-    @Override
-    public void postWindowOpen() {
-        super.postWindowOpen();
-
-        addChangedEditorListener();
-        
-        // removing unnecessary wizards from new and import menu.
-        AbstractExtensionWizardRegistry wizardRegistry = (AbstractExtensionWizardRegistry) PlatformUI.getWorkbench()
-                .getNewWizardRegistry();
-        IWizardCategory[] categories = PlatformUI.getWorkbench().getNewWizardRegistry().getRootCategory()
-                .getCategories();
-
-        for (IWizardDescriptor wizard : getAllWizards(categories)) {
-            if (wizard.getCategory().getId().matches("org.eclipse.ui.Basic")) {
-                WorkbenchWizardElement wizardElement = (WorkbenchWizardElement) wizard;
-                wizardRegistry.removeExtension(wizardElement.getConfigurationElement().getDeclaringExtension(),
-                        new Object[] { wizardElement });
-            } else if (wizard.getCategory().getId().matches("org.eclipse.wst.xml.examples")) {
-                WorkbenchWizardElement wizardElement = (WorkbenchWizardElement) wizard;
-                wizardRegistry.removeExtension(wizardElement.getConfigurationElement().getDeclaringExtension(),
-                        new Object[] { wizardElement });
-            } else if (wizard.getCategory().getId().matches("org.eclipse.wst.XMLCategory")) {
-                WorkbenchWizardElement wizardElement = (WorkbenchWizardElement) wizard;
-                wizardRegistry.removeExtension(wizardElement.getConfigurationElement().getDeclaringExtension(),
-                        new Object[] { wizardElement });
-            } else if (wizard.getCategory().getId().matches("org.eclipse.cdt.ui.newCWizards")) {
-                WorkbenchWizardElement wizardElement = (WorkbenchWizardElement) wizard;
-                wizardRegistry.removeExtension(wizardElement.getConfigurationElement().getDeclaringExtension(),
-                        new Object[] { wizardElement });
-            }
-
-        }
-
-        wizardRegistry = (AbstractExtensionWizardRegistry) PlatformUI.getWorkbench().getImportWizardRegistry();
-
-        categories = PlatformUI.getWorkbench().getImportWizardRegistry().getRootCategory().getCategories();
-
-        for (IWizardDescriptor wizard : getAllWizards(categories)) {
-            if (wizard.getCategory().getId().matches("org.eclipse.cdt.ui.importWizardCategory")) {
-                WorkbenchWizardElement wizardElement = (WorkbenchWizardElement) wizard;
-                wizardRegistry.removeExtension(wizardElement.getConfigurationElement().getDeclaringExtension(),
-                        new Object[] { wizardElement });
-            } else if (wizard.getCategory().getId().matches("org.eclipse.debug.ui")) {
-                WorkbenchWizardElement wizardElement = (WorkbenchWizardElement) wizard;
-                wizardRegistry.removeExtension(wizardElement.getConfigurationElement().getDeclaringExtension(),
-                        new Object[] { wizardElement });
-            } else if (wizard.getCategory().getId().matches("org.eclipse.wst.XMLCategory")) {
-                WorkbenchWizardElement wizardElement = (WorkbenchWizardElement) wizard;
-                wizardRegistry.removeExtension(wizardElement.getConfigurationElement().getDeclaringExtension(),
-                        new Object[] { wizardElement });
-            } else if (wizard.getCategory().getId().matches("org.eclipse.team.ui.importWizards")) {
-                WorkbenchWizardElement wizardElement = (WorkbenchWizardElement) wizard;
-                wizardRegistry.removeExtension(wizardElement.getConfigurationElement().getDeclaringExtension(),
-                        new Object[] { wizardElement });
-            }
-        }
-    }
-
-    private IWizardDescriptor[] getAllWizards(IWizardCategory[] categories) {
-        List<IWizardDescriptor> results = new ArrayList<IWizardDescriptor>();
-        for (IWizardCategory wizardCategory : categories) {
-            results.addAll(Arrays.asList(wizardCategory.getWizards()));
-            results.addAll(Arrays.asList(getAllWizards(wizardCategory.getCategories())));
-        }
-        return results.toArray(new IWizardDescriptor[0]);
-    }
-
-    private void addChangedEditorListener() {
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
-        page.addPartListener(new IPartListener() {
-
-            @Override
-            public void partOpened(IWorkbenchPart part) {
-                setApplicationTitle(); 
-            }
-
-            @Override
-            public void partDeactivated(IWorkbenchPart part) {
-                setApplicationTitle(); 
-            }
-
-            @Override
-            public void partClosed(IWorkbenchPart part) {
-                setApplicationTitle(); 
-            }
-
-            @Override
-            public void partBroughtToTop(IWorkbenchPart part) {
-                setApplicationTitle(); 
-            }
-
-            @Override
-            public void partActivated(IWorkbenchPart part) {
-                setApplicationTitle(); 
-            }
-            
-            private void setApplicationTitle() {
-//                IEditorPart editorPart = page.getActiveEditor();
-//                IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-//                
-//                if (editorPart != null) {
-//                    IFileEditorInput editorInput = (IFileEditorInput) editorPart.getEditorInput();
-//                    IFile file = editorInput.getFile();
-//
-//                    configurer.setTitle(file.getFullPath() + " - " + SilecsConstants.SILECS_NAME + " - "
-//                            + ResourcesPlugin.getWorkspace());
-//                } else {
-//                    configurer.setTitle(SilecsConstants.SILECS_NAME + " - " + ResourcesPlugin.getWorkspace() );
-//                }
-            }
-        });
-
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/Perspective.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/Perspective.java
deleted file mode 100644
index 2404834..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/Perspective.java
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-    @Override
-    public void createInitialLayout(IPageLayout layout) {
-        // TODO Auto-generated method stub
-        
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/console/ConsoleHandler.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/console/ConsoleHandler.java
deleted file mode 100644
index 454b9d5..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/console/ConsoleHandler.java
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.console;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.MessageConsole;
-import org.eclipse.ui.console.MessageConsoleStream;
-
-public class ConsoleHandler {
-
-    private static MessageConsole console;
-    private static MessageConsoleStream messageStream;
-    private static MessageConsoleStream errorStream;
-    private static MessageConsoleStream warningStream;
-    
-    static {
-        console = new MessageConsole("Console", null);
-        ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] { console });
-
-        messageStream = console.newMessageStream();
-        errorStream = console.newMessageStream();
-        warningStream = console.newMessageStream();
-
-        final Display display = Display.getDefault();
-        Display.getDefault().asyncExec(new Runnable()
-        {
-          public void run()
-	        { 
-		         errorStream.setColor(display.getSystemColor(SWT.COLOR_RED));
-		         warningStream.setColor(display.getSystemColor(SWT.COLOR_DARK_YELLOW)); 
-	        }
-      });
-    }
-
-    public static void clear() {
-    	console.clearConsole();
-    }
-    
-    /**
-     * Prints message in the silecs console.
-     * 
-     * @param message Message to appear in the console
-     * @param activateOnWrite determines whether to activate the console
-     */
-    public static void printMessage(String message, boolean activateOnWrite) {
-        messageStream.setActivateOnWrite(activateOnWrite);
-        messageStream.println(message);
-    }
-    
-    /**
-     * Prints error message in the silecs console.
-     * 
-     * @param Error message to appear in the console
-     * @param activateOnWrite determines whether to activate the console
-     */
-    public static void printError(String message, boolean activateOnWrite) {
-        errorStream.setActivateOnWrite(activateOnWrite);
-        errorStream.println(message);
-    }
-    
-
-    private static void printTrace(Throwable ex) {
-    	if( ex == null)
-    		return;
-    	StackTraceElement[] stacktrace = ex.getStackTrace();
-
-    	     for(int i=1; i<stacktrace.length; i++){
-    	    			 errorStream.println(stacktrace[i].toString());
-            }
-    }
-    
-    public static void printStackTrace(Exception ex) {
-    	errorStream.println(ex.getLocalizedMessage());
-    	errorStream.println("Stacktrace: ");
-    	printTrace(ex);
-    	errorStream.println("Caused by: ");
-    	printTrace(ex.getCause());
-        errorStream.setActivateOnWrite(true);
-    }
-    
-    
-    /**
-     * Prints error message in the silecs console.
-     * 
-     * @param Warning message to appear in the console
-     * @param activateOnWrite determines whether to activate the console
-     */
-    public static void printWarning(String message, boolean activateOnWrite) {
-        warningStream.setActivateOnWrite(activateOnWrite);
-        warningStream.println(message);
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/dialogs/SilecsMessageDialog.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/dialogs/SilecsMessageDialog.java
deleted file mode 100644
index d9ea685..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/dialogs/SilecsMessageDialog.java
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.dialogs;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-import cern.silecs.utils.SilecsUtils;
-
-/**
- * This class adds Silecs logo to jface Message Dialog.
- * @see MessageDialog 
- */
-public class SilecsMessageDialog extends MessageDialog{
-
-    private Image image = null;
-
-    /**
-     * @see MessageDialog#MessageDialog(Shell, String, Image, String, int, String[], int)
-     */
-    public SilecsMessageDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage,
-            int dialogImageType, String[] dialogButtonLabels, int defaultIndex) {
-        super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
-        
-        String imagePath = SilecsUtils.findInBundle("icons/silecs-logo.ico");
-        image = new Image(PlatformUI.getWorkbench().getDisplay(), imagePath);     
-    }
-    
-    @Override
-    public Image getImage() {
-        return image;
-    }
-}
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/DeployMultiPageEditor.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/DeployMultiPageEditor.java
deleted file mode 100644
index e1d4967..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/DeployMultiPageEditor.java
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.editor;
-
-public class DeployMultiPageEditor extends XMLMultiPageEditor {
-
-	public static String ID = "cern.silecs.view.editors.deploy";
-    public DeployMultiPageEditor() {
-        super();
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/DesignMultiPageEditor.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/DesignMultiPageEditor.java
deleted file mode 100644
index f8f5711..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/DesignMultiPageEditor.java
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.editor;
-
-public class DesignMultiPageEditor extends XMLMultiPageEditor {
-
-	public static String ID = "cern.silecs.view.editors.design";
-    public DesignMultiPageEditor() {
-        super();
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/XMLMultiPageEditor.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/XMLMultiPageEditor.java
deleted file mode 100644
index 1ca464a..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/XMLMultiPageEditor.java
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.editor;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.internal.document.NodeImpl;
-import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
-import org.eclipse.wst.xml.ui.internal.tabletree.IDesignViewer;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeHelpContextIds;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.editor.internal.SilecsXMLTableTreeViewer;
-import cern.silecs.view.job.ValidationJob;
-
-@SuppressWarnings("restriction")
-public class XMLMultiPageEditor extends XMLMultiPageEditorPart {
-
-    SilecsXMLTableTreeViewer xmlTableTreeViewer;
-
-    public XMLMultiPageEditor() {
-        super();
-    }
-
-    @Override
-    public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-        super.init(site, input);
-
-        // useless to instantiate toolbar since not used
-        noToolbar();
-    }
-
-    @Override
-    public void dispose() {
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener(xmlTableTreeViewer);
-        super.dispose();
-    }
-
-    @Override
-    protected void createPages() {
-        super.createPages();
-
-        // add itself as resource change listener
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(xmlTableTreeViewer, IResourceChangeEvent.POST_CHANGE);
-    }
-
-    @Override
-    protected IDesignViewer createDesignPage() {
-        xmlTableTreeViewer = new SilecsXMLTableTreeViewer(getContainer(), this);
-        xmlTableTreeViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        // Set the default info-pop for XML design viewer.
-        XMLUIPlugin.getInstance().getWorkbench().getHelpSystem()
-                .setHelp(xmlTableTreeViewer.getControl(), XMLTableTreeHelpContextIds.XML_DESIGN_VIEW_HELPID);
-
-        return xmlTableTreeViewer;
-    }
-
-    public IDocument getDocument() {
-        IDocument document = null;
-        StructuredTextEditor textEditor = (StructuredTextEditor) getAdapter(StructuredTextEditor.class);
-        if (textEditor != null) {
-            document = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
-        }
-
-        return document;
-    }
-
-    public static XMLMultiPageEditor getOpenedEditor(IFile file) {
-
-        // get all the opened editors
-        List<IEditorReference> editors = new ArrayList<>();
-        for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
-            for (IWorkbenchPage page : window.getPages()) {
-                editors.addAll(Arrays.asList(page.getEditorReferences()));
-            }
-        }
-
-        for (IEditorReference er : editors) {
-            IEditorPart editor = er.getEditor(false);
-            try {
-                IEditorInput editorInput = er.getEditorInput();
-                if (editor instanceof XMLMultiPageEditor && editorInput instanceof IFileEditorInput) {
-                    IFileEditorInput input = (IFileEditorInput) editorInput;
-
-                    if (input.getFile().equals(file)) {
-                        return (XMLMultiPageEditor) editor;
-                    }
-                }
-            } catch (PartInitException e) {
-                e.printStackTrace();
-            }
-        }
-        return null;
-    }
-
-
-    public NodeImpl getNodeAtPosition(int line, int column) {
-        try {
-            // line 1 is considered as line 0 by eclipse
-            // same for columns
-            if (line > 0) {
-                IRegion region = getDocument().getLineInformation(line - 1);
-                ITextViewer viewer = ((StructuredTextEditor) getAdapter(StructuredTextEditor.class)).getTextViewer();
-                return (NodeImpl) ContentAssistUtils.getNodeAt(viewer, region.getOffset() + column - 2);
-            }
-        } catch (BadLocationException e) {
-            e.printStackTrace();
-        }
-
-        return null;
-    }
-    
-    @Override
-    public void doSave(IProgressMonitor monitor)
-    {
-        IEditorInput editorInput = getEditorInput();
-        if (editorInput instanceof IFileEditorInput)
-        {
-            IFile fesaFile = ((IFileEditorInput) editorInput).getFile();
-
-            super.doSave(monitor);
-            
-            ConsoleHandler.printMessage("Validating XML  ...", true);
-            ValidationJob job;
-    		job = new ValidationJob(fesaFile);
-            job.schedule();
-        }
-    }
-    
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SchemaHelper.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SchemaHelper.java
deleted file mode 100644
index 0754660..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SchemaHelper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.editor.internal;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.document.CMNodeUtil;
-import org.eclipse.wst.xsd.contentmodel.internal.XSDImpl.XSDElementDeclarationAdapter;
-import org.eclipse.xsd.XSDElementDeclaration;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.w3c.dom.Element;
-
-@SuppressWarnings("restriction")
-public abstract class SchemaHelper {
-
-    public static List<XSDIdentityConstraintDefinition> findIdentityConstraints(Element element) {
-        CMElementDeclaration elemDecl = CMNodeUtil.getElementDeclaration(element);
-        if (elemDecl instanceof XSDElementDeclarationAdapter) {
-            XSDElementDeclarationAdapter xsdElemAdapt = (XSDElementDeclarationAdapter) elemDecl;
-            XSDElementDeclaration xsdElementDecl = (XSDElementDeclaration) xsdElemAdapt.getKey();
-
-            // get all the key constraints definitions
-            List<XSDIdentityConstraintDefinition> constraints = xsdElementDecl.getResolvedElementDeclaration()
-                    .getIdentityConstraintDefinitions();
-            constraints.addAll(xsdElementDecl.getResolvedElementDeclaration().getIdentityConstraintDefinitions());
-
-            return constraints;
-        } else {
-            return Collections.emptyList();
-        }
-    }
-
-    public static XSDIdentityConstraintDefinition findIdentityConstraint(Element element, String constraintName) {
-        List<XSDIdentityConstraintDefinition> constraints = findIdentityConstraints(element);
-        for (XSDIdentityConstraintDefinition c : constraints) {
-            if (c.getName().equals(constraintName)) {
-                return c;
-            }
-        }
-
-        return null;
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsTableColumnViewerLabelProvider.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsTableColumnViewerLabelProvider.java
deleted file mode 100644
index 75fd12b..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsTableColumnViewerLabelProvider.java
+++ /dev/null
@@ -1,181 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.editor.internal;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.CellLabelProvider;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeContentProvider;
-import org.w3c.dom.Node;
-
-import cern.silecs.utils.XmlUtils;
-
-
-/**
- * Label provider for the design view of the FesaEditor
- */
-@SuppressWarnings("restriction")
-public class SilecsTableColumnViewerLabelProvider extends CellLabelProvider {
-
-    private static final int TOOLTIP_DELAY_MS = 500;
-
-    // since we could not have multiple inheritance in java,
-    // we inject the base label provider in this CellLabelProvider
-    // which adds support for tool-tips in the registered treeViewer
-    private final XMLTableTreeContentProvider baseLabelProvider;
-
-    // These 2 maps behave like a bidirectional map
-    // marker -> node
-    // node -> Set<marker>
-    private final Map<IMarker, Node> markerToNode = new HashMap<>();
-    private final Map<Node, Set<IMarker>> nodeToMarkers = new HashMap<>();
-
-    public SilecsTableColumnViewerLabelProvider(XMLTableTreeContentProvider baseLabelProvider) {
-        this.baseLabelProvider = baseLabelProvider;
-    }
-
-    /**
-     * Register an error/warning with its associated node
-     * Fire a label provider changed event
-     * 
-     * @param marker
-     * @param node
-     */
-    public void addFault(IMarker marker, Node node) {
-        markerToNode.put(marker, node);
-        if (nodeToMarkers.containsKey(node)) {
-            nodeToMarkers.get(node).add(marker);
-        } else {
-            Set<IMarker> markers = new HashSet<>();
-            markers.add(marker);
-            nodeToMarkers.put(node, markers);
-        }
-        
-        fireLabelProviderChanged(new LabelProviderChangedEvent(this, node));
-    }
-
-    /**
-     * Remove the marker and its associated node from the faulty list
-     * Fire a label provider changed event
-     * 
-     * @param marker
-     */
-    public void removeFault(IMarker marker) {
-        Node node = markerToNode.remove(marker);
-        if (node != null) {
-            Set<IMarker> markers = nodeToMarkers.get(node);
-            markers.remove(marker);
-            if (markers.isEmpty()) {
-                nodeToMarkers.remove(node);
-            }
-            fireLabelProviderChanged(new LabelProviderChangedEvent(this, node));
-        }
-    }
-
-    /**
-     * Clears all the registered marker/nodes
-     */
-    public void clearFaults() {
-        markerToNode.clear();
-        nodeToMarkers.clear();
-    }
-
-    /**
-     * Provide a tool-tip for the faulty node with the error message of the associated markers
-     */
-    @Override
-    public String getToolTipText(Object element) {
-        if (nodeToMarkers.containsKey(element)) {
-            Set<IMarker> markers = nodeToMarkers.get(element);
-            StringBuilder sb = new StringBuilder();
-            for (IMarker marker : markers) {
-                try {
-                    sb.append(marker.getAttribute(IMarker.MESSAGE) + "\n");
-                } catch (CoreException e) {
-                    // don't do anything
-                }
-            }
-            
-            return XmlUtils.finalize(sb, "\n"); 
-        }
-
-        return null;
-    }
-
-    @Override
-    public Point getToolTipShift(Object object) {
-        return new Point(5, 5);
-    }
-
-    @Override
-    public int getToolTipDisplayDelayTime(Object object) {
-        return TOOLTIP_DELAY_MS;
-    }
-
-    @Override
-    public int getToolTipTimeDisplayed(Object object) {
-        return -1;
-    }
-
-    /**
-     * Use the base label provider for the content If the element is fault, compute the background color
-     */
-    @Override
-    public void update(ViewerCell cell) {
-        Object element = cell.getElement();
-        int index = cell.getColumnIndex();
-
-        cell.setText(baseLabelProvider.getColumnText(element, index));
-        cell.setImage(baseLabelProvider.getColumnImage(element, index));
-
-        cell.setForeground(baseLabelProvider.getForeground(element, index));
-        if (nodeToMarkers.containsKey(element)) {
-            // background of the faulty cell
-            cell.setBackground(computeCellBackground((Node) element));
-        } else {
-            cell.setBackground(baseLabelProvider.getBackground(element, index));
-        }
-    }
-
-    /**
-     * Helper to compute the background color of a faulty cell
-     * 
-     * @param node
-     * @return
-     */
-    private Color computeCellBackground(Node node) {
-        Set<IMarker> markers = nodeToMarkers.get(node);
-        int color = SWT.COLOR_YELLOW;
-        for (IMarker marker : markers) {
-            if (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR) == IMarker.SEVERITY_ERROR) {
-                color = SWT.COLOR_RED;
-                break;
-            }
-        }
-        return Display.getCurrent().getSystemColor(color);
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreeContentProvider.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreeContentProvider.java
deleted file mode 100644
index 1fce623..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreeContentProvider.java
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.editor.internal;
-
-import org.eclipse.osgi.util.TextProcessor;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeContentProvider;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import cern.silecs.utils.SilecsConstants;
-
-@SuppressWarnings("restriction")
-public class SilecsXMLTableTreeContentProvider extends XMLTableTreeContentProvider{
-
-    @Override
-    public String getColumnText(Object object, int column) {
-        String result = super.getColumnText(object, column);
-
-        if ((result.isEmpty() || result.startsWith("(")) && object instanceof Element && column == 1) {
-            result = getElementValueHelper((Element) object);
-        }
-
-        result = TextProcessor.process(result);
-        return result != null ? result : "";
-    }
-
-    private String getElementValueHelper(Element element) {
-
-        StringBuilder sb = new StringBuilder();
-        if (element.hasAttributes()) {
-            NamedNodeMap map = element.getAttributes();
-
-            sb.append("(");
-            // put name first
-            Attr name = (Attr) map.getNamedItem(SilecsConstants.NAME);
-            if (name != null) {
-                sb.append(name.getValue() + ": ");
-            }
-
-            // put other attributes
-            for (int i = 0; i < map.getLength(); i++) {
-                Attr a = (Attr) map.item(i);
-                String attrName = a.getName();
-
-                // name has already been added
-                // do not propagate id
-                if (!(attrName.equals(SilecsConstants.NAME))) {
-                    sb.append(attrName + "=" + a.getValue() + ", ");
-                }
-            }
-
-        }
-
-        if (sb.length() < 2) {
-            // if we didn't find smth interesting
-            // the node behaves like a container
-            return getContainerElementValueHelper(element);
-        } else if (sb.charAt(0) == '(') {
-            // remove the last comma/colon and close the parenthesis
-            sb.setLength(sb.length() - 2);
-            sb.append(")");
-        }
-
-        return sb.toString();
-    }
-
-    private String getContainerElementValueHelper(Element element) {
-        if (element.hasAttribute(SilecsConstants.NAME)) {
-            return element.getAttribute(SilecsConstants.NAME);
-        } else if (element.hasChildNodes()) {
-            NodeList nodeList = element.getChildNodes();
-
-            StringBuilder sb = new StringBuilder();
-            for (int i = 0; i < nodeList.getLength(); i++) {
-                Node n = nodeList.item(i);
-                if (n instanceof Element) {
-                    String val = getContainerElementValueHelper((Element) n);
-                    if (!val.isEmpty()) {
-                        if (sb.length() != 0) {
-                            sb.append(", ");
-                        }
-
-                        sb.append(val);
-                    }
-
-                }
-            }
-
-            return sb.toString();
-        } else {
-            return "";
-        }
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreePropertyDescriptionFactory.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreePropertyDescriptionFactory.java
deleted file mode 100644
index e0a32b4..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreePropertyDescriptionFactory.java
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.editor.internal;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.ui.internal.properties.EnumeratedStringPropertyDescriptor;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreePropertyDescriptorFactory;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.view.console.ConsoleHandler;
-
-@SuppressWarnings("restriction")
-class SilecsXMLTableTreePropertyDescriptorFactory extends XMLTableTreePropertyDescriptorFactory {
-
-    public static final String DESIGN_NAME_MATCHER = "silecs-design-name";
-    public static final String DESIGN_VERSION_MATCHER = "silecs-design-version";
-
-    
-    @Override
-    protected IPropertyDescriptor createPropertyDescriptorHelper(String name, Element element, CMNode cmNode)
-    {
-        Collection<String> values = null;
-        try
-        {
-            if (isSilecsDesignName(element,name))
-            {
-            	
-                values = getPossibleClassNames();
-            }
-            if (isSilecsDesignVersion(element,name) )
-            {
-            	if( !element.getAttribute(DESIGN_NAME_MATCHER).isEmpty() )
-            	{
-            		values = getPossibleClassVersions(element.getAttribute(DESIGN_NAME_MATCHER));
-            	}
-            }
-        }
-        catch (SilecsException e)
-        {
-        	ConsoleHandler.printStackTrace(e);
-        }
-
-        if (values != null && !values.isEmpty())
-        {
-            return new EnumeratedStringPropertyDescriptor(name, name, values.toArray(new String[values.size()]));
-        }
-        else
-        {
-            return super.createPropertyDescriptorHelper(name, element, cmNode);
-        }
-    }
-    
-    private static boolean isSilecsDesignName(Element element, String attribute)
-    {
-    	if (element.getTagName().matches("SilecsDesign") && attribute.matches(DESIGN_NAME_MATCHER))
-			return true;
-		return false;
-    }
-    
-    private static boolean isSilecsDesignVersion(Element element, String attribute)
-    {
-    	if (element.getTagName().matches("SilecsDesign") && attribute.matches(DESIGN_VERSION_MATCHER))
-			return true;
-		return false;
-    }
-    
-    private static List<String> getPossibleClassNames() throws SilecsException
-    {
-    	Set<File> classes = getClassFiles();
-    	String searchTerm = "." + SilecsConstants.IEDESIGN_FILE;
-    	List<String> classNames = new ArrayList<>();
-    	
-        for (File classFile : classes)
-        {
-        	String className = classFile.getName().replace(searchTerm,"");
-        	classNames.add(className);
-        }
-        return classNames;
-    }
-    
-    private static List<String> getPossibleClassVersions(String className) throws SilecsException
-    {
-    	Set<File> classes = getClassFiles();
-    	List<String> classVersions = new ArrayList<>();
-    	String searchTerm = "." + SilecsConstants.IEDESIGN_FILE;
-    	
-        for (File classFile : classes)
-        {
-        	String classNameFile = classFile.getName().replace(searchTerm,"");
-        	//ConsoleHandler.printMessage("getPossibleClassVersions - classNameFile: " + classNameFile, true);
-        	//ConsoleHandler.printMessage("getPossibleClassVersions - className: " + className, true);
-            if (classNameFile.equals(className) )
-            {
-            	try
-            	{
-	            	DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
-	            	DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
-	            	Document doc = dBuilder.parse(classFile);
-	            	Node classNode = doc.getElementsByTagName("SILECS-Class").item(0);
-	            	if( classNode != null )
-	            	{
-	            		classVersions.add( classNode.getAttributes().getNamedItem("version").getNodeValue() );
-	            	}
-	            }
-            	catch(Exception e)
-            	{
-            		e.printStackTrace();
-                	ConsoleHandler.printError("No version found in class: " + classNameFile, true);
-            	}
-            }
-        }
-        return classVersions;
-    }
-    
-    private static Set<File> getClassFiles() throws SilecsException
-    {
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-        Set<File> projects = listDirectories(workspaceRoot.getLocation().toFile());
-        Set<File> classes = new HashSet<File>();
-
-        String searchTerm = "." + SilecsConstants.IEDESIGN_FILE;
-        for (File p : projects)
-        {
-        	File designFolder = new File(p.getAbsolutePath()+"/src");
-        	if( !designFolder.exists() )
-        		continue;
-        	
-        	File[] listOfFiles = designFolder.listFiles();
-            for (int i = 0; i < listOfFiles.length; i++)
-            {
-                if (listOfFiles[i].getName().endsWith(searchTerm))
-                {
-                	classes.add(listOfFiles[i]);
-                }
-            }
-        }
-        return classes;
-    }
-    
-    private static Set<File> listDirectories(File directory)
-    {
-        File[] directories = directory.listFiles(new FileFilter()
-        {
-            @Override
-            public boolean accept(File pathname)
-            {
-                return pathname.isDirectory();
-            }
-        });
-
-        if (directories != null)
-        {
-            return new TreeSet<File>(Arrays.asList(directories));
-        }
-        else
-        {
-            return Collections.emptySet();
-        }
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreeViewer.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreeViewer.java
deleted file mode 100644
index e70cdcc..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/editor/internal/SilecsXMLTableTreeViewer.java
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.editor.internal;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.wst.xml.core.internal.document.NodeImpl;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeContentProvider;
-import org.eclipse.wst.xml.ui.internal.tabletree.XMLTableTreeViewer;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import cern.silecs.view.marker.SilecsMarker;
-
-@SuppressWarnings("restriction")
-public class SilecsXMLTableTreeViewer extends XMLTableTreeViewer implements IResourceChangeListener{
-    
-    
-    
-    private final IEditorPart parentEditor;
-    private final SilecsTableColumnViewerLabelProvider labelProvider;
-
-
-    /**
-     * @param parent
-     */
-    public SilecsXMLTableTreeViewer(Composite parent, IEditorPart parentEditor) {
-        super(parent);
-        this.parentEditor = parentEditor;
-        
-        this.propertyDescriptorFactory = new SilecsXMLTableTreePropertyDescriptorFactory();
-        XMLTableTreeContentProvider provider = new SilecsXMLTableTreeContentProvider();
-        setContentProvider(provider);
-        this.labelProvider = new SilecsTableColumnViewerLabelProvider(provider);
-        setLabelProvider(labelProvider);
-        ColumnViewerToolTipSupport.enableFor(this);
-    }
-
-    @Override
-    protected void inputChanged(Object input, Object oldInput) {
-        super.inputChanged(input, oldInput);
-
-        labelProvider.clearFaults();
-        IEditorInput editorInput = parentEditor.getEditorInput();
-        if (editorInput instanceof IFileEditorInput) {
-            try {
-                IFile inputFile = ((IFileEditorInput) editorInput).getFile();
-                IMarker[] markers = inputFile.findMarkers(SilecsMarker.TYPE, false, IResource.DEPTH_ZERO);
-
-                for (IMarker m : markers) {
-                    displayMarker(m);
-                }
-            } catch (CoreException e) {
-//                LOGGER.error(e.getMessage());
-            }
-        }
-        refresh();
-    }
-    
-    
-    @Override
-    public void refresh(Object element, boolean updateLabels) {
-        super.refresh(element, updateLabels);
-
-        // we also want to refresh label of parents elements
-        if (element instanceof Element) {
-            Node parent = ((Element) element).getParentNode();
-            while (parent != null) {
-                super.refresh(parent, updateLabels);
-                parent = parent.getParentNode();
-            }
-        }
-    }
-    
-
-    @Override
-    public void resourceChanged(IResourceChangeEvent event) {
-        IEditorInput editorInput = parentEditor.getEditorInput();
-        if (editorInput instanceof IFileEditorInput) {
-            // only apply changes if input is a file
-            final IFile inputFile = ((IFileEditorInput) editorInput).getFile();
-
-            // sort the markers so that we handle first the deletion and the the creation
-            final IMarkerDelta makerDelta[] = event.findMarkerDeltas(SilecsMarker.TYPE, false);
-            Arrays.sort(makerDelta, new Comparator<IMarkerDelta>() {
-                @Override
-                public int compare(IMarkerDelta md1, IMarkerDelta md2) {
-                    if (md1.getKind() == IResourceDelta.ADDED) {
-                        return md2.getKind() == IResourceDelta.ADDED ? 0 : 1;
-                    } else if (md1.getKind() == IResourceDelta.REMOVED) {
-                        return md2.getKind() == IResourceDelta.REMOVED ? 0 : -1;
-                    } else if (md2.getKind() == IResourceDelta.ADDED) {
-                        return -1;
-                    } else if (md2.getKind() == IResourceDelta.REMOVED) {
-                        return 1;
-                    } else {
-                        return 0;
-                    }
-                }
-            });
-
-            getControl().getDisplay().syncExec(new Runnable() {
-                @Override
-                public void run() {
-                    // this is a hack to avoid automatic scrolling to
-                    // one of the faulty nodes
-                    TreeItem item = getTree().getTopItem();
-                    for (IMarkerDelta md : makerDelta) {
-                        if (md.getResource().equals(inputFile)) {
-                            if (md.getKind() == IResourceDelta.ADDED) {
-                                displayMarker(md.getMarker());
-                            } else if (md.getKind() == IResourceDelta.REMOVED) {
-                                removeMarker(md.getMarker());
-                            }
-                        }
-                    }
-                    
-                    if (item != null) {
-                        getTree().setTopItem(item);
-                    }
-                }
-            });
-        }
-    }
-
-    public void displayMarker(final IMarker marker) {
-        NodeImpl node = null;
-        try {
-            node = (NodeImpl) marker.getAttribute(SilecsMarker.NODE_ATTR);
-            if (node != null) {
-                labelProvider.addFault(marker, node);
-                reveal(node);
-            }
-        } catch (CoreException e) {
-            //LOGGER.error("Could not highlight node: {}", e.getMessage());
-        }
-    }
-
-    public void removeMarker(final IMarker marker) {
-        labelProvider.removeFault(marker);
-    }
-    
-    @Override
-    public String getTitle() {
-        return "Tree View";
-    }
-    
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/ContentSorter.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/ContentSorter.java
deleted file mode 100644
index 091b1a6..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/ContentSorter.java
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.explorer;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.ui.views.navigator.ResourceComparator;
-
-import cern.silecs.control.core.DesignProjectNature;
-
-public class ContentSorter extends ViewerSorter {
-
-    private ResourceComparator resourceComparator;
-
-    public ContentSorter() {
-        resourceComparator = new ResourceComparator(ResourceComparator.NAME);
-    }
-
-    @Override
-    public int compare(Viewer viewer, Object e1, Object e2) {
-        if (e1 instanceof IProject && e2 instanceof IProject) {
-
-            IProject f1 = (IProject) e1;
-            IProject f2 = (IProject) e2;
-            
-            if (!f1.isOpen() || !f2.isOpen())
-                return resourceComparator.compare(viewer, e1, e2);
-            
-            boolean f1b = false;
-            boolean f2b = false;
-            try {
-                f1b = f1.hasNature(DesignProjectNature.NATURE_ID);
-                f2b = f2.hasNature(DesignProjectNature.NATURE_ID);
-            } catch (CoreException e) {
-                // TODO Auto-generated catch block
-                e.printStackTrace();
-            }
-            if (f1b ^ f2b)
-                if (f1b == true) {
-                    return -1;
-                } else {
-                    return 1;
-                }
-        }
-
-        // else let the resource comparator do the ordering
-        return resourceComparator.compare(viewer, e1, e2);
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/ProjectContent.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/ProjectContent.java
deleted file mode 100644
index 77bf856..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/ProjectContent.java
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.explorer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-
-public class ProjectContent implements ITreeContentProvider, IResourceChangeListener {
-
-    private Viewer attachedViewer;
-
-    private static final Object[] NO_OBJECTS = new Object[0];
-
-    public ProjectContent() {
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-    }
-
-    @Override
-    public void dispose() {
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-    }
-
-    @Override
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        attachedViewer = viewer;
-    }
-
-    @Override
-    public Object[] getElements(Object inputElement) {
-        if (inputElement instanceof IWorkspaceRoot) {
-            // if root return the projects
-            return ((IWorkspaceRoot) inputElement).getProjects();
-        } else if (inputElement instanceof IProject || inputElement instanceof IFolder) {
-            // if folder or project, return the content
-            return getChildren(inputElement);
-        } else {
-            return NO_OBJECTS;
-        }
-    }
-
-    @Override
-    public Object[] getChildren(Object parentElement) {
-        if (parentElement instanceof IProject) {
-            IProject p = (IProject) parentElement;
-            try {
-                return p.members();
-            } catch (CoreException e) {
-                // TODO Auto-generated catch block
-                e.printStackTrace();
-            }
-
-        } else if (parentElement instanceof IFolder) {
-            try {
-                return ((IFolder) parentElement).members();
-            } catch (CoreException e) {
-                // The resource is not found
-                return NO_OBJECTS;
-            }
-        }
-        return NO_OBJECTS;
-    }
-
-    @Override
-    public Object getParent(Object element) {
-        if (element instanceof IProject) {
-            return ((IProject) element).getWorkspace().getRoot();
-        } else if (element instanceof IFolder) {
-            IFolder folder = (IFolder) element;
-            if (folder.getParent() instanceof IProject) {
-                // parent of folder is the project
-                return folder.getProject();
-            } else {
-                return folder.getParent();
-            }
-        } else if (element instanceof IFile) {
-            IFile file = (IFile) element;
-            return file.getParent();
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public boolean hasChildren(Object element) {
-        IResource[] members = null;
-
-        try {
-            if (element instanceof IFolder) {
-                members = ((IFolder) element).members();
-            }
-        } catch (CoreException e) {
-            // error while accessing members
-        }
-
-        // has children if element is project or not empty folder
-        return element instanceof IProject || (members != null && members.length > 0);
-    }
-
-    @Override
-    public void resourceChanged(IResourceChangeEvent event) {
-        if (attachedViewer != null && !attachedViewer.getControl().isDisposed()) {
-
-            // make the UI thread update the viewer
-            Display.getDefault().asyncExec(new Runnable() {
-
-                @Override
-                public void run() {
-                    attachedViewer.refresh();
-                }
-            });
-        }
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/SilecsProjectExplorer.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/SilecsProjectExplorer.java
deleted file mode 100644
index 927d650..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/explorer/SilecsProjectExplorer.java
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.explorer;
-
-import java.time.LocalDateTime;
-import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.navigator.CommonNavigator;
-import org.eclipse.ui.navigator.CommonViewer;
-import org.eclipse.ui.navigator.ICommonActionConstants;
-
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.control.core.DesignProjectNature;
-import cern.silecs.utils.SilecsUtils;
-
-/**
- * This class is a subclass of CommonNavigator that provide changes concerning expanding tree.
- * 
- * @see CommonNavigator
- */
-public class SilecsProjectExplorer extends CommonNavigator {
-
-    public static final String VIEW_ID = "cern.silecs.view.explorer";
-
-    @Override
-    public void createPartControl(Composite aParent) {
-        super.createPartControl(aParent);
-        CommonViewer viewer = getCommonViewer();
-
-        IActionBars bars = getViewSite().getActionBars();
-        final IStatusLineManager lineManager = bars.getStatusLineManager();
-
-        final ILabelProvider labelProvider = (ILabelProvider) viewer.getLabelProvider();
-
-        viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
-
-            @Override
-            public void selectionChanged(SelectionChangedEvent event) {
-
-                ISelection aSelection = event.getSelection();
-                if (aSelection != null && !aSelection.isEmpty() && aSelection instanceof IStructuredSelection) {
-                    IStructuredSelection selection = (IStructuredSelection) aSelection;
-                    IResource file = null;
-
-                    if (selection.size() == 1 && selection.getFirstElement() instanceof IProject) {                               
-                        IProject project = (IProject) selection.getFirstElement();
-                        try {
-                            if (project.hasNature(DesignProjectNature.NATURE_ID)) {
-                                file = SilecsUtils.getSilecsDesignFile(project);
-                            } else if (project.hasNature(DeployProjectNature.NATURE_ID)) {
-                                file = SilecsUtils.getSilecsDeployFile(project);
-                            }
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-
-                    } else if(selection.size() == 1 && selection.getFirstElement() instanceof IFile) {
-                        file = (IFile) selection.getFirstElement();
-                    }
-                    
-                    if(file != null) {
-                        Image img = null;
-                        img = labelProvider.getImage(((IStructuredSelection) aSelection).getFirstElement());
-                        long modificationTime = file.getLocalTimeStamp() / 1000;
-                        
-                        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY   HH:mm:ss");
-                        LocalDateTime dateAndTime = LocalDateTime.ofEpochSecond(modificationTime, 0, ZoneOffset.ofHours(2));
-                        
-                        lineManager.setMessage(img,"Last modfication: " + formatter.format(dateAndTime) + " : " + file.getFullPath());
-                    }
-                }
-
-            }
-        });
-
-    }
-
-    /**
-     * This method is responsible for expanding the project tree from the root to the silecs file(*.silecsdesign or
-     * *.silecsdeploy)
-     */
-    @Override
-    protected void handleDoubleClick(DoubleClickEvent anEvent) {
-
-        IStructuredSelection selection = (IStructuredSelection) anEvent.getSelection();
-        Object element = selection.getFirstElement();
-        if (element instanceof IProject && !((IProject) element).isOpen()) {
-            try {
-                ((IProject) element).open(new NullProgressMonitor());
-            } catch (CoreException e) {
-                e.printStackTrace();
-            }
-            return;
-
-        } else if (element instanceof IProject && ((IProject) element).isOpen()) {
-            List<IProject> projectList = new ArrayList<IProject>();
-            projectList.add((IProject) element);
-
-            IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-
-            expandHelper(root, projectList);
-            return;
-        }
-        super.handleDoubleClick(anEvent);
-    }
-
-    /**
-     * This method expands elements in the tree. Since the tool does not have knowledge about project structure it must
-     * be done recursively.
-     * 
-     * @param root {@link WorkspaceRoot}
-     * @param projects List of projects that need to be expanded
-     */
-    public void expandHelper(IWorkspaceRoot root, List<IProject> projects) {
-        for (IProject project : projects) {
-            if (project.isOpen()) {
-                try {
-                    IFile file = null;
-                    if (project.hasNature(DeployProjectNature.NATURE_ID)) {
-                        file = SilecsUtils.getSilecsDeployFile(project);
-                    } else if (project.hasNature(DesignProjectNature.NATURE_ID)) {
-                        file = SilecsUtils.getSilecsDesignFile(project);
-                    }
-                    if (file == null)
-                        continue;
-
-                    IContainer parent = file.getParent();
-                    List<Object> toExpand = new ArrayList<>();
-
-                    do {
-                        toExpand.add(0, parent);
-                    } while ((parent = parent.getParent()) != root);
-                    boolean expand = !getCommonViewer().getExpandedState(project);
-                    for(Object o: toExpand )
-                    	expand(o, expand);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    /**
-     * Expands single element in the viewer
-     * 
-     * @param element
-     * @return true if expanded
-     */
-    private boolean expand(Object element, boolean expand) {
-        IAction openHandler = getViewSite().getActionBars().getGlobalActionHandler(ICommonActionConstants.OPEN);
-
-        if (openHandler == null) {
-
-            TreeViewer viewer = getCommonViewer();
-            if (viewer.isExpandable(element)) {
-                viewer.setExpandedState(element, expand);
-                return true;
-            }
-        }
-        return false;
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/BaseFileJob.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/job/BaseFileJob.java
deleted file mode 100644
index 563bb7b..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/BaseFileJob.java
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.job;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-import cern.silecs.activator.Activator;
-
-public abstract class BaseFileJob extends WorkspaceJob {
-    
-    protected final IFile file;
-    protected final Map<IResource, Exception> failures;
-    
-    
-    /**
-     * @param name
-     */
-    public BaseFileJob(String name, IFile file) {
-        super(name);
-        this.file = file;
-        this.failures = new HashMap<IResource, Exception>();
-        
-        // set the job rule
-        setRule(createJobRule());
-    }
-
-    public Map<IResource, Exception> getFailures(){
-        return failures;
-    }
-    
-    protected IStatus computeReturnStatus() {
-        if (failures.isEmpty()) {
-            return Status.OK_STATUS;
-        } else {
-            // return INFO status so that eclipse does not open the default error pop up
-            // we handle manually the error reporting
-            return new Status(IStatus.INFO, Activator.PLUGIN_ID, "");
-        }
-    }
-
-    
-    /**
-     * Create the job rule to avoid concurrency on the used resources
-     * 
-     * @return rule used for the job
-     */
-    protected ISchedulingRule createJobRule() {
-        return null;
-    }
-
-    protected final ISchedulingRule workspaceRule() {
-        return ResourcesPlugin.getWorkspace().getRoot();
-    }
-    
-    
-    
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/BaseProjectJob.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/job/BaseProjectJob.java
deleted file mode 100644
index ba40902..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/BaseProjectJob.java
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.job;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-import cern.silecs.activator.Activator;
-
-public abstract class BaseProjectJob extends WorkspaceJob {
-
-    protected final IProject project;
-    protected final Map<IResource, Exception> failures;
-
-    /**
-     * @param name
-     */
-    public BaseProjectJob(String name, IProject project) {
-        super(name);
-        this.failures = new HashMap<IResource, Exception>();
-        this.project = project;
-
-        // set the job rule
-        setRule(createJobRule());
-    }
-
-    public Map<IResource, Exception> getFailures() {
-        return failures;
-    }
-
-    protected IStatus computeReturnStatus() {
-        if (failures.isEmpty()) {
-            return Status.OK_STATUS;
-        } else {
-            // return INFO status so that eclipse does not open the default error pop up
-            // we handle manually the error reporting
-            return new Status(IStatus.INFO, Activator.PLUGIN_ID, "");
-        }
-    }
-
-    /**
-     * Create the job rule to avoid concurrency on the used resources
-     * 
-     * @return rule used for the job
-     */
-    protected ISchedulingRule createJobRule() {
-        return null;
-    }
-
-    protected final ISchedulingRule workspaceRule() {
-        return ResourcesPlugin.getWorkspace().getRoot();
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/GenerateClassJob.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/job/GenerateClassJob.java
deleted file mode 100644
index 263b22d..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/GenerateClassJob.java
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.job;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import cern.silecs.control.core.DesignProjectNature;
-import cern.silecs.control.validation.Validator;
-import cern.silecs.utils.OSExecute;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.preferences.MainPreferencePage;
-
-public class GenerateClassJob extends BaseProjectJob {
-	
-    private static final String JOB_NAME = "Generate SILECS Class Job";
-
-    IFile fesaDesignXML;
-    
-    public GenerateClassJob(IProject project, IFile fesaDesignDoc) {
-        super(JOB_NAME, project);
-        fesaDesignXML = fesaDesignDoc;
-    }
-
-    @Override
-    public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-        
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-        String workspacePath = workspaceRoot.getLocation().toFile().getPath();
-
-        monitor.beginTask("Generate Fesa Classes", 1);
-        
-        generateFesaClass(workspacePath, new SubProgressMonitor(monitor, 1));
-        DesignProjectNature.addFESAClassNature(project,monitor);
-        DesignProjectNature.addBuildSpecs(project);
-        monitor.done();
-        
-        return computeReturnStatus();
-    }
-
-    boolean generateFesaClass(String workspacePath, IProgressMonitor monitor)
-    {
-    	String projectName = project.getName();
-    	String projectPath = workspacePath + "/" + projectName;
-        try {
-        	String silecsDesignFilePath = SilecsUtils.getSilecsDesignFilePath(workspacePath, projectName);
-	        String silecsVersion = SilecsUtils.getSilecsVersion(project);
-	        String silecsLibraryBasePath = MainPreferencePage.getSilecsLibraryBasePath(silecsVersion);
-	
-	        ConsoleHandler.printMessage("Generating FESA class: " + projectName, false);
-	        
-	        if (!Validator.isDocumentValid(SilecsUtils.getSilecsDesignFile(project)))
-	        {
-	        	ConsoleHandler.printError( "Failed to generated FESA class: '" +  projectName + "'. Please fix all design errors first!", true);
-	            return false;
-	        }
-	        
-            monitor.beginTask("Generating " + projectName, 2);
-            OSExecute.executePython("generateFesaDesign","fillDesignFile",silecsVersion,new String[]{MainPreferencePage.getFESAVersion(),projectName,workspacePath,MainPreferencePage.getFESADesignSchemaPath()});
-            OSExecute.executePython("generateSourceCode","genCppFiles",silecsVersion,new String[]{projectName, workspacePath,silecsDesignFilePath}); // attention - Cpp Codegen has to happen AFTER design file codegen
-            OSExecute.executePython("generateBuildEnvironment","genMakefileClass",silecsVersion,new String[]{projectPath,silecsLibraryBasePath});
-            OSExecute.executePython("generateBuildEnvironment","genCProjectFile",silecsVersion,new String[]{projectPath.toString()});
-            project.refreshLocal(IResource.DEPTH_INFINITE, null);
-            SilecsUtils.openInEditor(fesaDesignXML);
-            monitor.worked(1);
-        } catch (Exception e) {
-            e.printStackTrace();
-            ConsoleHandler.printError("Failed to generate FESA class: " + projectName, true);
-            ConsoleHandler.printStackTrace(e);
-            return false;
-        }
-        
-        monitor.done();
-        ConsoleHandler.printMessage( "Successfully generated FESA class: " + projectName, true);
-        return true;
-
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/GenerateDeployJob.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/job/GenerateDeployJob.java
deleted file mode 100644
index 2fb5f6c..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/GenerateDeployJob.java
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.job;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.control.validation.Validator;
-import cern.silecs.utils.OSExecute;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.preferences.MainPreferencePage;
-
-public class GenerateDeployJob extends BaseProjectJob {
-
-    private static final String JOB_NAME = "Generate SILECS Deploy Job";
-
-    IFile fesaDeployDoc_;
-    boolean createdNewDeployDoc_;
-    
-    public GenerateDeployJob(IProject project, IFile fesaDeployDoc, boolean createdNewDeployDoc) {
-        super(JOB_NAME, project);
-        fesaDeployDoc_ = fesaDeployDoc;
-        createdNewDeployDoc_ = createdNewDeployDoc;
-    }
-
-    @Override
-    public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-        String workspacePath = workspaceRoot.getLocation().toFile().getPath();
-
-        monitor.beginTask("Generating Code", 1);
-        generateDeploy(workspacePath, new SubProgressMonitor(monitor, 1));
-        monitor.done();
-
-        return computeReturnStatus();
-    }
-
-    private void generateDeploy(String workspacePath, IProgressMonitor monitor )
-    {
-        String projectName = project.getName();
-        
-        try {
-        	String deployPath = SilecsUtils.getSilecsDeployFilePath(workspacePath,projectName);
-	        String deployVersion = SilecsUtils.getDeployVersion(deployPath);
-	        String silecsVersion = SilecsUtils.getSilecsVersion(project);
-	        
-	        monitor.beginTask("Generating: " + projectName, 2);
-	        
-	        ConsoleHandler.printMessage("Generating Code for: " + projectName, false);
-	        if (!Validator.isDocumentValid(SilecsUtils.getSilecsDeployFile(project)))
-	        {
-	        	ConsoleHandler.printError( "Failed to generated code for: '" +  projectName + "'. Please fix all xml errors first!", true);
-	        	return;
-	        }
-
-	        OSExecute.executePython("genparam","genParam",silecsVersion,new String[]{workspacePath, projectName, deployVersion,silecsVersion});
-	        OSExecute.executePython("genplcsrc","genPlcSrc",silecsVersion,new String[]{workspacePath, projectName,silecsVersion});
-	        OSExecute.executePython("genduwrapper","genDuWrapper",silecsVersion,new String[]{workspacePath, projectName, deployVersion});
-	        OSExecute.executePython("generateBuildEnvironment","genCProjectFile",silecsVersion,new String[]{project.getLocation().toString()});
-
-            String silecsLibraryBasePath = MainPreferencePage.getSilecsLibraryBasePath(SilecsUtils.getSilecsVersion(project));
-            String snap7LibraryBasePath = MainPreferencePage.getSNAP7LibraryBasePath(SilecsUtils.getSilecsVersion(project));
-            OSExecute.executePython("generateBuildEnvironment","genMakefileDU",silecsVersion,new String[]{ workspacePath + "/" + projectName, silecsLibraryBasePath,snap7LibraryBasePath});
-            OSExecute.executePython("fillFESADeployUnit","fillDeployUnit",silecsVersion,new String[]{ workspacePath, projectName, MainPreferencePage.getFESADeployUnitSchemaPath(), MainPreferencePage.getFESAVersion() });
-            
-            DeployProjectNature.addFESADeployUnitNature(project,monitor);
-            DeployProjectNature.addBuildSpecs(project);
-            
-            project.refreshLocal(IResource.DEPTH_INFINITE, null);
-            
-            ConsoleHandler.printMessage("Succeeded in generated code for " + projectName, true);
-            
-            if(createdNewDeployDoc_)
-            	SilecsUtils.openInEditor(fesaDeployDoc_);
-            
-            monitor.worked(1);
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            ConsoleHandler.printError("Failed to generate code for " + projectName, true);
-            ConsoleHandler.printStackTrace(e);
-        }
-    }
-}
\ No newline at end of file
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/UpdateVersionJob.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/job/UpdateVersionJob.java
deleted file mode 100644
index d12e3f6..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/UpdateVersionJob.java
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.job;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.control.core.DesignProjectNature;
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.utils.OSExecute;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.preferences.MainPreferencePage;
-
-public class UpdateVersionJob extends BaseProjectJob {
-	
-    private static final String JOB_NAME = "Update SILECS Version Job";
-
-    String newVersion_;
-    String oldVersion_;
-    
-    public UpdateVersionJob(IProject project, String newVersion ) {
-        super(JOB_NAME, project);
-        newVersion_ = newVersion;
-    }
-
-    @Override
-    public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException
-    {
-        monitor.beginTask("Updating Silecs Version", 1);
-        updateVersion(monitor);
-        monitor.done();
-        return computeReturnStatus();
-    }
-
-    boolean updateVersion(IProgressMonitor monitor)
-    {
-        try {
-            oldVersion_ = SilecsUtils.getSilecsVersion(project);
-
-            int result = oldVersion_.compareTo(newVersion_);
-            if( result >= 0)
-            {
-            	throw new SilecsException("Migration from "+ oldVersion_ +" to "+ newVersion_ +" not possible. The target-version always needto newer than the current version");
-            }
-            
-            String codeGenBasePath = MainPreferencePage.getCodeGenBasePath(newVersion_);
-            String silecsDocumentPath = SilecsUtils.getSilecsDocument(project).getRawLocation().makeAbsolute().toOSString();
-            String oldVersionUnderscored  = oldVersion_.replace(".", "_");
-            String newVersionUnderscored  = newVersion_.replace(".", "_");
-            String migrationScript = codeGenBasePath + "/migration/" + oldVersionUnderscored + "to" + newVersionUnderscored + ".py";
-
-            if(! new File(migrationScript).exists())
-            { 
-            	ConsoleHandler.printWarning("There is no Migration Script for an update from: '" + oldVersion_ + "' to '" + newVersion_ + "'. Using generic migration-script. Only basic xml-version strings will be changed.", true);
-            	migrationScript = codeGenBasePath + "/migration/migrationBase.py";
-                if(! new File(migrationScript).exists())
-                { 
-                	throw new SilecsException("The Migration Script: '" + migrationScript + "' does not exist. Please check your Eclipse-Silecs preferences!");
-                }
-            }
-
-            String newXMLSchema = MainPreferencePage.getModelBasePath(newVersion_) + "/";
-    		if ( project.hasNature(DesignProjectNature.NATURE_ID) )
-    		{
-    			newXMLSchema += SilecsConstants.DESIGN_SCHEMA_XSD;
-    		}
-    		else if( project.hasNature(DeployProjectNature.NATURE_ID) )
-    		{
-    			newXMLSchema += SilecsConstants.DEPLOY_SCHEMA_XSD;
-    		}
-    		else
-            	 throw new Exception("The project: " + project.getName() + " is not a silecs-project");
-
-            OSExecute.executeCommand("python", migrationScript, silecsDocumentPath, newXMLSchema, oldVersion_, newVersion_);
-	        ConsoleHandler.printMessage("Updating Silecs Version from '" + oldVersion_ + "'to '" + newVersion_ + "'", false);
-	        
-            monitor.beginTask("Updating Silecs Version " + project.getName(), 2);
-
-            project.refreshLocal(IResource.DEPTH_INFINITE, null);
-            
-            monitor.worked(1);
-        } catch (Exception e) {
-            e.printStackTrace();
-            ConsoleHandler.printError("Failed to update SILECS version of: " + project.getName(), true);
-            ConsoleHandler.printStackTrace(e);
-            return false;
-        }
-        
-        monitor.done();
-        ConsoleHandler.printMessage( "Successfully updated SILECS version of: " + project.getName(), true);
-        return true;
-
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/ValidationJob.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/job/ValidationJob.java
deleted file mode 100644
index 35af12f..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/job/ValidationJob.java
+++ /dev/null
@@ -1,223 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.job;
-
-import java.io.File;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.document.AttrImpl;
-import org.eclipse.wst.xml.core.internal.document.ElementImpl;
-import org.eclipse.wst.xml.core.internal.document.NodeImpl;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.xsd.XSDIdentityConstraintDefinition;
-import org.eclipse.xsd.XSDXPathDefinition;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import cern.silecs.control.validation.Validator;
-import cern.silecs.model.document.SilecsDocumentError;
-import cern.silecs.model.document.XmlBasedDocument;
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.editor.XMLMultiPageEditor;
-import cern.silecs.view.editor.internal.SchemaHelper;
-import cern.silecs.view.marker.SilecsMarker;
-
-@SuppressWarnings("restriction")
-public class ValidationJob extends BaseFileJob
-{
-    private static final String JOB_NAME = "silecs validation job";
-
-    public ValidationJob(IFile file) {
-        this(JOB_NAME, file);
-
-    }
-
-    public ValidationJob(String name, IFile file) {
-        super(name, file);
-    }
-
-    @Override
-    public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-        boolean hasErros = false;
-        try
-        {
-            // monitor.beginTask(Messages.get(Message.VALIDATION_PROCESS) + " ...", silecsFiles.size() * 2);
-            monitor.beginTask("Validation Job", 1);
-            try
-            {
-            	hasErros = !isValid(file, new SubProgressMonitor(monitor, 1));
-                file.refreshLocal(IResource.DEPTH_ZERO, null);
-            }
-            catch (Exception e)
-            {
-                failures.put(file, e);
-            }
-
-            return computeReturnStatus();
-        }
-        finally
-        {
-            // Open problem view if there are some errors
-            if (hasErros) {
-                Display.getDefault().syncExec(new Runnable() {
-
-                    @Override
-                    public void run() {
-                        IWorkbenchPage activepage = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
-                                .getActivePage();
-                        IViewPart pbv = activepage.findView("org.eclipse.ui.views.ProblemView");
-                        if (pbv != null) {
-                            activepage.bringToTop(pbv);
-                        }
-                    }
-                });
-            }
-
-            monitor.done();
-        }
-    }
-
-    protected boolean isValid(IFile silecsFile, IProgressMonitor monitor) {
-        IProgressMonitor mon = monitor;
-        if (mon == null) {
-            mon = new NullProgressMonitor();
-        }
-
-        try {
-            mon.beginTask("Validation", 1);
-
-            List<SilecsDocumentError> errors = null;
-
-            File file = new File(silecsFile.getLocationURI());
-
-            errors = Validator.validate(file);
-            
-            final XMLMultiPageEditor editor = XMLMultiPageEditor.getOpenedEditor(silecsFile);
-
-            updateMarkers(silecsFile, errors, editor);
-
-            // return true if document is valid
-            if (errors.isEmpty()) {
-                ConsoleHandler.printMessage("Document " + silecsFile.getName() + " is valid", true);
-                return true;
-            }
-            ConsoleHandler.printError("Document " + silecsFile.getName() + " is not valid", true);
-            return false;
-        } finally {
-            mon.done();
-        }
-    }
-
-    private void updateMarkers(IFile silecsFile, List<SilecsDocumentError> errors, XMLMultiPageEditor editor) {
-        // remove old markers
-        try
-        {
-            silecsFile.deleteMarkers(SilecsMarker.TYPE, false, IResource.DEPTH_ZERO);
-        }
-        catch (CoreException e)
-        {
-        	ConsoleHandler.printStackTrace(e);
-        }
-
-        for (SilecsDocumentError error : errors)
-        {
-            try
-            {
-                createMarker(silecsFile, error, editor);
-            }
-            catch (Exception e)
-            {
-            	ConsoleHandler.printMessage("Could not create marker for " + error, true);
-            }
-        }
-
-    }
-
-    private IMarker createMarker(IFile file, SilecsDocumentError error, XMLMultiPageEditor editor) throws CoreException, SilecsException {
-        IStructuredModel model = StructuredModelManager.getModelManager().getExistingModelForRead(file);
-        if (model instanceof IDOMModel)
-        {
-            try {
-                NodeImpl hintNode = null;
-                XmlBasedDocument xmlDocument = new XmlBasedDocument(((IDOMModel) model).getDocument());
-
-                if (error.xPath != null)
-                {
-                    hintNode = (NodeImpl) xmlDocument.getSingleNode(error.xPath);
-                }
-
-                // first try to get accurate not thanks to the schema
-                if (error.isIdentityConstraintError() && hintNode instanceof Element) {
-                    XSDIdentityConstraintDefinition def = SchemaHelper.findIdentityConstraint((Element) hintNode,
-                            error.violatedKey);
-
-                    // def = null can happen when eclipse has not finished to build the schema
-                    if (def != null) {
-                        List<Node> candidates = xmlDocument.getNodes(hintNode, def.getSelector().getValue());
-                        for (Node candidate : candidates) {
-                            for (XSDXPathDefinition field : def.getFields()) {
-                                List<Node> values = xmlDocument.getNodes(candidate, field.getValue());
-                                for (Node v : values) {
-                                    if ((v instanceof AttrImpl && ((AttrImpl) v).getValue()
-                                            .equals(error.incorrectValue))
-                                            || (v instanceof Element)
-                                            && ((ElementImpl) v).getTextContent().equals(error.incorrectValue)) {
-                                        return SilecsMarker.create(file, error, (NodeImpl) v);
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-
-                // try to get the node thanks to the document position
-                if (editor != null) {
-                    NodeImpl node = editor.getNodeAtPosition(error.lineNumber, error.columnNumber);
-                    if (node != null) {
-                        hintNode = node;
-                    }
-                }
-
-                // if fail, use the hint node found with the xpath provided by the validator
-                if (hintNode != null) {
-                    return SilecsMarker.create(file, error, hintNode);
-                }
-            }
-            catch (SilecsException e)
-            {
-            	ConsoleHandler.printMessage("Could not get precise location for marker: " + e.getMessage(), true);
-                throw e;
-            }
-        }
-        return SilecsMarker.create(file, error);
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/marker/SilecsMarker.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/marker/SilecsMarker.java
deleted file mode 100644
index ea12b39..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/marker/SilecsMarker.java
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.marker;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.xml.core.internal.document.NodeImpl;
-
-import cern.silecs.model.document.SilecsDocumentError;
-
-@SuppressWarnings("restriction")
-public abstract class SilecsMarker {
-
-//    private static final Logger LOGGER = LoggerFactory.getLogger(SilecsMarker.class);
-
-    public static final String TYPE = "cern.silecs.view.marker";
-
-    public static final String NODE_ATTR = "node";
-
-    public static IMarker create(IFile file, SilecsDocumentError error, NodeImpl node) throws CoreException {
-        IMarker marker = create(file, error);
-        if (node != null) {
-            marker.setAttribute(IMarker.CHAR_START, node.getStartOffset());
-            marker.setAttribute(IMarker.CHAR_END, node.getEndOffset());
-            marker.setAttribute(NODE_ATTR, node);
-        }
-
-        return marker;
-    }
-
-    public static IMarker create(IFile file, SilecsDocumentError error) throws CoreException {
-        IMarker marker = file.createMarker(SilecsMarker.TYPE);
-
-        marker.setAttribute(IMarker.MESSAGE, error.message);
-        marker.setAttribute(IMarker.LINE_NUMBER, error.lineNumber);
-        switch (error.level) {
-        case INFO:
-            marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO);
-            break;
-        case WARNING:
-            marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
-            break;
-        default:
-            marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
-            break;
-        }
-
-        return marker;
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/marker/SilecsMarkerUpdater.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/marker/SilecsMarkerUpdater.java
deleted file mode 100644
index ed8193f..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/marker/SilecsMarkerUpdater.java
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.marker;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.texteditor.IMarkerUpdater;
-
-public class SilecsMarkerUpdater implements IMarkerUpdater {
-
-    @Override
-    public String getMarkerType() {
-        return SilecsMarker.TYPE;
-    }
-
-    @Override
-    public String[] getAttribute() {
-        return null;
-    }
-
-    @Override
-    public boolean updateMarker(IMarker marker, IDocument document, Position position) {
-        try {
-            int start = position.getOffset();
-            int end = position.getOffset() + position.getLength();
-            marker.setAttribute(IMarker.CHAR_START, start);
-            marker.setAttribute(IMarker.CHAR_END, end);
-            return true;
-        } catch (CoreException e) {
-            return false;
-        }
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/EditorPreferencePage.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/EditorPreferencePage.java
deleted file mode 100644
index 8ed40f1..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/EditorPreferencePage.java
+++ /dev/null
@@ -1,232 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.preferences;
-
-import org.eclipse.jface.preference.ColorSelector;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-import cern.silecs.activator.Activator;
-
-public class EditorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-//    // validate on save
-//    public static final String VALIDATE_ON_SAVE = "VALIDATE_ON_SAVE";
-//    
-//    // colors
-//    public static final String EDITABLE_COLOR_R = "XML_EDITOR_COLOR_EDITABLE_R";
-//    public static final String EDITABLE_COLOR_G = "XML_EDITOR_COLOR_EDITABLE_G";
-//    public static final String EDITABLE_COLOR_B = "XML_EDITOR_COLOR_EDITABLE_B";
-//
-//    public static final String CONTENT_COLOR_R = "XML_EDITOR_COLOR_CONTENT_R";
-//    public static final String CONTENT_COLOR_G = "XML_EDITOR_COLOR_CONTENT_G";
-//    public static final String CONTENT_COLOR_B = "XML_EDITOR_COLOR_CONTENT_B";
-//    
-//    // link documentation to the editor
-//    public static final String LINK_DOCUMENTATION = "DISPLAY_DOCUMENTATION";
-//    public static final String BRING_DOCUMENTATION_TO_FRONT = "DOCUMENTATION_TO_FRONT";
-//    
-//    public static final String SHOW_GENERATED = "SHOW_GENERATED"; 
-//
-//    // default theme
-//    public static final RGB DEFAULT_EDITABLE = new RGB(0, 0, 0);
-//    public static final RGB DEFAULT_CONTENT = new RGB(130, 170, 150);
-//
-//    // ocean theme
-//    public static final RGB OCEAN_EDITABLE = new RGB(0, 0, 128);
-//    public static final RGB OCEAN_CONTENT = new RGB(0, 206, 209);
-//
-//    // fire theme
-//    public static final RGB FIRE_EDITABLE = new RGB(205, 79, 57);
-//    public static final RGB FIRE_CONTENT = new RGB(205, 205, 0);
-//
-//    private Button validationOnSave;
-//    
-//    private ColorSelector editableColorSelector;
-//    private ColorSelector contentColorSelector;
-//    
-//    private Button linkDocumentation;
-//    private Button bringDocumentationToFront;
-//    private Button showGeneratedContent;
-
-    @Override
-    public void init(IWorkbench workbench) {
-        setPreferenceStore(Activator.getDefault().getPreferenceStore());
-        setDescription("Not yet available");
-    }
-
-    @Override
-    protected Control createContents(Composite parent) {
-        Composite container = new Composite(parent, SWT.NONE);
-//
-//        IPreferenceStore prefs = getPreferenceStore();
-//
-        GridLayout layout = new GridLayout(1, false);
-        container.setLayout(layout);
-//        
-//        // validation options
-//        Group validationGroup = new Group(container, SWT.NONE);
-//        validationGroup.setText("Validation");
-//        validationGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-//        layout = new GridLayout(1, false);
-//        validationGroup.setLayout(layout);
-//        validationOnSave = new Button(validationGroup, SWT.CHECK);
-//        validationOnSave.setText("Validate after Safe");
-//        validationOnSave.setSelection(prefs.getBoolean(VALIDATE_ON_SAVE));
-//
-//        // color options
-//        Group colorGroup = new Group(container, SWT.NONE);
-//        colorGroup.setText("Colors");
-//        colorGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-//        layout = new GridLayout(2, false);
-//        colorGroup.setLayout(layout);
-//        
-//        Label editableColorLabel = new Label(colorGroup, SWT.NONE);
-//        editableColorLabel.setText("Editable Text color");
-//        
-//        contentColorSelector = new ColorSelector(colorGroup);
-//        RGB contentColor = new RGB(prefs.getInt(CONTENT_COLOR_R), prefs.getInt(CONTENT_COLOR_G),
-//                prefs.getInt(CONTENT_COLOR_B));
-//        contentColorSelector.setColorValue(contentColor);
-//
-//        Label contentColorLabel = new Label(colorGroup, SWT.NONE);
-//        contentColorLabel.setText("Content Text Color");
-//        
-//        editableColorSelector = new ColorSelector(colorGroup);
-//        RGB editableColor = new RGB(prefs.getInt(EDITABLE_COLOR_R), prefs.getInt(EDITABLE_COLOR_G),
-//                prefs.getInt(EDITABLE_COLOR_B));
-//        editableColorSelector.setColorValue(editableColor);
-//
-//        Group buttonGroup = new Group(colorGroup, SWT.NONE);
-//        buttonGroup.setText("Color Scheme");
-//        RowLayout buttonLayout = new RowLayout(SWT.HORIZONTAL);
-//        buttonLayout.marginLeft = 5;
-//        buttonLayout.marginRight = 5;
-//        buttonLayout.marginTop = 5;
-//        buttonLayout.marginBottom = 5;
-//        buttonLayout.spacing = 5;
-//        buttonLayout.pack = false;
-//        buttonLayout.justify = true;
-//        buttonGroup.setLayout(buttonLayout);
-//        GridData buttonGridData = new GridData(SWT.FILL, SWT.FILL, true, false);
-//        buttonGridData.horizontalSpan = 2;
-//        buttonGroup.setLayoutData(buttonGridData);
-//        
-//        
-//        Button defaultScheme = new Button(buttonGroup, SWT.PUSH);
-//        defaultScheme.setText("default");
-//        
-//        Button oceanScheme = new Button(buttonGroup, SWT.PUSH);
-//        oceanScheme.setText("ocean");
-//        
-//        Button fireScheme = new Button(buttonGroup, SWT.PUSH);
-//        fireScheme.setText("fire");
-//
-//        defaultScheme.addListener(SWT.Selection, new Listener() {
-//            
-//            @Override
-//            public void handleEvent(Event event) {
-//                contentColorSelector.setColorValue(DEFAULT_CONTENT);
-//                editableColorSelector.setColorValue(DEFAULT_EDITABLE);
-//            }
-//        });
-//        
-//        oceanScheme.addListener(SWT.Selection, new Listener() {
-//            
-//            @Override
-//            public void handleEvent(Event event) {
-//                contentColorSelector.setColorValue(OCEAN_CONTENT);
-//                editableColorSelector.setColorValue(OCEAN_EDITABLE);
-//            }
-//        });
-//        
-//        fireScheme.addListener(SWT.Selection, new Listener() {
-//            
-//            @Override
-//            public void handleEvent(Event event) {
-//                contentColorSelector.setColorValue(FIRE_CONTENT);
-//                editableColorSelector.setColorValue(FIRE_EDITABLE);
-//            }
-//        });
-//        
-//        Group others = new Group(container, SWT.NONE);
-//        others.setText("Others");
-//        others.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-//        layout = new GridLayout(1, false);
-//        others.setLayout(layout);
-//        linkDocumentation = new Button(others, SWT.CHECK);
-//        linkDocumentation.setText("Link Documentation");
-//        linkDocumentation.setSelection(prefs.getBoolean(LINK_DOCUMENTATION));
-//        bringDocumentationToFront = new Button(others, SWT.CHECK);
-//        bringDocumentationToFront.setText("Bring Documentation to Front");
-//        bringDocumentationToFront.setSelection(prefs.getBoolean(BRING_DOCUMENTATION_TO_FRONT));
-//        
-//        showGeneratedContent = new Button(others, SWT.CHECK);
-//        showGeneratedContent.setText("Show generated content");
-//        showGeneratedContent.setSelection(prefs.getBoolean(SHOW_GENERATED));
-//        
-        return container;
-    }
-//    
-    @Override
-    public boolean performOk() {
-//        IPreferenceStore prefs = getPreferenceStore();
-//        
-//        RGB content = contentColorSelector.getColorValue();
-//        RGB editable = editableColorSelector.getColorValue();
-//        
-//        prefs.setValue(VALIDATE_ON_SAVE, validationOnSave.getSelection());
-//        
-//        prefs.setValue(CONTENT_COLOR_R, content.red);
-//        prefs.setValue(CONTENT_COLOR_G, content.green);
-//        prefs.setValue(CONTENT_COLOR_B, content.blue);
-//        prefs.setValue(EDITABLE_COLOR_R, editable.red);
-//        prefs.setValue(EDITABLE_COLOR_G, editable.green);
-//        prefs.setValue(EDITABLE_COLOR_B, editable.blue);
-//        
-//        prefs.setValue(LINK_DOCUMENTATION, linkDocumentation.getSelection());
-//        prefs.setValue(BRING_DOCUMENTATION_TO_FRONT, bringDocumentationToFront.getSelection());
-//        prefs.setValue(SHOW_GENERATED, showGeneratedContent.getSelection());
-//        
-        return true;
-    }
-    
-    @Override
-    protected void performDefaults() {
-//        validationOnSave.setSelection(true);
-//        
-//        contentColorSelector.setColorValue(DEFAULT_CONTENT);
-//        editableColorSelector.setColorValue(DEFAULT_EDITABLE);
-//        
-//        linkDocumentation.setSelection(true);
-//        bringDocumentationToFront.setSelection(false);
-//        showGeneratedContent.setSelection(false);
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/LoggingPreferencePage.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/LoggingPreferencePage.java
deleted file mode 100644
index b10a026..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/LoggingPreferencePage.java
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.preferences;
-
-import java.io.File;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-import cern.silecs.activator.Activator;
-
-public class LoggingPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-
-    public static final String[] LOG_LEVELS = { "FATAL", "ERROR", "WARN", "INFO", "DEBUG", "TRACE", "OFF" };
-    public static final int DEFAULT_LOG_LEVEL_INDEX = 3;
-    public static final String DEFAULT_LOG_DIRECTORY = System.getProperty("user.home") + "/.logs/fesa-plugin";
-
-    public static final String LOG_LEVEL = "fesaLog.level";
-    public static final String LOG_DIRECTORY = "fesaLog.directory";
-    public static final String BRING_CONSOLE_TO_FRONT = "CONSOLE_TO_FRONT";
-    
-    private Combo logLevel;
-    private Text logDirectory;
-
-    @Override
-    public void init(IWorkbench workbench) {
-        setPreferenceStore(Activator.getDefault().getPreferenceStore());
-        setDescription("SILECS Logging");
-    }
-
-    @Override
-    protected Control createContents(Composite parent) {
-        IPreferenceStore prefs = getPreferenceStore();
-
-        Composite container = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout(3, false);
-        container.setLayout(layout);
-
-        Label level = new Label(container, SWT.NONE);
-        level.setText("Log Level");
-        logLevel = new Combo(container, SWT.BORDER | SWT.V_SCROLL | SWT.READ_ONLY);
-        logLevel.setItems(LOG_LEVELS);
-        logLevel.select(prefs.getInt(LOG_LEVEL));
-        GridData dataLayout = new GridData();
-        dataLayout.horizontalSpan = 2;
-        logLevel.setLayoutData(dataLayout);
-
-        Label directory = new Label(container, SWT.NONE);
-        directory.setText("Log Directory");
-        logDirectory = new Text(container, SWT.BORDER);
-        logDirectory.setText(prefs.getString(LOG_DIRECTORY));
-        dataLayout = new GridData(SWT.FILL, SWT.TOP, true, false);
-        logDirectory.setLayoutData(dataLayout);
-
-        Button browse = new Button(container, SWT.PUSH);
-        browse.setText("browse");
-        browse.addListener(SWT.Selection, new Listener() {
-
-            @Override
-            public void handleEvent(Event event) {
-                DirectoryDialog dirDialog = new DirectoryDialog(getShell());
-                logDirectory.setText(dirDialog.open());
-            }
-        });
-
-        return container;
-    }
-
-    @Override
-    public boolean performOk() {
-        IPreferenceStore prefs = getPreferenceStore();
-
-        int levelIndex = logLevel.getSelectionIndex();
-        File logDir = new File(logDirectory.getText());
-        
-        if (!logDir.isDirectory()) {
-            setErrorMessage("Invalid Path !" + logDir.getAbsolutePath());
-            return false;
-        }
-        
-        prefs.setValue(LOG_LEVEL, levelIndex);
-        prefs.setValue(LOG_DIRECTORY, logDir.getAbsolutePath());
-
-
-        return true;
-    }
-
-    @Override
-    protected void performDefaults() {
-        logLevel.select(DEFAULT_LOG_LEVEL_INDEX);
-        logDirectory.setText(DEFAULT_LOG_DIRECTORY);
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/MainPreferencePage.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/MainPreferencePage.java
deleted file mode 100644
index bab3a6d..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/MainPreferencePage.java
+++ /dev/null
@@ -1,350 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.preferences;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-import cern.silecs.activator.Activator;
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.view.console.ConsoleHandler;
-
-public class MainPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-    
-	public static final String SILECS_DIRECTORY_TAG = "SILECS_DIRECTORY";
-	public static final String FESA_DIRECTORY_TAG = "FESA_DIRECTORY";
-	public static final String LOCAL_DIRECTORY_TAG = "LOCAL_DIRECTORY";
-	public static final String USE_LOCAL_DIRECTORY_TAG = "USE_LOCAL_DIRECTORY";
-	public static final String FESSA_VERSION_TAG = "FESA_VERSION";
-	
-	public static final String SILECS_DIRECTORY_DEFAULT = "/common/usr/cscofe/silecs";
-	public static final String FESA_DIRECTORY_DEFAULT = "/opt/fesa";
-	public static final Boolean USE_LOCAL_DIRECTORY_DEFAULT = false;
-	
-	private static List<String> fesaVersions_ = readOutAvailableFesaVersions();
-    
-	private static Text silecsDirectory;
-	private static Text fesaDirectory;
-	private static Button useLocalWorkspace;
-	private static Text localWorkspaceDirectory;
-	private static Combo fesaVersion;
-	
-	public static boolean isLocalDirectoryUsed()
-	{
-		IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
-		return prefs.getBoolean(USE_LOCAL_DIRECTORY_TAG);
-	}
-	
-	public static String getGlobalSilecsDirectory()
-	{
-		IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
-		return prefs.getString(SILECS_DIRECTORY_TAG);
-	}
-	
-	public static String getModelBasePath(String modelVersion)
-	{
-		IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
-		if(prefs.getBoolean(USE_LOCAL_DIRECTORY_TAG))
-			return prefs.getString(LOCAL_DIRECTORY_TAG) + "/silecs-model/src/xml";
-		else
-			return prefs.getString(SILECS_DIRECTORY_TAG) + "/silecs-model/" + modelVersion + "/" + "xml";
-	}
-	
-	public static String getCodeGenBasePath(String codegenVersion)
-	{
-		IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
-		if(prefs.getBoolean(USE_LOCAL_DIRECTORY_TAG))
-			return prefs.getString(LOCAL_DIRECTORY_TAG) + "/silecs-codegen/src/xml";
-		else
-			return prefs.getString(SILECS_DIRECTORY_TAG) + "/silecs-codegen/" + codegenVersion + "/" + "xml";
-	}
-	
-	public static String getDiagToolBasePath(String diagToolVersion)
-	{
-		IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
-		if(prefs.getBoolean(USE_LOCAL_DIRECTORY_TAG))
-			return prefs.getString(LOCAL_DIRECTORY_TAG) + "/silecs-diagnostic-cpp/build";
-		else
-			return prefs.getString(SILECS_DIRECTORY_TAG) + "/silecs-diagnostic-cpp/" + diagToolVersion;
-	}
-	
-	public static String getSilecsLibraryBasePath(String silecsLibraryVersion)
-	{
-		IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
-		if(prefs.getBoolean(USE_LOCAL_DIRECTORY_TAG))
-			return prefs.getString(LOCAL_DIRECTORY_TAG) + "/silecs-communication-cpp/build";
-		else
-			return prefs.getString(SILECS_DIRECTORY_TAG) + "/silecs-communication-cpp/" + silecsLibraryVersion;
-	}
-	
-	public static String getSNAP7LibraryBasePath(String silecsLibraryVersion)
-	{
-		IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
-		if(prefs.getBoolean(USE_LOCAL_DIRECTORY_TAG))
-			return prefs.getString(LOCAL_DIRECTORY_TAG) + "/snap7/snap7-full/build";
-		else
-			return prefs.getString(SILECS_DIRECTORY_TAG) + "/snap7/" + silecsLibraryVersion;
-	}
-	
-	public static String getFESAVersion() throws SilecsException
-	{
-		int index = Activator.getDefault().getPreferenceStore().getInt(FESSA_VERSION_TAG);
-		if( index == -1 ) //no FESA-versions found on the system 
-			return "NO_FESA_VERSIONS_AVAILABLE";
-		return fesaVersions_.get(index);
-	}
-	
-	public static File[] getFESADesignTemplates() throws SilecsException
-	{
-		return getFESATemplates("design");
-	}
-
-	public static File[] getFESADeployUnitTemplates() throws SilecsException
-	{
-		return getFESATemplates("deployment");
-	}
-	
-	public static String getFESADeployUnitSchemaPath() throws SilecsException
-	{
-		String fesaBaseDirectory = Activator.getDefault().getPreferenceStore().getString(FESA_DIRECTORY_TAG);
-		return new String(fesaBaseDirectory + "/fesa-fwk/" + getFESAVersion() + "/fesa-model-gsi/xml/deployment/deployment-gsi.xsd");
-	}
-	
-	public static String getFESADesignSchemaPath() throws SilecsException
-	{
-		String fesaBaseDirectory = Activator.getDefault().getPreferenceStore().getString(FESA_DIRECTORY_TAG);
-		return new String(fesaBaseDirectory + "/fesa-fwk/" + getFESAVersion() + "/fesa-model-gsi/xml/design/design-gsi.xsd");
-	}
-	
-	protected static File[] getFESATemplates(String type) throws SilecsException
-	{
-		String fesaBaseDirectory = Activator.getDefault().getPreferenceStore().getString(FESA_DIRECTORY_TAG);
-		File folderModel = new File(fesaBaseDirectory + "/fesa-fwk/" + getFESAVersion() + "/fesa-model/xml/" + type + "/templates");
-		File folderModelGSI = new File(fesaBaseDirectory + "/fesa-fwk/" + getFESAVersion() + "/fesa-model-gsi/xml/" + type + "/templates");
-		
-		File[] templatesModel = folderModel.listFiles();
-		if( templatesModel == null)
-			templatesModel = new File[0];
-		
-		File[] templatesModelGSI = folderModelGSI.listFiles();
-		if( templatesModelGSI == null)
-			templatesModelGSI = new File[0];
-		
-		if ( (templatesModel.length + templatesModelGSI.length) == 0 )
-		{
-			ConsoleHandler.printMessage("Template search folder 1: " + folderModel.getPath(), true);
-			ConsoleHandler.printMessage("Template search folder 2: " + folderModelGSI.getPath(), true);
-			throw new SilecsException("No templates found there! Please fix the 'FESA Base Path' in the Preferences!");
-		}
-		File[] templates= new File[templatesModel.length+templatesModelGSI.length];
-		System.arraycopy(templatesModel, 0, templates, 0, templatesModel.length);
-		System.arraycopy(templatesModelGSI, 0, templates, templatesModel.length, templatesModelGSI.length);
-		return templates;
-	}
-    
-	public static String getLocalDirectoryDefault()
-	{
-		return System.getProperty("user.home") + "/workspace";
-	}
-	
-    @Override
-    protected void createFieldEditors()
-    {
-        // TODO Auto-generated method stub        
-    }
-
-    @Override
-    public void init(IWorkbench workbench)
-    {
-        setDescription("SILECS Preferences");
-        setPreferenceStore(Activator.getDefault().getPreferenceStore());
-    }
-    
-    protected void switchEnableLocalWorkspace(Boolean localEnabled)
-    {
-		fesaDirectory.setEnabled(true);//to stay backward -compartible
-		silecsDirectory.setEnabled(!localEnabled);
-		localWorkspaceDirectory.setEnabled(localEnabled);
-    }
-
-    public static List<String> getAllFesaVersions()
-	{
-    	return fesaVersions_;
-	}
-    
-    protected static List<String> readOutAvailableFesaVersions()
-	{
-		String fesaBaseFolderString = Activator.getDefault().getPreferenceStore().getString(FESA_DIRECTORY_TAG) + "/fesa-fwk";
-		File fesaBaseFolder = new File(fesaBaseFolderString);
-		
-		List<String> fesaVersions = new ArrayList<String>();
-		
-		if(!fesaBaseFolder.exists())
-			return fesaVersions;
-
-	    for (final File fileEntry : fesaBaseFolder.listFiles())
-	    {
-	    	fesaVersions.add(fileEntry.getName());
-	    }
-	    Collections.sort(fesaVersions);
-	    Collections.reverse(fesaVersions);
-	    return fesaVersions;
-	}
-
-    @Override
-    protected Control createContents(Composite parent)
-    {
-        IPreferenceStore prefs = getPreferenceStore();
-
-        Composite container = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout(3, false);
-        container.setLayout(layout);
-
-        GridData dataLayout = new GridData();
-        dataLayout.horizontalSpan = 2;
-
-        { // fesa base
-	        Label directory = new Label(container, SWT.NONE);
-	        directory.setText("FESA Base Path");
-	        fesaDirectory = new Text(container, SWT.BORDER);
-	        fesaDirectory.setText(prefs.getString(FESA_DIRECTORY_TAG));
-	        dataLayout = new GridData(SWT.FILL, SWT.TOP, true, false);
-	        fesaDirectory.setLayoutData(dataLayout);
-	
-	        Button browse = new Button(container, SWT.PUSH);
-	        browse.setText("browse");
-	        browse.addListener(SWT.Selection, new Listener() {
-	
-	            @Override
-	            public void handleEvent(Event event) {
-	                DirectoryDialog dirDialog = new DirectoryDialog(getShell());
-	                fesaDirectory.setText(dirDialog.open());
-	            }
-	        });
-        }
-        
-        {	// FESA version
-	        Label level = new Label(container, SWT.NONE);
-	        level.setText("FESA Version to use");
-	        fesaVersion = new Combo(container, SWT.BORDER | SWT.V_SCROLL | SWT.READ_ONLY);
-	        fesaVersion.setItems(fesaVersions_.toArray(new String[fesaVersions_.size()]));
-	        fesaVersion.select(prefs.getInt(FESSA_VERSION_TAG));
-	        dataLayout = new GridData();
-	        dataLayout.horizontalSpan = 2;
-	        fesaVersion.setLayoutData(dataLayout);
-        }
-        
-        { // silecs base
-	        Label directory = new Label(container, SWT.NONE);
-	        directory.setText("SILECS Base Path");
-	        silecsDirectory = new Text(container, SWT.BORDER);
-	        silecsDirectory.setText(prefs.getString(SILECS_DIRECTORY_TAG));
-	        dataLayout = new GridData(SWT.FILL, SWT.TOP, true, false);
-	        silecsDirectory.setLayoutData(dataLayout);
-	
-	        Button browse = new Button(container, SWT.PUSH);
-	        browse.setText("browse");
-	        browse.addListener(SWT.Selection, new Listener() {
-	
-	            @Override
-	            public void handleEvent(Event event) {
-	                DirectoryDialog dirDialog = new DirectoryDialog(getShell());
-	                silecsDirectory.setText(dirDialog.open());
-	            }
-	        });
-        }
-        
-	      useLocalWorkspace = new Button(container, SWT.CHECK);
-	      useLocalWorkspace.setText("Use local workspace");
-	      dataLayout = new GridData(SWT.FILL, SWT.TOP, true, false);
-	      dataLayout.horizontalSpan = 3;
-	      useLocalWorkspace.setLayoutData(dataLayout);
-	      useLocalWorkspace.setSelection(prefs.getBoolean(USE_LOCAL_DIRECTORY_TAG));
-	      useLocalWorkspace.addListener(SWT.Selection, new Listener() {
-	          @Override
-	          public void handleEvent(Event event) {
-	          		switchEnableLocalWorkspace(useLocalWorkspace.getSelection());
-	          }
-	      });
-        
-        { // Local SILECS Workspace
-	        Label directory = new Label(container, SWT.NONE);
-	        directory.setText("Local SILECS Workspace");
-	        localWorkspaceDirectory = new Text(container, SWT.BORDER);
-	        localWorkspaceDirectory.setText(prefs.getString(LOCAL_DIRECTORY_TAG));
-	        dataLayout = new GridData(SWT.FILL, SWT.TOP, true, false);
-	        localWorkspaceDirectory.setLayoutData(dataLayout);
-	
-	        Button browse = new Button(container, SWT.PUSH);
-	        browse.setText("browse");
-	        browse.addListener(SWT.Selection, new Listener() {
-	
-	            @Override
-	            public void handleEvent(Event event) {
-	                DirectoryDialog dirDialog = new DirectoryDialog(getShell());
-	                localWorkspaceDirectory.setText(dirDialog.open());
-	            }
-	        });
-        }
-
-        switchEnableLocalWorkspace(useLocalWorkspace.getSelection());
-        return container;
-    }
-    
-    @Override
-    public boolean performOk()
-    {
-        IPreferenceStore prefs = getPreferenceStore();
-        prefs.setValue(SILECS_DIRECTORY_TAG, silecsDirectory.getText());
-        prefs.setValue(FESA_DIRECTORY_TAG, fesaDirectory.getText());
-        prefs.setValue(USE_LOCAL_DIRECTORY_TAG, useLocalWorkspace.getSelection());
-        prefs.setValue(LOCAL_DIRECTORY_TAG, localWorkspaceDirectory.getText());
-        prefs.setValue(FESSA_VERSION_TAG, fesaVersion.getSelectionIndex());
-        return true;
-    }
-
-    @Override
-    protected void performDefaults()
-    {
-    	silecsDirectory.setText(SILECS_DIRECTORY_DEFAULT);
-    	fesaDirectory.setText(FESA_DIRECTORY_DEFAULT);
-    	useLocalWorkspace.setSelection(USE_LOCAL_DIRECTORY_DEFAULT);
-    	localWorkspaceDirectory.setText(MainPreferencePage.getLocalDirectoryDefault());
-    	localWorkspaceDirectory.setEnabled(false);
-    	fesaVersion.select(0);
-        switchEnableLocalWorkspace(useLocalWorkspace.getSelection());
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/PreferenceInitializer.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/PreferenceInitializer.java
deleted file mode 100644
index f82a6d2..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.preferences;
-
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.graphics.RGB;
-
-import cern.silecs.activator.Activator;
-
-
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-    
-    @Override
-    public void initializeDefaultPreferences() {
-        IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
-        
-        prefs.setDefault(MainPreferencePage.SILECS_DIRECTORY_TAG, MainPreferencePage.SILECS_DIRECTORY_DEFAULT);
-        prefs.setDefault(MainPreferencePage.FESA_DIRECTORY_TAG, MainPreferencePage.FESA_DIRECTORY_DEFAULT);
-        prefs.setDefault(MainPreferencePage.LOCAL_DIRECTORY_TAG, MainPreferencePage.getLocalDirectoryDefault());
-        prefs.setDefault(MainPreferencePage.USE_LOCAL_DIRECTORY_TAG, MainPreferencePage.USE_LOCAL_DIRECTORY_DEFAULT);
-        
-        // init the xml editor preferences
-//        prefs.setDefault(EditorPreferencePage.VALIDATE_ON_SAVE, true);
-//        
-//        RGB dflt = EditorPreferencePage.DEFAULT_EDITABLE;
-//        prefs.setDefault(EditorPreferencePage.EDITABLE_COLOR_R, dflt.red);
-//        prefs.setDefault(EditorPreferencePage.EDITABLE_COLOR_G, dflt.green);
-//        prefs.setDefault(EditorPreferencePage.EDITABLE_COLOR_B, dflt.blue);
-//        
-//        dflt = EditorPreferencePage.DEFAULT_CONTENT;
-//        prefs.setDefault(EditorPreferencePage.CONTENT_COLOR_R, dflt.red);
-//        prefs.setDefault(EditorPreferencePage.CONTENT_COLOR_G, dflt.green);
-//        prefs.setDefault(EditorPreferencePage.CONTENT_COLOR_B, dflt.blue);
-//        
-//        prefs.setDefault(EditorPreferencePage.LINK_DOCUMENTATION, true);
-//        prefs.setDefault(EditorPreferencePage.BRING_DOCUMENTATION_TO_FRONT, false);
-//        prefs.setDefault(EditorPreferencePage.SHOW_GENERATED, false);
-        
-        // logging preferences
-        prefs.setDefault(LoggingPreferencePage.LOG_LEVEL, LoggingPreferencePage.DEFAULT_LOG_LEVEL_INDEX);
-        prefs.setDefault(LoggingPreferencePage.LOG_DIRECTORY, LoggingPreferencePage.DEFAULT_LOG_DIRECTORY);
-        prefs.setDefault(LoggingPreferencePage.BRING_CONSOLE_TO_FRONT, true);
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/GenerateCodeWizard.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/GenerateCodeWizard.java
deleted file mode 100644
index 05ab3ed..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/GenerateCodeWizard.java
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.wizard.Wizard;
-
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.wizards.page.PickTemplatePage;
-
-public class GenerateCodeWizard extends Wizard
-{
-	private File[] templates;
-	File choice = null;
-	PickTemplatePage page;
-
-    public GenerateCodeWizard(File[] templateFiles) {
-        super();
-        setWindowTitle("Pick a template");
-        templates = templateFiles;
-    }
-
-    @Override
-    public void addPages() {
-        super.addPages();
-
-        List<String> templateNames = new ArrayList<String>();
-        for( File file : templates)
-        {
-            templateNames.add(file.getName());
-        }
-        String[] simpleArray = new String[ templateNames.size() ];
-        page = new PickTemplatePage("Pick a template",templateNames.toArray(simpleArray));
-        addPage(page);
-    }
-    
-    public File getChoice()
-    {
-    	return choice;
-    }
-    
-    @Override
-    public boolean performFinish() {
-    	String template = page.getTemplate();
-    	//ConsoleHandler.printMessage("template selected: " + template , true);
-        for( File file : templates)
-        {
-        	//ConsoleHandler.printMessage("file available: " + file.getName() , true);
-        	if( file.getName().equals(template))
-        		choice = file;
-        }
-        //ConsoleHandler.printMessage("choice full path: " + choice.getAbsolutePath() , true);
-        return true;
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/ImportDeployFileWizard.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/ImportDeployFileWizard.java
deleted file mode 100644
index 496d5b7..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/ImportDeployFileWizard.java
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.utils.XmlUtils;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.wizards.page.ChooseFilePage;
-import cern.silecs.view.wizards.page.SilecsProjectPage;
-
-public class ImportDeployFileWizard extends Wizard {
-
-    private ChooseFilePage firstPage;
-    private SilecsProjectPage secondPage;
-    
-    public ImportDeployFileWizard() {
-        setWindowTitle("Import Deploy-Unit File Wizard");
-    }
-
-    @Override
-    public void addPages() {
-        super.addPages();
-     
-        firstPage = new ChooseFilePage("Import Deploy-Unit file to workspace", SilecsConstants.ProjectType.DEPLOY_PROJECT);
-        secondPage = new SilecsProjectPage("Import Deploy-Unit file to workspace",
-        		SilecsConstants.ProjectType.DEPLOY_PROJECT,
-                "Enter new deploy-unit name",
-                "Enter new deploy-unit version");
-        
-        addPage(firstPage);
-        addPage(secondPage);
-    }
-
-    @Override
-    public boolean performFinish() {
-        try {
-        	ConsoleHandler.clear();
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot(); 
-        
-            String newDeployName = secondPage.getprojectNameText();
-            IProject project = workspaceRoot.getProject(newDeployName);       
-
-            XmlUtils.reloadDependencies();
-
-            IProgressMonitor monitor = new NullProgressMonitor();
-            DeployProjectNature.addDeployNature(project, monitor);
-
-            SilecsUtils.openInEditor(SilecsUtils.getSilecsDeployFile(project));
-        } catch (Exception e) {
-            e.printStackTrace();
-            ConsoleHandler.printStackTrace(e);
-        }
-        
-        return true;
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/ImportDesignFileWizard.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/ImportDesignFileWizard.java
deleted file mode 100644
index 76afc40..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/ImportDesignFileWizard.java
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-
-import cern.silecs.control.core.DesignProjectNature;
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.wizards.page.ChooseFilePage;
-import cern.silecs.view.wizards.page.SilecsProjectPage;
-
-public class ImportDesignFileWizard extends Wizard {
-
-    private ChooseFilePage firstPage;
-    private SilecsProjectPage secondPage;
-    
-    public ImportDesignFileWizard() {
-        setWindowTitle("Import Design File Wizard");
-    }
-
-    @Override
-    public void addPages() {
-        super.addPages();
-        
-        firstPage = new ChooseFilePage("Import Design file to workspace", SilecsConstants.ProjectType.DESIGN_PROJECT);
-        secondPage =  new SilecsProjectPage("Set Design properties",
-        		SilecsConstants.ProjectType.DESIGN_PROJECT,
-                "Enter new deploy-unit name",
-                "Enter new deploy-unit version");
-        
-        addPage(firstPage);
-        addPage(secondPage);
-    }
-
-    @Override
-    public boolean performFinish() {
-        try {
-        	ConsoleHandler.clear();
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-
-            String designName = secondPage.getprojectNameText();
-            IProject project = workspaceRoot.getProject(designName);
-           
-            IProgressMonitor monitor = new NullProgressMonitor();
-            DesignProjectNature.addClassNature(project, monitor);
-            
-            SilecsUtils.openInEditor(SilecsUtils.getSilecsDesignFile(project));
-            
-        } catch (Exception e) {
-            e.printStackTrace();
-            ConsoleHandler.printStackTrace(e);
-        }
-        return true;
-    }
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/NewSilecsDeployWizard.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/NewSilecsDeployWizard.java
deleted file mode 100644
index 4cde66a..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/NewSilecsDeployWizard.java
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-import cern.silecs.control.core.DeployProjectNature;
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.utils.OSExecute;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.utils.XmlUtils;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.preferences.MainPreferencePage;
-import cern.silecs.view.wizards.page.SilecsProjectPage;
-
-public class NewSilecsDeployWizard extends Wizard implements INewWizard
-{
-    
-    SilecsProjectPage page;
-
-    public NewSilecsDeployWizard() {
-        super();
-        setWindowTitle(SilecsConstants.NEW_DEPLOY_WIZARD_TITLE);
-    }
-    
-    @Override
-    public void addPages() {
-        super.addPages();
-        page = new SilecsProjectPage(SilecsConstants.NEW_DEPLOY_PAGE_TITLE,
-        		SilecsConstants.ProjectType.DEPLOY_PROJECT,
-                "Enter deploy-unit name",
-                "Enter silecs version");
-        addPage(page);
-    }
-    
-    @Override
-    public boolean performFinish()
-    {
-        try
-        {
-	        ConsoleHandler.clear();
-	        String deployName = page.getprojectNameText();
-	        String silecsVersion = page.getsilecsVersionText();
-	        String deploySchema =  MainPreferencePage.getModelBasePath(silecsVersion) + "/" + SilecsConstants.DEPLOY_SCHEMA_XSD;
-	        if(! new File(deploySchema).exists())
-	        { 
-	        	throw new SilecsException("The Deploy Schema: '" + deploySchema + "' does not exist. Please check your Eclipse-Silecs preferences!");
-	        }
-	        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-	        String workspacePath = workspaceRoot.getLocation().toFile().getPath();    
-	        
-	        IProject project = workspaceRoot.getProject(deployName);
-	        OSExecute.executePython("iefiles","newDeployProject",silecsVersion,new String[]{workspacePath, deployName,deploySchema,silecsVersion});
-	        XmlUtils.reloadDependencies();
-	        
-	        IFile deployFile = SilecsUtils.getSilecsDeployFile(project);
-	        
-	        IProgressMonitor monitor = new NullProgressMonitor();
-	        //project.create(monitor); 
-	        //DeployProjectNature.addDeployNature(project, monitor); TODO: No idea why this does not work
-	        
-	        IProjectDescription description = project.getWorkspace().newProjectDescription(project.getName());
-	        String[] newNatures = new String[1];
-	        newNatures[0] = DeployProjectNature.NATURE_ID;
-	        description.setNatureIds(newNatures);
-	        
-	        project.create(description, null);
-	        
-	        project.open(IResource.FORCE, monitor);
-	       
-	        SilecsUtils.openInEditor(deployFile);
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            ConsoleHandler.printStackTrace(e);
-        }
-        return true;
-    }
-
-	@Override
-	public void init(IWorkbench arg0, IStructuredSelection arg1) {
-		// TODO Auto-generated method stub
-		
-	}
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/NewSilecsDesignWizard.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/NewSilecsDesignWizard.java
deleted file mode 100644
index 7d915f5..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/NewSilecsDesignWizard.java
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-import cern.silecs.control.core.DesignProjectNature;
-import cern.silecs.model.exception.SilecsException;
-import cern.silecs.utils.OSExecute;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.preferences.MainPreferencePage;
-import cern.silecs.view.wizards.page.SilecsProjectPage;
-
-public class NewSilecsDesignWizard extends Wizard implements INewWizard{
-    
-    SilecsProjectPage page;
-
-    public NewSilecsDesignWizard() {
-        super();
-        setWindowTitle(SilecsConstants.NEW_DESIGN_WIZARD_TITLE);
-    }
-
-    @Override
-    public void addPages() {
-        super.addPages();
-
-        page = new SilecsProjectPage(SilecsConstants.NEW_DESIGN_PAGE_TITLE,
-        		SilecsConstants.ProjectType.DESIGN_PROJECT,
-                "Enter design name",
-                "Enter silecs version");
-
-        addPage(page);
-    }
-
-    @Override
-    public boolean performFinish()
-    {
-        try
-        {
-	        ConsoleHandler.clear();
-	        String designName = page.getprojectNameText();
-	        String silecsVersion = page.getsilecsVersionText();
-	        String designSchema = MainPreferencePage.getModelBasePath(silecsVersion) + "/" +SilecsConstants.DESIGN_SCHEMA_XSD;
-	
-	        if(! new File(designSchema).exists())
-	        { 
-	        	throw new SilecsException("The Design Schema: '" + designSchema + "' does not exist. Please check your Eclipse-Silecs preferences!");
-	        }
-	        
-	        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-	        String workspacePath = workspaceRoot.getLocation().toFile().getPath();
-	
-	        IProject project = workspaceRoot.getProject(designName);
-	        OSExecute.executePython("iefiles","newDesignProject",silecsVersion, new String[]{workspacePath, designName, designSchema, silecsVersion});
-	
-	        IFile designFile = SilecsUtils.getSilecsDesignFile(project);
-	
-	        
-	        IProgressMonitor monitor = new NullProgressMonitor();
-	        //project.create(monitor);
-	       
-	        IProjectDescription description = project.getWorkspace().newProjectDescription(project.getName());
-	        String[] newNatures = new String[1];
-	        newNatures[0] = DesignProjectNature.NATURE_ID;
-	        description.setNatureIds(newNatures);
-	        
-	        project.create(description, null);
-	        
-	        project.open(IResource.FORCE, monitor);
-	        //DesignProjectNature.addClassNature(project, monitor); TODO: No idea why this does not work
-	        SilecsUtils.openInEditor(designFile);
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            ConsoleHandler.printStackTrace(e);
-        }
-        return true;
-    }
-
-	@Override
-	public void init(IWorkbench arg0, IStructuredSelection arg1) {
-		// TODO Auto-generated method stub
-		
-	}
-
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/UpdateSilecsProjectWizard.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/UpdateSilecsProjectWizard.java
deleted file mode 100644
index 2de9a3e..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/UpdateSilecsProjectWizard.java
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards;
-
-import org.eclipse.jface.wizard.Wizard;
-
-import cern.silecs.view.console.ConsoleHandler;
-import cern.silecs.view.wizards.page.PickVersionPage;
-
-public class UpdateSilecsProjectWizard extends Wizard
-{
-	String selectedVersion;
-	PickVersionPage page;
-
-    public UpdateSilecsProjectWizard() {
-        super();
-        setWindowTitle("Pick a version");
-    }
-
-    @Override
-    public void addPages() {
-        super.addPages();
-        page = new PickVersionPage("Select the new SILECS version");
-        addPage(page);
-    }
-    
-    public String getSelectedVersion()
-    {
-    	return selectedVersion;
-    }
-    
-    @Override
-    public boolean performFinish() {
-    	ConsoleHandler.clear();
-    	selectedVersion = page.getsilecsVersionText();
-    	ConsoleHandler.printMessage("selected version: " + selectedVersion , true);
-        return true;
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/ChooseFilePage.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/ChooseFilePage.java
deleted file mode 100644
index 0f26be8..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/ChooseFilePage.java
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards.page;
-
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-
-import cern.silecs.utils.SilecsConstants;
-
-public class ChooseFilePage extends WizardPage{
-
-    private Composite container;
-    
-    private Text filePathText;
-    
-    private SilecsConstants.ProjectType projectType;
-    
-    /**
-     * @param pageName
-     */
-    public ChooseFilePage(String pageName, SilecsConstants.ProjectType type) {
-        super(pageName);
-        setTitle(pageName);
-
-        projectType = type; 
-    }
-
-    @Override
-    public void createControl(Composite parent) {
-        container = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        container.setLayout(layout);
-        layout.numColumns = 3;
-
-        Label classNameLabel = new Label(container, SWT.NONE);
-        classNameLabel.setText("Enter file path");
-
-        filePathText = new Text(container, SWT.BORDER | SWT.SINGLE);
-        filePathText.setText("");
-        filePathText.addModifyListener(new ModifyListener() {
-
-            @Override
-            public void modifyText(ModifyEvent e) {
-                setErrorMessage(null);
-                setMessage(null, IMessageProvider.WARNING);
-                setPageComplete(true);
-
-                saveProjectData();
-            }
-        });
-        
-        Button locateFileButton = new Button(container, SWT.NONE);
-        locateFileButton.setText("Select file");
-        locateFileButton.addSelectionListener(new SelectionListener() {
-            
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-                Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-
-                FileDialog dialog = new FileDialog(shell, SWT.OPEN);
-                dialog.setFilterPath(ResourcesPlugin.getWorkspace().getRoot().getLocationURI().getPath());
-                filePathText.setText(dialog.open());
-            }
-            
-            @Override
-            public void widgetDefaultSelected(SelectionEvent e) {
-                // do nothing
-            }
-        });
-        
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        filePathText.setLayoutData(gd);
-        
-        setControl(container);
-        setPageComplete(false);
-    }
-    
-    public String getFilePath() {
-        return filePathText.getText();
-    }
-    
-    protected void saveProjectData() { 
-        try {
-            String originalFilePath = filePathText.getText();
-            
-            switch(projectType) {
-            case DESIGN_PROJECT:               
-                int dotAfterDesignName = originalFilePath.lastIndexOf('.');
-                String designName = originalFilePath.substring(0, dotAfterDesignName);
-                int dotBeforeDesignName = designName.lastIndexOf('.');
-                designName = designName.substring(dotBeforeDesignName);
-                ((SilecsProjectPage) getNextPage()).setprojectNameText(designName);
-                break;
-                
-            case DEPLOY_PROJECT:
-                int dotAfterDUName = originalFilePath.lastIndexOf('.');
-                String deployName = originalFilePath.substring(0, dotAfterDUName);
-                int dotBeforeDUName = deployName.lastIndexOf('.');
-                deployName = deployName.substring(dotBeforeDUName);
-                ((SilecsProjectPage) getNextPage()).setprojectNameText(deployName);
-                break;
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/PickTemplatePage.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/PickTemplatePage.java
deleted file mode 100644
index aa99505..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/PickTemplatePage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards.page;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-public class PickTemplatePage extends WizardPage{
-	
-	private String[] templates;
-    private Composite container;
-    private Combo templatePicker;
-    
-    /**
-     * @param pageName
-     */
-    public PickTemplatePage(String pageName, String[] templateNames) {
-        super(pageName);
-        setTitle(pageName);
-        templates = templateNames;
-    }
-
-    @Override
-    public void createControl(Composite parent) {
-        container = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        container.setLayout(layout);
-        layout.numColumns = 1;
-
-        templatePicker = new Combo(container, SWT.BORDER | SWT.V_SCROLL | SWT.READ_ONLY);
-        templatePicker.setItems(templates);
-        templatePicker.select(0);
-        GridData dataLayout = new GridData();
-        dataLayout.horizontalSpan = 1;
-        templatePicker.setLayoutData(dataLayout);
-        setControl(container);
-    }
-    
-    public String getTemplate() {
-        return templatePicker.getText();
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/PickVersionPage.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/PickVersionPage.java
deleted file mode 100644
index 0326bee..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/PickVersionPage.java
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards.page;
-
-import java.util.List;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.utils.SilecsUtils;
-
-public class PickVersionPage extends WizardPage {
-
-    private Combo silecsVersionText;
-    private String silecsVersionDescription;
-
-    public PickVersionPage(String pageName)
-    {
-        super(pageName);
-        setTitle(pageName);
-        silecsVersionDescription = "New silecs version";
-    }
-
-    @Override
-    public void createControl(Composite parent)
-    {
-        Composite container = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        container.setLayout(layout);
-        layout.numColumns = 2;
-
-        Label classVersionLabel = new Label(container, SWT.NONE);
-        classVersionLabel.setText(silecsVersionDescription);
-
-        silecsVersionText = new Combo(container, SWT.BORDER | SWT.V_SCROLL | SWT.READ_ONLY);
-        List<String> availableSilecsVersions = SilecsUtils.readOutAvailableSilecsVersions();
-        availableSilecsVersions.addAll(SilecsConstants.ADDITIONAL_SILECS_TARGET_MIGRATION_VERSIONS);
-        silecsVersionText.setItems(availableSilecsVersions.toArray(new String[availableSilecsVersions.size()]));
-        silecsVersionText.select(SilecsConstants.DEFAULT_SILECS_VERSION_INDEX);
-        GridData dataLayout = new GridData();
-        dataLayout.horizontalSpan = 2;
-        silecsVersionText.setLayoutData(dataLayout);
-
-        // required to avoid an error in the system
-        setControl(container);
-        setPageComplete(true);
-    }
-
-    public String getsilecsVersionText() {
-        return silecsVersionText.getText();
-    }
-}
diff --git a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/SilecsProjectPage.java b/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/SilecsProjectPage.java
deleted file mode 100644
index 61a31e3..0000000
--- a/silecs-eclipse-plugin/src/java/cern/silecs/view/wizards/page/SilecsProjectPage.java
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright 2016 CERN and GSI
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-package cern.silecs.view.wizards.page;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-import cern.silecs.utils.SilecsConstants;
-import cern.silecs.utils.SilecsUtils;
-import cern.silecs.view.preferences.MainPreferencePage;
-
-public class SilecsProjectPage extends WizardPage {
-    
-    private Text projectNameText;
-    private String projectNameDescription;
-
-    private Combo silecsVersionText;
-    private String silecsVersionDescription;
-    
-    private String projectNamePattern;
-    private int maxNameLength;
-    
-
-    private class PatternMatcherListener implements ModifyListener{
-        
-        @Override
-        public void modifyText(ModifyEvent e) {
-            String name = projectNameText.getText();
-            setErrorMessage(null);
-            setMessage(null, IMessageProvider.WARNING);
-            setPageComplete(true);
-            
-            if (!name.matches(projectNamePattern)) {
-                setErrorMessage(SilecsConstants.INVAILD_PROJECT_NAME + "\n" + projectNamePattern);
-                setPageComplete(false);
-            }   else if(name.length() > maxNameLength) {
-                setErrorMessage("Name cannot be longer than " + maxNameLength + " characters");
-                setPageComplete(false);
-            }   else if (workspaceContainsProject(projectNameText.getText())) {
-                setErrorMessage("Project with this name already exists in the workspace");
-                setPageComplete(false);
-            }
-        }
-        
-    }
-    
-    /**
-     * @param pageName
-     * @param projectNameLabelDescryption For example "Enter project name:"
-     * @param projectVersionLabelDescryption
-     * @param type
-     */
-    public SilecsProjectPage(String pageName, SilecsConstants.ProjectType type, String projectNameLabelDescryption,
-            String silecsVersionLabelDescryption) {
-        super("New Silecs Project Page");
-        setTitle(pageName);
-
-        projectNameDescription = projectNameLabelDescryption;
-        silecsVersionDescription = silecsVersionLabelDescryption;
-        
-        if (type == SilecsConstants.ProjectType.DEPLOY_PROJECT) {
-            projectNamePattern = SilecsConstants.DEPLOY_PATTERN;
-            maxNameLength = SilecsConstants.MAX_DEPLOY_LENGTH;
-        }
-        else if (type == SilecsConstants.ProjectType.DESIGN_PROJECT) {
-            projectNamePattern = SilecsConstants.DESIGN_PATTERN;
-            maxNameLength = SilecsConstants.MAX_DESIGN_LENGTH;
-        }
-    }
-    
-
-    @Override
-    public void createControl(Composite parent) {
-        Composite container = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        container.setLayout(layout);
-        layout.numColumns = 2;
-
-        Label classNameLabel = new Label(container, SWT.NONE);
-        classNameLabel.setText(projectNameDescription);
-
-        projectNameText = new Text(container, SWT.BORDER | SWT.SINGLE);
-        projectNameText.setText("");
-        projectNameText.addModifyListener(new PatternMatcherListener());
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        projectNameText.setLayoutData(gd);
-
-        Label classVersionLabel = new Label(container, SWT.NONE);
-        classVersionLabel.setText(silecsVersionDescription);
-
-        silecsVersionText = new Combo(container, SWT.BORDER | SWT.V_SCROLL | SWT.READ_ONLY);
-        List<String> availableSilecsVersions = SilecsUtils.readOutAvailableSilecsVersions();
-        silecsVersionText.setItems(availableSilecsVersions.toArray(new String[availableSilecsVersions.size()]));
-        silecsVersionText.select(SilecsConstants.DEFAULT_SILECS_VERSION_INDEX);
-        GridData dataLayout = new GridData();
-        dataLayout.horizontalSpan = 2;
-        silecsVersionText.setLayoutData(dataLayout);
-
-        // required to avoid an error in the system
-        setControl(container);
-        setPageComplete(false);
-    }
-
-    public String getprojectNameText() {
-        return projectNameText.getText();
-    }
-
-    public String getsilecsVersionText() {
-        return silecsVersionText.getText();
-    }
-
-    public void setprojectNameText(String text) {
-        projectNameText.setText(text);
-    }
-
-    public void setsilecsVersionText(String text) {
-        silecsVersionText.setText(text);
-    }
-
-    private boolean workspaceContainsProject(String name) {
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-        IProject project = workspaceRoot.getProject(name);
-        return project.exists();
-    }
-}
-- 
GitLab