Author: tchemit Date: 2008-10-02 17:48:54 +0000 (Thu, 02 Oct 2008) New Revision: 877 Modified: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/compiler/JAXXCompiler.java Log: fix bug : some jaxx object are not Container, so modify the new method getContainerParent Modified: lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/compiler/JAXXCompiler.java =================================================================== --- lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/compiler/JAXXCompiler.java 2008-10-02 17:46:54 UTC (rev 876) +++ lutinjaxx/trunk/jaxx-core/src/main/java/jaxx/compiler/JAXXCompiler.java 2008-10-02 17:48:54 UTC (rev 877) @@ -817,7 +817,7 @@ } private JavaMethod createGetParentContainerMore(){ return new JavaMethod(Modifier.PUBLIC, "<O extends Container> O", "getParentContainer", - new JavaArgument[]{new JavaArgument("Container", "top"),new JavaArgument("Class<O>", "clazz")}, null, getGetParentContenerMethodMoreCode()); + new JavaArgument[]{new JavaArgument("Object", "source"),new JavaArgument("Class<O>", "clazz")}, null, getGetParentContenerMethodMoreCode()); } private String getSetContextValueMethodCode() { @@ -851,8 +851,12 @@ private String getGetParentContenerMethodMoreCode(){ StringBuffer result = new StringBuffer(); - result.append("Container parent = top.getParent();"); + result.append("if (!Container.class.isAssignableFrom(source.getClass())) {return null;}"); + result.append(getLineSeparator()); + result.append("Container parent = ((Container)source).getParent();"); + result.append(getLineSeparator()); result.append("if (parent != null && !clazz.isAssignableFrom(parent.getClass())){parent = getParentContainer(parent, clazz);}"); + result.append(getLineSeparator()); result.append("return (O)parent;"); return result.toString(); }
participants (1)
-
tchemit@users.labs.libre-entreprise.org