[Buix-commits] r1298 - in jaxx-gwt/trunk: jaxx-compiler-api jaxx-compiler-api/src/main/java/jaxx/tags jaxx-compiler-gwt/src/main/java/jaxx jaxx-compiler-gwt/src/main/java/jaxx/compiler jaxx-compiler-gwt/src/main/java/jaxx/tags/gwt jaxx-compiler-validator/src/main/java/jaxx/compiler jaxx-my-example
Author: kmorin Date: 2009-04-06 07:42:20 +0000 (Mon, 06 Apr 2009) New Revision: 1298 Added: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTBoxedCompiledObjectDecorator.java jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTHelpRootCompiledObjectDecorator.java Removed: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/BoxedCompiledObjectDecorator.java jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/HelpRootCompiledObjectDecorator.java Modified: jaxx-gwt/trunk/jaxx-compiler-api/pom.xml jaxx-gwt/trunk/jaxx-compiler-api/src/main/java/jaxx/tags/TagManager.java jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/GWTInitializer.java jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTGenerator.java jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/tags/gwt/TreeHandler.java jaxx-gwt/trunk/jaxx-compiler-validator/src/main/java/jaxx/compiler/ValidatorGenerator.java jaxx-gwt/trunk/jaxx-my-example/pom.xml Log: Modified: jaxx-gwt/trunk/jaxx-compiler-api/pom.xml =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-api/pom.xml 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-compiler-api/pom.xml 2009-04-06 07:42:20 UTC (rev 1298) @@ -17,6 +17,33 @@ <artifactId>jaxx-compiler-api</artifactId> <dependencies> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-servlet</artifactId> + <version>${gwtVersion}</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <version>${gwtVersion}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-dev</artifactId> + <version>${gwtVersion}</version> + <classifier>${platform}-libs</classifier> + <type>zip</type> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-dev</artifactId> + <version>${gwtVersion}</version> + <classifier>${platform}</classifier> + <scope>provided</scope> + </dependency> <!-- sibling dependencies --> @@ -51,6 +78,9 @@ <!-- *** Build Settings ****************************************** --> <!-- ************************************************************* --> <packaging>jar</packaging> + <properties> + <gwtVersion>1.5.3</gwtVersion> + </properties> <!-- ************************************************************* --> <!-- *** Build Environment ************************************** --> @@ -60,4 +90,18 @@ <connection>scm:svn:svn://anonymous@labs.libre-entreprise.org/svnroot/buix/jaxx/trunk/jaxx-compiler-api</connection> <developerConnection>scm:svn:svn+ssh://sletellier@labs.libre-entreprise.org/svnroot/buix/jaxx/trunk/jaxx-compiler-api</developerConnection> </scm> + + <profiles> + <profile> + <id>gwt-dev-linux</id> + <properties> + <platform>linux</platform> + </properties> + <activation> + <os> + <name>Linux</name> + </os> + </activation> + </profile> + </profiles> </project> Modified: jaxx-gwt/trunk/jaxx-compiler-api/src/main/java/jaxx/tags/TagManager.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-api/src/main/java/jaxx/tags/TagManager.java 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-compiler-api/src/main/java/jaxx/tags/TagManager.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -12,6 +12,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import com.google.gwt.core.ext.Generator; +import com.google.gwt.core.ext.typeinfo.NotFoundException; +import com.google.gwt.core.ext.typeinfo.TypeOracle; + import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; @@ -252,15 +256,24 @@ boolean found = false; try { - Class.forName(className, true, compiler.getClassLoader()); + System.out.println("1 " + className); + TypeOracle to = new TypeOracle(); + to.getType(className); found = true; } - catch (ClassNotFoundException e) { - // ignore ? + catch (NotFoundException e) { + System.out.println("2 " + className); + try { + Class.forName(className, true, compiler.getClassLoader()); + } catch (ClassNotFoundException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + catch (NoClassDefFoundError ex) { // we get this instead of ClassNotFoundException on case-insensitive file systems when + // looking up a class with the wrong case + } } - catch (NoClassDefFoundError e) { // we get this instead of ClassNotFoundException on case-insensitive file systems when - // looking up a class with the wrong case - } + if (!found) { // couldn't find .class, check for .java URL javaURL = compiler.getClassLoader().getResource(className.replace('.', '/') + ".java"); Modified: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/GWTInitializer.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/GWTInitializer.java 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/GWTInitializer.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -78,6 +78,8 @@ TagManager.registerDefaultNamespace("JTextField", "javax.swing.*"); TagManager.registerDefaultNamespace("JTextPane", "javax.swing.*"); + TagManager.registerDefaultNamespace("Button", "com.google.gwt.user.client.ui.*"); + TagManager.registerTag(JAXXCompiler.JAXX_NAMESPACE, "tab", new TabHandler()); TagManager.registerBean(ClassDescriptorLoader.getClassDescriptor(jaxx.runtime.gwt.Table.class), TableHandler.class); TagManager.registerTag(JAXXCompiler.JAXX_NAMESPACE, "row", new RowHandler()); Deleted: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/BoxedCompiledObjectDecorator.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/BoxedCompiledObjectDecorator.java 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/BoxedCompiledObjectDecorator.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -1,27 +0,0 @@ -package jaxx.compiler; - -import jaxx.compiler.CompiledObject.ChildRef; -import jaxx.runtime.GWTUtil; - -/** - * A decorator to surround a compiled object (should be a component at least) - * with a JXLayer. - * - * @author tony - * @since 1.2 - */ -public class BoxedCompiledObjectDecorator extends DefaultCompiledObjectDecorator { - - @Override - public void finalizeCompiler(JAXXCompiler compiler, CompiledObject root, CompiledObject object, JavaFile javaFile, String packageName, String className, String fullClassName) { - CompiledObject parent = object.getParent(); - for (ChildRef child : parent.getChilds()) { - if (child.getChild() == object) { - String javaCode = child.getChildJavaCode(); - child.setChildJavaCode(GWTUtil.class.getName()+".boxComponentWithJxLayer(" + javaCode + ")"); - break; - } - } - super.finalizeCompiler(compiler, root, object, javaFile, packageName, className, fullClassName); - } -} Added: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTBoxedCompiledObjectDecorator.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTBoxedCompiledObjectDecorator.java (rev 0) +++ jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTBoxedCompiledObjectDecorator.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -0,0 +1,27 @@ +package jaxx.compiler; + +import jaxx.compiler.CompiledObject.ChildRef; +import jaxx.runtime.GWTUtil; + +/** + * A decorator to surround a compiled object (should be a component at least) + * with a JXLayer. + * + * @author tony + * @since 1.2 + */ +public class GWTBoxedCompiledObjectDecorator extends DefaultCompiledObjectDecorator { + + @Override + public void finalizeCompiler(JAXXCompiler compiler, CompiledObject root, CompiledObject object, JavaFile javaFile, String packageName, String className, String fullClassName) { + CompiledObject parent = object.getParent(); + for (ChildRef child : parent.getChilds()) { + if (child.getChild() == object) { + String javaCode = child.getChildJavaCode(); + child.setChildJavaCode(GWTUtil.class.getName()+".boxComponentWithJxLayer(" + javaCode + ")"); + break; + } + } + super.finalizeCompiler(compiler, root, object, javaFile, packageName, className, fullClassName); + } +} Modified: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTGenerator.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTGenerator.java 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTGenerator.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -19,7 +19,7 @@ // TODO: check for existing main method first javaFile.addInterface("com.google.gwt.core.client.EntryPoint"); javaFile.addMethod(JavaMethod.newMethod(Modifier.PUBLIC, "void", "onModuleLoad", - "SwingUtilities.invokeLater(new Runnable() { public void run() { new " + className + "().setVisible(true); } });") + "SwingUtilities.invokeLater(new Runnable() { public void run() { new " + className + "(); } });") ); } } Added: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTHelpRootCompiledObjectDecorator.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTHelpRootCompiledObjectDecorator.java (rev 0) +++ jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/GWTHelpRootCompiledObjectDecorator.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -0,0 +1,93 @@ +package jaxx.compiler; + +import java.lang.reflect.Modifier; +import java.util.Iterator; +import java.util.Set; + +/** + * A decorator to place on a root compiled object to process javaHelp on the file. + * + * @author tony + * @since 1.2 + */ +public class GWTHelpRootCompiledObjectDecorator extends DefaultCompiledObjectDecorator { + + /** + * the list of discovered helpId + */ + protected static Set<String> helpIds = new java.util.HashSet<String>(); + + protected String getBrokerFQN(JAXXCompiler compiler) { + String helpBrokerFQN = compiler.getOptions().getHelpBrokerFQN(); + return helpBrokerFQN; + } + + protected String getHelpId(CompiledObject o) { + String helpID = null; + if (o.hasClientProperties()) { + helpID = o.getClientProperty("help"); + } + return helpID; + } + + @Override + public void finalizeCompiler(JAXXCompiler compiler, CompiledObject root, CompiledObject object, JavaFile javaFile, String packageName, String className, String fullClassName) { + super.finalizeCompiler(compiler, root, object, javaFile, packageName, className, fullClassName); + CompilerOptions options = compiler.getOptions(); + + if (options.isGenerateHelp()) { + + // add JaxxHelpUI interface + Class<?> validatorInterface = jaxx.runtime.JaxxHelpUI.class; + String helpBrokerFQN = getBrokerFQN(compiler); + javaFile.addInterface(JAXXCompiler.getCanonicalName(validatorInterface) + "<" + helpBrokerFQN + ">"); + + javaFile.addMethod(JavaMethod.newMethod(Modifier.PUBLIC, "void", "registerHelpId", + "broker.installUI(component, helpId);", + new JavaArgument(helpBrokerFQN, "broker"), + new JavaArgument("Component", "component"), + new JavaArgument("String", "helpId"))); + + javaFile.addMethod(JavaMethod.newMethod(Modifier.PUBLIC, "void", "showHelp", + "getBroker().showHelp(this, helpId);", + new JavaArgument("String", "helpId"))); + + StringBuilder buffer = new StringBuilder(); + + String lineSeparator = JAXXCompiler.getLineSeparator(); + + if (options.isGenerateHelp()) { + + // add code to init javax help system + Iterator<CompiledObject> itr = compiler.getObjectCreationOrder(); + + for (; itr.hasNext();) { + CompiledObject o = itr.next(); + String helpID = getHelpId(o); + if (helpID != null) { + buffer.append(lineSeparator); + // detects a helpId to register + buffer.append("registerHelpId(_broker, " + o.getJavaCode() + ", " + helpID + ");"); + //keep the helpID for helpSet generation + helpIds.add(helpID); + } + } + } + if (buffer.length() > 0) { + + StringBuilder extraCode = new StringBuilder(helpBrokerFQN).append(" _broker = getBroker();"); + + buffer.append(lineSeparator).append("_broker.prepareUI(this);"); + buffer.append(lineSeparator); + + // add the calls + compiler.appendLateInitializer(extraCode.toString()); + compiler.appendLateInitializer(buffer.toString()); + } + } + } + + public static Set<String> getHelpIds() { + return helpIds; + } +} Deleted: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/HelpRootCompiledObjectDecorator.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/HelpRootCompiledObjectDecorator.java 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/compiler/HelpRootCompiledObjectDecorator.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -1,93 +0,0 @@ -package jaxx.compiler; - -import java.lang.reflect.Modifier; -import java.util.Iterator; -import java.util.Set; - -/** - * A decorator to place on a root compiled object to process javaHelp on the file. - * - * @author tony - * @since 1.2 - */ -public class HelpRootCompiledObjectDecorator extends DefaultCompiledObjectDecorator { - - /** - * the list of discovered helpId - */ - protected static Set<String> helpIds = new java.util.HashSet<String>(); - - protected String getBrokerFQN(JAXXCompiler compiler) { - String helpBrokerFQN = compiler.getOptions().getHelpBrokerFQN(); - return helpBrokerFQN; - } - - protected String getHelpId(CompiledObject o) { - String helpID = null; - if (o.hasClientProperties()) { - helpID = o.getClientProperty("help"); - } - return helpID; - } - - @Override - public void finalizeCompiler(JAXXCompiler compiler, CompiledObject root, CompiledObject object, JavaFile javaFile, String packageName, String className, String fullClassName) { - super.finalizeCompiler(compiler, root, object, javaFile, packageName, className, fullClassName); - CompilerOptions options = compiler.getOptions(); - - if (options.isGenerateHelp()) { - - // add JaxxHelpUI interface - Class<?> validatorInterface = jaxx.runtime.JaxxHelpUI.class; - String helpBrokerFQN = getBrokerFQN(compiler); - javaFile.addInterface(JAXXCompiler.getCanonicalName(validatorInterface) + "<" + helpBrokerFQN + ">"); - - javaFile.addMethod(JavaMethod.newMethod(Modifier.PUBLIC, "void", "registerHelpId", - "broker.installUI(component, helpId);", - new JavaArgument(helpBrokerFQN, "broker"), - new JavaArgument("Component", "component"), - new JavaArgument("String", "helpId"))); - - javaFile.addMethod(JavaMethod.newMethod(Modifier.PUBLIC, "void", "showHelp", - "getBroker().showHelp(this, helpId);", - new JavaArgument("String", "helpId"))); - - StringBuilder buffer = new StringBuilder(); - - String lineSeparator = JAXXCompiler.getLineSeparator(); - - if (options.isGenerateHelp()) { - - // add code to init javax help system - Iterator<CompiledObject> itr = compiler.getObjectCreationOrder(); - - for (; itr.hasNext();) { - CompiledObject o = itr.next(); - String helpID = getHelpId(o); - if (helpID != null) { - buffer.append(lineSeparator); - // detects a helpId to register - buffer.append("registerHelpId(_broker, " + o.getJavaCode() + ", " + helpID + ");"); - //keep the helpID for helpSet generation - helpIds.add(helpID); - } - } - } - if (buffer.length() > 0) { - - StringBuilder extraCode = new StringBuilder(helpBrokerFQN).append(" _broker = getBroker();"); - - buffer.append(lineSeparator).append("_broker.prepareUI(this);"); - buffer.append(lineSeparator); - - // add the calls - compiler.appendLateInitializer(extraCode.toString()); - compiler.appendLateInitializer(buffer.toString()); - } - } - } - - public static Set<String> getHelpIds() { - return helpIds; - } -} Modified: jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/tags/gwt/TreeHandler.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/tags/gwt/TreeHandler.java 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-compiler-gwt/src/main/java/jaxx/tags/gwt/TreeHandler.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -58,7 +58,7 @@ List<Item> items = tree.getItems(); if (items != null && !items.isEmpty()) { String listName = tree.getId() + "$items"; - tree.appendAdditionCode("java.util.List<jaxx.runtime.gwt.Item> " + listName + " = new java.util.ArrayList<jaxx.runtime.swing.Item>();"); + tree.appendAdditionCode("java.util.List<jaxx.runtime.gwt.Item> " + listName + " = new java.util.ArrayList<jaxx.runtime.gwt.Item>();"); createItems(tree, items, listName + ".add", compiler); tree.appendAdditionCode(tree.getId() + ".setItems(" + listName + ");"); } Modified: jaxx-gwt/trunk/jaxx-compiler-validator/src/main/java/jaxx/compiler/ValidatorGenerator.java =================================================================== --- jaxx-gwt/trunk/jaxx-compiler-validator/src/main/java/jaxx/compiler/ValidatorGenerator.java 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-compiler-validator/src/main/java/jaxx/compiler/ValidatorGenerator.java 2009-04-06 07:42:20 UTC (rev 1298) @@ -34,7 +34,8 @@ boolean found = BeanValidatorHandler.isComponentUsedByValidator(compiler, child.getChild().getId()); if (found) { // box the child component in a JxLayer - child.setChildJavaCode(jaxx.runtime.SwingUtil.class.getName()+".boxComponentWithJxLayer(" + javaCode + ")"); + //child.setChildJavaCode(jaxx.runtime.SwingUtil.class.getName()+".boxComponentWithJxLayer(" + javaCode + ")"); + child.setChildJavaCode(jaxx.runtime.GWTUtil.class.getName()+".boxComponentWithJxLayer(" + javaCode + ")"); } } } Modified: jaxx-gwt/trunk/jaxx-my-example/pom.xml =================================================================== --- jaxx-gwt/trunk/jaxx-my-example/pom.xml 2009-04-05 20:13:32 UTC (rev 1297) +++ jaxx-gwt/trunk/jaxx-my-example/pom.xml 2009-04-06 07:42:20 UTC (rev 1298) @@ -79,8 +79,8 @@ <packaging>jar</packaging> <properties> -<gwtVersion>1.5.3</gwtVersion> - <maven.jar.main.class>jaxx.demo.JAXXMyDemo</maven.jar.main.class> + <gwtVersion>1.5.3</gwtVersion> + <maven.jar.main.class>jaxx.test.Test</maven.jar.main.class> <!-- jnlp --> <keystorepath>${codelutin.keystorepath}</keystorepath>
participants (1)
-
kmorin@users.labs.libre-entreprise.org