[ http://issues.apache.org/jira/browse/JCR-569?page=comments#action_12454691 ] Stefan Guggisberg commented on JCR-569: ---------------------------------------
> Jukka Zitting commented on JCR-569: > ----------------------------------- > > Committed some small-scale improvements in revision 477142. > > Looking at the class more closely, it seems like the key to simplifying the > code flows would be to get rid of the "aborted" and "succeeded" marker flags, > relying more on code structure to indicate the current state of the > computation. See the patch attached to JCR-546 for one possible approach to > removing (or reducing the visibility of) the "succeeded" flag. The "aborted" > flag could possibly be replaced by using the State pattern like in the > JCR-RMI Value implementation. +1 cheers stefan > WorkspaceImporter Refactoring > ----------------------------- > > Key: JCR-569 > URL: http://issues.apache.org/jira/browse/JCR-569 > Project: Jackrabbit > Issue Type: Improvement > Reporter: Nicolas Toper > Assigned To: Jukka Zitting > Attachments: GenericImporter.patch, SysViewImporter.patch, > WorkspaceImporter.patch, WorkspaceImporter.patch, WorkspaceImporter.patch > > > Hi, > As you know, I have run into an issue with the backup tool using the > WorkspaceImporter. I ended up copy/pasting large body of code since the > current WorkspaceImporter was not flexible enough for my use (in my class > called SysViewImporter). This solution was perfectly valid for Google SoC (a > lot of time constraints) but unacceptable in the long run for any project (we > hate large body of duplicate code :p). > Also, some issues have been raised with this class (i.e. jcr:root > importation, allowsSameNameSiblings issue). > Overall I feel this class is circumvoluted and really hard to understand. > For instance, the current code contains at most 5 imbricated if and uses a > lot of different ways to pass information (stacks, objects set on null). > I tried to refactor my SysViewImporter and the WorkspaceImporter but it > implies a new code for the WorkspaceImporter and the SysViewImporter. Here is > its skeleton! I first wanted to gather the community feedback before stepping > in. I tried moving all "work code" away from the startNode method and > reorganise it for readilibility. > Please give me your feedback. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
