Yes everything looks good. And as i pointed out above there seems to be sort of a type check against the base class which is located in the old package. Am i wrong with that?
I am still not able to run my application :( On 5 Mai, 23:51, David Chandler <drfibona...@google.com> wrote: > QBiT, > > Have you cleaned your project? I was seeing some weirdness in RF after > moving to 2.3, then realized I still had the GWT 2.2 jar on the classpath... > > /dmc > > > > > > > > > > On Thu, May 5, 2011 at 10:19 AM, QBiT <qbit0...@googlemail.com> wrote: > > Hello, > > > when i refactored my sources to fit the new package structure ( > > com.google.web.bindery.requestfactory ) of the requestfactory i ended up > > with a mess :/ > > When i try to launch my application i get the following error: > > > SCHWERWIEGEND: de.systemagmbh.gf.dwr.ui.shared.context.ReportRequestContext > > is not a RequestContext > > 05.05.2011 16:05:51 > > com.google.gwt.requestfactory.server.ServiceLayerDecorator die > > SCHWERWIEGEND: The RequestContext type > > de.systemagmbh.gf.dwr.ui.shared.context.ReportRequestContext did not pass > > validation > > 05.05.2011 16:05:51 > > com.google.gwt.requestfactory.server.RequestFactoryServlet doPost > > SCHWERWIEGEND: Unexpected error > > com.google.gwt.requestfactory.server.UnexpectedException: The > > RequestContext type > > de.systemagmbh.gf.dwr.ui.shared.context.ReportRequestContext did not pass > > validation > > at > > com.google.gwt.requestfactory.server.ServiceLayerDecorator.die(ServiceLayerDecorator.java:205) > > > After a debugging session i found out that perhaps something went wrong > > with the move to the new package. > > This is what i have found: > > > In the class ResolverServiceLayer the method > > validator.validateRequestContext(requestContextClass); sets the validator to > > poisened. > > > @Override > > public Method resolveRequestContextMethod(String requestContextClass, > > String methodName) { > > synchronized (validator) { > > validator.antidote(); > > validator.validateRequestContext(requestContextClass); > > if (validator.isPoisoned()) { > > die(null, "The RequestContext type %s did not pass validation", > > requestContextClass); > > } > > } > > Class<?> searchIn = forName(requestContextClass); > > for (Method method : searchIn.getMethods()) { > > if (method.getName().equals(methodName)) { > > return method; > > } > > } > > return report("Could not locate %s method %s::%s", > > RequestContext.class.getSimpleName(), > > requestContextClass, methodName); > > } > > > This is because of the following in the RequestFactoryInterfaceValidator. > > The method isAssignable(logger, requestContextIntf, requestContextType) goes > > wrong. > > > public void validateRequestContext(String binaryName) { > > if (fastFail(binaryName)) { > > return; > > } > > > Type requestContextType = > > Type.getObjectType(BinaryName.toInternalName(binaryName)); > > final ErrorContext logger = parentLogger.setType(requestContextType); > > > // Quick sanity check for calling code > > if (!isAssignable(logger, requestContextIntf, requestContextType)) { > > logger.poison("%s is not a %s", print(requestContextType), > > RequestContext.class.getSimpleName()); > > return; > > } > > > Type domainServiceType = getDomainType(logger, requestContextType); > > if (domainServiceType == errorType) { > > logger.poison( > > "The type %s must be annotated with a @%s or @%s annotation", > > BinaryName.toSourceName(binaryName), > > Service.class.getSimpleName(), > > ServiceName.class.getSimpleName()); > > return; > > } > > > for (RFMethod method : getMethodsInHierarchy(logger, > > requestContextType)) { > > // Ignore methods in RequestContext itself > > if (findCompatibleMethod(logger, requestContextIntf, method, false, > > true, > > true) != null) { > > continue; > > } > > > // Check the client method against the domain > > checkClientMethodInDomain(logger, method, domainServiceType, > > !clientToLocatorMap.containsKey(requestContextType)); > > maybeCheckReferredProxies(logger, method); > > } > > > checkUnresolvedKeyTypes(logger); > > } > > > And this finally is because my Context is not extended from the old > > RequestContext anymore. > > The isAssignable() method does the following: > > > private boolean isAssignable(ErrorContext logger, Type possibleSupertype, > > Type possibleSubtype) { > > // Fast-path for same type > > if (possibleSupertype.equals(possibleSubtype)) { > > return true; > > } > > > // Supertype calculation is cached > > List<Type> allSupertypes = getSupertypes(logger, possibleSubtype); > > return allSupertypes.contains(possibleSupertype); > > } > > > The list allSupertypes contains OBJECT my RequestContext interface and its > > superclass wich is ...bindery..requestContext. > > The problem is that possible superType somehow* is the old RequestContext > > (old package) *which can obviously then not be > > in the possible supertypes list. > > > What is going on here? > > What could i have done wrong? > > Is it right now not possible to move to the new Requestfactory packages > > because something was overlooked here? > > I do not want to use all these deprecated classes? > > Do we need to wait for a fix here? > > > Hope for some help on this one > > QB!T > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google Web Toolkit" group. > > To post to this group, send email to google-web-toolkit@googlegroups.com. > > To unsubscribe from this group, send email to > > google-web-toolkit+unsubscr...@googlegroups.com. > > For more options, visit this group at > >http://groups.google.com/group/google-web-toolkit?hl=en. > > -- > David Chandler > Developer Programs Engineer, Google Web Toolkit > w:http://code.google.com/ > b:http://googlewebtoolkit.blogspot.com/ > t: @googledevtools -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.