logo       

r188 - in izpack-frontend/trunk/src: . izpack/frontend/controller izpack/fr: msg#00002

Subject: r188 - in izpack-frontend/trunk/src: . izpack/frontend/controller izpack/frontend/model/shortcut izpack/frontend/model/stages izpack/frontend/view/mode izpack/frontend/view/stages/configure/panels tests tests/izpack tests/izpack/frontend tests/izpack/frontend/view tests/izpack/frontend/view/stages tests/izpack/frontend/view/stages/configure tests/izpack/frontend/view/stages/configure/panels utils
Author: gumbo
Date: 2006-04-07 02:16:07 +0200 (Fri, 07 Apr 2006)
New Revision: 188

Added:
   izpack-frontend/trunk/src/tests/
   izpack-frontend/trunk/src/tests/izpack/
   izpack-frontend/trunk/src/tests/izpack/frontend/
   izpack-frontend/trunk/src/tests/izpack/frontend/view/
   izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/
   izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/
   izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/
   
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/AllTests.java
   
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/HTMLInfoTest.java
   
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/HTMLLicenseTest.java
   
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/InfoTest.java
   
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/JDKPathTest.java
   
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/LicenseTest.java
   
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/ShortcutPanelTest.java
   
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/XInfoTest.java
Modified:
   izpack-frontend/trunk/src/izpack/frontend/controller/XMLCreator.java
   izpack-frontend/trunk/src/izpack/frontend/model/shortcut/ShortcutSet.java
   
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
   izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/HTMLInfo.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/HTMLLicense.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/Info.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/License.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/ShortcutPanel.java
   
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/XInfo.java
   izpack-frontend/trunk/src/utils/XML.java
Log:
Finished the editors. Shortcuts should be fully functional, but not very 
configurable.  Wrote some unit tests to make sure I was creating XML - next to 
validate it.

Modified: izpack-frontend/trunk/src/izpack/frontend/controller/XMLCreator.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/controller/XMLCreator.java        
2006-04-05 02:10:36 UTC (rev 187)
+++ izpack-frontend/trunk/src/izpack/frontend/controller/XMLCreator.java        
2006-04-07 00:16:07 UTC (rev 188)
@@ -36,7 +36,7 @@
 {
     /**
      * Create an aggregator that can create a valid XML install file based on 
the data from
-     * stages. Manages order, asking the stages to create thier XML, merging 
all the elements together, etc.
+     * stages. Manages order, asking the stages to create their XML, merging 
all the elements together, etc.
      * 
      * @param stageList List of stages to ask to generate XML
      */

Modified: 
izpack-frontend/trunk/src/izpack/frontend/model/shortcut/ShortcutSet.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/model/shortcut/ShortcutSet.java   
2006-04-05 02:10:36 UTC (rev 187)
+++ izpack-frontend/trunk/src/izpack/frontend/model/shortcut/ShortcutSet.java   
2006-04-07 00:16:07 UTC (rev 188)
@@ -66,10 +66,35 @@
     }
     
     // XML input/output stuff
-    public Document writeXML()
+    /**
+     * Return a document for each OS type selected
+     */
+    public Document[] writeXML()
     {        
-        Document doc = XML.createDocument();
+        Document winDoc = XML.createDocument();
+        Document unixDoc = XML.createDocument();
         
+        Element winRoot = writeShortcutHeader(winDoc);
+        Element unixRoot = writeShortcutHeader(unixDoc);
+        
+        //Add each shortcut in the set to the file
+        ArrayList<Shortcut> shortcuts = getShortcuts();
+        
+        for (Shortcut shortcut : shortcuts)
+        {
+            if (shortcut.getModelledOS() == Shortcut.OS.Windows)
+                winRoot.appendChild(shortcut.writeXML(winDoc));
+            else if (shortcut.getModelledOS() == Shortcut.OS.Unix)
+                unixRoot.appendChild(shortcut.writeXML(unixDoc));
+            
+            //TODO Mac support when IzPack gets it
+        }
+        
+        return new Document[] {winDoc, unixDoc};
+    }
+
+    private Element writeShortcutHeader(Document doc)
+    {
         Element shortcutsRoot = XML.createElement("shortcuts", doc);
         doc.appendChild(shortcutsRoot);
         
@@ -88,16 +113,7 @@
             programGroup.setAttribute("location", location.toString());
         
         shortcutsRoot.appendChild(programGroup);
-        
-        //Add each shortcut in the set to the file
-        ArrayList<Shortcut> shortcuts = getShortcuts();
-        
-        for (Shortcut shortcut : shortcuts)
-        {
-            shortcutsRoot.appendChild(shortcut.writeXML(doc));
-        }
-        
-        return doc;
+        return shortcutsRoot;
     }
     
     public void initXML(Document doc)

Modified: 
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
 2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/izpack/frontend/model/stages/GeneralInformationModel.java
 2006-04-07 00:16:07 UTC (rev 188)
@@ -314,7 +314,10 @@
 
         info.appendChild(appname);
         info.appendChild(appversion);
-        info.appendChild(url);
+        
+        if (homepage != null && !homepage.equals(""))
+            info.appendChild(url);
+        
         info.appendChild(authorsElem);
 
         return info;

Modified: izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java
===================================================================
--- izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java 
2006-04-05 02:10:36 UTC (rev 187)
+++ izpack-frontend/trunk/src/izpack/frontend/view/mode/WizardMode.java 
2006-04-07 00:16:07 UTC (rev 188)
@@ -23,7 +23,6 @@
 
 import izpack.frontend.controller.StageChangeEvent;
 import izpack.frontend.controller.StageChangeListener;
-import izpack.frontend.controller.XMLCreator;
 import izpack.frontend.view.stages.IzPackStage;
 import izpack.frontend.view.stages.compile.Compile;
 import izpack.frontend.view.stages.configure.PanelConfigurator;
@@ -36,6 +35,7 @@
 import java.awt.Dimension;
 import java.awt.event.WindowEvent;
 import java.awt.event.WindowListener;
+import java.io.File;
 import java.util.ArrayList;
 
 import javax.swing.Box;

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/HTMLInfo.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/HTMLInfo.java
        2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/HTMLInfo.java
        2006-04-07 00:16:07 UTC (rev 188)
@@ -38,6 +38,7 @@
 
 import utils.IO;
 import utils.UI;
+import utils.XML;
 
 /** Implement the information panel.  This allows the user to select or create
  * a README type file - plain text that is
@@ -61,6 +62,8 @@
         try
         {
             editor.loadDocument(filename);
+            
+            this.filename = filename;
         }
         catch (IOException ioe)        
         {
@@ -73,16 +76,20 @@
     }
 
     public Element createXML(Document doc)
-    {
-        // TODO Auto-generated method stub
-        return null;
+    { 
+        Element root = XML.createResourceTree("HTMLInfoPanel.info", filename, 
doc);        
+        
+        return root;
     }
 
     public void initFromXML(Document xmlFile)
     {
-        // TODO Auto-generated method stub
+        String info = XML.getResourceValueAsPath(xmlFile, 
"HTMLInfoPanel.info");
         
+        if (info != null)
+            updateEditorDisplay(info);
     }
     
+    private String filename;
     private HTMLEditor editor;
 }

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/HTMLLicense.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/HTMLLicense.java
     2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/HTMLLicense.java
     2006-04-07 00:16:07 UTC (rev 188)
@@ -25,19 +25,16 @@
 
 import izpack.frontend.view.components.HTMLEditor;
 
-import java.awt.Dimension;
 import java.io.File;
 import java.io.IOException;
 
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
 import javax.swing.text.BadLocationException;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-import utils.IO;
 import utils.UI;
+import utils.XML;
 
 /** Implement the information panel.  This allows the user to select or create
  * a README type file - plain text that is
@@ -61,6 +58,8 @@
         try
         {
             editor.loadDocument(filename);
+            
+            this.filename = filename;
         }
         catch (IOException ioe)        
         {
@@ -73,16 +72,20 @@
     }
 
     public Element createXML(Document doc)
-    {
-        // TODO Auto-generated method stub
-        return null;
+    { 
+        Element root = XML.createResourceTree("HTMLLicencePanel.licence", 
filename, doc);        
+        
+        return root;
     }
 
     public void initFromXML(Document xmlFile)
     {
-        // TODO Auto-generated method stub
+        String license = XML.getResourceValueAsPath(xmlFile, 
"HTMLLicencePanel.licence");        
         
+        if (license != null)
+            updateEditorDisplay(license);
     }
     
+    private String filename;
     private HTMLEditor editor;
 }

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/Info.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/Info.java
    2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/Info.java
    2006-04-07 00:16:07 UTC (rev 188)
@@ -33,6 +33,7 @@
 import org.w3c.dom.Element;
 
 import utils.IO;
+import utils.XML;
 
 /** Implement the information panel.  This allows the user to select or create
  * a README type file - plain text that is
@@ -59,20 +60,29 @@
     protected void updateEditorDisplay(String filename)
     {
         editor.setText(IO.loadFileIntoString(new File(filename)));
+        
+        this.filename = filename;
     }
 
     public Element createXML(Document doc)
-    {
-        // TODO Auto-generated method stub
-        return null;
+    { 
+        Element root = XML.createResourceTree("InfoPanel.info", filename, 
doc);        
+        
+        return root;
     }
 
     public void initFromXML(Document xmlFile)
     {
-        // TODO Auto-generated method stub
+        String info = XML.getResourceValueAsPath(xmlFile, "InfoPanel.info");
         
+        if (xmlFile.getDocumentURI() != null)
+            info = new File(xmlFile.getDocumentURI()).getParent() + 
System.getProperty("file.separator") + info;
+        
+        if (info != null)
+            updateEditorDisplay(info);
     }
     
+    private String filename;
     private JTextArea editor;
 
 }

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/License.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/License.java
 2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/License.java
 2006-04-07 00:16:07 UTC (rev 188)
@@ -33,6 +33,7 @@
 import org.w3c.dom.Element;
 
 import utils.IO;
+import utils.XML;
 
 /** Implement the license panel.  This allows the user to select or create
  * a README type file - plain text that is
@@ -59,20 +60,29 @@
     protected void updateEditorDisplay(String filename)
     {
         editor.setText(IO.loadFileIntoString(new File(filename)));
+        
+        this.filename = filename;
     }
 
     public Element createXML(Document doc)
-    {
-        // TODO Auto-generated method stub
-        return null;
+    { 
+        Element root = XML.createResourceTree("LicencePanel.licence", 
filename, doc);        
+        
+        return root;
     }
 
     public void initFromXML(Document xmlFile)
     {
-        // TODO Auto-generated method stub
+        String license = XML.getResourceValueAsPath(xmlFile, 
"LicencePanel.licence");
+     
+        if (xmlFile.getDocumentURI() != null)
+            license = new File(xmlFile.getDocumentURI()).getParent() + 
System.getProperty("file.separator") + license;
         
+        if (license != null)
+            updateEditorDisplay(license);
     }
     
+    private String filename;
     private JTextArea editor;
 
 }

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/ShortcutPanel.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/ShortcutPanel.java
   2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/ShortcutPanel.java
   2006-04-07 00:16:07 UTC (rev 188)
@@ -205,8 +205,34 @@
 
     public Element createXML(Document doc)
     {
-        // TODO Auto-generated method stub
-        return null;
+        //Windows, Unix, Mac when implemented
+        Document[] docs = model.writeXML();
+        
+        //TODO make these configurable somehow
+        XML.writeXML("shortcutSpec_Windows.xml", docs[0]);
+        XML.writeXML("shortcutSpec_Unix.xml", docs[1]);
+        
+        //Create the resources specs, and native library stuff
+        
+        
+        Element root = XML.createElement("installation", doc);
+        root.setAttribute("version", "1.0");
+        
+        Element winResources = XML.createResourceTree("shortcutSpec.xml", 
"shortcutSpec_Windows.xml", doc);
+        Element unixResources = 
XML.createResourceTree("Unix_shortcutSpec.xml", "shortcutSpec_Unix.xml", doc);
+        
+        root.appendChild(winResources);
+        root.appendChild(unixResources);
+        
+        Element nativeLib = XML.createElement("native", doc);
+        nativeLib.setAttribute("type", "izpack");
+        nativeLib.setAttribute("name", "ShellLink.dll");        
+        
+        nativeLib.appendChild(XML.createElement("test", doc));
+        
+        root.appendChild(nativeLib);
+        
+        return root;
     }
     
     public void initFromXML(Document xmlFile)
@@ -216,8 +242,8 @@
         
         long start = System.currentTimeMillis();
         
-        String winSpec =   XML.getResourceValue(xmlFile, "shortcutSpec.xml");
-        String unixSpec = XML.getResourceValue(xmlFile, 
"Unix_shortcutSpec.xml");
+        String winSpec =   XML.getResourceValueAsPath(xmlFile, 
"shortcutSpec.xml");
+        String unixSpec = XML.getResourceValueAsPath(xmlFile, 
"Unix_shortcutSpec.xml");
         
         //Have the model import the Windows shortcuts
         try

Modified: 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/XInfo.java
===================================================================
--- 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/XInfo.java
   2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/izpack/frontend/view/stages/configure/panels/XInfo.java
   2006-04-07 00:16:07 UTC (rev 188)
@@ -54,45 +54,22 @@
 {    
     public XInfo()
     {
-        xinfo = new JTextArea();
-        filebox = new JTextField("Text file to be parsed: ");
-           
-           JScrollPane scrollPane = new JScrollPane();
-           scrollPane.getViewport().add(xinfo);
-           scrollPane.setPreferredSize(new Dimension(500, 350));
-           xinfo.setWrapStyleWord(true);           
-           
-           setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
-           
-           JButton browse = new JButton("Browse");
-        browse.addActionListener(this);
+        super();
         
-           add(filebox);
-           add(Box.createVerticalStrut(5));
-           add(browse);            
-           add(Box.createVerticalStrut(15));
-           add(scrollPane);
+        JScrollPane scrollPane = new JScrollPane();
+        editor = new JTextArea();
+        
+        scrollPane.getViewport().add(editor);
+        scrollPane.setPreferredSize(new Dimension(500, 350));
+        editor.setWrapStyleWord(true);
+        
+        setTextEditor(scrollPane);
     }
     
-    JTextArea xinfo;
-    JTextField filebox;
+    private JTextArea editor;
+    private String filename;
 
     /* (non-Javadoc)
-     * @see 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-     */
-    public void actionPerformed(ActionEvent e)
-    {     
-        File textFile = UI.getFile(this, "text");
-        loadFile(textFile);
-    }
-    
-    private void loadFile(File textFile)
-    {
-        filebox.setText(textFile.getAbsolutePath());
-        xinfo.setText(IO.loadFileIntoString(textFile));
-    }
-
-    /* (non-Javadoc)
      * @see izpack.frontend.view.pages.configure.ConfigurePage#createXML()
      * 
      * Structure:
@@ -102,7 +79,7 @@
      */
     public Element createXML(Document doc)
     {   
-        return XML.createResourceTree("XInfoPanel.info", filebox.getText(), 
doc);
+        return XML.createResourceTree("XInfoPanel.info", filename, doc);
     }
 
     /* (non-Javadoc)
@@ -115,20 +92,20 @@
      */
     public void initFromXML(Document document)
     {
-        String filename = XML.getResourceValue(document, "XInfoPanel.info");
+        String filename = XML.getResourceValueAsPath(document, 
"XInfoPanel.info");
         
         //Check to see if there's anything to load from
         if (filename != null)
         {
-            loadFile(new File(filename));
+            updateEditorDisplay(filename);
         }
     }
 
-    /* (non-Javadoc)
-     * @see izpack.frontend.view.pages.configure.ConfigurePage#validatePage()
-     */
-    public ValidationResult validatePanel()
-    {
-        return null;        
+    @Override
+    protected void updateEditorDisplay(String filename)
+    {        
+        editor.setText(IO.loadFileIntoString(new File(filename)));
+        
+        this.filename = filename;       
     }
 }

Added: 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/AllTests.java
===================================================================
--- 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/AllTests.java
  2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/AllTests.java
  2006-04-07 00:16:07 UTC (rev 188)
@@ -0,0 +1,53 @@
+/*
+ * Created on Apr 6, 2006
+ * 
+ * $Id: AllTests.java Feb 8, 2004 izpack-frontend
+ * Copyright (C) 2005 Andy Gombos
+ * 
+ * File : AllTests.java 
+ * Description : TODO Add description
+ * Author's email : gumbo-96fYSP9JRkAATYTw5x5z8w@xxxxxxxxxxxxxxxx
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *     
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package tests.izpack.frontend.view.stages.configure.panels;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class AllTests
+{
+
+    public static void main(String[] args)
+    {
+        junit.swingui.TestRunner.run(AllTests.class);
+    }
+
+    public static Test suite()
+    {
+        TestSuite suite = new TestSuite(
+                        "Test for 
test.izpack.frontend.view.stages.configure.panels");
+        //$JUnit-BEGIN$
+        suite.addTestSuite(HTMLInfoTest.class);
+        suite.addTestSuite(LicenseTest.class);
+        suite.addTestSuite(HTMLLicenseTest.class);
+        suite.addTestSuite(InfoTest.class);
+        suite.addTestSuite(ShortcutPanelTest.class);
+        suite.addTestSuite(XInfoTest.class);
+        suite.addTestSuite(JDKPathTest.class);
+        //$JUnit-END$
+        return suite;
+    }
+
+}

Added: 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/HTMLInfoTest.java
===================================================================
--- 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/HTMLInfoTest.java
      2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/HTMLInfoTest.java
      2006-04-07 00:16:07 UTC (rev 188)
@@ -0,0 +1,85 @@
+package tests.izpack.frontend.view.stages.configure.panels;
+
+import junit.framework.TestCase;
+
+import org.w3c.dom.Element;
+
+import utils.XML;
+// JUnitDoclet end import
+
+/**
+* Generated by JUnitDoclet, a tool provided by
+* ObjectFab GmbH under LGPL.
+* Please see www.junitdoclet.org, www.gnu.org
+* and www.objectfab.de for informations about
+* the tool, the licence and the authors.
+*/
+
+
+public class HTMLInfoTest
+// JUnitDoclet begin extends_implements
+extends TestCase
+// JUnitDoclet end extends_implements
+{
+  // JUnitDoclet begin class
+  izpack.frontend.view.stages.configure.panels.HTMLInfo htmlinfo = null;
+  // JUnitDoclet end class
+  
+  public HTMLInfoTest(String name) {
+    // JUnitDoclet begin method HTMLInfoTest
+    super(name);
+    // JUnitDoclet end method HTMLInfoTest
+  }
+  
+  public izpack.frontend.view.stages.configure.panels.HTMLInfo 
createInstance() throws Exception {
+    // JUnitDoclet begin method testcase.createInstance
+    return new izpack.frontend.view.stages.configure.panels.HTMLInfo();
+    // JUnitDoclet end method testcase.createInstance
+  }
+  
+  protected void setUp() throws Exception {
+    // JUnitDoclet begin method testcase.setUp
+    super.setUp();
+    htmlinfo = createInstance();
+    // JUnitDoclet end method testcase.setUp
+  }
+  
+  protected void tearDown() throws Exception {
+    // JUnitDoclet begin method testcase.tearDown
+    htmlinfo = null;
+    super.tearDown();
+    // JUnitDoclet end method testcase.tearDown
+  }
+  
+  public void testCreateXML() throws Exception {
+    // JUnitDoclet begin method createXML
+      
+     assertNotNull(htmlinfo.createXML(XML.createDocument()));     
+     
+    // JUnitDoclet end method createXML
+  }
+  
+  public void testInitFromXML() throws Exception {
+    // JUnitDoclet begin method initFromXML
+    // JUnitDoclet end method initFromXML
+  }
+  
+  
+  
+  /**
+  * JUnitDoclet moves marker to this method, if there is not match
+  * for them in the regenerated code and if the marker is not empty.
+  * This way, no test gets lost when regenerating after renaming.
+  * Method testVault is supposed to be empty.
+  */
+  public void testVault() throws Exception {
+    // JUnitDoclet begin method testcase.testVault
+    // JUnitDoclet end method testcase.testVault
+  }
+  
+  public static void main(String[] args) {
+    // JUnitDoclet begin method testcase.main
+    junit.textui.TestRunner.run(HTMLInfoTest.class);
+    // JUnitDoclet end method testcase.main
+  }
+}

Added: 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/HTMLLicenseTest.java
===================================================================
--- 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/HTMLLicenseTest.java
   2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/HTMLLicenseTest.java
   2006-04-07 00:16:07 UTC (rev 188)
@@ -0,0 +1,82 @@
+package tests.izpack.frontend.view.stages.configure.panels;
+
+import utils.XML;
+import junit.framework.TestCase;
+// JUnitDoclet begin import
+import izpack.frontend.view.stages.configure.panels.HTMLLicense;
+// JUnitDoclet end import
+
+/**
+* Generated by JUnitDoclet, a tool provided by
+* ObjectFab GmbH under LGPL.
+* Please see www.junitdoclet.org, www.gnu.org
+* and www.objectfab.de for informations about
+* the tool, the licence and the authors.
+*/
+
+
+public class HTMLLicenseTest
+// JUnitDoclet begin extends_implements
+extends TestCase
+// JUnitDoclet end extends_implements
+{
+  // JUnitDoclet begin class
+  izpack.frontend.view.stages.configure.panels.HTMLLicense htmllicense = null;
+  // JUnitDoclet end class
+  
+  public HTMLLicenseTest(String name) {
+    // JUnitDoclet begin method HTMLLicenseTest
+    super(name);
+    // JUnitDoclet end method HTMLLicenseTest
+  }
+  
+  public izpack.frontend.view.stages.configure.panels.HTMLLicense 
createInstance() throws Exception {
+    // JUnitDoclet begin method testcase.createInstance
+    return new izpack.frontend.view.stages.configure.panels.HTMLLicense();
+    // JUnitDoclet end method testcase.createInstance
+  }
+  
+  protected void setUp() throws Exception {
+    // JUnitDoclet begin method testcase.setUp
+    super.setUp();
+    htmllicense = createInstance();
+    // JUnitDoclet end method testcase.setUp
+  }
+  
+  protected void tearDown() throws Exception {
+    // JUnitDoclet begin method testcase.tearDown
+    htmllicense = null;
+    super.tearDown();
+    // JUnitDoclet end method testcase.tearDown
+  }
+  
+  public void testCreateXML() throws Exception {
+    // JUnitDoclet begin method createXML
+      assertNotNull(htmllicense.createXML(XML.createDocument()));
+    // JUnitDoclet end method createXML
+  }
+  
+  public void testInitFromXML() throws Exception {
+    // JUnitDoclet begin method initFromXML
+    // JUnitDoclet end method initFromXML
+  }
+  
+  
+  
+  /**
+  * JUnitDoclet moves marker to this method, if there is not match
+  * for them in the regenerated code and if the marker is not empty.
+  * This way, no test gets lost when regenerating after renaming.
+  * Method testVault is supposed to be empty.
+  */
+  public void testVault() throws Exception {
+    // JUnitDoclet begin method testcase.testVault
+    // JUnitDoclet end method testcase.testVault
+  }
+  
+  public static void main(String[] args) {
+    // JUnitDoclet begin method testcase.main
+    junit.textui.TestRunner.run(HTMLLicenseTest.class);
+    // JUnitDoclet end method testcase.main
+  }
+}

Added: 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/InfoTest.java
===================================================================
--- 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/InfoTest.java
  2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/InfoTest.java
  2006-04-07 00:16:07 UTC (rev 188)
@@ -0,0 +1,83 @@
+package tests.izpack.frontend.view.stages.configure.panels;
+
+import utils.XML;
+import junit.framework.TestCase;
+// JUnitDoclet begin import
+import izpack.frontend.view.stages.configure.panels.Info;
+// JUnitDoclet end import
+
+/**
+* Generated by JUnitDoclet, a tool provided by
+* ObjectFab GmbH under LGPL.
+* Please see www.junitdoclet.org, www.gnu.org
+* and www.objectfab.de for informations about
+* the tool, the licence and the authors.
+*/
+
+
+public class InfoTest
+// JUnitDoclet begin extends_implements
+extends TestCase
+// JUnitDoclet end extends_implements
+{
+  // JUnitDoclet begin class
+  izpack.frontend.view.stages.configure.panels.Info info = null;
+  // JUnitDoclet end class
+  
+  public InfoTest(String name) {
+    // JUnitDoclet begin method InfoTest
+    super(name);
+    // JUnitDoclet end method InfoTest
+  }
+  
+  public izpack.frontend.view.stages.configure.panels.Info createInstance() 
throws Exception {
+    // JUnitDoclet begin method testcase.createInstance
+    return new izpack.frontend.view.stages.configure.panels.Info();
+    // JUnitDoclet end method testcase.createInstance
+  }
+  
+  protected void setUp() throws Exception {
+    // JUnitDoclet begin method testcase.setUp
+    super.setUp();
+    info = createInstance();
+    // JUnitDoclet end method testcase.setUp
+  }
+  
+  protected void tearDown() throws Exception {
+    // JUnitDoclet begin method testcase.tearDown
+    info = null;
+    super.tearDown();
+    // JUnitDoclet end method testcase.tearDown
+  }
+  
+  public void testCreateXML() throws Exception {
+    // JUnitDoclet begin method createXML
+      
+      assertNotNull(info.createXML(XML.createDocument()));
+    // JUnitDoclet end method createXML
+  }
+  
+  public void testInitFromXML() throws Exception {
+    // JUnitDoclet begin method initFromXML
+    // JUnitDoclet end method initFromXML
+  }
+  
+  
+  
+  /**
+  * JUnitDoclet moves marker to this method, if there is not match
+  * for them in the regenerated code and if the marker is not empty.
+  * This way, no test gets lost when regenerating after renaming.
+  * Method testVault is supposed to be empty.
+  */
+  public void testVault() throws Exception {
+    // JUnitDoclet begin method testcase.testVault
+    // JUnitDoclet end method testcase.testVault
+  }
+  
+  public static void main(String[] args) {
+    // JUnitDoclet begin method testcase.main
+    junit.textui.TestRunner.run(InfoTest.class);
+    // JUnitDoclet end method testcase.main
+  }
+}

Added: 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/JDKPathTest.java
===================================================================
--- 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/JDKPathTest.java
       2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/JDKPathTest.java
       2006-04-07 00:16:07 UTC (rev 188)
@@ -0,0 +1,82 @@
+package tests.izpack.frontend.view.stages.configure.panels;
+
+import utils.XML;
+import junit.framework.TestCase;
+// JUnitDoclet begin import
+import izpack.frontend.view.stages.configure.panels.JDKPath;
+// JUnitDoclet end import
+
+/**
+* Generated by JUnitDoclet, a tool provided by
+* ObjectFab GmbH under LGPL.
+* Please see www.junitdoclet.org, www.gnu.org
+* and www.objectfab.de for informations about
+* the tool, the licence and the authors.
+*/
+
+
+public class JDKPathTest
+// JUnitDoclet begin extends_implements
+extends TestCase
+// JUnitDoclet end extends_implements
+{
+  // JUnitDoclet begin class
+  izpack.frontend.view.stages.configure.panels.JDKPath jdkpath = null;
+  // JUnitDoclet end class
+  
+  public JDKPathTest(String name) {
+    // JUnitDoclet begin method JDKPathTest
+    super(name);
+    // JUnitDoclet end method JDKPathTest
+  }
+  
+  public izpack.frontend.view.stages.configure.panels.JDKPath createInstance() 
throws Exception {
+    // JUnitDoclet begin method testcase.createInstance
+    return new izpack.frontend.view.stages.configure.panels.JDKPath();
+    // JUnitDoclet end method testcase.createInstance
+  }
+  
+  protected void setUp() throws Exception {
+    // JUnitDoclet begin method testcase.setUp
+    super.setUp();
+    jdkpath = createInstance();
+    // JUnitDoclet end method testcase.setUp
+  }
+  
+  protected void tearDown() throws Exception {
+    // JUnitDoclet begin method testcase.tearDown
+    jdkpath = null;
+    super.tearDown();
+    // JUnitDoclet end method testcase.tearDown
+  }
+  
+  public void testCreateXML() throws Exception {
+    // JUnitDoclet begin method createXML
+      assertNotNull(jdkpath.createXML(XML.createDocument()));
+    // JUnitDoclet end method createXML
+  }
+  
+  public void testInitFromXML() throws Exception {
+    // JUnitDoclet begin method initFromXML
+    // JUnitDoclet end method initFromXML
+  }
+  
+  
+  
+  /**
+  * JUnitDoclet moves marker to this method, if there is not match
+  * for them in the regenerated code and if the marker is not empty.
+  * This way, no test gets lost when regenerating after renaming.
+  * Method testVault is supposed to be empty.
+  */
+  public void testVault() throws Exception {
+    // JUnitDoclet begin method testcase.testVault
+    // JUnitDoclet end method testcase.testVault
+  }
+  
+  public static void main(String[] args) {
+    // JUnitDoclet begin method testcase.main
+    junit.textui.TestRunner.run(JDKPathTest.class);
+    // JUnitDoclet end method testcase.main
+  }
+}

Added: 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/LicenseTest.java
===================================================================
--- 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/LicenseTest.java
       2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/LicenseTest.java
       2006-04-07 00:16:07 UTC (rev 188)
@@ -0,0 +1,82 @@
+package tests.izpack.frontend.view.stages.configure.panels;
+
+import utils.XML;
+import junit.framework.TestCase;
+// JUnitDoclet begin import
+import izpack.frontend.view.stages.configure.panels.License;
+// JUnitDoclet end import
+
+/**
+* Generated by JUnitDoclet, a tool provided by
+* ObjectFab GmbH under LGPL.
+* Please see www.junitdoclet.org, www.gnu.org
+* and www.objectfab.de for informations about
+* the tool, the licence and the authors.
+*/
+
+
+public class LicenseTest
+// JUnitDoclet begin extends_implements
+extends TestCase
+// JUnitDoclet end extends_implements
+{
+  // JUnitDoclet begin class
+  izpack.frontend.view.stages.configure.panels.License license = null;
+  // JUnitDoclet end class
+  
+  public LicenseTest(String name) {
+    // JUnitDoclet begin method LicenseTest
+    super(name);
+    // JUnitDoclet end method LicenseTest
+  }
+  
+  public izpack.frontend.view.stages.configure.panels.License createInstance() 
throws Exception {
+    // JUnitDoclet begin method testcase.createInstance
+    return new izpack.frontend.view.stages.configure.panels.License();
+    // JUnitDoclet end method testcase.createInstance
+  }
+  
+  protected void setUp() throws Exception {
+    // JUnitDoclet begin method testcase.setUp
+    super.setUp();
+    license = createInstance();
+    // JUnitDoclet end method testcase.setUp
+  }
+  
+  protected void tearDown() throws Exception {
+    // JUnitDoclet begin method testcase.tearDown
+    license = null;
+    super.tearDown();
+    // JUnitDoclet end method testcase.tearDown
+  }
+  
+  public void testCreateXML() throws Exception {
+    // JUnitDoclet begin method createXML
+      assertNotNull(license.createXML(XML.createDocument()));
+    // JUnitDoclet end method createXML
+  }
+  
+  public void testInitFromXML() throws Exception {
+    // JUnitDoclet begin method initFromXML
+    // JUnitDoclet end method initFromXML
+  }
+  
+  
+  
+  /**
+  * JUnitDoclet moves marker to this method, if there is not match
+  * for them in the regenerated code and if the marker is not empty.
+  * This way, no test gets lost when regenerating after renaming.
+  * Method testVault is supposed to be empty.
+  */
+  public void testVault() throws Exception {
+    // JUnitDoclet begin method testcase.testVault
+    // JUnitDoclet end method testcase.testVault
+  }
+  
+  public static void main(String[] args) {
+    // JUnitDoclet begin method testcase.main
+    junit.textui.TestRunner.run(LicenseTest.class);
+    // JUnitDoclet end method testcase.main
+  }
+}

Added: 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/ShortcutPanelTest.java
===================================================================
--- 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/ShortcutPanelTest.java
 2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/ShortcutPanelTest.java
 2006-04-07 00:16:07 UTC (rev 188)
@@ -0,0 +1,82 @@
+package tests.izpack.frontend.view.stages.configure.panels;
+
+import utils.XML;
+import junit.framework.TestCase;
+// JUnitDoclet begin import
+import izpack.frontend.view.stages.configure.panels.ShortcutPanel;
+// JUnitDoclet end import
+
+/**
+* Generated by JUnitDoclet, a tool provided by
+* ObjectFab GmbH under LGPL.
+* Please see www.junitdoclet.org, www.gnu.org
+* and www.objectfab.de for informations about
+* the tool, the licence and the authors.
+*/
+
+
+public class ShortcutPanelTest
+// JUnitDoclet begin extends_implements
+extends TestCase
+// JUnitDoclet end extends_implements
+{
+  // JUnitDoclet begin class
+  izpack.frontend.view.stages.configure.panels.ShortcutPanel shortcutpanel = 
null;
+  // JUnitDoclet end class
+  
+  public ShortcutPanelTest(String name) {
+    // JUnitDoclet begin method ShortcutPanelTest
+    super(name);
+    // JUnitDoclet end method ShortcutPanelTest
+  }
+  
+  public izpack.frontend.view.stages.configure.panels.ShortcutPanel 
createInstance() throws Exception {
+    // JUnitDoclet begin method testcase.createInstance
+    return new izpack.frontend.view.stages.configure.panels.ShortcutPanel();
+    // JUnitDoclet end method testcase.createInstance
+  }
+  
+  protected void setUp() throws Exception {
+    // JUnitDoclet begin method testcase.setUp
+    super.setUp();
+    shortcutpanel = createInstance();
+    // JUnitDoclet end method testcase.setUp
+  }
+  
+  protected void tearDown() throws Exception {
+    // JUnitDoclet begin method testcase.tearDown
+    shortcutpanel = null;
+    super.tearDown();
+    // JUnitDoclet end method testcase.tearDown
+  }
+  
+  public void testCreateXML() throws Exception {
+    // JUnitDoclet begin method createXML
+      assertNotNull(shortcutpanel.createXML(XML.createDocument()));
+    // JUnitDoclet end method createXML
+  }
+  
+  public void testInitFromXML() throws Exception {
+    // JUnitDoclet begin method initFromXML
+    // JUnitDoclet end method initFromXML
+  }
+  
+  
+  
+  /**
+  * JUnitDoclet moves marker to this method, if there is not match
+  * for them in the regenerated code and if the marker is not empty.
+  * This way, no test gets lost when regenerating after renaming.
+  * Method testVault is supposed to be empty.
+  */
+  public void testVault() throws Exception {
+    // JUnitDoclet begin method testcase.testVault
+    // JUnitDoclet end method testcase.testVault
+  }
+  
+  public static void main(String[] args) {
+    // JUnitDoclet begin method testcase.main
+    junit.textui.TestRunner.run(ShortcutPanelTest.class);
+    // JUnitDoclet end method testcase.main
+  }
+}

Added: 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/XInfoTest.java
===================================================================
--- 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/XInfoTest.java
 2006-04-05 02:10:36 UTC (rev 187)
+++ 
izpack-frontend/trunk/src/tests/izpack/frontend/view/stages/configure/panels/XInfoTest.java
 2006-04-07 00:16:07 UTC (rev 188)
@@ -0,0 +1,92 @@
+package tests.izpack.frontend.view.stages.configure.panels;
+
+import utils.XML;
+import junit.framework.TestCase;
+// JUnitDoclet begin import
+import izpack.frontend.view.stages.configure.panels.XInfo;
+// JUnitDoclet end import
+
+/**
+* Generated by JUnitDoclet, a tool provided by
+* ObjectFab GmbH under LGPL.
+* Please see www.junitdoclet.org, www.gnu.org
+* and www.objectfab.de for informations about
+* the tool, the licence and the authors.
+*/
+
+
+public class XInfoTest
+// JUnitDoclet begin extends_implements
+extends TestCase
+// JUnitDoclet end extends_implements
+{
+  // JUnitDoclet begin class
+  izpack.frontend.view.stages.configure.panels.XInfo xinfo = null;
+  // JUnitDoclet end class
+  
+  public XInfoTest(String name) {
+    // JUnitDoclet begin method XInfoTest
+    super(name);
+    // JUnitDoclet end method XInfoTest
+  }
+  
+  public izpack.frontend.view.stages.configure.panels.XInfo createInstance() 
throws Exception {
+    // JUnitDoclet begin method testcase.createInstance
+    return new izpack.frontend.view.stages.configure.panels.XInfo();
+    // JUnitDoclet end method testcase.createInstance
+  }
+  
+  protected void setUp() throws Exception {
+    // JUnitDoclet begin method testcase.setUp
+    super.setUp();
+    xinfo = createInstance();
+    // JUnitDoclet end method testcase.setUp
+  }
+  
+  protected void tearDown() throws Exception {
+    // JUnitDoclet begin method testcase.tearDown
+    xinfo = null;
+    super.tearDown();
+    // JUnitDoclet end method testcase.tearDown
+  }
+  
+  public void testActionPerformed() throws Exception {
+    // JUnitDoclet begin method actionPerformed
+    // JUnitDoclet end method actionPerformed
+  }
+  
+  public void testCreateXML() throws Exception {
+    // JUnitDoclet begin method createXML
+      assertNotNull(xinfo.createXML(XML.createDocument()));
+    // JUnitDoclet end method createXML
+  }
+  
+  public void testInitFromXML() throws Exception {
+    // JUnitDoclet begin method initFromXML
+    // JUnitDoclet end method initFromXML
+  }
+  
+  public void testValidatePanel() throws Exception {
+    // JUnitDoclet begin method validatePanel
+    // JUnitDoclet end method validatePanel
+  }
+  
+  
+  
+  /**
+  * JUnitDoclet moves marker to this method, if there is not match
+  * for them in the regenerated code and if the marker is not empty.
+  * This way, no test gets lost when regenerating after renaming.
+  * Method testVault is supposed to be empty.
+  */
+  public void testVault() throws Exception {
+    // JUnitDoclet begin method testcase.testVault
+    // JUnitDoclet end method testcase.testVault
+  }
+  
+  public static void main(String[] args) {
+    // JUnitDoclet begin method testcase.main
+    junit.textui.TestRunner.run(XInfoTest.class);
+    // JUnitDoclet end method testcase.main
+  }
+}

Modified: izpack-frontend/trunk/src/utils/XML.java
===================================================================
--- izpack-frontend/trunk/src/utils/XML.java    2006-04-05 02:10:36 UTC (rev 
187)
+++ izpack-frontend/trunk/src/utils/XML.java    2006-04-07 00:16:07 UTC (rev 
188)
@@ -87,7 +87,16 @@
         try
         {
             builder = 
DocumentBuilderFactory.newInstance().newDocumentBuilder();
-            document = builder.parse(new File(filename));
+            document = builder.parse(new File(filename));            
+            
+            String URI = new File(filename).getParent();
+            
+            if (URI == null)
+                URI = "";
+            else
+                URI = URI + System.getProperty("file.separator");
+            
+            document.setDocumentURI(URI);
         }        
         catch (ParserConfigurationException pce)
         {
@@ -205,6 +214,22 @@
         return null;
     }
     
+    public static String getResourceValueAsPath(Document document, String id)
+    {
+        //TODO make this better - just to catch myself if I create a document 
badly
+        if (document.getDocumentURI() == null)
+            throw new RuntimeException("Error: Document URI does not exist");
+        
+        String resource = getResourceValue(document, id);
+        
+        if (resource != null)
+        {
+            resource = document.getDocumentURI() + resource;
+        }
+        
+        return resource;
+    }
+    
     /**
      * Structure:
      * <resources>


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
web.pylons.gene...    hurd.l4/2002-10...    kernel.commits....    user-groups.lin...    yellowdog.gener...    java.drools.use...    security.openva...    package-managem...    linux.debian.us...    qnx.openqnx.dev...    genealogy.gramp...    file-systems.if...    voip.wengophone...    tex.context/200...    ietf.smime/2003...    audio.csound.de...    culture.region....    xfree86.devel/2...    mobile.kannel.u...    distributed.con...    education.engli...    org.user-groups...    bug-tracking.gn...    recreation.bicy...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe