r1583 - in branches/jaxx-2.X: jaxx-demo/src/main/java/jaxx/demo jaxx-demo/src/main/java/jaxx/demo/component/jaxx/navigation jaxx-runtime/src/main/java/jaxx/runtime jaxx-runtime/src/main/java/jaxx/runtime/context jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation jaxx-runtime/src/test/java/jaxx/runtime/swing/navigation
Author: tchemit Date: 2009-10-22 12:57:40 +0200 (Thu, 22 Oct 2009) New Revision: 1583 Modified: branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/DemoTreeHelper.java branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/DemoUIHandler.java branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/navigation/FullNavigationTreeHelper.java branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/context/DefaultJAXXContext.java branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/context/JAXXContextEntryDef.java branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeContextHelper.java branches/jaxx-2.X/jaxx-runtime/src/test/java/jaxx/runtime/swing/navigation/NavigationTreeModelTest.java Log: move context entry def static methods to jaxx.runtime.Util Modified: branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/DemoTreeHelper.java =================================================================== --- branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/DemoTreeHelper.java 2009-10-21 13:16:51 UTC (rev 1582) +++ branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/DemoTreeHelper.java 2009-10-22 10:57:40 UTC (rev 1583) @@ -189,7 +189,7 @@ /** * la definition de l'unqiue object a partage */ - static private final JAXXContextEntryDef<DemoConfig> def = JAXXContextEntryDef.newDef(DemoConfig.class); + static private final JAXXContextEntryDef<DemoConfig> def = jaxx.runtime.Util.newContextEntryDef(DemoConfig.class); /** * la pile des noeuds parent */ Modified: branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/DemoUIHandler.java =================================================================== --- branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/DemoUIHandler.java 2009-10-21 13:16:51 UTC (rev 1582) +++ branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/DemoUIHandler.java 2009-10-22 10:57:40 UTC (rev 1583) @@ -51,7 +51,7 @@ /** to use log facility, just put in your code: log.info(\"...\"); */ static private Log log = LogFactory.getLog(DemoUIHandler.class); - static final JAXXContextEntryDef<DemoUI> MAIN_UI_ENTRY_DEF = JAXXContextEntryDef.newDef("mainui", DemoUI.class); + static final JAXXContextEntryDef<DemoUI> MAIN_UI_ENTRY_DEF = jaxx.runtime.Util.newContextEntryDef("mainui", DemoUI.class); /** * Methode pour initialiser l'ui principale sans l'afficher. Modified: branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/navigation/FullNavigationTreeHelper.java =================================================================== --- branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/navigation/FullNavigationTreeHelper.java 2009-10-21 13:16:51 UTC (rev 1582) +++ branches/jaxx-2.X/jaxx-demo/src/main/java/jaxx/demo/component/jaxx/navigation/FullNavigationTreeHelper.java 2009-10-22 10:57:40 UTC (rev 1583) @@ -23,7 +23,6 @@ import jaxx.runtime.JAXXObject; import jaxx.runtime.JAXXContext; import jaxx.runtime.context.JAXXContextEntryDef; -import static jaxx.runtime.context.JAXXContextEntryDef.newListDef; import jaxx.runtime.decorator.Decorator; import jaxx.runtime.decorator.DecoratorUtils; import jaxx.runtime.swing.CardLayout2; @@ -43,6 +42,7 @@ import java.util.Arrays; import java.util.List; import javax.swing.JPanel; +import jaxx.runtime.Util; /** * @@ -69,11 +69,11 @@ /** * where the movies are hold in context */ - static public final JAXXContextEntryDef<List<Movie>> MOVIES = JAXXContextEntryDef.newListDef("movies"); + static public final JAXXContextEntryDef<List<Movie>> MOVIES = Util.newListContextEntryDef("movies"); /** * where the actors are hold in context */ - static public final JAXXContextEntryDef<List<People>> ACTORS = JAXXContextEntryDef.newListDef("actors"); + static public final JAXXContextEntryDef<List<People>> ACTORS = Util.newListContextEntryDef("actors"); public FullNavigationTreeHelper() { super("full"); @@ -128,7 +128,7 @@ NavigationTreeNode moviesNode = builder.build( rootNode, _("movies"), - newListDef("movies"), + MOVIES, "movies", null, null); @@ -167,7 +167,7 @@ // construction du noeud avec les acteurs NavigationTreeNode actorsNode = builder.build(rootNode, _("actors"), - newListDef("actors"), + ACTORS, "actors", null, null); for (People p : actors) { Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java 2009-10-21 13:16:51 UTC (rev 1582) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java 2009-10-22 10:57:40 UTC (rev 1583) @@ -20,6 +20,7 @@ import java.lang.reflect.Proxy; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.EventListener; import java.util.List; import java.util.Map; @@ -84,6 +85,32 @@ } } + public static <O> JAXXContextEntryDef<O> newContextEntryDef(Class<O> klass) { + return newContextEntryDef(null, klass); + } + + public static <O> JAXXContextEntryDef<O> newContextEntryDef(String name, Class<O> klass) { + return new JAXXContextEntryDef<O>(name, klass); + } + + public static <O> JAXXContextEntryDef<List<O>> newListContextEntryDef() { + return newListContextEntryDef(null); + } + + //@SuppressWarnings({"unchecked"}) + public static <O> JAXXContextEntryDef<List<O>> newListContextEntryDef(String name) { + Class<List<O>> castList = Util.<O>castList(); + JAXXContextEntryDef<List<O>> contextEntryDef = new JAXXContextEntryDef<List<O>>(name,castList); + return contextEntryDef; + } + + + @SuppressWarnings({"unchecked"}) + protected static <O> Class<List<O>> castList() { + return (Class<List<O>>) Collections.emptyList().getClass(); + } + + /** * Method to initialize the context of a ui. * Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/context/DefaultJAXXContext.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/context/DefaultJAXXContext.java 2009-10-21 13:16:51 UTC (rev 1582) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/context/DefaultJAXXContext.java 2009-10-22 10:57:40 UTC (rev 1583) @@ -1,7 +1,7 @@ package jaxx.runtime.context; import jaxx.runtime.*; -import static jaxx.runtime.context.JAXXContextEntryDef.newDef; +import jaxx.runtime.Util; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -27,7 +27,7 @@ /** * entry of the parent context */ - protected static final JAXXContextEntryDef<JAXXContext> PARENT_CONTEXT_ENTRY = newDef(JAXXContext.class); + protected static final JAXXContextEntryDef<JAXXContext> PARENT_CONTEXT_ENTRY = Util.newContextEntryDef(JAXXContext.class); /** * Logger */ @@ -174,7 +174,7 @@ } protected JAXXContextEntryDef<?> getKey(String name, Class<?> klass) { - return JAXXContextEntryDef.newDef(name, klass); + return Util.newContextEntryDef(name, klass); } @SuppressWarnings({"unchecked"}) Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/context/JAXXContextEntryDef.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/context/JAXXContextEntryDef.java 2009-10-21 13:16:51 UTC (rev 1582) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/context/JAXXContextEntryDef.java 2009-10-22 10:57:40 UTC (rev 1583) @@ -1,13 +1,12 @@ package jaxx.runtime.context; +import java.util.List; import jaxx.runtime.JAXXContext; -import java.util.Collections; -import java.util.List; /** * To qualify an entry in a {@link JAXXContext}. * <p/> - * Use the factory methods <code>newDef</code> and <code>newListDef</code< to obtain new instances. + * Use the factory methods <code>newContextEntryDef</code> and <code>newListContextEntryDef</code< to obtain new instances. * * @param <O> type of the entry associated to the definition * @author chemit @@ -22,26 +21,27 @@ private static final long serialVersionUID = 1L; - public static <O> JAXXContextEntryDef<O> newDef(Class<O> klass) { - return newDef(null, klass); - } +// public static <O> JAXXContextEntryDef<O> newContextEntryDef(Class<O> klass) { +// return newContextEntryDef(null, klass); +// } +// +// public static <O> JAXXContextEntryDef<O> newContextEntryDef(String name, Class<O> klass) { +// return new JAXXContextEntryDef<O>(name, klass); +// } +// +// public static <O> JAXXContextEntryDef<List<O>> newListContextEntryDef() { +// return newListContextEntryDef(null); +// } +// +// @SuppressWarnings({"unchecked"}) +// public static <O> JAXXContextEntryDef<List<O>> newListContextEntryDef(String name) { +// Class<List<O>> castList = JAXXContextEntryDef.<O>castList(); +// JAXXContextEntryDef<List<O>> contextEntryDef = new JAXXContextEntryDef<List<O>>(name,castList); +// contextEntryDef.klass = castList; +// return contextEntryDef; +// } - public static <O> JAXXContextEntryDef<O> newDef(String name, Class<O> klass) { - return new JAXXContextEntryDef<O>(name, klass); - } - public static <O> JAXXContextEntryDef<List<O>> newListDef() { - return newListDef(null); - } - - @SuppressWarnings({"unchecked"}) - public static <O> JAXXContextEntryDef<List<O>> newListDef(String name) { - JAXXContextEntryDef contextEntryDef = new JAXXContextEntryDef<List<O>>(name, JAXXContextEntryDef.<O>castList()); - contextEntryDef.klass = List.class; - return contextEntryDef; - } - - public String getName() { return name; } @@ -67,32 +67,36 @@ return super.toString() + "<" + klass + ":" + name + ">"; } - protected JAXXContextEntryDef(Class<O> klass) { + public JAXXContextEntryDef(Class<O> klass) { this(null, klass); } - protected JAXXContextEntryDef(String name, Class<O> klass) { + @SuppressWarnings("unchecked") + public JAXXContextEntryDef(String name, Class<O> klass) { if (klass == null) { throw new IllegalArgumentException("class can not be null"); } this.name = name; + if (List.class.isAssignableFrom(klass)) { + klass = (Class<O>) List.class; + } this.klass = klass; } +// +// @SuppressWarnings({"unchecked"}) +// protected static <O> Class<List<O>> castList() { +// return (Class<List<O>>) Collections.emptyList().getClass(); +// } - @SuppressWarnings({"unchecked"}) - protected static <O> Class<List<O>> castList() { - return (Class<List<O>>) Collections.emptyList().getClass(); - } - @Override public boolean equals(Object o) { if (this == o) { return true; } - if (!(o instanceof JAXXContextEntryDef)) { + if (!(o instanceof JAXXContextEntryDef<?>)) { return false; } - JAXXContextEntryDef that = (JAXXContextEntryDef) o; + JAXXContextEntryDef<?> that = (JAXXContextEntryDef<?>) o; return klass.equals(that.klass) && !(name != null ? !name.equals(that.name) : that.name != null); } Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeContextHelper.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeContextHelper.java 2009-10-21 13:16:51 UTC (rev 1582) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/swing/navigation/NavigationTreeContextHelper.java 2009-10-22 10:57:40 UTC (rev 1583) @@ -2,6 +2,7 @@ import javax.swing.JTree; import jaxx.runtime.JAXXContext; +import jaxx.runtime.Util; import jaxx.runtime.context.JAXXContextEntryDef; /** @@ -46,12 +47,12 @@ public NavigationTreeContextHelper(String prefix) { this.prefix = prefix; - treeContextEntry = JAXXContextEntryDef.newDef(prefix + "-tree", JTree.class); - treeModelContextEntry = JAXXContextEntryDef.newDef(prefix + "-tree-model", NavigationTreeModel.class); - treeHandlerContextEntry = JAXXContextEntryDef.newDef(prefix + "-tree-handler", NavigationTreeHandler.class); - selectedBeanContextEntry = JAXXContextEntryDef.newDef(prefix + "-selected-bean", Object.class); - selectedNodeContextEntry = JAXXContextEntryDef.newDef(prefix + "-selected-node", NavigationTreeNode.class); - selectedPathContextEntry = JAXXContextEntryDef.newDef(prefix + "-selected-path", String.class); + treeContextEntry = Util.newContextEntryDef(prefix + "-tree", JTree.class); + treeModelContextEntry = Util.newContextEntryDef(prefix + "-tree-model", NavigationTreeModel.class); + treeHandlerContextEntry = Util.newContextEntryDef(prefix + "-tree-handler", NavigationTreeHandler.class); + selectedBeanContextEntry = Util.newContextEntryDef(prefix + "-selected-bean", Object.class); + selectedNodeContextEntry = Util.newContextEntryDef(prefix + "-selected-node", NavigationTreeNode.class); + selectedPathContextEntry = Util.newContextEntryDef(prefix + "-selected-path", String.class); } public String getPrefix() { @@ -88,14 +89,6 @@ return r; } - public <T> T getSelectedBean(JAXXContext context, Class<T> type) { - Object r = getSelectedBean(context); - if (r != null && !type.isAssignableFrom(r.getClass())) { - throw new IllegalStateException("required a object of type '" + type + "' but had '" + r.getClass() + "'"); - } - return (T) r; - } - public void setTreeModel(JAXXContext context, NavigationTreeModel model) { getTreeModelContextEntry().setContextValue(context, model); } Modified: branches/jaxx-2.X/jaxx-runtime/src/test/java/jaxx/runtime/swing/navigation/NavigationTreeModelTest.java =================================================================== --- branches/jaxx-2.X/jaxx-runtime/src/test/java/jaxx/runtime/swing/navigation/NavigationTreeModelTest.java 2009-10-21 13:16:51 UTC (rev 1582) +++ branches/jaxx-2.X/jaxx-runtime/src/test/java/jaxx/runtime/swing/navigation/NavigationTreeModelTest.java 2009-10-22 10:57:40 UTC (rev 1583) @@ -1,17 +1,14 @@ package jaxx.runtime.swing.navigation; -import jaxx.runtime.swing.navigation.NavigationTreeNode; -import jaxx.runtime.swing.navigation.NavigationTreeModel; -import jaxx.runtime.swing.navigation.NavigationTreeModelBuilder; import jaxx.runtime.context.DefaultJAXXContext; import jaxx.runtime.JAXXContext; -import jaxx.runtime.context.JAXXContextEntryDef; import org.junit.Assert; import org.junit.Test; import java.util.Arrays; import java.util.Collections; import java.util.List; +import jaxx.runtime.Util; /** * Test du model de navigation. @@ -147,10 +144,10 @@ NavigationTreeNode sonSonNode; NavigationTreeNode sonSonSonNode; - builder.build(rootNode, (String) null, JAXXContextEntryDef.newDef("name", String.class), "name", null, null); - builder.build(rootNode, (String) null, JAXXContextEntryDef.newDef("name2", String.class), "name2", null, null); + builder.build(rootNode, (String) null, Util.newContextEntryDef("name", String.class), "name", null, null); + builder.build(rootNode, (String) null, Util.newContextEntryDef("name2", String.class), "name2", null, null); - sonNode = builder.build(rootNode, (String) null, JAXXContextEntryDef.newDef(Model.class), "model", null, null); + sonNode = builder.build(rootNode, (String) null, Util.newContextEntryDef(Model.class), "model", null, null); builder.build(sonNode, (String) null, "../name", "name", null, null); builder.build(sonNode, (String) null, "../integerValue", "integerValue", null, null); @@ -269,7 +266,7 @@ NavigationTreeNode sonSonSonNode; // first son is a list of models - sonNode = builder.build(rootNode, (String) null, JAXXContextEntryDef.newListDef("models"), "models", null, null); + sonNode = builder.build(rootNode, (String) null, Util.newListContextEntryDef("models"), "models", null, null); // first son son is a model sonSonNode = builder.build(sonNode, (String) null, "..[1]", "0", null, null); @@ -327,7 +324,7 @@ Object value; value = model.getBean(contextPath); - Assert.assertNotNull(value); + Assert.assertNotNull("could not find bean for path : " + contextPath, value); Assert.assertEquals(expected, value); }
participants (1)
-
tchemit@users.nuiton.org