Skip to content
Snippets Groups Projects
Commit b01c44ee authored by al.schwinn's avatar al.schwinn
Browse files

Fill FESA Version in newly created deploy-unit documents (#32)

parent dd7e6d45
No related branches found
No related tags found
No related merge requests found
......@@ -37,6 +37,7 @@ import silecs.control.core.DesignProjectNature;
import silecs.control.labExtension.LabExtensionProvider;
import silecs.model.exception.SilecsException;
import silecs.utils.SilecsUtils;
import silecs.utils.XmlUtils;
import silecs.view.console.ConsoleHandler;
import silecs.view.job.BaseProjectJob;
import silecs.view.job.GenerateClassJob;
......@@ -109,6 +110,9 @@ public class GenerateCodeHandler extends BaseHandler implements IHandler {
ConsoleHandler.printMessage("The following template will be used:" + template.getAbsolutePath(), true);
InputStream source = new FileInputStream(template);
fesaDeployDoc.create(source, IResource.NONE, null);
// For deploy units, it is required to replace the FESA Version
XmlUtils.replaceFesaVersionInFesaDocument(project.getName() + ".deploy", MainPreferencePage.getFESAVersion());
}
job = new GenerateDeployJob(project, fesaDeployDoc,!deployDocExists);
......
......@@ -15,11 +15,15 @@
package silecs.utils;
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
......@@ -49,12 +53,26 @@ 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;
@SuppressWarnings("restriction")
public class XmlUtils {
private static TransformerFactory TRANSFORMER_FACTORY;
public static void replaceFesaVersionInFesaDocument(String fesaDocumentpath, String newFesaVersion) throws ParserConfigurationException, SAXException, IOException {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fesaDocumentpath);
NodeList nodes = doc.getElementsByTagName("fesa-version");
for (int i = 0; i < nodes.getLength(); i++) {
Node node = nodes.item(i);
Node newNode = doc.createElement("fesa-version");
newNode.setTextContent(newFesaVersion);
node.getParentNode().replaceChild(newNode, node);
}
}
public static String nodeToString(Node node) throws TransformerFactoryConfigurationError, TransformerException {
Transformer transformer = createPrettyTransformer();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment