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

Reply via email to