wt.visitor
Class ReverseOccurrencedConfigSpecNodeExpander

java.lang.Object
  extended bywt.visitor.ConfigSpecNodeExpander
      extended bywt.visitor.ReverseOccurrencedConfigSpecNodeExpander
All Implemented Interfaces:
NodeExpander, Serializable

public class ReverseOccurrencedConfigSpecNodeExpander
extends ConfigSpecNodeExpander
implements Serializable

This ConfigSpecNodeExpander class uses the Struct Service and a ConfigSpec to implement the expand operation. The node is assumed to be an Iteration and the "used by" link is navigated. It also takes into account occurrences.

Supported API: true

Extendable: false

See Also:
ConfigSpec, StructService, Serialized Form

Nested Class Summary
(package private)  class ReverseOccurrencedConfigSpecNodeExpander.Node
           
 
Field Summary
(package private)  Hashtable baselinePaths
           
private static String CLASSNAME
           
(package private)  Hashtable completePaths
           
(package private)  WTProductConfiguration configuration
           
(package private)  Hashtable incompletePaths
           
(package private)  Map linksMappedToNodes
           
(package private)  int nodeCount
           
(package private)  Map nodeMappings
           
(package private)  Map overrideCache
           
(package private)  WTPartBaselineConfigSpec partConfigSpec
           
(package private)  Map pathsMappedToNodes
           
(package private)  WTProductInstance2 productInstance
           
private static String RESOURCE
           
(package private)  Map subPathsMappedToNodes
           
(package private)  WTPart targetPart
           
(package private)  WTProduct topProduct
           
(package private)  ReverseOccurrencedConfigSpecNodeExpander.Node topProductNode
           
 
Fields inherited from class wt.visitor.ConfigSpecNodeExpander
 
Constructor Summary
ReverseOccurrencedConfigSpecNodeExpander()
           
ReverseOccurrencedConfigSpecNodeExpander(WTProductConfiguration a_Configuration)
          Constructs an instance.
 
Method Summary
protected  ReverseOccurrencedConfigSpecNodeExpander.Node addBaselineNode(ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
protected  ReverseOccurrencedConfigSpecNodeExpander.Node addBaselinePart(WTPart part, ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
protected  ReverseOccurrencedConfigSpecNodeExpander.Node addOverrideNode(ReverseOccurrencedConfigSpecNodeExpander.Node node, PartPathOccurrence subPath)
           
protected  void addOverridesToCompletePaths(QueryResult overrides)
           
protected  void addPart(BaselineConfigurationOverride override, ReverseOccurrencedConfigSpecNodeExpander.Node subNode)
           
protected  void addPart(PartPathOccurrence pathOccurrence, ReverseOccurrencedConfigSpecNodeExpander.Node subNode)
           
protected  void addPart(WTPart part, ReverseOccurrencedConfigSpecNodeExpander.Node subNode)
           
protected  void addPart(WTPartUsageLink link, PartPathOccurrence subPath, ReverseOccurrencedConfigSpecNodeExpander.Node subNode)
           
protected  ReverseOccurrencedConfigSpecNodeExpander.Node addPartX(BaselineConfigurationOverride override)
           
protected  ReverseOccurrencedConfigSpecNodeExpander.Node addPartX(PartPathOccurrence pathOccurrence)
           
protected  ReverseOccurrencedConfigSpecNodeExpander.Node addPartX(WTPart part)
           
protected  ReverseOccurrencedConfigSpecNodeExpander.Node addPartX(WTPartUsageLink link)
           
protected  void addToCompletePaths(PartPathOccurrence path, ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
protected  void cacheOverrides()
           
(package private)  String describeLink(WTPartUsageLink link)
           
 void expandNode(Persistable parentNode, Vector links, Vector nodes)
          Expands the node returning all of the links and nodes associated with the parent node.
(package private)  ReverseOccurrencedConfigSpecNodeExpander.Node get(PartPathOccurrence path)
           
(package private)  List get(WTPartUsageLink link)
           
(package private)  QueryResult getBaselineVersionsUsingBaselinePart(WTPart part)
           
protected  List getComplementsToX(List overrides, WTPart part)
           
protected  Object[] getComplementTo(List overrides)
           
(package private)  ObjectIdentifier getObjectIdentifier(Persistable object)
           
(package private)  QueryResult getOverriddenVersionsUsingBaselinePart(QueryResult baselineVersions)
           
protected  List getOverrides(WTPart part)
           
protected  Vector getPartLinks(WTPart part)
           
protected  List getPaths(WTPart part)
           
(package private)  Persistable getPersistableObjectIdentifier(Persistable object)
           
(package private)  WTPart getVersionUsingPath(PartPathOccurrence path)
           
(package private)  ReverseOccurrencedConfigSpecNodeExpander.Node getX(WTPartUsageLink link)
           
(package private)  void handleOverridePart(WTPart part, Vector links, Vector nodes)
           
(package private)  void handlePartInBaseline(WTPart part, Vector links, Vector nodes)
           
(package private)  void handleSubPartInBaseline(WTPart part, Vector links, Vector nodes)
           
protected  boolean hasSameSubPath(PartPathOccurrence first, PartPathOccurrence second)
           
protected  boolean isComplete(PartPathOccurrence path)
           
protected  boolean isEquivalent(WTObject first, WTObject second)
           
protected  boolean isInBaseline(WTPart part)
           
protected  boolean isTargetPart(WTPart part)
           
protected  boolean isTopProduct(WTPart part)
           
(package private)  void put(PartPathOccurrence path, ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
(package private)  void put(WTPartUsageLink link, PartPathOccurrence path, ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
(package private)  void put(WTPartUsageLink link, ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
(package private)  void putX(WTPartUsageLink link, ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
(package private)  ReverseOccurrencedConfigSpecNodeExpander.Node removeForLink(ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
(package private)  ReverseOccurrencedConfigSpecNodeExpander.Node removeForPath(ReverseOccurrencedConfigSpecNodeExpander.Node node)
           
(package private)  String topProductNodeTree()
           
 
Methods inherited from class wt.visitor.ConfigSpecNodeExpander
getConfigSpec, setConfigSpec
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

productInstance

WTProductInstance2 productInstance

configuration

WTProductConfiguration configuration

topProduct

WTProduct topProduct

targetPart

WTPart targetPart

topProductNode

ReverseOccurrencedConfigSpecNodeExpander.Node topProductNode

completePaths

Hashtable completePaths

baselinePaths

Hashtable baselinePaths

incompletePaths

Hashtable incompletePaths

linksMappedToNodes

Map linksMappedToNodes

pathsMappedToNodes

Map pathsMappedToNodes

subPathsMappedToNodes

Map subPathsMappedToNodes

nodeMappings

Map nodeMappings

overrideCache

Map overrideCache

partConfigSpec

WTPartBaselineConfigSpec partConfigSpec

nodeCount

int nodeCount
Constructor Detail

ReverseOccurrencedConfigSpecNodeExpander

public ReverseOccurrencedConfigSpecNodeExpander(WTProductConfiguration a_Configuration)
                                         throws WTException,
                                                WTPropertyVetoException
Constructs an instance.

Supported API: true

Parameters:
a_Configuration -
Throws:
WTException
WTPropertyVetoException

ReverseOccurrencedConfigSpecNodeExpander

public ReverseOccurrencedConfigSpecNodeExpander()
Method Detail

expandNode

public void expandNode(Persistable parentNode,
                       Vector links,
                       Vector nodes)
                throws WTException
Expands the node returning all of the links and nodes associated with the parent node.

Supported API: true

Specified by:
expandNode in interface NodeExpander
Overrides:
expandNode in class ConfigSpecNodeExpander
Parameters:
parentNode -
links -
nodes -
Throws:
WTException

addOverridesToCompletePaths

protected void addOverridesToCompletePaths(QueryResult overrides)

addToCompletePaths

protected void addToCompletePaths(PartPathOccurrence path,
                                  ReverseOccurrencedConfigSpecNodeExpander.Node node)

getComplementTo

protected Object[] getComplementTo(List overrides)
                            throws WTException
Throws:
WTException

getComplementsToX

protected List getComplementsToX(List overrides,
                                 WTPart part)
                          throws WTException
Throws:
WTException

getPartLinks

protected Vector getPartLinks(WTPart part)
                       throws WTException
Throws:
WTException

getPaths

protected List getPaths(WTPart part)
                 throws WTException
Throws:
WTException

isComplete

protected boolean isComplete(PartPathOccurrence path)

isInBaseline

protected boolean isInBaseline(WTPart part)
                        throws WTException
Throws:
WTException

isTargetPart

protected boolean isTargetPart(WTPart part)

isTopProduct

protected boolean isTopProduct(WTPart part)

cacheOverrides

protected void cacheOverrides()
                       throws WTException
Throws:
WTException

getOverrides

protected List getOverrides(WTPart part)
                     throws WTException
Throws:
WTException

addBaselinePart

protected ReverseOccurrencedConfigSpecNodeExpander.Node addBaselinePart(WTPart part,
                                                                        ReverseOccurrencedConfigSpecNodeExpander.Node node)
                                                                 throws WTException
Throws:
WTException

addPart

protected void addPart(WTPart part,
                       ReverseOccurrencedConfigSpecNodeExpander.Node subNode)
                throws WTException
Throws:
WTException

addPart

protected void addPart(WTPartUsageLink link,
                       PartPathOccurrence subPath,
                       ReverseOccurrencedConfigSpecNodeExpander.Node subNode)
                throws WTException
Throws:
WTException

addPart

protected void addPart(BaselineConfigurationOverride override,
                       ReverseOccurrencedConfigSpecNodeExpander.Node subNode)
                throws WTException
Throws:
WTException

addPart

protected void addPart(PartPathOccurrence pathOccurrence,
                       ReverseOccurrencedConfigSpecNodeExpander.Node subNode)
                throws WTException
Throws:
WTException

addPartX

protected ReverseOccurrencedConfigSpecNodeExpander.Node addPartX(WTPart part)
                                                          throws WTException
Throws:
WTException

addPartX

protected ReverseOccurrencedConfigSpecNodeExpander.Node addPartX(WTPartUsageLink link)
                                                          throws WTException
Throws:
WTException

addPartX

protected ReverseOccurrencedConfigSpecNodeExpander.Node addPartX(BaselineConfigurationOverride override)
                                                          throws WTException
Throws:
WTException

addPartX

protected ReverseOccurrencedConfigSpecNodeExpander.Node addPartX(PartPathOccurrence pathOccurrence)
                                                          throws WTException
Throws:
WTException

addOverrideNode

protected ReverseOccurrencedConfigSpecNodeExpander.Node addOverrideNode(ReverseOccurrencedConfigSpecNodeExpander.Node node,
                                                                        PartPathOccurrence subPath)
                                                                 throws WTException
Throws:
WTException

addBaselineNode

protected ReverseOccurrencedConfigSpecNodeExpander.Node addBaselineNode(ReverseOccurrencedConfigSpecNodeExpander.Node node)
                                                                 throws WTException
Throws:
WTException

hasSameSubPath

protected boolean hasSameSubPath(PartPathOccurrence first,
                                 PartPathOccurrence second)

isEquivalent

protected boolean isEquivalent(WTObject first,
                               WTObject second)

handleOverridePart

void handleOverridePart(WTPart part,
                        Vector links,
                        Vector nodes)
                  throws WTException
Throws:
WTException

handlePartInBaseline

void handlePartInBaseline(WTPart part,
                          Vector links,
                          Vector nodes)
                    throws WTException
Throws:
WTException

handleSubPartInBaseline

void handleSubPartInBaseline(WTPart part,
                             Vector links,
                             Vector nodes)
                       throws WTException
Throws:
WTException

getBaselineVersionsUsingBaselinePart

QueryResult getBaselineVersionsUsingBaselinePart(WTPart part)
                                           throws WTException
Throws:
WTException

getOverriddenVersionsUsingBaselinePart

QueryResult getOverriddenVersionsUsingBaselinePart(QueryResult baselineVersions)
                                             throws WTException
Throws:
WTException

getVersionUsingPath

WTPart getVersionUsingPath(PartPathOccurrence path)
                     throws WTException
Throws:
WTException

get

List get(WTPartUsageLink link)

put

void put(WTPartUsageLink link,
         ReverseOccurrencedConfigSpecNodeExpander.Node node)

removeForLink

ReverseOccurrencedConfigSpecNodeExpander.Node removeForLink(ReverseOccurrencedConfigSpecNodeExpander.Node node)

get

ReverseOccurrencedConfigSpecNodeExpander.Node get(PartPathOccurrence path)

put

void put(PartPathOccurrence path,
         ReverseOccurrencedConfigSpecNodeExpander.Node node)

removeForPath

ReverseOccurrencedConfigSpecNodeExpander.Node removeForPath(ReverseOccurrencedConfigSpecNodeExpander.Node node)

getX

ReverseOccurrencedConfigSpecNodeExpander.Node getX(WTPartUsageLink link)

putX

void putX(WTPartUsageLink link,
          ReverseOccurrencedConfigSpecNodeExpander.Node node)

put

void put(WTPartUsageLink link,
         PartPathOccurrence path,
         ReverseOccurrencedConfigSpecNodeExpander.Node node)

getObjectIdentifier

ObjectIdentifier getObjectIdentifier(Persistable object)

getPersistableObjectIdentifier

Persistable getPersistableObjectIdentifier(Persistable object)

describeLink

String describeLink(WTPartUsageLink link)

topProductNodeTree

String topProductNodeTree()