chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Piergiorgio Lucidi <piergiorgioluc...@gmail.com>
Subject Re: CMIS and Lucene
Date Wed, 03 Aug 2011 15:00:40 GMT
Hi Florian,

thank you for your suggestion but trying to deploy the InMemory Repository
webapp on Tomcat works fine.
It seems that there is a problem only on Jetty, maybe later I will try to
add other dependencies and I'll let you know.

Now I'm trying with the 0.5.0-SNAPSHOT but without any result.

2011/8/3 Florian Müller <florian.mueller@alfresco.com>

> Hi,
>
> Make sure that you have all OpenCMIS dependencies in your classpath.
>
>
> Florian
>
> On 03/08/2011 15:44, Piergiorgio Lucidi wrote:
> > Building the latest version of the code in the trunk, the InMemory
> > Repository can't deploy anymore, it returns this exception trying
> deploying
> > on Jetty:
> >
> >  GRAVE: WSSERVLET11: failed to parse runtime descriptor:
> >> com.sun.xml.ws.util.ServiceConfigurationError:
> >> com.sun.xml.ws.api.pipe.TubelineAssemblerFactory: Provider
> >>
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.wss.WssTubelineAssemblerFactory
> >> is specified in
> >>
> file:/Users/piergiorgiolucidi/Documents/workspaces/manifold/opencmis/chemistry-opencmis-client/chemistry-opencmis-client-bindings/target/classes/META-INF/services/com.sun.xml.ws.api.pipe.TubelineAssemblerFactorybut
> >> could not be instantiated: java.lang.ClassCastException
> >> com.sun.xml.ws.util.ServiceConfigurationError:
> >> com.sun.xml.ws.api.pipe.TubelineAssemblerFactory: Provider
> >>
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.wss.WssTubelineAssemblerFactory
> >> is specified in
> >>
> file:/Users/piergiorgiolucidi/Documents/workspaces/manifold/opencmis/chemistry-opencmis-client/chemistry-opencmis-client-bindings/target/classes/META-INF/services/com.sun.xml.ws.api.pipe.TubelineAssemblerFactorybut
> >> could not be instantiated: java.lang.ClassCastException
> >> at com.sun.xml.ws.util.ServiceFinder.fail(ServiceFinder.java:233)
> >> at com.sun.xml.ws.util.ServiceFinder.access$300(ServiceFinder.java:141)
> >> at com.sun.xml.ws.util.ServiceFinder$LazyIterator.next(
> >> ServiceFinder.java:379)
> >> at com.sun.xml.ws.api.pipe.TubelineAssemblerFactory.create(
> >> TubelineAssemblerFactory.java:104)
> >> at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:147)
> >> at com.sun.xml.ws.server.EndpointFactory.createEndpoint(
> >> EndpointFactory.java:218)
> >> at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:467)
> >> at
> com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(
> >> DeploymentDescriptorParser.java:253)
> >> at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(
> >> DeploymentDescriptorParser.java:147)
> >> at
> >>
> com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(
> >> WSServletContextListener.java:108)
> >> at org.mortbay.jetty.handler.ContextHandler.startContext(
> >> ContextHandler.java:549)
> >> at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
> >> at org.mortbay.jetty.webapp.WebAppContext.startContext(
> >> WebAppContext.java:1282)
> >> at org.mortbay.jetty.handler.ContextHandler.doStart(
> >> ContextHandler.java:518)
> >> at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> >> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50
> >> )
> >> at org.mortbay.jetty.handler.HandlerCollection.doStart(
> >> HandlerCollection.java:152)
> >> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50
> >> )
> >> at org.mortbay.jetty.handler.HandlerWrapper.doStart(
> >> HandlerWrapper.java:130)
> >> at org.mortbay.jetty.Server.doStart(Server.java:224)
> >> at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50
> >> )
> >> at org.apache.manifoldcf.cmis_tests.Base.setUp(Base.java:333)
> >> 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:597)
> >> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(
> >> FrameworkMethod.java:44)
> >> at org.junit.internal.runners.model.ReflectiveCallable.run(
> >> ReflectiveCallable.java:15)
> >> at org.junit.runners.model.FrameworkMethod.invokeExplosively(
> >> FrameworkMethod.java:41)
> >> at org.junit.internal.runners.statements.RunBefores.evaluate(
> >> RunBefores.java:27)
> >> at org.junit.internal.runners.statements.RunAfters.evaluate(
> >> RunAfters.java:31)
> >> at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(
> >> BlockJUnit4ClassRunner.java:79)
> >> at org.junit.runners.BlockJUnit4ClassRunner.runChild(
> >> BlockJUnit4ClassRunner.java:71)
> >> at org.junit.runners.BlockJUnit4ClassRunner.runChild(
> >> BlockJUnit4ClassRunner.java:49)
> >> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> >> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> >> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> >> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> >> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> >> at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> >> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(
> >> JUnit4TestReference.java:49)
> >> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(
> >> TestExecution.java:38)
> >> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> >> RemoteTestRunner.java:467)
> >> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> >> RemoteTestRunner.java:683)
> >> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> >> RemoteTestRunner.java:390)
> >> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> >> RemoteTestRunner.java:197)
> >> Caused by: java.lang.ClassCastException
> >> at java.lang.Class.cast(Class.java:2990)
> >> at com.sun.xml.ws.util.ServiceFinder$LazyIterator.next(
> >> ServiceFinder.java:374)
> >> ... 43 more
> >
> >
> >
> > 2011/8/3 Piergiorgio Lucidi <piergiorgiolucidi@gmail.com>
> >
> >> I'm building OpenCMIS to investigate me too :-P
> >>
> >>
> >> 2011/8/3 Jens Hübel <jhuebel@opentext.com>
> >>
> >>> Thanks for posting! I will try to rebuild and take a look why it does
> not
> >>> work. To get further information I need the server logs, but with your
> code
> >>> I can debug it.
> >>>
> >>> Jens
> >>>
> >>> -----Original Message-----
> >>> From: Piergiorgio Lucidi [mailto:piergiorgiolucidi@gmail.com]
> >>> Sent: Mittwoch, 3. August 2011 14:48
> >>> To: dev@chemistry.apache.org
> >>> Subject: Re: CMIS and Lucene
> >>>
> >>> Hi Jens,
> >>>
> >>> here the code of my integration test that is used to create some
> content
> >>> in
> >>> the InMemory Repository, the OpenCMIS server is running because it is
> >>> bootstrapped by Jetty / Maven. The CMIS Repository Connector works fine
> >>> with
> >>> Alfresco 3.4d Community, but I would like to have the OpenCMIS server
> in
> >>> the
> >>> test suite.
> >>>
> >>> In the following snippet I started to initialize the test environment
> with
> >>> a
> >>> new folder with a new content, here I don't have any problem, it works
> >>> with
> >>> the InMemory Repository:
> >>>
> >>>  private Session getCmisClientSession(){
> >>>>     // default factory implementation
> >>>>     SessionFactory factory = SessionFactoryImpl.newInstance();
> >>>>     Map<String, String> parameters = new HashMap<String, String>();
> >>>>     // user credentials
> >>>>     parameters.put(SessionParameter.USER, "dummyuser");
> >>>>     parameters.put(SessionParameter.PASSWORD, "dummysecret");
> >>>>     // connection settings
> >>>>     parameters.put(SessionParameter.ATOMPUB_URL,
> >>> CMIS_ENDPOINT_TEST_SERVER
> >>>> );
> >>>>     parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB
> >>>> .value());
> >>>>     // create session
> >>>>     return factory.getRepositories(parameters).get(0).createSession();
> >>>>   }
> >>>>  @Before
> >>>>   public void createTestArea()
> >>>>     throws Exception
> >>>>   {
> >>>>     try
> >>>>     {
> >>>>       Session session = getCmisClientSession();
> >>>>       //creating a new folder
> >>>>       Folder root = session.getRootFolder();
> >>>>       Map<String, Object> folderProperties = new HashMap<String,
> >>>> Object>();
> >>>>       folderProperties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:folder");
> >>>>       folderProperties.put(PropertyIds.NAME, "testdata");
> >>>>
> >>>>       Folder newFolder = root.createFolder(folderProperties);
> >>>>       //create a new content in the folder
> >>>>       String name = "testdata1.txt";
> >>>>       // properties
> >>>>       // (minimal set: name and object type id)
> >>>>       Map<String, Object> contentProperties = new HashMap<String,
> >>>> Object>();
> >>>>       contentProperties.put(PropertyIds.OBJECT_TYPE_ID,
> >>> "cmis:document");
> >>>>       contentProperties.put(PropertyIds.NAME, name);
> >>>>
> >>>>       // content
> >>>>       byte[] content = "CMIS Testdata One".getBytes();
> >>>>       InputStream stream = new ByteArrayInputStream(content);
> >>>>       ContentStream contentStream = new ContentStreamImpl(name,
> >>> newBigInteger(content),
> >>>> "text/plain", stream);
> >>>>
> >>>>        // create a major version
> >>>>       Document newContent1 =
> newFolder.createDocument(contentProperties,
> >>>> contentStream, null);
> >>>
> >>>
> >>> But if I try to search the new content in the InMemory Repository, in
> the
> >>> same way I implemented in the CMIS Repository Connector:
> >>>
> >>>  ItemIterable<QueryResult> results = session.query("SELECT * FROM
> >>>> cmis:folder WHERE cmis:name='testdata'", false);
> >>>>       for (QueryResult result : results) {
> >>>>         String id =
> result.getPropertyValueById(PropertyIds.OBJECT_ID);
> >>>>       }
> >>>
> >>>
> >>>
> >>> It returns the following exception:
> >>>
> >>>  org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
> >>> null
> >>>> at
> >>>>
> >>>
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(
> >>>> AbstractAtomPubService.java:450)
> >>>> at
> >>>>
> >>>
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.post(
> >>>> AbstractAtomPubService.java:568)
> >>>> at
> >>>>
> >>>
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.DiscoveryServiceImpl.query(
> >>>> DiscoveryServiceImpl.java:141)
> >>>> at
> org.apache.chemistry.opencmis.client.runtime.SessionImpl$3.fetchPage(
> >>>> SessionImpl.java:557)
> >>>> at
> >>>>
> >>>
> org.apache.chemistry.opencmis.client.runtime.util.AbstractIterator.getCurrentPage(
> >>>> AbstractIterator.java:132)
> >>>> at
> >>>>
> >>>
> org.apache.chemistry.opencmis.client.runtime.util.CollectionIterator.hasNext(
> >>>> CollectionIterator.java:48)
> >>>> at org.apache.manifoldcf.cmis_tests.APISanityTest.createTestArea(
> >>>> APISanityTest.java:139)
> >>>> 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:597)
> >>>> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(
> >>>> FrameworkMethod.java:44)
> >>>> at org.junit.internal.runners.model.ReflectiveCallable.run(
> >>>> ReflectiveCallable.java:15)
> >>>> at org.junit.runners.model.FrameworkMethod.invokeExplosively(
> >>>> FrameworkMethod.java:41)
> >>>> at org.junit.internal.runners.statements.RunBefores.evaluate(
> >>>> RunBefores.java:27)
> >>>> at org.junit.internal.runners.statements.RunAfters.evaluate(
> >>>> RunAfters.java:31)
> >>>> at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(
> >>>> BlockJUnit4ClassRunner.java:79)
> >>>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(
> >>>> BlockJUnit4ClassRunner.java:71)
> >>>> at org.junit.runners.BlockJUnit4ClassRunner.runChild(
> >>>> BlockJUnit4ClassRunner.java:49)
> >>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> >>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> >>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> >>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> >>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> >>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> >>>> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(
> >>>> JUnit4TestReference.java:49)
> >>>> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(
> >>>> TestExecution.java:38)
> >>>> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> >>>> RemoteTestRunner.java:467)
> >>>> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> >>>> RemoteTestRunner.java:683)
> >>>> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
> >>>> RemoteTestRunner.java:390)
> >>>> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
> >>>> RemoteTestRunner.java:197)
> >>>
> >>>
> >>> Let me know if you have any hints!
> >>>
> >>> Thank you again for your support.
> >>>
> >>> Regards,
> >>>
> >>> Piergiorgio
> >>>
> >>> 2011/8/3 Jens Hübel <jhuebel@opentext.com>
> >>>
> >>>> Hi Pergiorio,
> >>>>
> >>>> do you have a code piece that I can take a look at? What is your
> client
> >>>> API? Do you connect to Chemistry client API
> >>> (chemistry-opencmis-client-api)?
> >>>> Or perhaps you can grab the query sent from the log file?
> >>>>
> >>>> Thanks Jens
> >>>>
> >>>>
> >>>> -----Original Message-----
> >>>> From: Piergiorgio Lucidi [mailto:piergiorgiolucidi@gmail.com]
> >>>> Sent: Mittwoch, 3. August 2011 13:22
> >>>> To: dev@chemistry.apache.org
> >>>> Subject: Re: CMIS and Lucene
> >>>>
> >>>> Hi Jens,
> >>>>
> >>>> I contributed to the Apache ManifoldCF (ex Lucene Connector Framework)
> >>>> project implementing the CMIS Connector using OpenCMIS 0.4.0.
> >>>>
> >>>> Now I'm working on integration test trying to use the OpenCMIS
> InMemory
> >>>> Repository that is available from Apache Chemistry ;)
> >>>>
> >>>> I have some problems because now I'm finishing my test implementation
> >>> but
> >>>> it
> >>>> seems that I can't execute queries on the InMemory Repository, it
> >>> returns a
> >>>> null string in the convertStatusCode method.
> >>>>
> >>>> The CMIS Repository Connector that I implemented for ManifoldCF has
a
> >>> job
> >>>> parameter that is the CMIS Query, this parameter is used by agents to
> >>>> select
> >>>> all the contents that needs to be indexed on the Output Connector (for
> >>>> example Apache Solr).
> >>>> Without a query feature exposed by the InMemory Repository I can't
> test
> >>> the
> >>>> connector in the right way.
> >>>>
> >>>> I tried to use the latest version of the InMemory Repository
> >>>> (0.5.0-SNAPSHOT) but with the same result.
> >>>>
> >>>> Have you got any ideas to solve this problem?
> >>>> Thank you for your support.
> >>>>
> >>>> Regards,
> >>>> Piergiorgio
> >>>>
> >>>>
> >>>> 2011/8/3 Jens Hübel <jhuebel@opentext.com>
> >>>>
> >>>>> Hi Chemistries,
> >>>>>
> >>>>>
> >>>>>
> >>>>> is anyone of us already involved in the Lucene project?
> >>>>>
> >>>>>
> >>>>>
> >>>>> Reading this here
> >>>>> http://search-lucene.com/m/wI38e1K3BWJ&subj=Re+CMIS+Connector+Tests
> >>>>>
> >>>>>
> >>>>>
> >>>>> I think it would make sense to give them an introduction to what
we
> >>> have.
> >>>>>
> >>>>>
> >>>>>
> >>>>> if I understand this correctly one of the options they discuss is
to
> >>>> create
> >>>>> an InMemory mock server. It does not make much sense to duplicate
> what
> >>> we
> >>>>> already have (and if we need getContentChanges() for that I am happy
> >>> to
> >>>>> implement this).
> >>>>>
> >>>>>
> >>>>>
> >>>>> Jens
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Piergiorgio Lucidi
> >>>> Web: http://about.me/piergiorgiolucidi
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Piergiorgio Lucidi
> >>> Web: http://about.me/piergiorgiolucidi
> >>>
> >>
> >>
> >>
> >> --
> >> Piergiorgio Lucidi
> >> Web: http://about.me/piergiorgiolucidi
> >>
> >>
> >
> >
>
>


-- 
Piergiorgio Lucidi
Web: http://about.me/piergiorgiolucidi

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message