Improve the tag service implementation
--------------------------------------

                 Key: NXP-3615
                 URL: http://jira.nuxeo.org/browse/NXP-3615
             Project: Nuxeo Enterprise Platform
          Issue Type: Bug
    Affects Versions: 5.2 GA
            Reporter: Radu Darlea
            Assignee: Thierry Delprat
             Fix For: 5.2.1


Items to be covered:

 - the entity manager opened by getTaggingProvider is never closed on component 
close.
Not a finalize() method. The TagServiceImpl is a Nuxeo Component, it has an 
activate() and deactivate() method where initialization and shutdown can be 
done.

- getOrCreateTag: this uses getChildren with a filter, but a filter is quite 
costly in general as the filtering is done in Nuxeo and not in db. It would be 
better to make a core query like "SELECT * FROM Tag WHERE ecm:parentId = ? AND 
tag:label = ?"

 - tag.config: what is all this??? is the goal to read .properties and some XML 
configuration files? Why not use the standard Nuxeo mechanism that reads 
property files in nuxeo.ear/config, and extension points if you need to use XML 
stuff? tagservice.cfg.xml doesn't have to follow Hibernate syntax, does it? 
Using JAXB is way overkill. This should be either in an extension point, or in 
simple documented nuxeo Framework properties.
It's overkill in terms of reinventing a schema and parsing method that's 
nonstandard for Nuxeo and adds a number of classes and files that could be 
avoided. Nuxeo has standardized on extension point and properties, they must be 
used.
The extension point seems to be conflict with the request to be easy to 
configure it from outside (not by rebuilding the code). I think the best 
solution is to have a proper tagservice-db.properties file in nuxeo.ear/config

 - have Nuseo book updated.

 - fix the last unit test in TestTagService

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to