jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-569) WorkspaceImporter Refactoring
Date Tue, 12 Sep 2006 16:23:23 GMT
    [ http://issues.apache.org/jira/browse/JCR-569?page=comments#action_12434205 ] 
            
Jukka Zitting commented on JCR-569:
-----------------------------------

Please be more specific in identifying the problems. The code being "circumvoluted [sic] and
really hard to understand" is probably correct, but doesn't help us to make it better.

Identify the design structures that could be better organized, explain your approach to solving
the issue, and propose a patch for doing that. See for example JCR-565 where I identify the
design issue, discuss how to solve it, and provide a patch for doing that. What would the
WorkspaceImporter look like after the addition of the class you propose? How does it make
WorkspaceImporter better?

Note also that the Importer interface is supposed to be independent of the XML serialization
format being used as both SysView and DocView ImportHandlers use the interface to save the
imported data. Thus the name SysViewImporter is incorrect.

> WorkspaceImporter Refactoring
> -----------------------------
>
>                 Key: JCR-569
>                 URL: http://issues.apache.org/jira/browse/JCR-569
>             Project: Jackrabbit
>          Issue Type: Improvement
>            Reporter: Nicolas Toper
>         Attachments: SysViewImporter.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

        

Mime
View raw message