10-16-2013 10:31 AM
Proposed nuxeo-chemistry test case TestNuxeoSessionBrowser (modeled after TestNuxeoSessionAtomPub) on 5.6.0 branch has three failing tests whose client-side stack traces are listed below. It appears the chemistry-opencmis 0.7.0 TypeCacheImpl.getTypeDefinitionForObject(String objectId) method is causing the problem (the server-side stack trace is included at the bottom of this posting). In 0.7.0, the method invokes service.getObjectInfo(repositoryId, objectId) which can return objects without property cmis:objectTypeId set thus causing the problem. Instead it should invoke service.getObject(repositoryId, objectId, "cmis:objectId,cmis:objectTypeId,cmis:baseTypeId,cmis:secondaryObjectTypeIds", false, IncludeRelationships.NONE, "cmis:none", false, false, null) with the proper filter set as is done in 0.10.0 ServerTypeCacheImpl. Should I open a bug in JIRA?
TestNuxeoSessionBrowser
org.nuxeo.ecm.core.opencmis.impl.TestNuxeoSessionBrowser
testPath(org.nuxeo.ecm.core.opencmis.impl.TestNuxeoSessionBrowser)
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: Type Id must be set!
at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.convertStatusCode(AbstractBrowserBindingService.java:207)
at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.read(AbstractBrowserBindingService.java:323)
at org.apache.chemistry.opencmis.client.bindings.spi.browser.NavigationServiceImpl.getObjectParents(NavigationServiceImpl.java:122)
at org.apache.chemistry.opencmis.client.runtime.AbstractFilableCmisObject.getPaths(AbstractFilableCmisObject.java:96)
at org.nuxeo.ecm.core.opencmis.impl.NuxeoSessionTestCase.testPath(NuxeoSessionTestCase.java:236)
...
testParent(org.nuxeo.ecm.core.opencmis.impl.TestNuxeoSessionBrowser)
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: Type Id must be set!
at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.convertStatusCode(AbstractBrowserBindingService.java:207)
at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.read(AbstractBrowserBindingService.java:323)
at org.apache.chemistry.opencmis.client.bindings.spi.browser.NavigationServiceImpl.getFolderParent(NavigationServiceImpl.java:134)
at org.apache.chemistry.opencmis.client.runtime.FolderImpl.getParents(FolderImpl.java:411)
at org.apache.chemistry.opencmis.client.runtime.AbstractFilableCmisObject.getParents(AbstractFilableCmisObject.java:49)
at org.apache.chemistry.opencmis.client.runtime.FolderImpl.getFolderParent(FolderImpl.java:360)
at org.nuxeo.ecm.core.opencmis.impl.NuxeoSessionTestCase.testParent(NuxeoSessionTestCase.java:243)
...
testMove(org.nuxeo.ecm.core.opencmis.impl.TestNuxeoSessionBrowser)
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: Type Id must be set!
at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.convertStatusCode(AbstractBrowserBindingService.java:207)
at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.read(AbstractBrowserBindingService.java:323)
at org.apache.chemistry.opencmis.client.bindings.spi.browser.NavigationServiceImpl.getObjectParents(NavigationServiceImpl.java:122)
at org.apache.chemistry.opencmis.client.runtime.AbstractFilableCmisObject.getParents(AbstractFilableCmisObject.java:56)
at org.apache.chemistry.opencmis.client.runtime.AbstractFilableCmisObject.getParents(AbstractFilableCmisObject.java:49)
at org.nuxeo.ecm.core.opencmis.impl.NuxeoSessionTestCase.testMove(NuxeoSessionTestCase.java:692)
...
Server-side Stack Trace
Daemon Thread [http-bio-17488-exec-7] (Suspended (breakpoint at line 45 in TypeCacheImpl))
owns: SocketWrapper<E> (id=137)
TypeCacheImpl.getTypeDefinition(String) line: 45
TypeCacheImpl.getTypeDefinitionForObject(String) line: 62
JSONConverter.convert(Properties, String, TypeCache, boolean) line: 912
JSONConverter.convert(ObjectData, TypeCache, boolean) line: 832
JSONConverter.convert(ObjectParentData, TypeCache) line: 1175
NavigationService.getObjectParents(CallContext, CmisService, String, HttpServletRequest, HttpServletResponse) line: 213
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 597
Dispatcher.dispatch(String, String, CallContext, CmisService, String, HttpServletRequest, HttpServletResponse) line: 92
CmisBrowserBindingServlet.dispatch(CallContext, HttpServletRequest, HttpServletResponse) line: 357
CmisBrowserBindingServlet.service(HttpServletRequest, HttpServletResponse) line: 260
CmisBrowserBindingServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 722
...
10-24-2013 11:30 AM
Yes a JIRA would help track this. Thanks.
Attention: Blogs & Forums are in READ-ONLY mode from Oct 9-19 as we transition to our new platform. Learn more.
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.