Class AbstractSubcontractDiscrepancyResolver
java.lang.Object
com.ptc.windchill.associativity.reconciliation.AbstractDiscrepancyProcessor
com.ptc.windchill.associativity.reconciliation.resolver.AbstractDiscrepancyResolver
com.ptc.windchill.associativity.reconciliation.resolver.AbstractAddUsageResolver
com.ptc.windchill.associativity.reconciliation.resolver.AbstractSubcontractDiscrepancyResolver
The base class to define the template for subcontract plant. This is not singleton, but you call
Supported API: true
Extendable: true
resolve(ReconciliationContext, Collection), it creates a new instance and then uses that. This is done since
its a delegate pattern and maybe cached via factory, hence this always creates a new instance Supported API: true
Extendable: true
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ptc.windchill.associativity.reconciliation.resolver.AbstractAddUsageResolver
AbstractAddUsageResolver.TransformationReportNested classes/interfaces inherited from class com.ptc.windchill.associativity.reconciliation.AbstractDiscrepancyProcessor
AbstractDiscrepancyProcessor.ConsumptionData -
Field Summary
Fields inherited from class com.ptc.windchill.associativity.reconciliation.resolver.AbstractAddUsageResolver
ADDUSAGE_DONT_TRAVERSE_STRUCTURE, VIEW_OP_IDFields inherited from class com.ptc.windchill.associativity.reconciliation.resolver.AbstractDiscrepancyResolver
ASSOC_DELEGATE_FACTORY, ASSOCIATIVITY_SERVICE_LOCATOR, PERSISTABLE_PROVIDERFields inherited from class com.ptc.windchill.associativity.reconciliation.AbstractDiscrepancyProcessor
BASE_SERVICE_LOCATOR, containerRef, EMPTY_STRING, EQUIVALENCE_CACHE, EQUIVALENTPART_CACHE, FIRST_LEVEL_EQUIVALENCE_PATHS, MAPSB_PARAM_COPY_OVER_CONTEXT, OCCURRENCE_PATH_CACHE, OTHERSIDE_OCC_PATH_CACHE, OTHERSIDE_USAGE_PATH_CACHE, RESOURCE, UPSTREAM_OCCURRENCE_CACHE -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoPreTransformation(ReconciliationContext context, AssociativePath upPath, AssociativePath downParentPath)
Supported API: true
protected abstract AddUsageDiscrepancygetDiscrepancyInstance(AddUsageDiscrepancy addUsageDiscrepancy)
Supported API: trueprotected abstract String
Supported API: trueprotected Set<ViewReference> getSubcontractPlantsReference(ReconciliationContext context, AssociativePath upPath)
Supported API: true
getTargetParentPaths(ReconciliationContext context, AssociativePath validUpPath) The main method to override to implement custom logic for finding the target downstream parent path under which to do the transformation.protected abstract AbstractSubcontractDiscrepancyResolvernewInstance(ReconciliationContext context) This is needed since this resolver is not a singleton and it creates a new instance of self and executes everything on this instance for performance to be able to cache data.Methods inherited from class com.ptc.windchill.associativity.reconciliation.resolver.AbstractAddUsageResolver
areValuesEqual, buildAssembleDiscrepancies, doPopulateDefaultParams, doTransform, filterChildPaths, filterPathsByView, filterTargetParentPaths, filterValidForFurtherProcessing, filterValidForTransformation, forceCreateDownstream, getAssembleChildPaths, getAssembleDelegate, getConfig, getConsumptionStatusMap, getDownstreamTransformedPaths, getExistingDownstream, getStructureOption, getTargetEquivalentPaths, handleAssemble, handleExtendEquivalence, handleNewBranch, handleNewPart, handleSame, handleTransformationOption, initialize, initializeTransformationParam, isValidForFurtherProcessing, isValidInstanceForTransformation, isValidTypeForTransformation, populateAssemblePartDescriptor, populateDefaultTransformationParam, resolveDiscrepancies, updateParamForStructureOptionMethods inherited from class com.ptc.windchill.associativity.reconciliation.resolver.AbstractDiscrepancyResolver
copyOverAttributes, createAndInsertPart, createEqLinks, createEquivalenceLinks, createNewInstance, getAttributesCopyOverDelegate, getCopyOverContext, getView, getViewReferenceMethods inherited from class com.ptc.windchill.associativity.reconciliation.AbstractDiscrepancyProcessor
areEqual, checkoutAndHandleReplacements, createUsageLinkAndGetAssociativePath, doConsumptionAnalysis, fetchAndCacheDownstreamEquivalenceLinks, fetchEquivalenceLinks, fetchEquivalentParts, filterConsumedPaths, filterDownEquivalents, getAllOccurrences, getAllSplitDownEquivalentContextMasters, getAssembleToOrderDAO, getAssociativeDAO, getBomService, getChildrenInfo, getClassificationAttributeDAO, getCopyOverDelegateFactory, getCurrentToOldChangeItems, getDescriptorFactory, getDiscrepancyDelegate, getDiscrepantConsumedOccPaths, getDiscrepantConsumedUsagePaths, getDiscrepantConsumedUsagePaths, getDownConsumedPath, getDownstreamEquivalentContextMasters, getEffectivityDAO, getEquivalenceDAO, getEquivalenceManager, getExpressionService, getFactory, getFilteredDownstreamEquivalent, getFilteredDownstreamEquivalents, getFirstLevelEquivalentPaths, getIteratedDAO, getLocalizedMessage, getLocalizer, getNavCriteriaDAO, getOccurrenceManager, getParentAssociative, getPartDAO, getPartPathManager, getPathManager, getPersistableDAO, getPropertiesParser, getResolutionOption, getUpdateQuantityService, getUsagePathLinkManager, hasEquivalenceAnnotation, isAlternateDiscpreancy, isCheckedOutToAnotherUser, isProcessed, isSamePath, populateEquivalenceConsumptionData, populateImpactedUsageConsumptionData, populateOccurrenceConsumptionData, populateTypeInstances, populateUsageConsumptionData, setDownstreamEquivalentAssociativesToContext, updateAssociativePath
-
Method Details
-
newInstance
protected abstract AbstractSubcontractDiscrepancyResolver newInstance(ReconciliationContext context) This is needed since this resolver is not a singleton and it creates a new instance of self and executes everything on this instance for performance to be able to cache data. If your extending class has member variables, you need to override this and provide us with correct instance, so that you can use your inner variables in the flow.
Supported API: true- Overrides:
newInstancein classAbstractAddUsageResolver- Parameters:
context-- Returns:
-
getTargetParentPaths
public Collection<AssociativePath> getTargetParentPaths(ReconciliationContext context, AssociativePath validUpPath) throws WTException The main method to override to implement custom logic for finding the target downstream parent path under which to do the transformation. Should never return null, but can return empty.
Supported API: true- Overrides:
getTargetParentPathsin classAbstractAddUsageResolver- Parameters:
context-validUpPath-- Returns:
- Throws:
WTException
-
getDiscrepancyInstance
protected abstract AddUsageDiscrepancy getDiscrepancyInstance(AddUsageDiscrepancy addUsageDiscrepancy)
Supported API: true- Overrides:
getDiscrepancyInstancein classAbstractAddUsageResolver- Parameters:
addUsageDiscrepancy-- Returns:
-
getSubcontractPlantsReference
protected Set<ViewReference> getSubcontractPlantsReference(ReconciliationContext context, AssociativePath upPath) throws WTException
Supported API: true
- Throws:
WTException
-
getPropertyPrefix
Supported API: true- Returns:
- the propertyPrefix
-
doPreTransformation
protected void doPreTransformation(ReconciliationContext context, AssociativePath upPath, AssociativePath downParentPath) throws WTException
Supported API: true
- Specified by:
doPreTransformationin classAbstractAddUsageResolver- Parameters:
context-upPath-downParentPath-- Throws:
WTException
-