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);
}