chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller <florian.muel...@alfresco.com>
Subject Re: CMIS and Lucene
Date Wed, 03 Aug 2011 14:48:23 GMT
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
>>
>>
> 
> 


Mime
View raw message