[ 
https://issues.apache.org/jira/browse/JCR-569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

angela updated JCR-569:
-----------------------

    Component/s: jackrabbit-core

> WorkspaceImporter Refactoring
> -----------------------------
>
>                 Key: JCR-569
>                 URL: https://issues.apache.org/jira/browse/JCR-569
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Nicolas Toper
>            Assignee: 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.
-
You can reply to this email to add a comment to the issue online.

Reply via email to