[
https://jira.jboss.org/jira/browse/DNA-281?page=com.atlassian.jira.plugin...
]
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