In ComponentClassTransformerImpl.java there is this // Force the creation of the parent class. 152 153 try 154 { 155 parentClassname = ctClass.getSuperclass().getName(); 156 } 157 catch (NotFoundException ex) 158 { 159 throw new RuntimeException(ex); 160 } 161 162 String classname = ctClass.getName(); 163 164 Logger transformLogger = loggerSource.getLogger("tapestry.transformer." + classname); 165 Logger logger = loggerSource.getLogger(classname); 166 167 // If the parent class is in a controlled package, it will already have been loaded and 168 // transformed (that is driven by the ComponentInstantiatorSource). 169 170 InternalClassTransformation parentTransformation = nameToClassTransformation.get(parentClassname); 171 172 // TAPESTRY-2449: Ignore the base class that Groovy can inject 173 174 if (parentTransformation == null 175 && !(parentClassname.equals("java.lang.Object") || parentClassname 176 .equals("groovy.lang.GroovyObjectSupport"))) 177 { 178 String suggestedPackageName = buildSuggestedPackageName(classname); 179 180 throw new RuntimeException(ServicesMessages.baseClassInWrongPackage(parentClassname, classname, 181 suggestedPackageName)); 182 } 183 184 // TODO: Check that the name is not already in the map. But I think that can't happen, 185 // because the classloader itself is synchronized. 186 187 Resource baseResource = new ClasspathResource(classname.replace(".", "/") + ".class"); 188 189 ComponentModel parentModel = nameToComponentModel.get(parentClassname); 190 191 MutableComponentModel model = new MutableComponentModelImpl(classname, logger, baseResource, 192 parentModel); 193 194 InternalClassTransformation transformation = parentTransformation == null ? new InternalClassTransformationImpl( 195 classFactory, ctClass, componentClassCache, model, classSource, developmentMode) 196 : parentTransformation.createChildTransformation(ctClass, model); 197
I'm not sure why but I'm guessing if your parentClass is in a controlled package the mixins do not render in the correct order. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org