|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectwt.services.StandardManager
wt.vc.struct.StandardStructService
This implementation of StructService
has adds several listeners
in performStartupProcess()
that deal primarily with copying links
and validating deletes.
Use the newStandardStructService
static factory method(s),
not the StandardStructService
constructor, to construct
instances of this class. Instances must be constructed using the static
factory(s), in order to ensure proper initialization of the instance.
Supported API: true
Extendable: true
Nested Class Summary | |
private class |
StandardStructService.LinkRow
|
private class |
StandardStructService.LinkRowSet
|
private class |
StandardStructService.ProjectTerminalConfigSpec
Navigates should not return terminal iterations (unless we're starting from one) or project versions (unless we're starting from one, in which case we want to return only those in the same project). |
private class |
StandardStructService.SandboxCheckinListener
Don't allow a sandbox checkin (to PDM) if the result is that the usedBy, referencedBy, or describes object uses, references, or is describedBy object(s) that are still in the sandbox (where, in all cases, we mean that the object has no PDM versions). |
Field Summary | |
private static ArrayList |
ALL_ITERATED_CLASSES
|
private static String |
CLASSNAME
|
private static ArrayList |
CONTAINED_AND_WORKABLE_LIST
|
private static ArrayList |
CONTAINED_LIST
|
private static ArrayList |
EXCLUDE_ITERATED_DESCRIBE_LINK_CLASSES
|
private static ArrayList |
EXCLUDE_ITERATED_USAGE_LINK_CLASSES
|
private static ArrayList |
INVALID_NON_WORKABLE_DESCRIBES_CLASSES
|
private static ArrayList |
INVALID_REFERENCES_CLASSES
|
private static ArrayList |
INVALID_USES_CLASSES
|
private static ArrayList |
INVALID_WORKABLE_DESCRIBES_CLASSES
|
private static boolean |
MULTI_OBJECT_VERBOSE
|
private static boolean |
PROJECTLINK_INSTALLED
|
private static String |
RESOURCE
|
private static String |
SANDBOX_CHECKIN_KEY
The sandbox checkin adds an annoying wrinkle to how links are copied. |
static Object |
SANDBOX_CHECKIN_LISTENER_KEY
|
private static ArrayList |
WORKABLE_LIST
|
Fields inherited from class wt.services.StandardManager |
|
Fields inherited from interface wt.services.Manager |
MANAGER_SERVICE, STARTUP_AUTOMATIC, STARTUP_MANUAL, STATUS_EMERGENCY_SHUTDOWN, STATUS_EMERGENCY_SHUTTING_DOWN, STATUS_SHUTDOWN, STATUS_SHUTDOWN_ERRORS, STATUS_SHUTDOWN_FAILURE, STATUS_SHUTTING_DOWN, STATUS_STARTED, STATUS_STARTED_ERRORS, STATUS_STARTING_UP, STATUS_STARTUP_FAILURE |
Constructor Summary | |
StandardStructService()
|
Method Summary | |
private WTKeyedMap |
addCopyLinkEntry(WTKeyedMap predecessorToLinksMap,
StandardStructService.LinkRowSet a_rowSet,
int SIZE)
|
protected void |
addTerminalWhereStatementToBasicNavigateReferencedByOrUsedByQuerySpec(QuerySpec querySpec,
Class byBaseClass)
|
protected QuerySpec |
buildBasicNavigateReferencedByOrUsedByQuerySpec(Mastered master,
Class byBaseClass,
Class linkClass,
boolean onlyOtherSide)
|
private void |
copyLinksForCheckout(WTKeyedMap originalWorkingCopyMap)
|
protected void |
copyLinksForNewCopy(RevisionControlled original,
RevisionControlled copy,
CopyRules copy_rules)
|
protected void |
copyLinksForNewIterations(WTCollection targets)
|
protected void |
copyLinksForSandbox(Map versionRefMap)
Copies the links from original version to new version. |
protected QueryResult |
copyLinksForSandboxGetLinks(boolean includeWorkable,
long[] oids)
Gets the appropriate links to copy for the given oids. |
private void |
deleteLinksForPurge(WTCollection targets)
|
private void |
deleteWithInQuery(WTCollection c,
Class a_class)
|
private void |
doProjectLinkValidations(WTCollection linksCollection)
|
private void |
doReflexiveValidation(WTCollection links)
|
private void |
filterNonLatestOtherSideObjects(Map resultMap,
WTCollection targetsCollection)
|
private WTKeyedMap |
filterOtherSideRoleObjects(Map iterationsToOtherSideObjectsMap,
String role,
boolean onlyOtherSide)
If an iteration key is the latest iteration filter out any other side objects that are not latest iterations. |
private WTList |
formatOriginalCopies(WTList describedByLatestIterations)
|
private CompositeWhereExpression |
getCompositeWhereExpression(List whereExpressions,
LogicalOperator op)
|
String |
getConceptualClassname()
Deprecated. |
private QuerySpec |
getCopyLinksForNewIterationQuerySpec(Class linkClass,
long[] ids)
|
private WTValuedMap |
getDescribeLinksToCopyForNewDescribedByRoleObjectIteration(WTValuedMap predecessorsToTargetsMap,
WTValuedMap copyLinkMap,
WTKeyedMap predecessorsToDescribedLinkListMap)
|
private WTValuedMap |
getDescribeLinksToCopyForNewDescribesRoleObjectIteration(WTValuedMap predecessorsToTargetsMap,
WTValuedMap copyLinkMap,
WTKeyedMap predecessorsToDescribedLinkListMap)
|
private WTCollection |
getIterationsCollection(WTCollection linkCollection)
|
private WTKeyedMap |
getIterationsToLinksMap(WTKeyedMap iterationsToOtherSideObjectsMap,
String otherSideRole,
WTKeyedMap navigateResultMap)
Given a WTKeyedMap of iterations to other side objects return a WTKeyedMap relating iterations to links. |
private WTCollection |
getOidsFromMap(WTValuedMap m)
|
private WTCollection |
getOtherDescribeLinks(WTList describedByLatestIterations,
Iterator describeLinksIter)
|
private Map |
getOtherSideSandboxObjects(WTCollection describedBys)
|
private WTValuedMap |
getPredecessors(WTCollection targets)
|
private List |
getRoles(WTCollection links)
|
private StatementSpec |
getStatementSpec(List querySpecs,
SetOperator operator)
|
private void |
handleDescribeLinks(WTCollection describeLinks,
boolean checkForReflexive)
|
private boolean |
hasLinkTypesToValidate(WTCollection objectToObjectLinkColl)
|
private WTKeyedMap |
inflateLinksAndRoleObjects(Map a_sourceObjectsToLinksMap)
|
private WTCollection |
inflateLinksAndRoleObjects(WTCollection c)
|
private void |
initializeValidateLinkAction(Object event)
|
private void |
insertDuplicateLinks(WTCollection describeLinks,
WTList describedByLatestIterations)
|
private void |
insertSandboxLinkDuplicates(WTCollection originalDescribedBys,
WTCollection describeLinks)
|
private boolean |
isCheckedOutToSandbox(Iterated iterated)
|
private boolean |
isNotCheckedIn(Iterated iterated)
|
protected QueryResult |
latestDescribe(Iterated iteration,
QueryResult qr)
This method goes through the given query result, processes the multiple latest config spec on the result and applies access control. |
protected WTKeyedMap |
latestDescribes(Map navigateResultMap,
String role,
boolean onlyOtherSide)
Filter iterations. |
private WTKeyedMap |
navigate(WTCollection iterations,
Class iteratedDescribeLinkClass,
boolean onlyOtherSide,
String role)
|
QueryResult |
navigateDescribedBy(Iterated iteration)
Deprecated. |
QueryResult |
navigateDescribedBy(Iterated iteration,
boolean onlyOtherSide)
Deprecated. |
QueryResult |
navigateDescribedBy(Iterated iteration,
Class iteratedDescribeLinkClass,
boolean onlyOtherSide)
Deprecated. |
WTKeyedMap |
navigateDescribedBys(WTCollection iterations)
Navigates the describedBy roles of the IteratedDescribeLinks returning a WTKeyedMap of keys = iterations and values = a WTList of other side objects per iteration, i.e. |
WTKeyedMap |
navigateDescribedBys(WTCollection iterations,
boolean onlyOtherSide)
Navigates the describedBy roles of the IteratedDescribeLinks returning a WTKeyedMap of keys = iterations and values = a WTList of links or other side objects per iteration, i.e. |
WTKeyedMap |
navigateDescribedBys(WTCollection iterations,
Class iteratedDescribeLinkClass,
boolean onlyOtherSide)
Navigates the describedBy roles of the IteratedDescribeLinks returning a WTKeyedMap of keys = iterations and values = a WTList of links or other side objects per iteration, i.e. |
QueryResult |
navigateDescribes(Iterated iteration)
Deprecated. |
QueryResult |
navigateDescribes(Iterated iteration,
boolean onlyOtherSide)
Deprecated. |
QueryResult |
navigateDescribes(Iterated iteration,
Class iteratedDescribeLinkClass,
boolean onlyOtherSide)
Deprecated. |
WTKeyedMap |
navigateDescribes(WTCollection iterations)
Navigates the describes roles of the IteratedDescribeLinks returning a WTKeyedMap of keys = iterations and values = a WTList of other side objects per iteration, i.e. |
WTKeyedMap |
navigateDescribes(WTCollection iterations,
boolean onlyOtherSide)
Navigates the describes roles of the IteratedDescribeLinks returning a WTKeyedMap of keys = iterations and values = a WTList of links or other side objects per iteration, i.e. |
WTKeyedMap |
navigateDescribes(WTCollection iterations,
Class iteratedDescribeLinkClass,
boolean onlyOtherSide)
Navigates the describes roles of the IteratedDescribeLinks returning a WTKeyedMap of keys = iterations and values = a WTList of links or other side objects per iteration, i.e. |
QueryResult |
navigateReferencedBy(Mastered master)
Navigates the referencedBy role of the IteratedReferenceLink, returning a QueryResult of latest iterations. |
QueryResult |
navigateReferencedBy(Mastered master,
boolean onlyOtherSide)
Navigates the referencedBy role of the IteratedReferenceLink, returning a QueryResult of IteratedReferenceLinks if the value of onlyOtherSide is "false or iterations if the value is "true". |
QueryResult |
navigateReferencedBy(Mastered master,
Class iteratedReferenceLinkClass,
boolean onlyOtherSide)
Navigates the referencedBy role of the IteratedReferenceLink, returning a QueryResult of IteratedReferenceLinks if the value of onlyOtherSide is "false or iterations if the value is "true". |
protected QueryResult |
navigateReferencedByOrUsedBy(Mastered master,
Class linkClass,
boolean onlyOtherSide)
|
QueryResult |
navigateReferences(Iterated iteration)
Navigates the references role of the IteratedReferenceLink, returning a QueryResult of masters. |
QueryResult |
navigateReferences(Iterated iteration,
boolean onlyOtherSide)
Navigates the references role of the IteratedReferenceLink, returning a QueryResult of IteratedReferenceLinks if the value of onlyOtherSide is "false" or iterations if the value is "true". |
QueryResult |
navigateReferences(Iterated iteration,
Class iteratedReferenceLinkClass,
boolean onlyOtherSide)
Navigates the references role of the IteratedReferenceLink, returning a QueryResult of IteratedReferenceLinks if the value of onlyOtherSide is "false" or iterations if the value is "true". |
QueryResult |
navigateReferencesToIteration(Iterated iteration,
boolean onlyOtherSide,
ConfigSpec configSpec)
Navigate the references role of the IteratedReferenceLink and finds the appropriate iterations for those masters by applying the ConfigSpec. |
QueryResult |
navigateReferencesToIteration(Iterated iteration,
Class iteratedReferenceLinkClass,
boolean onlyOtherSide,
ConfigSpec configSpec)
Navigate the references role of the IteratedReferenceLink and finds the appropriate iterations for those masters by applying the ConfigSpec. |
QueryResult |
navigateReferencesToIteration(Iterated iteration,
ConfigSpec configSpec)
Navigates the references role of the IteratedReferenceLink and finds the appropriate iterations for the masters given the configSpec and returns a QueryResult of those iterations that match as well as the masters for which there were no matching iterations. |
QueryResult |
navigateUsedBy(Mastered master)
Navigates the usedBy role of the IteratedUsageLink, returning a QueryResult of latest iterations. |
QueryResult |
navigateUsedBy(Mastered master,
boolean onlyOtherSide)
Navigates the usedBy role of the IteratedUsageLink, returning a QueryResult of IteratedUsageLinks if the value of onlyOtherSide is "false or iterations if the value is "true". |
QueryResult |
navigateUsedBy(Mastered master,
Class iteratedUsageLinkClass,
boolean onlyOtherSide)
Navigates the usedBy role of the IteratedUsageLink, returning a QueryResult of IteratedUsageLinks if the value of onlyOtherSide is "false or iterations if the value is "true". |
QueryResult |
navigateUsedByToIteration(Iterated iteration,
boolean onlyOtherSide,
ConfigSpec configSpec)
Navigates the used by role of the IteratedUsageLink and finds the appropriate iterations for the masters given the configSpec, then for the masters of those iterations is uses filteredIterationsOf to double check that those iterations where the ones that should have been chosen by the config spec, and returns a QueryResult of those iterations that match as well as the masters for which there were no matching iterations. |
QueryResult |
navigateUsedByToIteration(Iterated iteration,
Class iteratedUsageLinkClass,
boolean onlyOtherSide,
ConfigSpec configSpec)
Navigates the used by role of the IteratedUsageLink and finds the appropriate iterations for the masters given the configSpec, then for the masters of those iterations is uses filteredIterationsOf to double check that those iterations where the ones that should have been chosen by the config spec, and returns a QueryResult of those iterations that match as well as the masters for which there were no matching iterations. |
QueryResult |
navigateUsedByToIteration(Iterated iteration,
ConfigSpec configSpec)
Navigates the used by role of the IteratedUsageLink and finds the appropriate iterations for the masters given the configSpec, then for the masters of those iterations is uses filteredIterationsOf to double check that those iterations where the ones that should have been chosen by the config spec, and returns a QueryResult of those iterations that match as well as the masters for which there were no matching iterations. |
QueryResult |
navigateUses(Iterated iteration)
Navigates the uses role of the IteratedUsageLink, returning a QueryResult of masters. |
QueryResult |
navigateUses(Iterated iteration,
boolean onlyOtherSide)
Navigates the uses role of the IteratedUsageLink, returning a QueryResult of IteratedUsageLinks if the value of onlyOtherSide is "false" or iterations if the value is "true". |
QueryResult |
navigateUses(Iterated iteration,
Class iteratedUsageLinkClass,
boolean onlyOtherSide)
Navigates the uses role of the IteratedUsageLink, returning a QueryResult of IteratedUsageLinks if the value of onlyOtherSide is "false" or iterations if the value is "true". |
QueryResult |
navigateUsesToIteration(Iterated iteration,
boolean onlyOtherSide,
ConfigSpec configSpec)
Navigate the uses role of the IteratedUsageLink and finds the appropriate iterations for those masters by applying the ConfigSpec. |
QueryResult |
navigateUsesToIteration(Iterated iteration,
Class iteratedUsageLinkClass,
boolean onlyOtherSide,
ConfigSpec configSpec)
Navigate the uses role of the IteratedUsageLink and finds the appropriate iterations for those masters by applying the ConfigSpec. |
QueryResult |
navigateUsesToIteration(Iterated iteration,
ConfigSpec configSpec)
Navigates the uses role of the IteratedUsageLink and finds the appropriate iterations for the masters given the configSpec and returns a QueryResult of those iterations that match as well as the masters for which there were no matching iterations. |
static StandardStructService |
newStandardStructService()
Default factory for the class. |
protected void |
performStartupProcess()
Adds event listeners to copy the IteratedUsageLink/IteratedReferenceLink when an iteration is copied, as well as to verify the user's ability to create, delete, and update these links. |
private WTList |
queryLatestIterations(WTCollection describeLinks)
|
protected QueryResult |
removeDupesFromNavigateReferencedByOrUsedByResults(QueryResult queryResult,
boolean onlyOtherSide)
|
private void |
removeLinksForReferentialIntegrity(WTCollection targets)
|
private WTList |
setDescribedBys(WTCollection describeLinksColl,
WTList describedByLatestIterations)
|
private QueryResult |
toQueryResult(WTCollection c)
Given WTCollection convert it to QueryResult |
private WTCollection |
toWTCollection(QueryResult qr)
Given QueryResult convert it to WTCollection |
private void |
updateResultMap(Map resultMap,
StandardStructService.LinkRow row)
|
private void |
updateUsageLinksForNewIteration(WTValuedMap predecessorsToTargetsMap)
|
protected void |
validateLinkAction(WTCollection c,
boolean checkForReflexive)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private static final String RESOURCE
private static final String CLASSNAME
public static final Object SANDBOX_CHECKIN_LISTENER_KEY
private static final String SANDBOX_CHECKIN_KEY
private static final boolean MULTI_OBJECT_VERBOSE
private static final boolean PROJECTLINK_INSTALLED
private static final ArrayList CONTAINED_LIST
private static final ArrayList CONTAINED_AND_WORKABLE_LIST
private static final ArrayList WORKABLE_LIST
private static final ArrayList ALL_ITERATED_CLASSES
private static final ArrayList EXCLUDE_ITERATED_DESCRIBE_LINK_CLASSES
private static final ArrayList EXCLUDE_ITERATED_USAGE_LINK_CLASSES
private static final ArrayList INVALID_USES_CLASSES
private static final ArrayList INVALID_REFERENCES_CLASSES
private static final ArrayList INVALID_NON_WORKABLE_DESCRIBES_CLASSES
private static final ArrayList INVALID_WORKABLE_DESCRIBES_CLASSES
Constructor Detail |
public StandardStructService()
Method Detail |
public String getConceptualClassname()
getConceptualClassname
in interface NetFactor
getConceptualClassname
in class StandardManager
protected void performStartupProcess() throws ManagerException
performStartupProcess
in class StandardManager
ManagerException
public static StandardStructService newStandardStructService() throws WTException
WTException
public QueryResult navigateUses(Iterated iteration) throws WTException
navigateUses
in interface StructService
iteration
-
WTException
IteratedUsageLink
,
Mastered
public QueryResult navigateUses(Iterated iteration, boolean onlyOtherSide) throws WTException
navigateUses
in interface StructService
iteration
- onlyOtherSide
-
WTException
IteratedUsageLink
,
Mastered
public QueryResult navigateUses(Iterated iteration, Class iteratedUsageLinkClass, boolean onlyOtherSide) throws WTException
navigateUses
in interface StructService
iteration
- iteratedUsageLinkClass
- onlyOtherSide
-
WTException
IteratedUsageLink
,
Mastered
public QueryResult navigateUsedByToIteration(Iterated iteration, ConfigSpec configSpec) throws WTException, ConfigException
navigateUsedByToIteration
in interface StructService
iteration
- configSpec
-
WTException
ConfigException
IteratedUsageLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateUsedByToIteration(Iterated iteration, boolean onlyOtherSide, ConfigSpec configSpec) throws WTException, ConfigException
navigateUsedByToIteration
in interface StructService
iteration
- onlyOtherSide
- configSpec
-
WTException
ConfigException
IteratedUsageLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateUsedByToIteration(Iterated iteration, Class iteratedUsageLinkClass, boolean onlyOtherSide, ConfigSpec configSpec) throws WTException, ConfigException
navigateUsedByToIteration
in interface StructService
iteration
- iteratedUsageLinkClass
- onlyOtherSide
- configSpec
-
WTException
ConfigException
IteratedUsageLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateUsedBy(Mastered master) throws WTException
navigateUsedBy
in interface StructService
master
-
WTException
IteratedUsageLink
,
Iterated
public QueryResult navigateUsedBy(Mastered master, boolean onlyOtherSide) throws WTException
navigateUsedBy
in interface StructService
master
- onlyOtherSide
-
WTException
IteratedUsageLink
,
wt.vc.version.Version
public QueryResult navigateUsedBy(Mastered master, Class iteratedUsageLinkClass, boolean onlyOtherSide) throws WTException
navigateUsedBy
in interface StructService
master
- iteratedUsageLinkClass
- onlyOtherSide
-
WTException
IteratedUsageLink
,
wt.vc.version.Version
public QueryResult navigateUsesToIteration(Iterated iteration, ConfigSpec configSpec) throws WTException, ConfigException
navigateUsesToIteration
in interface StructService
iteration
- configSpec
-
WTException
ConfigException
IteratedUsageLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateUsesToIteration(Iterated iteration, boolean onlyOtherSide, ConfigSpec configSpec) throws WTException, ConfigException
navigateUsesToIteration
in interface StructService
iteration
- onlyOtherSide
- configSpec
-
WTException
ConfigException
IteratedUsageLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateUsesToIteration(Iterated iteration, Class iteratedUsageLinkClass, boolean onlyOtherSide, ConfigSpec configSpec) throws WTException, ConfigException
navigateUsesToIteration
in interface StructService
iteration
- iteratedUsageLinkClass
- onlyOtherSide
- configSpec
-
WTException
ConfigException
IteratedUsageLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateReferences(Iterated iteration) throws WTException
navigateReferences
in interface StructService
iteration
-
WTException
IteratedReferenceLink
,
Mastered
public QueryResult navigateReferences(Iterated iteration, boolean onlyOtherSide) throws WTException
navigateReferences
in interface StructService
iteration
- onlyOtherSide
-
WTException
IteratedReferenceLink
,
Mastered
public QueryResult navigateReferences(Iterated iteration, Class iteratedReferenceLinkClass, boolean onlyOtherSide) throws WTException
navigateReferences
in interface StructService
iteration
- iteratedReferenceLinkClass
- onlyOtherSide
-
WTException
IteratedReferenceLink
,
Mastered
public QueryResult navigateReferencedBy(Mastered master) throws WTException
navigateReferencedBy
in interface StructService
master
-
WTException
IteratedReferenceLink
,
Iterated
public QueryResult navigateReferencedBy(Mastered master, boolean onlyOtherSide) throws WTException
navigateReferencedBy
in interface StructService
master
- onlyOtherSide
-
WTException
IteratedReferenceLink
,
wt.vc.version.Version
public QueryResult navigateReferencedBy(Mastered master, Class iteratedReferenceLinkClass, boolean onlyOtherSide) throws WTException
navigateReferencedBy
in interface StructService
master
- iteratedReferenceLinkClass
- onlyOtherSide
-
WTException
IteratedReferenceLink
,
wt.vc.version.Version
public QueryResult navigateReferencesToIteration(Iterated iteration, ConfigSpec configSpec) throws WTException, ConfigException
navigateReferencesToIteration
in interface StructService
iteration
- configSpec
-
WTException
ConfigException
IteratedReferenceLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateReferencesToIteration(Iterated iteration, boolean onlyOtherSide, ConfigSpec configSpec) throws WTException, ConfigException
navigateReferencesToIteration
in interface StructService
iteration
- onlyOtherSide
- configSpec
-
WTException
ConfigException
IteratedReferenceLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateReferencesToIteration(Iterated iteration, Class iteratedReferenceLinkClass, boolean onlyOtherSide, ConfigSpec configSpec) throws WTException, ConfigException
navigateReferencesToIteration
in interface StructService
iteration
- iteratedReferenceLinkClass
- onlyOtherSide
- configSpec
-
WTException
ConfigException
IteratedReferenceLink
,
Mastered
,
Iterated
,
ConfigSpec
public QueryResult navigateDescribes(Iterated iteration) throws WTException
navigateDescribes
in interface StructService
iteration
-
WTException
IteratedDescribeLink
,
Iterated
public QueryResult navigateDescribes(Iterated iteration, boolean onlyOtherSide) throws WTException
navigateDescribes
in interface StructService
iteration
- onlyOtherSide
-
WTException
IteratedDescribeLink
,
Iterated
public QueryResult navigateDescribes(Iterated iteration, Class iteratedDescribeLinkClass, boolean onlyOtherSide) throws WTException
navigateDescribes
in interface StructService
iteration
- iteratedDescribeLinkClass
- onlyOtherSide
-
WTException
IteratedDescribeLink
,
Iterated
public WTKeyedMap navigateDescribes(WTCollection iterations) throws WTException
navigateDescribes
in interface StructService
iterations
-
WTException
IteratedDescribeLink
,
wt.vc.version.Iterated
public WTKeyedMap navigateDescribes(WTCollection iterations, boolean onlyOtherSide) throws WTException
navigateDescribes
in interface StructService
iterations
- onlyOtherSide
-
WTException
IteratedDescribeLink
,
wt.vc.version.Iterated
public WTKeyedMap navigateDescribes(WTCollection iterations, Class iteratedDescribeLinkClass, boolean onlyOtherSide) throws WTException
navigateDescribes
in interface StructService
iterations
- iteratedDescribeLinkClass
- onlyOtherSide
-
WTException
IteratedDescribeLink
,
wt.vc.version.Iterated
public QueryResult navigateDescribedBy(Iterated iteration) throws WTException
navigateDescribedBy
in interface StructService
iteration
-
WTException
IteratedDescribeLink
,
Iterated
public QueryResult navigateDescribedBy(Iterated iteration, boolean onlyOtherSide) throws WTException
navigateDescribedBy
in interface StructService
iteration
- onlyOtherSide
-
WTException
IteratedDescribeLink
,
wt.vc.version.Iterated
public QueryResult navigateDescribedBy(Iterated iteration, Class iteratedDescribeLinkClass, boolean onlyOtherSide) throws WTException
navigateDescribedBy
in interface StructService
iteration
- iteratedDescribeLinkClass
- onlyOtherSide
-
WTException
IteratedDescribeLink
,
wt.vc.version.Iterated
public WTKeyedMap navigateDescribedBys(WTCollection iterations) throws WTException
navigateDescribedBys
in interface StructService
iterations
-
WTException
IteratedDescribeLink
,
wt.vc.version.Iterated
public WTKeyedMap navigateDescribedBys(WTCollection iterations, boolean onlyOtherSide) throws WTException
navigateDescribedBys
in interface StructService
iterations
- onlyOtherSide
-
WTException
IteratedDescribeLink
,
wt.vc.version.Iterated
public WTKeyedMap navigateDescribedBys(WTCollection iterations, Class iteratedDescribeLinkClass, boolean onlyOtherSide) throws WTException
navigateDescribedBys
in interface StructService
iterations
- iteratedDescribeLinkClass
- onlyOtherSide
-
WTException
IteratedDescribeLink
,
wt.vc.version.Iterated
private WTKeyedMap getIterationsToLinksMap(WTKeyedMap iterationsToOtherSideObjectsMap, String otherSideRole, WTKeyedMap navigateResultMap) throws WTException
otherSideRole
-
WTException
protected WTKeyedMap latestDescribes(Map navigateResultMap, String role, boolean onlyOtherSide) throws WTException
role
-
WTException
private QueryResult toQueryResult(WTCollection c) throws WTException
c
-
WTException
private WTCollection toWTCollection(QueryResult qr)
qr
-
private WTKeyedMap filterOtherSideRoleObjects(Map iterationsToOtherSideObjectsMap, String role, boolean onlyOtherSide) throws WTException
WTException
protected QueryResult latestDescribe(Iterated iteration, QueryResult qr) throws WTException
iteration
-
WTException
protected void copyLinksForNewCopy(RevisionControlled original, RevisionControlled copy, CopyRules copy_rules) throws WTException
WTException
private WTValuedMap getPredecessors(WTCollection targets) throws WTException
WTException
private void updateUsageLinksForNewIteration(WTValuedMap predecessorsToTargetsMap) throws WTException
WTException
private WTValuedMap getDescribeLinksToCopyForNewDescribedByRoleObjectIteration(WTValuedMap predecessorsToTargetsMap, WTValuedMap copyLinkMap, WTKeyedMap predecessorsToDescribedLinkListMap) throws WTException
WTException
private WTValuedMap getDescribeLinksToCopyForNewDescribesRoleObjectIteration(WTValuedMap predecessorsToTargetsMap, WTValuedMap copyLinkMap, WTKeyedMap predecessorsToDescribedLinkListMap) throws WTException
WTException
private QuerySpec getCopyLinksForNewIterationQuerySpec(Class linkClass, long[] ids) throws WTException
WTException
private StatementSpec getStatementSpec(List querySpecs, SetOperator operator) throws WTException
WTException
private WTKeyedMap addCopyLinkEntry(WTKeyedMap predecessorToLinksMap, StandardStructService.LinkRowSet a_rowSet, int SIZE) throws WTException
WTException
private void updateResultMap(Map resultMap, StandardStructService.LinkRow row) throws WTException
WTException
protected void copyLinksForNewIterations(WTCollection targets) throws WTException
WTException
private void filterNonLatestOtherSideObjects(Map resultMap, WTCollection targetsCollection) throws WTException
WTException
private void copyLinksForCheckout(WTKeyedMap originalWorkingCopyMap) throws WTException
WTException
private WTKeyedMap inflateLinksAndRoleObjects(Map a_sourceObjectsToLinksMap) throws WTException
WTException
private boolean hasLinkTypesToValidate(WTCollection objectToObjectLinkColl)
private void doProjectLinkValidations(WTCollection linksCollection) throws WTException
WTException
private void doReflexiveValidation(WTCollection links) throws WTException
WTException
private WTList queryLatestIterations(WTCollection describeLinks) throws WTException
WTException
private WTList setDescribedBys(WTCollection describeLinksColl, WTList describedByLatestIterations) throws WTException
WTException
private WTCollection getOtherDescribeLinks(WTList describedByLatestIterations, Iterator describeLinksIter) throws WTException
WTException
private void insertDuplicateLinks(WTCollection describeLinks, WTList describedByLatestIterations) throws WTException
WTException
private boolean isCheckedOutToSandbox(Iterated iterated) throws WTException
WTException
private Map getOtherSideSandboxObjects(WTCollection describedBys) throws WTException
WTException
private void insertSandboxLinkDuplicates(WTCollection originalDescribedBys, WTCollection describeLinks) throws WTException
WTException
private WTList formatOriginalCopies(WTList describedByLatestIterations) throws WTException
WTException
private void handleDescribeLinks(WTCollection describeLinks, boolean checkForReflexive) throws WTException
WTException
private WTCollection getOidsFromMap(WTValuedMap m)
private boolean isNotCheckedIn(Iterated iterated) throws WTException
WTException
private CompositeWhereExpression getCompositeWhereExpression(List whereExpressions, LogicalOperator op) throws WTException
WTException
private List getRoles(WTCollection links) throws WTException
WTException
private void initializeValidateLinkAction(Object event) throws WTException
WTException
private WTCollection inflateLinksAndRoleObjects(WTCollection c) throws WTException
WTException
private WTCollection getIterationsCollection(WTCollection linkCollection) throws WTException
WTException
protected void validateLinkAction(WTCollection c, boolean checkForReflexive) throws WTException
WTException
protected QueryResult copyLinksForSandboxGetLinks(boolean includeWorkable, long[] oids) throws WTException
WTException
protected void copyLinksForSandbox(Map versionRefMap) throws WTException
versionRefMap
- Map from references to original versions to corresponding newly versions.
WTException
protected QuerySpec buildBasicNavigateReferencedByOrUsedByQuerySpec(Mastered master, Class byBaseClass, Class linkClass, boolean onlyOtherSide) throws WTException
WTException
protected void addTerminalWhereStatementToBasicNavigateReferencedByOrUsedByQuerySpec(QuerySpec querySpec, Class byBaseClass) throws WTException
WTException
protected QueryResult removeDupesFromNavigateReferencedByOrUsedByResults(QueryResult queryResult, boolean onlyOtherSide)
protected QueryResult navigateReferencedByOrUsedBy(Mastered master, Class linkClass, boolean onlyOtherSide) throws WTException
WTException
private void removeLinksForReferentialIntegrity(WTCollection targets) throws WTException
WTException
private void deleteWithInQuery(WTCollection c, Class a_class) throws WTException
WTException
private void deleteLinksForPurge(WTCollection targets) throws WTException
WTException
private WTKeyedMap navigate(WTCollection iterations, Class iteratedDescribeLinkClass, boolean onlyOtherSide, String role) throws WTException
WTException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |