Added some javadoc and improved swixml unit test.

This commit is contained in:
Willem Cazander 2013-04-09 00:37:30 +02:00
parent 9aa15198c9
commit 661ac8079e
22 changed files with 195 additions and 37 deletions

View file

@ -23,16 +23,18 @@
package org.x4o.xml.io;
import java.awt.Component;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
import org.x4o.xml.X4ODriver;
import org.x4o.xml.io.X4OReader;
import org.x4o.xml.lang.X4OLanguagePropertyKeys;
import org.x4o.xml.test.TestDriver;
import org.x4o.xml.test.models.TestObjectRoot;
import org.x4o.xml.test.swixml.Accelerator3;
import org.x4o.xml.test.swixml.SwiXmlDriver;
import org.x4o.xml.test.swixml.SwingEngine;
import junit.framework.TestCase;
@ -67,4 +69,25 @@ public class X4OWriterTest extends TestCase {
outputFile.delete();
}
public void testWriterSwiXmlOutput() throws Exception {
Accelerator3 ac3 = new Accelerator3(false);
SwingEngine engine = new SwingEngine(ac3);
File outputFile = createOutputFile();
X4ODriver<Component> driver = SwiXmlDriver.getInstance();
X4OReader<Component> reader = driver.createReader();
X4OWriter<Component> writer = driver.createWriter();
reader.addELBeanInstance(SwiXmlDriver.LANGUAGE_EL_SWING_ENGINE, engine);
Component root = reader.readResource("tests/swixml/swixml-accelerator-3.0.xml");
writer.writeFile(root, outputFile);
assertTrue("Debug file does not exists.",outputFile.exists());
//String text = new Scanner( outputFile ).useDelimiter("\\A").next();
//System.out.println("Output: '\n"+text+"\n' end in "+outputFile.getAbsolutePath());
outputFile.delete();
}
}

View file

@ -29,11 +29,7 @@ import javax.el.ValueExpression;
import org.x4o.xml.X4ODriver;
import org.x4o.xml.X4ODriverManager;
import org.x4o.xml.lang.DefaultX4OLanguage;
import org.x4o.xml.lang.DefaultX4OLanguageConfiguration;
import org.x4o.xml.lang.X4OLanguageContext;
import org.x4o.xml.lang.X4OLanguage;
import org.x4o.xml.lang.X4OLanguagePropertyKeys;
/**
* SwiXmlParser works with the SwingEngine to config the UI tree.

View file

@ -86,6 +86,9 @@ public class JInternalFrameBindingHandler extends AbstractElementBindingHandler<
public void createChilderen(Element parentElement,JInternalFrame parent) throws ElementBindingHandlerException {
for (Component c:parent.getComponents()) {
if (c instanceof JComponent) {
if (c.getClass().getName().startsWith("javax.swing.plaf")) {
return;
}
createChild(parentElement, c);
}
}

View file

@ -43,6 +43,7 @@
<classBindingHandler id="JFrame-JDesktopPane" parentClass="javax.swing.JFrame" childClass="javax.swing.JDesktopPane" addMethod="setContentPane" getMethod="getContentPane"/>
<classBindingHandler id="JMenuBar-JMenu" parentClass="javax.swing.JMenuBar" childClass="javax.swing.JMenu" addMethod="add" getMethod="getComponents"/>
<classBindingHandler id="JMenu-JMenuItem" parentClass="javax.swing.JMenu" childClass="javax.swing.JMenuItem" addMethod="add" getMethod="getComponents"/>
<classBindingHandler id="JRootPane-JComponent" parentClass="javax.swing.JRootPane" childClass="javax.swing.JComponent" addMethod="add" getMethod="getComponents"/>
<elementInterface id="Component" interfaceClass="java.awt.Component">
<attribute name="bounds">
@ -128,6 +129,8 @@
<conv:integerConverter/>
</attribute>
</element>
<element tag="layeredPane" objectClass="javax.swing.JLayeredPane"/>
<element tag="rootPane" objectClass="javax.swing.JRootPane"/>
<element tag="scrollPane" objectClass="javax.swing.JScrollPane"/>
<element tag="tree" objectClass="javax.swing.JTree"/>
<element tag="button" objectClass="javax.swing.JButton">

View file

@ -39,10 +39,11 @@
<bindingHandler id="JPanelBindingHandler" bean.class="org.x4o.xml.test.swixml.bind.JPanelBindingHandler"/>
<bindingHandler id="JSplitPaneBindingHandler" bean.class="org.x4o.xml.test.swixml.bind.JSplitPaneBindingHandler"/>
<classBindingHandler id="JScrollPane-JComponent" parentClass="javax.swing.JScrollPane" childClass="javax.swing.JComponent" addMethod="setViewportView" getMethod="getViewport"/>
<classBindingHandler id="JDesktopPane-JInternalFrame" parentClass="javax.swing.JDesktopPane" childClass="javax.swing.JInternalFrame" addMethod="add" getMethod="getComponents"/>
<classBindingHandler id="JDesktopPane-JInternalFrame" parentClass="javax.swing.JDesktopPane" childClass="javax.swing.JInternalFrame" addMethod="add" getMethod="getComponents" />
<classBindingHandler id="JFrame-JDesktopPane" parentClass="javax.swing.JFrame" childClass="javax.swing.JDesktopPane" addMethod="setContentPane" getMethod="getContentPane"/>
<classBindingHandler id="JMenuBar-JMenu" parentClass="javax.swing.JMenuBar" childClass="javax.swing.JMenu" addMethod="add" getMethod="getComponents"/>
<classBindingHandler id="JMenu-JMenuItem" parentClass="javax.swing.JMenu" childClass="javax.swing.JMenuItem" addMethod="add" getMethod="getComponents"/>
<classBindingHandler id="JRootPane-JComponent" parentClass="javax.swing.JRootPane" childClass="javax.swing.JComponent" addMethod="add" getMethod="getComponents"/>
<elementInterface id="Component" interfaceClass="java.awt.Component">
<attribute name="bounds">
@ -122,6 +123,9 @@
<conv:integerConverter/>
</attribute>
</element>
<element tag="JLayeredPane" objectClass="javax.swing.JLayeredPane"/>
<element tag="JRootPane" objectClass="javax.swing.JRootPane"/>
<element tag="JScrollPane" objectClass="javax.swing.JScrollPane"/>
<element tag="JTree" objectClass="javax.swing.JTree"/>
<element tag="JButton" objectClass="javax.swing.JButton"/>