[dna-issues] [JBoss JIRA] Commented: (DNA-281) Connector support for workspaces

Randall Hauch (JIRA) jira-events at lists.jboss.org
Thu Feb 12 16:22:44 EST 2009


    [ https://jira.jboss.org/jira/browse/DNA-281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12452464#action_12452464 ] 

Randall Hauch commented on DNA-281:
-----------------------------------

Adding the notion of workspaces to the connectors does actually impact quite a few areas of the codebase.  First of all, every connector is affected because existing implementations have to be changed to support the notion of workspaces.  Also, we're adding new Request types (see below), and the RequestProcessor's "process(...)" methods for these new types do not have very useful default implementations, so all existing connectors need to be changed to provide them.  A number of connector implementations should actually benefit from this change.  For example, it makes a lot of sense to map the branches/tags in an SVN repository as workspaces in the SVN connector; this mirrors JCR's notion of a workspace (and the fact that a node in one workspace may have corresponding nodes in other workspaces, in much the same way that a file in one branch corresponds to that file in other branches).

Second, the change also impacts the Graph API.  With Option 2 as the design choice, additional methods were added to Graph to specify which workspace should be used (from that point forward, until another one is specified), to verify that a workspace exists (and to obtain the default workspace), to create new workspaces, to copy or clone a workspace as a new workspace, to obtain the names of the existing workspaces, and to delete a workspace.  These methods of course map directly to the new Request types:  VerifyWorkspaceRequest, CreateWorkspaceRequest, CopyWorkspaceRequest, CloneWorkspaceRequest, GetWorkspacesRequest, and DeleteWorkspaceRequest, respectively).

Thirdly, the change in the Graph API propagates to all the places in the code that using it ... that means a lot of test cases and a few higher-level projects.  This complicates the commit set, but doesn't really complicate the use of these components.

> Connector support for workspaces
> --------------------------------
>
>                 Key: DNA-281
>                 URL: https://jira.jboss.org/jira/browse/DNA-281
>             Project: DNA
>          Issue Type: Feature Request
>          Components: API, Connectors
>    Affects Versions: 0.3
>            Reporter: Randall Hauch
>            Assignee: Randall Hauch
>             Fix For: 0.4
>
>
> The connector framework doesn't currently have a notion of workspaces.  They were originally designed this way to keep things simple, but it turns out that not having workspaces means that a separate RepositorySource would be needed for each JCR workspace, and even if multiple RepositorySource instances connected to the back end system, a lot of inefficiencies would be introduced (including duplicate connection pools, inability to efficiently handle inter-workspace operations like copying or cloning, difficulty managing sources when creating new workspaces, etc.).
> Therefore, to more closely match the JCR API and to more efficiently support inter-workspace operations (within the same repository), the DNA connector framework should have a notion of workspaces.

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

        



More information about the dna-issues mailing list