hi sandro, > Probably the best way to explore how things are working exactly is to debug > through the > NodeTypeRegistration and the PersistanceManagerTest.
> Current mapping semantics: > JCR nodetype <==> Java class > JCR child node <==> Java method Doesn't that create too many nodes? I know some people want to use jackrabbit for very large projects with thousands of nodes. This would create a lot of additional nodes, doesn't it? > JCR value <==> The class of the returning object of a Java method. The > registered atomic > types should care about the conversion of classes and values. > Things to discuss: > Hi Oliver, the dynamic repository creation and the update of the Jackrabbit > version was really helpful for implementing the basic version. This was not > yet > the thing to discuss ;-). ok... I am not so sure what you mean? > Please feel free to tell me how I can adopt my registration component to fit > to > your ideas of the CustomNodeTypeCreator. The CustomNodeTypeCreator was meant to be an "entrypoint" into your custom node type creation mechanism. Inside it you could call your NodeTypeRegistration. I figured it would not be a good idea to hardwire this code in the JcrSessionImpl since I would not be easily replaceable/pluggable when one needs to customize custom node type creation. > The JCRSession seems to aim the same goal of the persistence manager. The > reason > why I called it "Persistence Manager" was simply to make it clear that the > functionality of the class is, to persist objects (insert to repository, > get from repository, search in repository,...). But I'm open to rename it. > In the attached initial codebase you can specify the namespaces of the > application domain model in the mapping model's xml file. Different node types > can have different namespaces there. This is why I register the namespaces > within > the node type registration component. Your JCRSession also contains namespace > registration, this is why I want to ask you, if my handling is ok from your > point > of view. In my opinion the JcrSession represents an open session to the Jcr Repository and handles repository specific things. A persistence manager should have a mapping of the domain model (java classes to jcr node mappings) and persist it to the repo using the JcrSession. > Projectname: > As Christophe already mentioned, it would be nice to have a cool project name. > Personally I don't have an idea, maybe an animal that has something to do > with any kind of "mapping" ;-) ? "graffito-jcr" or "graffito jcr-mapping" is fine to me. I am pretty neutral about this one. > Finally, what do you think about all that? I am having a little bit of a hard time to get the code to run since it is not integrated into the maven build process. It would be easier to have the unit tests run by maven. I have seen that there is a lot of generated source code. I think it would be better to compile and zip the generated code into a jar file. I am not an expert on JAXB. Is there a particular reason for choosing this (for example over xmlbeans)? Do we have a license problem with jaxb (I googled and found that it has a Java Research License and Java Distribution License).... just wondering...?! cheers, oliver
