On Mon, Jul 28, 2008 at 12:17 PM, Markus Lanthaler <[EMAIL PROTECTED]> wrote: > Hi Ludovic, > > I just created a class OpenIDHelper which has a static method > findOpenIDUser(). That method is called in the already existent class > MyFormAuthenticator which I extended a bit. Shouldn't the component manager > be set up already in that "context"? Do you need any other details?
Yes i did not look close enough the stack trace. So I don't understand why this is not already initialized... > > >> I think it's "prop.value =:identifier" (not ':identifier') otherwise >> hibernate will consider you use the value ":identifier" and will not >> replace it. > > OK Thomas, I fixed that. Thanks! > > > ----- Original Message ----- > From: "Ludovic Dubost" <[EMAIL PROTECTED]> > To: "XWiki Developers" <[email protected]> > Sent: Monday, July 28, 2008 11:53 AM > Subject: [gsoc] Re: [xwiki-devs] Problems creating a query using the > QueryManager > > >> >> Hi Markus, >> >> Line 73 of AbstractQueryManager >> >> query = (Query) componentManager.lookup(Query.ROLE, language); >> >> Your componentManager is null.. This probably means that you have not >> activated the component manager from plexus properly. >> Probably Vincent can help, but he will probably need to know how you >> have build your code. >> >> Ludovic >> >> Markus Lanthaler wrote: >>> Hi, >>> >>> I'm currently implementing the last things to finish OpenID >>> authentication >>> support but I have some problems with the query manager. I'm trying to >>> get >>> the document (should be only one) which an attached OpenIdIdentifier >>> object >>> whose "identifier" string property's value has some specific value. I >>> didn't >>> found any documentation apart >>> http://markmail.org/message/jt6m2huqr4r6hvk6 >>> and >>> http://dev.xwiki.org/xwiki/bin/view/Design/XWiki+Query+Language+Specification. >>> >>> I tried to achieve this by the following code: >>> >>> public static String findOpenIDUser(String openid_identifier, >>> XWikiContext context) throws XWikiException >>> { >>> XWiki xwiki = context.getWiki(); >>> >>> QueryManager qm = xwiki.getStore().getQueryManager(); >>> Query search_user; >>> >>> if (qm.hasLanguage(Query.HQL)) { >>> search_user = >>> qm.createQuery(", BaseObject as obj, StringProperty as >>> prop >>> where doc.fullName = obj.name and obj.className = >>> 'XWiki.OpenIdIdentifier' >>> and obj.id=prop.id.id and prop.id.name='identifier' and prop.value = >>> ':identifier'", Query.HQL); >>> } else if (qm.hasLanguage(Query.XPATH)) { >>> search_user = >>> qm.createQuery("/*/*[obj/XWiki/OpenIdIdentifier/@xp:identifier = >>> ':identifier'] ", Query.XPATH); >>> } else >>> throw new RuntimeException(); >>> >>> search_user.bindValue("identifier", openid_identifier); >>> >>> List<XWikiDocument> found_users = >>> search_user.setLimit(1).execute(); >>> if (found_users.size() > 0) { >>> if (log.isDebugEnabled()) { >>> log.debug("OpenID " + openid_identifier + " already >>> registered."); >>> } >>> return found_users.get(0).getFullName(); >>> } >>> >>> return null; >>> } >>> >>> >>> but all I get is a NullPointerException when qm.createQuery(..., >>> Query.HQL) >>> is called. What's wrong with my code? >>> >>> java.lang.NullPointerException >>> at >>> com.xpn.xwiki.store.query.AbstractQueryManager.createQuery(AbstractQueryManager.java:73) >>> at >>> com.xpn.xwiki.user.impl.openid.OpenIDHelper.findOpenIDUser(OpenIDHelper.java:109) >>> at >>> com.xpn.xwiki.user.impl.xwiki.MyFormAuthenticator.processLogin(MyFormAuthenticator.java:201) >>> at >>> com.xpn.xwiki.user.impl.xwiki.MyFormAuthenticator.processLogin(MyFormAuthenticator.java:178) >>> at >>> com.xpn.xwiki.user.impl.xwiki.XWikiAuthServiceImpl.checkAuth(XWikiAuthServiceImpl.java:205) >>> at com.xpn.xwiki.XWiki.checkAuth(XWiki.java:3518) >>> at >>> com.xpn.xwiki.user.impl.xwiki.XWikiRightServiceImpl.checkAccess(XWikiRightServiceImpl.java:139) >>> at com.xpn.xwiki.XWiki.checkAccess(XWiki.java:3526) >>> at com.xpn.xwiki.XWiki.prepareDocuments(XWiki.java:4432) >>> at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:190) >>> at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:115) >>> at >>> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) >>> at >>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) >>> at >>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) >>> at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>> at >>> com.xpn.xwiki.web.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:287) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>> at >>> com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:112) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>> at >>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >>> at >>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) >>> at >>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) >>> at >>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>> at >>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>> at >>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) >>> at >>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) >>> at >>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) >>> at >>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) >>> at java.lang.Thread.run(Thread.java:619) >>> >>> _______________________________________________ >>> devs mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/devs >>> >>> >> >> >> -- >> Ludovic Dubost >> Blog: http://blog.ludovic.org/ >> XWiki: http://www.xwiki.com >> Skype: ldubost GTalk: ldubost >> >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

