com.ptc.windchill.esi.esipart
Class ESIPartRenderer

java.lang.Object
  extended bycom.ptc.windchill.esi.rnd.ResponseRendererImpl
      extended bycom.ptc.windchill.esi.esipart.ESIPartRenderer
All Implemented Interfaces:
PartRenderer, ResponseRenderer

public class ESIPartRenderer
extends ResponseRendererImpl
implements PartRenderer

Default implementation of PartRenderer.

Supported API: true

Extendable: true


Field Summary
protected static String ADDED_ALTERNATEGROUP_NAME
           
protected static String ADDEDGROUP_NAME
           
protected static String ALT_TASK_URI
           
private  boolean alternatesRequired
           
private  String auth
           
protected static String CHANGEDGROUP_NAME
           
private static String CLASSNAME
           
protected static String DELETED_ALTERNATEGROUP_NAME
           
protected static String DELETEDGROUP_NAME
           
private  boolean documentsRequired
           
private  boolean isBom
           
protected static Class PART_CLASS
           
protected static String PART_MAP
           
protected static Class PARTALTLINK_CLASS
           
private  Collection parts
           
protected static String PARTUFID_GROUP_NAME
           
protected static boolean requireChange
           
private static String RESOURCE
           
private  WTPart root
           
private  ESITargetUtility targetUtility
           
protected static String TASK_URI
           
private  TaskHelper taskHelper
           
private  String transactionID
           
private  ESITransactionUtility transactionUtility
           
protected static String UNCHANGEDGROUP_NAME
           
private  ESIPartUtility utility
           
private  String wcAdapter
           
 
Fields inherited from class com.ptc.windchill.esi.rnd.ResponseRendererImpl
XML_META_NAME
 
Fields inherited from interface com.ptc.windchill.esi.esipart.PartRenderer
UTILITY
 
Constructor Summary
ESIPartRenderer()
           
 
Method Summary
private  void addAlternateToElement(String grpName, Group grp, Collection partTargetAssociation)
           
private  void addPartToElement(String grpName, Group grp, Collection partTargetAssociation)
           
protected  Element adjustAlternateElement(Element element, String group, WTPart part, Collection targets)
          Allow subclasses to fix the contents of an element.
protected  Element adjustPartElement(Element element, String group, WTPart part, Eff eff, Collection targets)
          Allow subclasses to fix the contents of an element.
protected  void buildGroups()
          Output generator for the class.
protected  Collection[] findChangedParts(Collection currAssoc, Collection previousAssoc)
           
protected  String getAuth()
          Gets the value of the attribute: auth; Authentication information to pass to Windchill Adapter when executing query webjects.
private  Eff getLatestEffectivity(WTPart part)
           
protected  Collection getParts()
          Gets the value of the attribute: parts; The list of parts that are to be rendered.
protected  WTPart getRoot()
          Gets the value of the attribute: root; The base part of a tree of product structures.
protected  String getTransactionID()
          Gets the value of the attribute: transactionID; The idNumber attribute value of an ESITransaction that is to be associated with this renderer.
 ESIPartUtility getUtility()
          Gets the object for the association that plays role: utility.
protected  String getWcAdapter()
          Gets the value of the attribute: wcAdapter; The name of the Windchill Adapter where query object webjects are to execute.
 void initialize()
          Perform any required initialization processing.
protected  boolean isAlternatesRequired()
          Gets the value of the attribute: alternatesRequired; Should the renderer obtain the alternates to the parts that are to be rendered?

Supported API: true
protected  boolean isDocumentsRequired()
          Gets the value of the attribute: documentsRequired; Should the renderer call the document renderer?

Supported API: true
private  Element mapAlternateElement(String grpName, Element e, WTPart part, Collection targets)
           
private  Element mapPartElement(String grpName, Element e, WTPart part, Eff eff, Collection targets)
           
 void setData(WTPart root, Collection parts, boolean buildAlts, boolean buildDocs, String auth, String wcAdapter, String transactionID)
          Establish the renderer's state so that it can process requests.
 void setMetaValues(Group group)
           
 void setUtility(ESIPartUtility a_Utility)
          Sets the object for the association that plays role: utility.
private  void utilityValidate(ESIPartUtility a_Utility)
           
protected  void validate()
          Make sure the object is ready to process.
 
Methods inherited from class com.ptc.windchill.esi.rnd.ResponseRendererImpl
adjustEffectivities, adjustObjectID, adjustTargets, buildUfidString, getAttsFromMapFile, getBuilder, getEffectivityHandler, getGroupInfo, getMap, getMapInfo, getTargetsFromAssns, invokeQueryTask, logException, mapElement, mapObject, render, setBuilder, setEffectivityHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ptc.windchill.esi.rnd.ResponseRenderer
render
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

parts

private Collection parts

root

private WTPart root

alternatesRequired

private boolean alternatesRequired

documentsRequired

private boolean documentsRequired

auth

private String auth

wcAdapter

private String wcAdapter

transactionID

private String transactionID

utility

private ESIPartUtility utility

requireChange

protected static final boolean requireChange

PART_CLASS

protected static final Class PART_CLASS

PARTALTLINK_CLASS

protected static final Class PARTALTLINK_CLASS

TASK_URI

protected static final String TASK_URI

ALT_TASK_URI

protected static final String ALT_TASK_URI

PARTUFID_GROUP_NAME

protected static final String PARTUFID_GROUP_NAME
See Also:
Constant Field Values

PART_MAP

protected static final String PART_MAP

ADDEDGROUP_NAME

protected static final String ADDEDGROUP_NAME
See Also:
Constant Field Values

CHANGEDGROUP_NAME

protected static final String CHANGEDGROUP_NAME
See Also:
Constant Field Values

DELETEDGROUP_NAME

protected static final String DELETEDGROUP_NAME
See Also:
Constant Field Values

UNCHANGEDGROUP_NAME

protected static final String UNCHANGEDGROUP_NAME
See Also:
Constant Field Values

ADDED_ALTERNATEGROUP_NAME

protected static final String ADDED_ALTERNATEGROUP_NAME
See Also:
Constant Field Values

DELETED_ALTERNATEGROUP_NAME

protected static final String DELETED_ALTERNATEGROUP_NAME
See Also:
Constant Field Values

isBom

private boolean isBom

taskHelper

private TaskHelper taskHelper

targetUtility

private ESITargetUtility targetUtility

transactionUtility

private ESITransactionUtility transactionUtility
Constructor Detail

ESIPartRenderer

public ESIPartRenderer()
Method Detail

getParts

protected Collection getParts()
Gets the value of the attribute: parts; The list of parts that are to be rendered.

Supported API: true

Returns:
Collection

getRoot

protected WTPart getRoot()
Gets the value of the attribute: root; The base part of a tree of product structures.

Supported API: true

Returns:
WTPart

isAlternatesRequired

protected boolean isAlternatesRequired()
Gets the value of the attribute: alternatesRequired; Should the renderer obtain the alternates to the parts that are to be rendered?

Supported API: true

Returns:
boolean

isDocumentsRequired

protected boolean isDocumentsRequired()
Gets the value of the attribute: documentsRequired; Should the renderer call the document renderer?

Supported API: true

Returns:
boolean

getAuth

protected String getAuth()
Gets the value of the attribute: auth; Authentication information to pass to Windchill Adapter when executing query webjects.

Supported API: true

Returns:
String

getWcAdapter

protected String getWcAdapter()
Gets the value of the attribute: wcAdapter; The name of the Windchill Adapter where query object webjects are to execute.

Supported API: true

Returns:
String

getTransactionID

protected String getTransactionID()
Gets the value of the attribute: transactionID; The idNumber attribute value of an ESITransaction that is to be associated with this renderer.

Supported API: true

Returns:
String

validate

protected void validate()
                 throws ESIRendererException
Make sure the object is ready to process. If root, auth, or wcAdapter are null, throws an exception.

Supported API: true

Specified by:
validate in class ResponseRendererImpl
Throws:
ESIRendererException

buildGroups

protected void buildGroups()
                    throws ESIRendererException
Output generator for the class. Does the following:
  1. Obtains the contents of the parts collection.
  2. Finds the ESI targets associated with the parts.
  3. Finds the most current released version of the part for each target.
  4. Compares the current version to the most current version. If they are the same and the effectivity has not changed, the part is ignored.
  5. If the part is not ignored, calls the Windchill Adapter to obtain all the attributes of the part.
  6. Maps the result of the Windchill Adapter call.
  7. Calls adjustPartElement()
  8. If documents are required, calls the document renderer.


Supported API: true

Specified by:
buildGroups in class ResponseRendererImpl
Throws:
ESIRendererException

adjustPartElement

protected Element adjustPartElement(Element element,
                                    String group,
                                    WTPart part,
                                    Eff eff,
                                    Collection targets)
                             throws ESIRendererException
Allow subclasses to fix the contents of an element.

Supported API: true

Parameters:
element -
group -
part -
eff - May be null.
targets - Collection of ESITarget objects.
Returns:
Element
Throws:
ESIRendererException

adjustAlternateElement

protected Element adjustAlternateElement(Element element,
                                         String group,
                                         WTPart part,
                                         Collection targets)
                                  throws ESIRendererException
Allow subclasses to fix the contents of an element.

Supported API: true

Parameters:
element -
group -
part -
targets - Collection of ESITarget objects.
Returns:
Element
Throws:
ESIRendererException

setData

public void setData(WTPart root,
                    Collection parts,
                    boolean buildAlts,
                    boolean buildDocs,
                    String auth,
                    String wcAdapter,
                    String transactionID)
Establish the renderer's state so that it can process requests.

Supported API: false

Specified by:
setData in interface PartRenderer
Parameters:
root - The primary part to process. May not be null. If multiple parts are to be processed, the renderer will use the root as the base part for target determination.
parts - A collection of additional parts to process. May be empty.
buildAlts - Are alternates to be returned by the renderer?
buildDocs - Are documents associated with the part to be returned by the renderer?
auth - Info*Engine authorization for invoking a webject.
wcAdapter - Windchill adapter instance to run the webject
transactionID - Optional transaction ID to pass to the VDB builder.

initialize

public void initialize()
Perform any required initialization processing.

Supported API: true

Specified by:
initialize in interface PartRenderer

getUtility

public ESIPartUtility getUtility()
Gets the object for the association that plays role: utility.

Supported API: true

Specified by:
getUtility in interface PartRenderer
Returns:
ESIPartUtility

setUtility

public void setUtility(ESIPartUtility a_Utility)
                throws WTPropertyVetoException
Sets the object for the association that plays role: utility.

Supported API: true

Specified by:
setUtility in interface PartRenderer
Parameters:
a_Utility -
Throws:
WTPropertyVetoException

utilityValidate

private void utilityValidate(ESIPartUtility a_Utility)
                      throws WTPropertyVetoException
Parameters:
a_Utility -
Throws:
WTPropertyVetoException

setMetaValues

public void setMetaValues(Group group)

addPartToElement

private void addPartToElement(String grpName,
                              Group grp,
                              Collection partTargetAssociation)
                       throws ESIRendererException
Throws:
ESIRendererException

findChangedParts

protected Collection[] findChangedParts(Collection currAssoc,
                                        Collection previousAssoc)
                                 throws ESIRendererException
Throws:
ESIRendererException

addAlternateToElement

private void addAlternateToElement(String grpName,
                                   Group grp,
                                   Collection partTargetAssociation)
                            throws ESIRendererException
Throws:
ESIRendererException

mapAlternateElement

private Element mapAlternateElement(String grpName,
                                    Element e,
                                    WTPart part,
                                    Collection targets)
                             throws ESIRendererException
Throws:
ESIRendererException

mapPartElement

private Element mapPartElement(String grpName,
                               Element e,
                               WTPart part,
                               Eff eff,
                               Collection targets)
                        throws ESIRendererException
Throws:
ESIRendererException

getLatestEffectivity

private Eff getLatestEffectivity(WTPart part)
                          throws ESIRendererException
Throws:
ESIRendererException