|
Project: stp | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Workspace
A proxy for a workspace resource. A workspace resource provides an environment within which a user can make persistent modifications to a configuration of resources without interfering or disrupting the work of other users of those resources. This requires that the user be able to persist changes to resources (both content changes and naming changes) without those changes being immediately visible to other users. To provide this functionality, the persistent changes saved in one workspace (also known as a "sandbox" or a "view") are visible in other workspaces only after the user of that workspace explicitly exposes those changes for use by other workspaces, and after a user of another workspace explicitly requests to see the changes that have been exposed.
Nested Class Summary | |
---|---|
static class |
Workspace.MergeFlag
Boolean flags for the doMerge method |
static interface |
Workspace.MergePreviewReport
A description of how the merge would affect the merge target when the merge source is neither an ancestor nor a descendant of the ControllableResource.CHECKED_IN
or ControllableResource.CHECKED_OUT version of the merge target. |
Nested classes/interfaces inherited from interface javax.wvcm.ControllableResource |
---|
ControllableResource.CheckinFlag, ControllableResource.CheckoutFlag |
Nested classes/interfaces inherited from interface javax.wvcm.Folder |
---|
Folder.BindFlag, Folder.RebindFlag |
Nested classes/interfaces inherited from interface javax.wvcm.Resource |
---|
Resource.CopyFlag |
Field Summary | |
---|---|
static PropertyNameList.PropertyName<ResourceList<Folder>> |
ACTIVITY_FOLDER_LIST
This property identifies a list of folders that can contain activities for this workspace. |
static PropertyNameList.PropertyName<ResourceList<ControllableFolder>> |
BASELINE_CONTROLLED_FOLDER_LIST
The list of root folders of configurations in this workspace. |
static PropertyNameList.PropertyName<ControllableFolder> |
CONFIGURATION_ROOT_FOLDER_HOME
This property identifies a folder in the workspace that can contain bound members that are baseline-controlled folders. |
static PropertyNameList.PropertyName<ControllableFolder> |
CONTROLLABLE_RESOURCE_HOME
This property identifies a folder in the workspace that can contain bound members that are not folders. |
static PropertyNameList.PropertyName<Activity> |
CURRENT_ACTIVITY
The activity that currently is being performed in this workspace. |
static PropertyNameList.PropertyName<Stream> |
ISOLATED_TARGET
The current isolated target stream of this workspace. |
static PropertyNameList.PropertyName<ResourceList<Stream>> |
SOURCE_LIST
The list of current source streams of this workspace. |
static PropertyNameList.PropertyName<Stream> |
STREAM
The stream of this workspace. |
static PropertyNameList.PropertyName<Stream> |
TARGET
The current target stream of this workspace. |
static PropertyNameList.PropertyName<ResourceList<Folder>> |
VERSION_HISTORY_FOLDER_LIST
This property identifies a list of folders that contain the version history resources for the version-controlled resources in this workspace. |
static PropertyNameList.PropertyName<ResourceList<ControllableResource>> |
WORKSPACE_CHECKOUT_LIST
This property identifies each checked-out ControlledResource in this workspace. |
Fields inherited from interface javax.wvcm.ControllableFolder |
---|
IS_BASELINE_CONTROLLABLE, IS_BASELINE_CONTROLLED, ROOT_FOLDER_OF |
Fields inherited from interface javax.wvcm.ControllableResource |
---|
ACTIVITY, AUTO_MERGE_LIST, CHECKED_IN, CHECKED_OUT, CONFIGURATION, IS_CHECKED_OUT, IS_VERSION_CONTROLLABLE, IS_VERSION_CONTROLLED, MERGE_LIST, PREDECESSOR_LIST, RESERVED, VERSION_HISTORY, WORKSPACE |
Fields inherited from interface javax.wvcm.Folder |
---|
CHILD_LIST, CHILD_MAP |
Fields inherited from interface javax.wvcm.Resource |
---|
ALL_CUSTOM_PROPERTIES, COMMENT, CONTENT_CHARACTER_SET, CONTENT_IDENTIFIER, CONTENT_LANGUAGE, CONTENT_LENGTH, CONTENT_TYPE, CREATION_DATE, CREATOR_DISPLAY_NAME, DISPLAY_NAME, IS_EXECUTABLE, LAST_MODIFIED, PARENT_LIST, PATHNAME_LOCATION, PROVIDER_LIST, RESOURCE_IDENTIFIER, WORKSPACE_FOLDER_LIST |
Methods inherited from interface javax.wvcm.ControllableFolder |
---|
doBaselineControl, doCreateBaselineControlledFolder, getIsBaselineControllable, getIsBaselineControlled, getRootFolderOf |
Methods inherited from interface javax.wvcm.ControllableResource |
---|
doAddLabel, doCheckin, doCheckout, doCreateResource, doCreateVersionControlledResource, doReadLabelledVersionProperties, doRemoveLabel, doSetLabel, doUncheckout, doVersionControl, getActivity, getAutoMergeList, getCheckedIn, getCheckedOut, getConfiguration, getIsCheckedOut, getIsVersionControllable, getIsVersionControlled, getMergeList, getPredecessorList, getReserved, getVersionHistory, getWorkspace, setActivity, setAutoMergeList, setMergeList, setPredecessorList, setReserved, workspaceProvider |
Methods inherited from interface javax.wvcm.Folder |
---|
doBindChild, doReadMemberList, doRebindAll, doRebindChild, doUnbindChild, getChildList, getChildMap |
Methods inherited from interface javax.wvcm.Resource |
---|
doCopy, doFind, doFindAll, doGetPropertyNameList, doGetPropertyNameList, doReadContent, doReadProperties, doUnbindAll, doWriteContent, doWriteProperties, forgetProperty, getComment, getContentCharacterSet, getContentIdentifier, getContentLanguage, getContentLength, getContentType, getCreationDate, getCreatorDisplayName, getDisplayName, getIsExecutable, getLastModified, getParentList, getPathnameLocation, getProperty, getProviderList, getResourceIdentifier, getWorkspaceFolderList, initProperty, location, lookupProperty, modifyLocation, propertyNameList, provider, removeProperty, setComment, setContentCharacterSet, setContentLanguage, setContentType, setCreatorDisplayName, setDisplayName, setIsExecutable, setProperty, setProperty, updatedPropertyNameList |
Field Detail |
---|
static final PropertyNameList.PropertyName<ResourceList<Folder>> ACTIVITY_FOLDER_LIST
static final PropertyNameList.PropertyName<ResourceList<ControllableFolder>> BASELINE_CONTROLLED_FOLDER_LIST
static final PropertyNameList.PropertyName<ControllableFolder> CONFIGURATION_ROOT_FOLDER_HOME
null
if this Workspace does not support
baseline-controlled folders.
static final PropertyNameList.PropertyName<ControllableFolder> CONTROLLABLE_RESOURCE_HOME
Some workspaces do not allow the creation of non-folder resources as bound members of the workspace itself, and instead reserve bound members of the workspace for folders that represent different repositories or configuration roots.
static final PropertyNameList.PropertyName<Activity> CURRENT_ACTIVITY
When a member of this workspace is
checked out, if no activity is specified in the checkout request, the
CURRENT_ACTIVITY
will be used. This allows an activity-unaware
client to update a workspace in which activity tracking is required.
The CURRENT_ACTIVITY
of a controlled workspace can be modified
while the workspace is checked in.
getCurrentActivity()
,
setCurrentActivity(javax.wvcm.Activity)
static final PropertyNameList.PropertyName<Stream> ISOLATED_TARGET
It is expected that the isolated target stream periodically
will be merged into and updated by this workspace.
The isolated target stream of a workspace MUST NOT be the STREAM
of that workspace,
and therefore checking in a controllable resource in the workspace is guaranteed
not to change the Stream.VERSION_LIST
of the isolated target stream.
An implementation may refuse to modify the ISOLATED_TARGET
of an existing workspace.
getIsolatedTarget()
,
setIsolatedTarget(javax.wvcm.Stream)
static final PropertyNameList.PropertyName<ResourceList<Stream>> SOURCE_LIST
It is expected that a source stream periodically will be merged into this workspace.
An implementation may refuse to modify the SOURCE_LIST
of an existing workspace.
getSourceList()
,
setSourceList(javax.wvcm.ResourceList)
static final PropertyNameList.PropertyName<Stream> STREAM
When a controllable resource in this workspace is checked in,
the new version that is created is automatically added to the Stream.VERSION_LIST
of the STREAM
of the workspace.
When a configuration of this workspace is
checked out, if no stream is specified in the checkout request, the
STREAM
will be used.
An implementation may refuse to modify the STREAM
of an existing workspace.
getStream()
,
setTarget(javax.wvcm.Stream)
,
setIsolatedTarget(javax.wvcm.Stream)
static final PropertyNameList.PropertyName<Stream> TARGET
It is expected that the target stream periodically
will be merged into and updated by this workspace.
The target stream of a workspace MAY be the STREAM
of that workspace.
and therefore checking in a controllable resource in the workspace MAY
(but is not guaranteed to) change the Stream.VERSION_LIST
of the target stream.
An implementation may refuse to modify the TARGET
of an existing workspace.
getTarget()
,
setTarget(javax.wvcm.Stream)
static final PropertyNameList.PropertyName<ResourceList<Folder>> VERSION_HISTORY_FOLDER_LIST
static final PropertyNameList.PropertyName<ResourceList<ControllableResource>> WORKSPACE_CHECKOUT_LIST
Method Detail |
---|
<T extends Resource> Workspace doCheckin(ResourceList<T> resourceList, String comment, ControllableResource.CheckinFlag[] flags, Feedback feedback) throws WvcmException
ControllableResource.doCheckin(javax.wvcm.ControllableResource.CheckinFlag[], javax.wvcm.Feedback)
to each element of the resourceList.
resourceList
- the list of resources to be checked in.comment
- A comment for any new version whose controllable resource has no comment.flags
- passed through to doCheckin
.feedback
- Specifies optional feedback to the caller.
WvcmException
- ReasonCode:
ControllableResource.doCheckin(javax.wvcm.ControllableResource.CheckinFlag[], javax.wvcm.Feedback)
WvcmException.ReasonCode.MULTI_STATUS
:
At least one resource in the list could not be checked in.
If any of the checked-out resources in the resourceList cannot be checked in,
the provider MAY fail the request.Workspace doCheckinAll(String comment, ControllableResource.CheckinFlag[] flags, Feedback feedback) throws WvcmException
ControllableResource.doCheckin(javax.wvcm.ControllableResource.CheckinFlag[], javax.wvcm.Feedback)
to each resource in WORKSPACE_CHECKOUT_LIST
.
comment
- A comment for any new version whose controllable resource has no comment.flags
- passed through to doCheckin
.feedback
- Specifies optional feedback to the caller.
WvcmException
- ReasonCode:
ControllableResource.doVersionControl(javax.wvcm.Feedback)
WvcmException.ReasonCode.MULTI_STATUS
:
At least one of the checked out resources could not be checked in.
If any of the checked-out resources in the WORKSPACE_CHECKOUT_LIST
cannot be checked in,
the provider MAY fail the request.Workspace doCreateGeneratedResource(Feedback feedback) throws WvcmException
Postconditions:
feedback
- Specifies optional feedback to the caller.
WvcmException
- ReasonCode:
WvcmException.ReasonCode.METHOD_NOT_SUPPORTED
:
If the provider does not support the creation of workspaces, this request MUST fail.
A client can determine a valid location for this method
with a Provider.rootLocation()
request.ControllableResource.doCreateResource(javax.wvcm.Feedback)
<T extends Resource> Workspace doMerge(ResourceList<T> sourceList, Workspace.MergeFlag[] flags, Feedback feedback) throws WvcmException
sourceList
into the appropriate target in this Workspace
.
The "target" of a particular source version is the version-controlled
member of the workspace identified by this Workspace
that is associated with the version history for that version.
ControllableResource.MERGE_LIST
or the ControllableResource.AUTO_MERGE_LIST
of the target.
If a source version is added to the ControllableResource.AUTO_MERGE_LIST
, the provider must
have updated the content and controlled properties of the target to contain the results of merging
the content and controlled properties of the source version with the content
and controlled properties of the target at the time of the merge.
Postconditions:
ControllableResource.CHECKED_IN
version or ControllableResource.CHECKED_OUT
version is the merge source
or is a descendant of the merge source, the merge target MUST NOT have been modified by the doMerge.
ControllableResource.CHECKED_IN
version was an ancestor of the merge source,
a doUpdate operation MUST have been applied to the merge target.
ControllableResource.CHECKED_IN
version was neither a descendant nor an ancestor of the merge source,
a doCheckout MUST have been applied to the merge target.
All arguments that could appear in a doCheckout request MUST have been used
as arguments to the doCheckout request.
ControllableResource.CHECKED_OUT
version of the merge target is not equal to
or a descendant of the merge source, the merge source MUST be added to either
the ControllableResource.MERGE_LIST
or the ControllableResource.AUTO_MERGE_LIST
of the merge target.
The merge target MUST appear in the result. If a merge source has been added
to the ControllableResource.AUTO_MERGE_LIST
, the controlled state of the merge target MUST have been modified
by the provider to reflect the result of a logical merge of the merge source and the merge target.
If a merge source has been added to the ControllableResource.MERGE_LIST
, the controlled state of the merge target
MUST NOT have been modified by the provider. If Workspace.MergeFlag.NO_AUTO_MERGE
is specified in the request,
the merge source MUST NOT have been added to the ControllableResource.AUTO_MERGE_LIST
.
Workspace.MergeFlag.NO_AUTO_MERGE
is specified and the merge target is a configuration
whose ControllableResource.CHECKED_OUT
baseline is neither a descendant or an ancestor
of the source baseline, then the merge baseline MUST have been
added to the ControllableResource.MERGE_LIST
of the configuration.
Workspace.MergeFlag.NO_AUTO_MERGE
is not specified and the merge target is a configuration
whose ControllableResource.CHECKED_OUT
baseline is neither a descendant or an ancestor
of the source baseline, then the merge baseline MUST have been
added to the ControllableResource.AUTO_MERGE_LIST
of the configuration, and
each version of that baseline MUST have been merged into the workspace
of that configuration.
doUpdate(javax.wvcm.ResourceList, javax.wvcm.Feedback)
.
sourceList
- a list of Resource
objects that
identifies the versions to be merged.
If a member of sourceList is an activity but not a stream,
each version in the Activity.ACTIVITY_VERSION_LIST
is a source version.
If a member of sourceList is a stream, each version in the Stream.VERSION_LIST
is a source version.
If a member of sourceList is a version-controlled resource,
the checked-in version of the member is a source version;
if that version-controlled resource is a folder, all members
of that folder are considered members of the sourceList.flags
- Boolean flags for doMerge.feedback
- Specifies optional feedback to the caller.
WvcmException
- An implementation may throw a single exception on the first error encountered,
or may attempt to merge all of the source versions, with any errors accumulated in the
WvcmException.getNestedExceptions()
list.
WvcmException.ReasonCode.BAD_ARGUMENT_TYPE
:
The resource identified by the activity
argument must be an activity.
WvcmException.ReasonCode.MUST_BE_CHECKED_IN
:
A version-controlled resource in the sourceList must be checked in.
WvcmException.ReasonCode.CANNOT_MERGE_CHECKOUT_NOT_ALLOWED
:
If Workspace.MergeFlag.NO_CHECKOUT
is specified in the request,
it MUST be possible to perform the merge without checking out the merge target.
ControllableResource.doCheckout(javax.wvcm.ControllableResource.CheckoutFlag[], javax.wvcm.Feedback)
apply to any checkout performed by the request.<T extends Resource> ResourceList.ResponseIterator<Workspace.MergePreviewReport> doMergePreviewReport(ResourceList<T> sourceList, Feedback feedback) throws WvcmException
sourceList
- a list of Resource
objects that identify
the versions to be merged. See the sourceList argument for doMerge(javax.wvcm.ResourceList, javax.wvcm.Workspace.MergeFlag[], javax.wvcm.Feedback)
.feedback
- the properties available in the returned proxies.
ControllableResource.MERGE_LIST
or ControllableResource.AUTO_MERGE_LIST
set by a doMerge(javax.wvcm.ResourceList, javax.wvcm.Workspace.MergeFlag[], javax.wvcm.Feedback)
request
with Workspace.MergeFlag.NO_AUTO_MERGE
specified.
WvcmException
- ReasonCode:
WvcmException.ReasonCode.METHOD_NOT_SUPPORTED
:
This resource does not support this report.<T extends Resource> Workspace doUpdate(ResourceList<T> sourceList, Feedback feedback) throws WvcmException
Workspace
.
The "target" of a particular source version is the version-controlled
member of the workspace identified by this Workspace
that is associated with the version history for that version.
Postconditions:
ControllableResource.CHECKED_IN
version
of a version-controlled folder, then the version-controlled members
of that version-controlled folder MUST have been updated. In particular:
Folder.CHILD_LIST
of the new ControllableResource.CHECKED_IN
version.
Folder.CHILD_LIST
of the new ControllableResource.CHECKED_IN
version.
Folder.CHILD_LIST
of the ControllableResource.CHECKED_IN
version,
but there was no member of the version-controlled folder for that version history.
If a new version-controlled member is in a workspace that already has
a version-controlled resource for that version history, then the new version-controlled member
MUST be just a binding (i.e. another name for) that existing version-controlled resource.
Otherwise, the content and controlled properties of the new version-controlled member MUST have been initialized
to be those of the version specified for that version history by the request.
If no version is specified for that version history by the request, the version selected is provider defined.
ControllableResource.CHECKED_IN
property
of a configuration to identify a new baseline, then each version-controlled member of the Configuration.ROOT_FOLDER
of that configuration MUST have been updated so its ControllableResource.CHECKED_IN
property identifies the
corresponding version in the Baseline.VERSION_LIST
of that baseline. In particular:
Baseline.VERSION_LIST
of the baseline.
Baseline.VERSION_LIST
of the baseline for which there is no corresponding version-controlled member
in the baseline-controlled folder. The name of that new member relative to the baseline-controlled folder is
the name of the version-controlled member for that version history when the baseline was created.
ControllableResource.CHECKED_IN
version is not the version
identified in the Baseline.VERSION_LIST
of the baseline.
Workspace.MergeFlag.UPDATE_STREAM
is specified,
and if the merge succeeds, each stream in the sourceList is updated with
the current configuration of this workspace.
sourceList
- the list of resources specifying the versions whose target in this
workspace should be updated. See the sourceList argument for doMerge(javax.wvcm.ResourceList, javax.wvcm.Workspace.MergeFlag[], javax.wvcm.Feedback)
.feedback
- Specifies optional feedback to the caller.
WvcmException
- ReasonCode:
WvcmException.ReasonCode.MUST_BE_CHECKED_IN
:
A version-controlled resource in the sourceList must be checked in.
WvcmException.ReasonCode.NO_CHECKED_OUT_BASELINE_CONTROLLED_FOLDER_MEMBERS
:
If the target identifies a configuration, then all version-controlled members
of the Configuration.ROOT_FOLDER
of that configuration MUST be checked-in.<T extends Resource> Workspace doVersionControl(ResourceList<T> resourceList, Feedback feedback) throws WvcmException
ControllableResource.doVersionControl(javax.wvcm.Feedback)
to each element of the resourceList.
resourceList
- the list of resources to be put under version control.feedback
- Specifies optional feedback to the caller.
WvcmException
- ReasonCode:
WvcmException.ReasonCode.MULTI_STATUS
:
At least one resource in the list could not be put under version control.
If any of the resources in the resourceList cannot be put under version control,
the provider MAY fail the request.ResourceList<Folder> getActivityFolderList() throws WvcmException
ACTIVITY_FOLDER_LIST
property.
ACTIVITY_FOLDER_LIST
property.
WvcmException
- if this Workspace was not created with
ACTIVITY_FOLDER_LIST
as a wanted property.ResourceList<ControllableFolder> getBaselineControlledFolderList() throws WvcmException
BASELINE_CONTROLLED_FOLDER_LIST
property.
BASELINE_CONTROLLED_FOLDER_LIST
property.
WvcmException
- if this Workspace was not created with
BASELINE_CONTROLLED_FOLDER_LIST
as a wanted property.ControllableFolder getConfigurationRootFolderHome() throws WvcmException
CONFIGURATION_ROOT_FOLDER_HOME
property.
CONFIGURATION_ROOT_FOLDER_HOME
property.
WvcmException
- if this Workspace was not created with
CONFIGURATION_ROOT_FOLDER_HOME
as a wanted property.ControllableFolder getControllableResourceHome() throws WvcmException
CONTROLLABLE_RESOURCE_HOME
property.
CONTROLLABLE_RESOURCE_HOME
property.
WvcmException
- if this Workspace was not created with
CONTROLLABLE_RESOURCE_HOME
as a wanted property.Activity getCurrentActivity() throws WvcmException
CURRENT_ACTIVITY
property.
CURRENT_ACTIVITY
property.
WvcmException
- if this property was not set and
this Workspace was not created with
CURRENT_ACTIVITY
as a wanted property.setCurrentActivity(javax.wvcm.Activity)
Stream getIsolatedTarget() throws WvcmException
ISOLATED_TARGET
property.
ISOLATED_TARGET
property.
WvcmException
- if this property was not set and
this Workspace was not created with ISOLATED_TARGET
as a wanted property.setIsolatedTarget(javax.wvcm.Stream)
ResourceList<Stream> getSourceList() throws WvcmException
SOURCE_LIST
property.
SOURCE_LIST
property.
WvcmException
- if this property was not set and
this Workspace was not created with SOURCE_LIST
as a wanted property.setSourceList(javax.wvcm.ResourceList)
Stream getStream() throws WvcmException
STREAM
property.
STREAM
property.
WvcmException
- if this property was not set and
this Workspace was not created with
STREAM
as a wanted property.setTarget(javax.wvcm.Stream)
,
setIsolatedTarget(javax.wvcm.Stream)
Stream getTarget() throws WvcmException
TARGET
property.
TARGET
property.
WvcmException
- if this property was not set and
this Workspace was not created with TARGET
as a wanted property.setTarget(javax.wvcm.Stream)
ResourceList<Folder> getVersionHistoryFolderList() throws WvcmException
VERSION_HISTORY_FOLDER_LIST
property.
VERSION_HISTORY_FOLDER_LIST
property.
WvcmException
- if this Workspace was not created with
VERSION_HISTORY_FOLDER_LIST
as a wanted property.ResourceList<ControllableResource> getWorkspaceCheckoutList() throws WvcmException
WORKSPACE_CHECKOUT_LIST
property.
WORKSPACE_CHECKOUT_LIST
property.
WvcmException
- if this Workspace was not created with
WORKSPACE_CHECKOUT_LIST
as a wanted property.void setCurrentActivity(Activity activity)
CURRENT_ACTIVITY
property.
activity
- the Activity
object that
identifies the new CURRENT_ACTIVITY
for this Workspace.getCurrentActivity()
void setIsolatedTarget(Stream stream)
ISOLATED_TARGET
property.
stream
- the Stream
object that
identifies the ISOLATED_TARGET
for this Workspace.getIsolatedTarget()
void setSourceList(ResourceList<Stream> streamList)
SOURCE_LIST
property.
streamList
- the list of Stream
objects that
identifies the SOURCE_LIST
for this Workspace.getSourceList()
void setTarget(Stream stream)
TARGET
property.
stream
- the Stream
object that
identifies the TARGET
for this Workspace.getTarget()
|
Generated Tue 24-Jan-2012 10:05 AM | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |