Hi Felix, thanks for your help, It seems that jcr-mapping tries to get a new ClassDescriptor by calling classDescriptor.getDescendantClassDescriptor(nodeType) instead of using the descriptor which maps to the given class.
It seems this problem is related to the inheritance strategy. I tried to dive into the ocm but I couldn't understand how it works. Apparently, given that DefaultContent declares an interface (org.apache.sling.component.Content) it uses NODETYPE_PER_CONCRETECLASS[1], and for mappings with this strategy if the node's nodetype is not the same than the from classdescriptor's nodetype (null for DefaultContent) jcr-mapping tries to get the descendant descriptor (which is null for DefaultContent)[2] and jcr-mapping fails with NPE. [1] see ClassDescriptor.lookupInheritanceSettings() [2] see ObjectConverterImpl.getObject(Session session, Class clazz, String path) line 349 br, Edgar On 9/21/07, Felix Meschberger <[EMAIL PROTECTED]> wrote: > Hi Edgar, > > It seems that this issue is probably related to your issue JCR-1142 you > reported to Jackrabbit. It seems actually, that OCM tries to resolve the > actual node against another class descriptor (again) without checking > whether such a descriptor really exists. > > IMHO this is not really correct, because when calling the > getObject(Session, Class, String) method I expect the object returned to > be at least assignement compatible to the class I have submitted. > > I will try to find a solution to that problem together with Christophe. > > Regards > Felix > > Am Freitag, den 21.09.2007, 11:00 -0300 schrieb Edgar Poce: > > Hi, > > > > I'm running Sling and I'm trying to access the repository's root > > node from the browser with the following url: http://localhost:8080. > > According to > > http://wiki.apache.org/jackrabbit/ApacheSling/SlingGuideDefaultMappings > > the default component must resolve the request if there's no custom > > mapping, however I'm getting "404 not found". > > > > the wiki says "If no mapping exists for the given node, an exception > > is thrown and the request fails." and bellow it says "In such a case > > of missing content mapping, a default Content mapping is defined in > > the form of the org.apache.sling.content.jcr.DefaultContent class". > > I'm not sure whether the expected behavior is to fail with a 404 error > > or to process the request with the default component. Any idea? > > > > thanks in advance, > > Edgar > >
