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.
10-24-2013 12:01 PM
See JIRA [NXP-12974][1].
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.