Author: kmorin Date: 2009-08-27 10:39:58 +0200 (Thu, 27 Aug 2009) New Revision: 1609 Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingGenerator.java trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingInterfaceGenerator.java trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingJavaFileGenerator.java trunk/guix-compiler-swing/src/test/java/org/nuiton/guix/generator/SwingGeneratorTest.java Log: Correction in the javadoc + clean imports Correction in the tests Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingGenerator.java =================================================================== --- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingGenerator.java 2009-08-27 08:39:49 UTC (rev 1608) +++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingGenerator.java 2009-08-27 08:39:58 UTC (rev 1609) @@ -301,7 +301,7 @@ //get the class of the current token or its JavaFile try { - nextClazz = Class.forName(returnType); + nextClazz = Class.forName(returnType); } catch (ClassNotFoundException eee) { for(JavaFile javaFile : generatedFiles.values()) { Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingInterfaceGenerator.java =================================================================== --- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingInterfaceGenerator.java 2009-08-27 08:39:49 UTC (rev 1608) +++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingInterfaceGenerator.java 2009-08-27 08:39:58 UTC (rev 1609) @@ -25,7 +25,6 @@ import java.lang.reflect.Modifier; import java.util.Map; -import org.nuiton.guix.tags.TagHandler; import org.nuiton.guix.tags.TagManager; /** Modified: trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingJavaFileGenerator.java =================================================================== --- trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingJavaFileGenerator.java 2009-08-27 08:39:49 UTC (rev 1608) +++ trunk/guix-compiler-swing/src/main/java/org/nuiton/guix/generator/SwingJavaFileGenerator.java 2009-08-27 08:39:58 UTC (rev 1609) @@ -24,8 +24,6 @@ //~--- JDK imports ------------------------------------------------------------ import java.util.Map; -import org.nuiton.guix.tags.TagHandler; -import org.nuiton.guix.tags.TagManager; /** * Modified: trunk/guix-compiler-swing/src/test/java/org/nuiton/guix/generator/SwingGeneratorTest.java =================================================================== --- trunk/guix-compiler-swing/src/test/java/org/nuiton/guix/generator/SwingGeneratorTest.java 2009-08-27 08:39:49 UTC (rev 1608) +++ trunk/guix-compiler-swing/src/test/java/org/nuiton/guix/generator/SwingGeneratorTest.java 2009-08-27 08:39:58 UTC (rev 1609) @@ -43,112 +43,116 @@ @Test public void testGenerateBinding() { -// SwingGuixInitializer.initialize(); -// SwingGenerator sg = new SwingGenerator(); -// //tests the not null condition for the parameters that needs to be not null -// Assert.assertNull(sg.generateBindings(null, new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>())); -// Assert.assertNull(sg.generateBindings(new StringBuffer(), null, null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>())); -// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, null, 0, null, "", new HashMap<GuixGenerator, JavaFile>())); -// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>())); -// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>())); -// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, null, new HashMap<GuixGenerator, JavaFile>())); -// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", null)); -// Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, null, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>())); -// -// //tests with a class parameter not null -// //tests without TagHandlers -// List<Class> l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, JToggleButton.class, new String[]{"isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 0); -// //tests a successful generation with a method as a binding -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, JToggleButton.class, new String[]{"isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 1); -// Assert.assertNotNull(l.get(0)); -// Assert.assertEquals(l.get(0), ChangeListener.class); -// //tests a successful generation with an attribute as a binding -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, JToggleButton.class, new String[]{"selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 1); -// Assert.assertNotNull(l.get(0)); -// Assert.assertEquals(l.get(0), ChangeListener.class); -// -// //tests with a javafile parameter not null -// //tests if the result is empty without the taghandler associated to the field -// JavaFile jf = new JavaFile(); -// jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null)); -// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null)); -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 0); -// -// //tests a successful generation with a method as a binding -// jf = new JavaFile(); -// jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler())); -// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null)); -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 2); -// Assert.assertNotNull(l.get(0)); -// Assert.assertEquals(l.get(0), ChangeListener.class); -// Assert.assertNotNull(l.get(1)); -// Assert.assertEquals(l.get(1), PropertyChangeListener.class); -// //tests a successful generation with an attribute as a binding -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"button","selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 2); -// Assert.assertNotNull(l.get(0)); -// Assert.assertEquals(l.get(0), ChangeListener.class); -// Assert.assertNotNull(l.get(1)); -// Assert.assertEquals(l.get(1), PropertyChangeListener.class); -// -// //tests with a javafile parameter not null with an attribute whose type is another generated file -// //tests if the result is empty without the taghandler associated to the field -// jf = new JavaFile(); -// jf.addField(new JavaField(Modifier.PRIVATE, "test.Test", "test", null)); -// jf.addMethod(new JavaMethod(Modifier.PUBLIC, "test.Test", "getTest", null, null, "", null)); -// JavaFile jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", null, null); -// jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null)); -// jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null)); -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest","getButton","isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 0); -// //test without jf2 in the map of generators with JavaFile -// jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", null, null); -// jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler())); -// jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null)); -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest","getButton","isSelected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 0); -// -// Map<GuixGenerator,JavaFile> map = new HashMap<GuixGenerator, JavaFile>(); -// map.put(sg, jf2); -// //tests an unsuccessful binding generation with a method as a binding because the superclass of j2 is not assignable from java.awt.Container -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest","getButton", "isSelected"}, 0, null, "", map); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 0); -// //tests a successful generation with a method as a binding -// jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", "java.awt.Container", null); -// jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler())); -// jf2.addMethod(new JavaMethod(Modifier.PUBLIC, "javax.swing.JToggleButton", "getButton", null, null, "", null)); -// map = new HashMap<GuixGenerator, JavaFile>(); -// map.put(sg, jf2); -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest","getButton", "isSelected"}, 0, null, "", map); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 2); -// Assert.assertNotNull(l.get(0)); -// Assert.assertEquals(l.get(0), ChangeListener.class); -// //the PropertyChangeListener is recorded only once -// Assert.assertNotNull(l.get(1)); -// Assert.assertEquals(l.get(1), PropertyChangeListener.class); -// //tests a successful generation with an attribute as a binding -// l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"test","button","selected"}, 0, null, "", map); -// Assert.assertNotNull(l); -// Assert.assertEquals(l.size(), 2); -// Assert.assertNotNull(l.get(0)); -// Assert.assertEquals(l.get(0), ChangeListener.class); -// //the PropertyChangeListener is recorded only once -// Assert.assertNotNull(l.get(1)); -// Assert.assertEquals(l.get(1), PropertyChangeListener.class); + SwingGuixInitializer.initialize(); + SwingGenerator sg = new SwingGenerator(); + JavaMethod addPropertyChangeListener = new JavaMethod(Modifier.PUBLIC, "void", "addPropertyChangeListener", new JavaArgument[]{new JavaArgument("java.beans.PropertyChangeListener", "listener")}, null, "", null); + //tests the not null condition for the parameters that needs to be not null + Assert.assertNull(sg.generateBindings(null, new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>())); + Assert.assertNull(sg.generateBindings(new StringBuffer(), null, null, null, Class.class, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>())); + Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, null, 0, null, "", new HashMap<GuixGenerator, JavaFile>())); + Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>())); + Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], -1, null, "", new HashMap<GuixGenerator, JavaFile>())); + Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, null, new HashMap<GuixGenerator, JavaFile>())); + Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, Class.class, new String[0], 0, null, "", null)); + Assert.assertNull(sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, null, new String[0], 0, null, "", new HashMap<GuixGenerator, JavaFile>())); + + //tests with a class parameter not null + //tests without TagHandlers + List<Class> l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, null, JToggleButton.class, new String[]{"isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 1); + Assert.assertNotNull(l.get(0)); + Assert.assertEquals(l.get(0), PropertyChangeListener.class); + //tests a successful generation with a method as a binding + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, JToggleButton.class, new String[]{"isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 1); + Assert.assertNotNull(l.get(0)); + Assert.assertEquals(l.get(0), ChangeListener.class); + //tests a successful generation with an attribute as a binding + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), new ToggleButtonHandler(), null, JToggleButton.class, new String[]{"selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 1); + Assert.assertNotNull(l.get(0)); + Assert.assertEquals(l.get(0), ChangeListener.class); + + //tests with a javafile parameter not null + //tests if the result is empty without the addPropertyChangeListener + JavaFile jf = new JavaFile(); + jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null)); + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 0); + + //tests with a javafile parameter not null + //tests if the result without the TagHandler + jf = new JavaFile(); + jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null)); + jf.addMethod(addPropertyChangeListener); + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 1); + Assert.assertNotNull(l.get(0)); + Assert.assertEquals(l.get(0), PropertyChangeListener.class); + + //tests a successful generation with a method as a binding + jf = new JavaFile(); + jf.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler())); + jf.addMethod(addPropertyChangeListener); + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getButton()", "isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 2); + Assert.assertNotNull(l.get(0)); + Assert.assertEquals(l.get(0), ChangeListener.class); + Assert.assertNotNull(l.get(1)); + Assert.assertEquals(l.get(1), PropertyChangeListener.class); + //tests a successful generation with an attribute as a binding + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"button","selected"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 2); + Assert.assertNotNull(l.get(0)); + Assert.assertEquals(l.get(0), ChangeListener.class); + Assert.assertNotNull(l.get(1)); + Assert.assertEquals(l.get(1), PropertyChangeListener.class); + + //tests with a javafile parameter not null with an attribute whose type is another generated file + //tests if the result is empty without the taghandler associated to the field + jf = new JavaFile(); + jf.addField(new JavaField(Modifier.PRIVATE, "test.Test", "test", null)); + jf.addMethod(addPropertyChangeListener); + JavaFile jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", null, null); + jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null)); + jf2.addMethod(addPropertyChangeListener); + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()","isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 0); + //test without jf2 in the map of generators with JavaFile + jf2 = new JavaFile(Modifier.PUBLIC, 0, "test", "Test", null, null); + jf2.addField(new JavaField(Modifier.PRIVATE, "javax.swing.JToggleButton", "button", null, new ToggleButtonHandler())); + jf2.addMethod(addPropertyChangeListener); + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()","isSelected()"}, 0, null, "", new HashMap<GuixGenerator, JavaFile>()); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 0); + + Map<GuixGenerator,JavaFile> map = new HashMap<GuixGenerator, JavaFile>(); + map.put(sg, jf2); + //tests an successful binding generation with a method as a binding + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"getTest()","getButton()", "isSelected()"}, 0, null, "", map); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 2); + Assert.assertNotNull(l.get(0)); + Assert.assertEquals(l.get(0), ChangeListener.class); + //the PropertyChangeListener is recorded only once + Assert.assertNotNull(l.get(1)); + Assert.assertEquals(l.get(1), PropertyChangeListener.class); + //tests a successful generation with an attribute as a binding + l = sg.generateBindings(new StringBuffer(), new StringBuffer(), null, jf, null, new String[]{"test","button","selected"}, 0, null, "", map); + Assert.assertNotNull(l); + Assert.assertEquals(l.size(), 2); + Assert.assertNotNull(l.get(0)); + Assert.assertEquals(l.get(0), ChangeListener.class); + //the PropertyChangeListener is recorded only once + Assert.assertNotNull(l.get(1)); + Assert.assertEquals(l.get(1), PropertyChangeListener.class); } }