summaryrefslogtreecommitdiffstats
path: root/winery/org.eclipse.winery.topologymodeler/src/main/webapp/jsp/topologyCompletion/topologySaver.jsp
diff options
context:
space:
mode:
Diffstat (limited to 'winery/org.eclipse.winery.topologymodeler/src/main/webapp/jsp/topologyCompletion/topologySaver.jsp')
-rw-r--r--winery/org.eclipse.winery.topologymodeler/src/main/webapp/jsp/topologyCompletion/topologySaver.jsp50
1 files changed, 50 insertions, 0 deletions
diff --git a/winery/org.eclipse.winery.topologymodeler/src/main/webapp/jsp/topologyCompletion/topologySaver.jsp b/winery/org.eclipse.winery.topologymodeler/src/main/webapp/jsp/topologyCompletion/topologySaver.jsp
new file mode 100644
index 0000000..671baee
--- /dev/null
+++ b/winery/org.eclipse.winery.topologymodeler/src/main/webapp/jsp/topologyCompletion/topologySaver.jsp
@@ -0,0 +1,50 @@
+<%
+/*******************************************************************************
+ * Copyright (c) 2013 Pascal Hirmer.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and the Apache License 2.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * Pascal Hirmer - initial API and implementation
+ *******************************************************************************/
+
+/**
+ * This JSP saves a topology template to the repository using the RESTHelper class.
+ * It is called when there are several topology solutions which shall be saved in different locations.
+ */
+%>
+<%@page import="org.eclipse.winery.topologymodeler.addons.topologycompleter.helper.RESTHelper"%>
+<%@page import="java.io.StringReader"%>
+<%@page import="javax.xml.bind.JAXBContext"%>
+<%@page import="javax.xml.bind.JAXBException"%>
+<%@page import="javax.xml.bind.Unmarshaller"%>
+<%@page import="org.eclipse.winery.model.tosca.Definitions"%>
+<%@page import="org.eclipse.winery.model.tosca.TServiceTemplate"%>
+<%@page import="org.eclipse.winery.model.tosca.TTopologyTemplate"%>
+
+<%
+ String xmlString = request.getParameter("topology");
+ String templateURL = request.getParameter("templateURL");
+ String repositoryURL = request.getParameter("repositoryURL");
+
+ // initiate JaxB context
+ JAXBContext context;
+ context = JAXBContext.newInstance(Definitions.class);
+ StringReader reader = new StringReader(xmlString);
+
+ // unmarshall the topology XML string
+ Unmarshaller um = context.createUnmarshaller();
+ Definitions jaxBDefinitions = (Definitions) um.unmarshal(reader);
+ TServiceTemplate st = (TServiceTemplate) jaxBDefinitions.getServiceTemplateOrNodeTypeOrNodeTypeImplementation().get(0);
+ TTopologyTemplate toBeSaved = st.getTopologyTemplate();
+
+ // depending on the selected save method (overwrite or create new) the save method is called
+ if (request.getParameter("overwriteTopology").equals("true")) {
+ RESTHelper.saveCompleteTopology(toBeSaved, templateURL, true, "", "", repositoryURL);
+ } else {
+ RESTHelper.saveCompleteTopology(toBeSaved, templateURL, false, request.getParameter("topologyName"), request.getParameter("topologyNamespace"), repositoryURL);
+ }
+%> \ No newline at end of file