summaryrefslogtreecommitdiffstats
path: root/src/com/ibm/ServerWizard2/model/SystemModel.java
diff options
context:
space:
mode:
authornjames <nkskjames@gmail.com>2016-09-14 13:50:43 -0500
committernjames <nkskjames@gmail.com>2016-09-14 13:50:43 -0500
commitb1f62a8880ddcebf4851515424a5b8252094ad1a (patch)
treeeaaea36e25bbfdbd6250d48728fd1c59372632e9 /src/com/ibm/ServerWizard2/model/SystemModel.java
parentc518d8d950e84dbfa246b1a2ffaca888434a7636 (diff)
downloadserverwiz-b1f62a8880ddcebf4851515424a5b8252094ad1a.tar.gz
serverwiz-b1f62a8880ddcebf4851515424a5b8252094ad1a.zip
Add XML converter from old to new format
Signed-off-by: Norman James <nkskjames@gmail.com>
Diffstat (limited to 'src/com/ibm/ServerWizard2/model/SystemModel.java')
-rw-r--r--src/com/ibm/ServerWizard2/model/SystemModel.java72
1 files changed, 69 insertions, 3 deletions
diff --git a/src/com/ibm/ServerWizard2/model/SystemModel.java b/src/com/ibm/ServerWizard2/model/SystemModel.java
index bfc18ed..183f8bf 100644
--- a/src/com/ibm/ServerWizard2/model/SystemModel.java
+++ b/src/com/ibm/ServerWizard2/model/SystemModel.java
@@ -1,7 +1,9 @@
package com.ibm.ServerWizard2.model;
+import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
+import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
@@ -257,13 +259,22 @@ public class SystemModel {
NodeList part = isXMLValid(document,"partInstance");
if (system == null && part == null) {
String msg = "ServerWiz cannot read this version of XML: "+filename;
- ServerWizard2.LOGGER.severe(msg);
- MessageDialog.openError(null, "XML Load Error", msg);
+ ServerWizard2.LOGGER.warning(msg);
+ //MessageDialog.openError(null, "XML Load Error", msg);
+ ServerWizard2.LOGGER.warning("Attempting to convert...");
+ String newName = this.xmlUpdate(filename);
+ if (newName.isEmpty()) {
+ ServerWizard2.LOGGER.info("Error converting file");
+ MessageDialog.openError(null, "XML Load Error", "Old XML format found. Error converting file to new format");
+ } else {
+ ServerWizard2.LOGGER.info("Converted file: "+newName);
+ MessageDialog.openInformation(null, "XML Converted", "Old XML format found. Converted file to:\n"+newName+"\nPlease open new file.");
+ }
return;
}
partsMode = false;
String targetTag = "targetInstance";
- if (part != null) {
+ if (part != null) {
partsMode = true;
targetTag = "targetPart";
ServerWizard2.LOGGER.info("Setting Parts mode");
@@ -842,6 +853,61 @@ public class SystemModel {
}
}
+ private String xmlUpdate(String filename) {
+
+ BufferedReader br;
+ BufferedWriter wr;
+ boolean found_settings = false;
+ boolean found_targets = false;
+ boolean found_start = false;
+ String newFilename = filename+".new.xml";
+
+ try {
+ br = new BufferedReader(new FileReader(filename));
+ wr = new BufferedWriter(new FileWriter(newFilename));
+ String line;
+ try {
+ wr.write("<systemInstance>\n");
+ wr.write("<version>2.1</version>\n");
+ wr.write("<enumerationTypes>\n");
+
+ while ((line = br.readLine()) != null) {
+ if (line.equals("<enumerationType>") && !found_start) {
+ found_start = true;
+ }
+ if (line.equals("<globalSetting>") && !found_settings) {
+ wr.write("</enumerationTypes>");
+ wr.write("<globalSettings>\n");
+ found_settings = true;
+ }
+ if (line.equals("<targetInstance>") && !found_targets) {
+ wr.write("</globalSettings>\n");
+ wr.write("<targetInstances>\n");
+ found_targets = true;
+ }
+ if (line.equals("</targetInstances>")) {
+ found_start = false;
+ }
+ if (found_start) {
+ wr.write(line+"\n");
+ }
+ }
+ wr.write("</targetInstances>\n");
+ wr.write("</systemInstance>\n");
+ } catch (IOException e) {
+ e.printStackTrace();
+ newFilename = "";
+ } finally {
+ br.close();
+ wr.close();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ newFilename = "";
+ }
+ return newFilename;
+ }
+
private void xmlCleanup() {
String path = "/"+this.getRootTarget().getName();
HashMap<String,Target> targets = new HashMap<String,Target>();
OpenPOWER on IntegriCloud