Author: tchemit Date: 2009-10-27 11:46:23 +0100 (Tue, 27 Oct 2009) New Revision: 1604 Modified: branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java Log: in Util.initContext add a entry in ui context when parentContext is a JAXXOBbject (it will make possible to walk into UI ancestor without using the getParentContainer method 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-27 00:40:30 UTC (rev 1603) +++ branches/jaxx-2.X/jaxx-runtime/src/main/java/jaxx/runtime/Util.java 2009-10-27 10:46:23 UTC (rev 1604) @@ -54,6 +54,7 @@ * Logger */ static private final Log log = LogFactory.getLog(Util.class); + public static final String PARENT = "parent"; // Maps root objects to lists of event listeners private static Map<Object, WeakReference<List<EventListenerDescriptor>>> eventListeners = new WeakHashMap<Object, WeakReference<List<EventListenerDescriptor>>>(); private static Map<JAXXObject, WeakReference<List<DataBindingUpdateListener>>> dataBindingUpdateListeners = new WeakHashMap<JAXXObject, WeakReference<List<DataBindingUpdateListener>>>(); @@ -121,17 +122,15 @@ 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); + 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. * @@ -145,6 +144,11 @@ } else { ui.setContextValue(parentContext); } + // if parentContext is a JAXXObject then + // add an special parent entry to can go up + if (parentContext instanceof JAXXObject) { + ui.setContextValue(parentContext, PARENT); + } } public static Object getEventListener(Class<? extends EventListener> listenerClass, final String listenerMethodName, final Object methodContainer, final String methodName) {
participants (1)
-
tchemit@users.nuiton.org