Hi David,
This means you're using an API that doesn't exist in the jar version
you're using.
Note that this property was modified in rev 21806 recently to return
an Object instead of a String. The API you're calling is returning a
String which doesn't exist anymore.
Can you show us line 49 of DefaultMyComponent.java?
Can you also verify the version of the platform you're using and
ensure you're using the same versions for all modules?
Thanks
-Vincent
On Oct 15, 2009, at 7:31 PM, breeden wrote:
Here's what I get when I save a page with
def myComponent =
com
.xpn.xwiki.web.Utils.getComponent(com.shai.xwiki.MyComponent.class);
myComponent.myFun("Main.JohnDoe");
Detailed information:
Error number 0 in 11: Uncaught exception
Wrapped Exception:
org.xwiki.bridge.DocumentAccessBridge.getProperty(Ljava/lang/
String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
com.xpn.xwiki.XWikiException: Error number 0 in 11: Uncaught exception
Wrapped Exception:
org.xwiki.bridge.DocumentAccessBridge.getProperty(Ljava/lang/
String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:238)
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:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com
.xpn
.xwiki
.wysiwyg
.server.filter.ConversionFilter.doFilter(ConversionFilter.java:155)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn
.xwiki
.web
.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:
295)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn
.xwiki
.web
.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:
112)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
387)
at
org
.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
417)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:334)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:109)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:
68)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn
.xwiki
.web
.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:
295)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn
.xwiki
.web
.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:
112)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
387)
at
org
.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
417)
at
org
.mortbay
.jetty
.handler
.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at
org
.mortbay
.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
534)
at org.mortbay.jetty.HttpConnection
$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org
.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:520)
Wrapped Exception:
java.lang.NoSuchMethodError:
org.xwiki.bridge.DocumentAccessBridge.getProperty(Ljava/lang/
String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
at
com
.shai
.xwiki.internal.DefaultMyComponent.announce(DefaultMyComponent.java:
49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite
$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:
229)
at
org
.codehaus
.groovy
.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at
org
.codehaus
.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
125)
at LoggingEventListener.onEvent(Script6.groovy:41)
at
org
.xwiki
.observation
.internal
.DefaultObservationManager.notify(DefaultObservationManager.java:262)
at
org
.xwiki
.observation
.internal
.DefaultObservationManager.notify(DefaultObservationManager.java:236)
at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:1336)
at com.xpn.xwiki.web.SaveAction.save(SaveAction.java:176)
at com.xpn.xwiki.web.SaveAction.action(SaveAction.java:193)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:213)
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:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com
.xpn
.xwiki
.wysiwyg
.server.filter.ConversionFilter.doFilter(ConversionFilter.java:155)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn
.xwiki
.web
.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:
295)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn
.xwiki
.web
.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:
112)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
387)
at
org
.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
417)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:334)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:109)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:
68)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn
.xwiki
.web
.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:
295)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
com
.xpn
.xwiki
.web
.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:
112)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1148)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
387)
at
org
.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
417)
at
org
.mortbay
.jetty
.handler
.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at
org
.mortbay
.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
534)
at org.mortbay.jetty.HttpConnection
$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org
.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:520)
Thanks!
~David
tmortagne (via Nabble) wrote:
> Hi David,
>
> On Wed, Oct 14, 2009 at 22:17, breeden <[hidden email]
>
<http://n2.nabble.com/user/SendEmail.jtp?type=node&node=3829043&i=0>>
> wrote:
>
>>
>> Hi,
>>
>> I'm writing a component that accesses the XWiki data model when
> document
>> updates occur. I have a few questions, but will post distinct
> threads for
>> them. I apologize for the clutter.
>>
>> I found the API for DocumentAccessBridge at
>>
>
http://maven.xwiki.org/releases/org/xwiki/platform/xwiki-core-bridge/2.0/
> .
>
>> My code looks like:
>>
>> @Requirement
>> private DocumentAccessBridge _documentAccessBridge;
>>
>> public void myFun(String documentName) {
>>
>> String description = null;
>> try {
>> description =
> _documentAccessBridge.getProperty(documentName,
>> "Main.MyClass", "description").toString();
>> }
>> catch(Exception e) {
>> e.printStackTrace();
>> }
>>
>> // ...
>> }
>>
>> I expect this to get the description of the first object of type
> MyClass in
>> the given document, but instead I get a NoSuchMethodError for the
> call to
>> getProperty. I have xwiki-core-bridge-2.0.jar in my WEB-INF\lib
> directory;
>> why might this happen?
>
> Could you give use the whole stack trace error.
>
>>
>> Thanks,
>> David Breeden