[ 
http://issues.apache.org/jira/browse/JCR-442?page=comments#action_12423562 ] 
            
Jukka Zitting commented on JCR-442:
-----------------------------------

Some comments:

a) You can get the NamespaceRegistry and NodeTypeManager (and through it, the 
NodeTypeRegistry) instances and the list of available workspaces through 
Session.getWorkspace(). See the JSR-170 javadocs.

b) It might be better to add the getWorkspaceConfig() method to WorkspaceImpl 
and access it through the system session for that workspace.

c) I'm a bit worried about publishing the SystemSession, but this is likely 
required for the backup and also some other external efforts like the 
AccessManagers. We need to check that publishing the system sessions won't 
cause any trouble.

d) I think the parsePersistenceManagerConfig() method belongs in 
RepositoryConfigurationParser instead of the ConfigurationParser base class.

e) Do you really need to add the getRegisteredNodesTypesDefs() method? I think 
it would be nicer if you could collect the registered node types using the 
existing methods, for example in NodeTypeManager.

f) The patch shows an extra newline in NodeTypeWriter. Try to avoid introducing 
such changes when you make no other changes to the class. It just adds cruft to 
the patch and if I were to commit the changes as-is, it would make a new svn 
version of the file even though nothing really changed.

Could you please fix issues a,b,d,e,f before I can commit these changes.

> solved tab issue

Still seeing some tabs, for example in your getWorkspaceConfig() and 
getRegisteredNodesTypesDefs() methods (patch-jackrabbit-060725.txt).

> renamed ManagerBackup as BackupManager
> no more SizeException
> added missing ASF license headers

OK, thanks.

> test case added in src/test: some path are hardcoded: how should I generify 
> the test case?
> Which other ones would you want?

This is a good start. You might want to turn the hardcoded paths to command 
line options and provide reasonable relative paths as defaults. Some notes:

* TestBackup is missing the license header
* Rename the class to BackupTest to comply with the naming in Jackrabbit. I 
suppose yuor naming issue has roots in the way the French language works, AFAIK 
you combine words in the opposite order than in English. :-)

> I have seen a lot of sanityCheck in the current code. Should I put also a lot 
> of them in mine :p?

If there's a possibility that your code gets into an invalid state. The 
sanityChecks in Jackrabbit mostly check whether a repository or a session has 
already been closed. I don't think a similar case appears with the backup 
system.


> Implement a backup tool
> -----------------------
>
>                 Key: JCR-442
>                 URL: http://issues.apache.org/jira/browse/JCR-442
>             Project: Jackrabbit
>          Issue Type: New Feature
>            Reporter: Jukka Zitting
>         Attachments: jackrabbit-1.patch.txt, patch, patch-backup-060716.txt, 
> patch-backup-060719.txt, patch-backup-060725.txt, 
> patch-jackrabbit-060716.txt, patch-jackrabbit-060718.txt, 
> patch-jackrabbit-060725.txt, patch.txt, patch.txt, patch.txt, patch.txt
>
>
> Issue for tracking the progress of the Google Summer of Code project assigned 
> to Nicolas Toper.  The original project requirements are:
> "Implement a tool for backing up and restoring content in an Apache 
> Jackrabbit content repository. In addition to the basic content hierarchies, 
> the tool should be able to efficiently manage binary content, node version 
> histories, custom node types, and namespace mappings. Incremental or 
> selective backups would be a nice addition, but not strictly necessary."

-- 
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

        

Reply via email to