Package wt.part

Interface WTPartService

All Known Implementing Classes:
StandardWTPartService

@RemoteInterface public interface WTPartService
This service interface defines the API for managing WTParts, WTPartMasters, WTPartConfigSpecs and hierarchies of these parts. There is no API for managing Part, PartMaster and PartVersion so if you implement your own parts that implement these interfaces but are not subclassed from WTPart, WTPartMaster and WTPartConfigSpec, then you will also need to create your own service to manage them.
  • Cookie: None
  • Helper: WTPartHelper has no helper methods
  • Service implementation: StandardWTPartService has listeners
  • ServiceEvent: None
  • ServiceException: PartException


Supported API: true

Extendable: false
  • Method Details

    • publish

      WTPartMaster publish(WTPart part) throws WTException
      Publish the IBA values on the given part to the part master.

      Supported API: true
      Parameters:
      part -
      Returns:
      WTPartMaster
      Throws:
      WTException
    • getUsesWTParts

      QueryResult getUsesWTParts(WTPart part, ConfigSpec configSpec) throws WTException
      Applies the configSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at the 0th position and the corresponding iterations (or master if there is no corresponding iteration) in the 1th position. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      configSpec - The ConfigSpec to use to specify the iterations for the masters used.
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getUsesWTParts

      Persistable[][][] getUsesWTParts(WTList parts, ConfigSpec configSpec) throws WTException
      Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts. Returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part. This API does not support filtering.

      Supported API: true
      Parameters:
      parts - Ordered list of used-by parts.
      configSpec - The config spec to use to select the uses part iterations.
      Returns:
      Persistable[][][]
      Throws:
      WTException
    • getUsesWTParts

      Persistable[][][] getUsesWTParts(WTList parts, NavigationCriteria navigationCriteria) throws WTException
      Navigates from many used-by parts to their uses part masters and applies a NavigationCriteria to select the iterations of the uses parts. Returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the navigation criteria did not select an iteration of the uses part. This API does not support filtering.

      Supported API: true
      Parameters:
      parts - Ordered list of used-by parts.
      navigationCriteria - The navigation criteria to use to select the uses part iterations.
      Returns:
      Persistable[][][]
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts, List pathOccurrences, ConfigSpec configSpec) throws WTException
      Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts. Also includes uses and path occurrences along with path occurrence data. The parameters parts and pathOccurrences are parallel lists where the part and its corresponding path occurrence are at the same index in the two lists. If a part does not have a path occurrence, then its path occurrence should be null in the list of path occurrences. This method returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part. This API does not support filtering.

      Supported API: true
      Parameters:
      parts - Ordered list of used-by parts.
      pathOccurrences - Ordered list of path occurrences whose order corresponds to the order of the parts.
      configSpec - The config spec to use to select the uses part iterations.
      Returns:
      Persistable[][][]
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts, List pathOccurrences, WTProductConfiguration productConfiguration) throws WTException
      Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts. Also includes uses and path occurrences along with path occurrence data. The parameters parts and pathOccurrences are parallel lists where the part and its corresponding path occurrence are at the same index in the two lists. If a part does not have a path occurrence, then its path occurrence should be null in the list of path occurrences. This method returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part. This API does not support filtering.

      Supported API: true
      Parameters:
      parts - Ordered list of used-by parts.
      pathOccurrences - Ordered list of path occurrences whose order corresponds to the order of the parts.
      productConfiguration - The product configuration being navigated. This is used as the config spec and to get the path occurrence data.
      Returns:
      Persistable[][][]
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts, List pathOccurrences, WTProductInstance2 productInstance) throws WTException
      Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts. Also includes uses and path occurrences along with path occurrence data. The parameters parts and pathOccurrences are parallel lists where the part and its corresponding path occurrence are at the same index in the two lists. If a part does not have a path occurrence, then its path occurrence should be null in the list of path occurrences. This method returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part. This API does not support filtering.

      Supported API: true
      Parameters:
      parts - Ordered list of used-by parts.
      pathOccurrences - Ordered list of path occurrences whose order corresponds to the order of the parts.
      productInstance - The product instance being navigated. This is used as the config spec and to get the path occurrence data.
      Returns:
      Persistable[][][]
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      QueryResult getUsesWTPartsWithOccurrences(WTPart part, ConfigSpec configSpec) throws WTException
      This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      configSpec - The ConfigSpec to use to filter the iterations for the masters used.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      QueryResult getUsesWTPartsWithOccurrences(WTPart part, ConfigSpec configSpec, PartPathOccurrence subPathOccurrence) throws WTException
      This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      configSpec - The ConfigSpec to use to filter the iterations for the masters used.
      subPathOccurrence - A PartPathOccurrence that is used to find the relevant PathOccurrence objects that should be returned.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      QueryResult getUsesWTPartsWithOccurrences(WTPart part, WTProductConfiguration productConfiguration, PartPathOccurrence subPathOccurrence) throws WTException
      This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      productConfiguration - The ConfigSpec to use to filter the iterations for the masters used.
      subPathOccurrence - A PartPathOccurrence that is used to find the relevant PathOccurrence objects that should be returned.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      QueryResult getUsesWTPartsWithOccurrences(WTPart part, WTProductInstance2 productInstance, PartPathOccurrence subPathOccurrence) throws WTException
      This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      productInstance - The ConfigSpec to use to filter the iterations for the masters used.
      subPathOccurrence - A PartPathOccurrence that is used to find the relevant PathOccurrence objects that should be returned.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithAllOccurrences

      QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, ConfigSpec configSpec) throws WTException
      This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTPart (or WTPartMaster if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      configSpec - The ConfigSpec to use to select the iterations for the masters used.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithAllOccurrences

      QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, ConfigSpec configSpec, PartPathOccurrence subPathOccurrence) throws WTException
      This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTPart (or WTPartMaster if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      configSpec - The ConfigSpec to use to select the iterations for the masters used.
      subPathOccurrence - A PartPathOccurrence that is used to find the relevant PathOccurrence objects that should be returned.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithAllOccurrences

      QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, WTProductConfiguration productConfiguration, PartPathOccurrence subPathOccurrence) throws WTException
      This method applies the ConfigSpec from the product configuration to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      productConfiguration - The ConfigSpec to use to filter the iterations for the masters used.
      subPathOccurrence - A PartPathOccurrence that is used to find the relevant PathOccurrence objects that should be returned.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithAllOccurrences

      QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, WTProductInstance2 productInstance, PartPathOccurrence subPathOccurrence) throws WTException
      This method applies the ConfigSpec from the product instance to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      productInstance - The ConfigSpec to use to filter the iterations for the masters used.
      subPathOccurrence - A PartPathOccurrence that is used to find the relevant PathOccurrence objects that should be returned.
      Returns:
      QueryResult
      Throws:
      WTException
    • createUsesOccurrences

      wt.part.CreateUsesOccurrencesResult createUsesOccurrences(WTPart seedPart, NavigationCriteria navigationCriteria) throws WTException

      Create uses occurrences for the part structures rooted at the seedParts. The structure is traversed using the supplied NavigationCriteria and occurrences are created for all the usage links for which no occurrences exist in the system. The number of occurrences created for a given usage link is the the same as the quantity specified in the usage link. Note that the occurrences are persisted in the database in batches. The API does not create a transaction to avoid the possibility of database running out of transaction space (because this API may create very large number of objects). Since no transaction is used, in a rare case (very unlikely), the API may end up persisting a few batches and then fail while persisting a later batch.

      For level N+1

        Start with the parts at level N
          Filter out the parts for which the user does not have modify access. The filtered out parts are not traversed further. The sub-assemblies rooted at these parts are skipped from further processing.
            For the rest of the parts, identify the usage links from level N to level N+1
              Filter out the usage links for which the unit in the link is non-each
                Filter out the usage links that are already built (use cadSynchnonized attribute on link). The sub-assemblies starting at these links are skipped from further processing.
                  Filter out the usage links for which at least one occurrence exists in the system. The sub-assemblies starting at these links are still considered (not skipped) for further processing.
                    The occurrences must be created for the remaining usage links. The newly created occurrences will have no reference designator, build status will be To Be Built, quantity of 1 each, location is set to 0 for all coordinates

                    The algorithm stops when either of the following conditions are true

                      There are no usage links to process for a given level
                        The number of levels already processed equals or exceeds a threshold value (set via property)



                        Supported API: true

      Parameters:
      seedPart -
      navigationCriteria -
      Returns:
      CreateUsesResult object that contains info about occurrences created
      Throws:
      WTException
    • createUsesOccurrences

      wt.part.CreateUsesOccurrencesResult createUsesOccurrences(WTCollection usageLinks) throws WTException

      Create uses occurrences for the supplied usage links. The number of occurrences created for a given usage link is the the same as the quantity specified in the usage link.

      Note that the occurrences are persisted in the database in batches. The API does not create a transaction to avoid the possibility of database running out of transaction space (because this API may create very large number of objects). Since no transaction is used, in a rare case (very unlikely), the API may end up persisting a few batches and then fail while persisting a later batch.

        Filter out the usage links for which the unit is not each
          Filter out the usage links for which the user does not have modify access for the role A part
            Filter out the usage links that are already built (use cadSynchnonized attribute on link)
              Filter out the usage links for which at least one persisted occurrence exists in the system
                Create occurrences for the rest of the usage links. The newly created occurrences will have no name, no reference designator, build status will be To Be Built, quantity of 1, location is set to 0 for all coordinates



                Supported API: true

      Parameters:
      usageLinks -
      Returns:
      Throws:
      WTException
    • getUsesWTPartMasters

      QueryResult getUsesWTPartMasters(WTPart part) throws WTException
      Navigates the WTPartUsageLink along the uses role, returning a QueryResult of WTPartUsageLinks.

      Supported API: true
      Parameters:
      part - The part to navigate.
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • filterPartsWithChildren

      WTSet filterPartsWithChildren(WTCollection parts) throws WTException
      Return a WTSet of the part objects passed in that play the used-by role in a WTPartUsageLink; that is, this method returns those parts that use other parts.

      Supported API: true
      Parameters:
      parts - The colllection of WTParts to check which ones use other parts.
      Returns:
      WTSet
      Throws:
      WTException
    • getPartUsesOccurrence

      PartUsesOccurrence getPartUsesOccurrence(PartPathOccurrence usedByPathOccurrence, WTProductConfiguration configuration) throws WTException
      Returns the PartUsesOccurrence associated with the given PartPathOccurrence for the as used in the given WTProductConfiguration.

      Supported API: true
      Parameters:
      usedByPathOccurrence -
      configuration -
      Returns:
      PartUsesOccurrence
      Throws:
      WTException
    • getUsedByWTParts

      QueryResult getUsedByWTParts(WTPartMaster partMaster) throws WTException
      Navigates the WTPartUsageLink along the usedBy role, returning a QueryResult of WTParts. Note that only the latest iteration for any of the part versions is returned.

      Supported API: true
      Parameters:
      partMaster - The part master to navigate to find those parts that use it.
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getUsedByWTParts

      QueryResult getUsedByWTParts(WTPartMaster partMaster, boolean includeTerminalVersions) throws WTException
      Navigates the WTPartUsageLink along the usedBy role, returning a QueryResult of WTParts. Note that only the latest iteration for any of the part versions is returned.

      Supported API: true
      Parameters:
      partMaster - The part master to navigate to find those parts that use it.
      includeTerminalVersions - Whether or not to include terminal versions in the result.
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getReferencesWTDocumentMasters

      QueryResult getReferencesWTDocumentMasters(WTPart part) throws WTException
      Deprecated.
      Use getAssociatedReferenceDocuments(WTCollection parts) from wt.part.PartDocService instead.
      Returns the WTDocumentMasters that are referenced by this WTPart.

      Supported API: true
      Parameters:
      part - The part to get the referenced documents for.
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getDescribedByDocuments

      QueryResult getDescribedByDocuments(WTPart part) throws WTException
      Return a QueryResult of Documents (WTDocuments AND EPMDocuments) that the given WTPart is being described by.

      Supported API: true
      Parameters:
      part -
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getDescribedByDocuments

      QueryResult getDescribedByDocuments(WTPart part, boolean onlyOtherSides) throws WTException
      Return a QueryResult of Documents (WTDocuments AND EPMDocuments) that the given WTPart is being described by. If the onlyOtherSides parameter is false, the QueryResult includes a set of WTPart DescribeLinks that have references to the Documents.

      Supported API: true
      Parameters:
      part -
      onlyOtherSides -
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getDescribedByWTDocuments

      QueryResult getDescribedByWTDocuments(WTPart part) throws WTException
      Return a QueryResult of WTDocuments that the given WTPart is being described by.

      Supported API: true
      Parameters:
      part -
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getDescribedByWTDocuments

      QueryResult getDescribedByWTDocuments(WTPart part, boolean onlyOtherSides) throws WTException
      Return a QueryResult of WTDocuments that the given WTPart is being described by. If the onlyOtherSides parameter is false, the QueryResult includes a set of WTPart DescribeLinks that have references to the WTDocuments.

      Supported API: true
      Parameters:
      part -
      onlyOtherSides -
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getDescribesWTParts

      QueryResult getDescribesWTParts(WTDocument document) throws WTException
      Return a QueryResult of WTParts that the given WTDocument describes.

      Supported API: true
      Parameters:
      document -
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getDescribesWTParts

      QueryResult getDescribesWTParts(WTDocument document, boolean onlyOtherSides) throws WTException
      Return a QueryResult of WTParts that the given WTDocument describes. If the onlyOtherSides parameter is false, the QueryResult includes a set of WTPartDescribeLinks that have references to the WTParts.

      Supported API: true
      Parameters:
      document -
      onlyOtherSides -
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getAlternatesWTPartMasters

      QueryResult getAlternatesWTPartMasters(WTPartMaster partMaster) throws WTException
      Retrieves the alternates related to the given part master.

      Supported API: true
      Parameters:
      partMaster -
      Returns:
      QueryResult of alternate WTPartMasters
      Throws:
      WTException
      See Also:
    • getAlternateForWTPartMasters

      QueryResult getAlternateForWTPartMasters(WTPartMaster partMaster) throws WTException
      Retrieves the alternates for the given part master.

      Supported API: true
      Parameters:
      partMaster -
      Returns:
      QueryResult of WTPartMasters for which partMaster is an alternate
      Throws:
      WTException
      See Also:
    • isAnAlternateOf

      boolean isAnAlternateOf(WTPartMaster partMasterA, WTPartMaster partMasterB) throws WTException
      Determines if part master A is an alternate of part master B

      Supported API: true
      Parameters:
      partMasterA -
      partMasterB -
      Returns:
      true if part master A is an alternate of part master B; false otherwise
      Throws:
      WTException
    • getSubstitutesWTPartMasters

      QueryResult getSubstitutesWTPartMasters(WTPartUsageLink usageLink) throws WTException
      Retrieves the substitutes related to the given part master.

      Supported API: true
      Parameters:
      usageLink - WTPartUsageLink for which substitutes are desired
      Returns:
      QueryResult of substitute WTPartMasters
      Throws:
      WTException
      See Also:
    • getSubstituteForWTPartUsageLinks

      QueryResult getSubstituteForWTPartUsageLinks(WTPartMaster partMaster) throws WTException
      Navigates WTPartSubstituteLinks along the SubstituteFor role.

      Supported API: true
      Parameters:
      partMaster -
      Returns:
      QueryResult of WTPartUsageLinks for which partMaster is a substitute part
      Throws:
      WTException
      See Also:
    • isASubstituteOf

      boolean isASubstituteOf(WTPartMaster partMasterA, WTPart parentPart, WTPart childPart) throws WTException
      Determines if partMasterA is a substitute of partB

      Supported API: true
      Parameters:
      partMasterA - WTPartMaster which would be a substitute Part
      parentPart - RoleA of link for which Substitute will be fetched.
      childPart - RoleB of link for which Substitute will be fetched.
      Returns:
      true if part master A is a substitute of part B; false otherwise
      Throws:
      WTException
      See Also:
    • findWTPartConfigSpec

      WTPartConfigSpec findWTPartConfigSpec() throws WTException
      Returns the WTPartConfigSpec for the current principal. If one does not exist, a null value is returned.

      Supported API: true
      Returns:
      WTPartConfigSpec
      Throws:
      WTException
    • saveWTPartConfigSpec

      WTPartConfigSpec saveWTPartConfigSpec(WTPartConfigSpec a_PartConfigSpec) throws WTException
      Saves the WTPartConfigSpec for the current principal. If one already exists, it is modified by applying the current values. If the supplied value is null and the current principal has a stored config spec, it is deleted.

      Supported API: true
      Parameters:
      a_PartConfigSpec - The WTPartConfigSpec to save.
      Returns:
      WTPartConfigSpec
      Throws:
      WTException
    • setExportDate

      Timestamp setExportDate(WTPart part, PartExportTarget target, Timestamp timestamp) throws WTException
      Set the date that this part iteration was exported to another system - for example, an ERP system. It returns the updated WTPart.

      Supported API: true
      Parameters:
      part - The part iteration being exported to another system.
      target - The name of the target where the part was exported.
      timestamp - A timestamp specifying when the part was exported to another system. If null, the export date is set to the current time and date.
      Returns:
      Timestamp
      Throws:
      WTException
    • getExportDate

      Timestamp getExportDate(WTPart part, PartExportTarget target) throws WTException
      Get the date when this part iteration was exported to another system - for example, an ERP system. Returns null if version had never been exported to the given system.

      Supported API: true
      Parameters:
      part - The part iteration that was exported to another system.
      target - The name of the target where the part had been exported.
      Returns:
      Timestamp
      Throws:
      WTException
    • latestExport

      WTPart latestExport(WTPartMaster master, PartExportTarget target) throws WTException
      Returns the most recently iteration of a part master that was exported to another system - for example, an ERP System. Returns null if no iterations were ever exported to the given system.

      Supported API: true
      Parameters:
      master - The part master.
      target - The name of the target where the part had been exported.
      Returns:
      WTPart
      Throws:
      WTException
    • getMultilevelBomCompare

      void getMultilevelBomCompare(WTPartMaster part1, WTPartConfigSpec spec1, WTPartMaster part2, WTPartConfigSpec spec2, int maxDepth, MultilevelBomCompareVisitor aVisitor) throws WTException, SAXException
      Deprecated.
      Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. This method delegates much of its responsibility. For customization this method uses a MultilevelBomCompareVisitor.

      Supported API: true
      Parameters:
      part1 - The first part being compared. It will be compared to part2 using spec1 to navigate its part structure.
      spec1 - The config spec being used to navigate the part structure of part1.
      part2 - The second part being compared. It will be compared to part1 using spec2 to navigate its part structure.
      spec2 - The config spec being used to navigate the part structure of part2.
      maxDepth - The maximum number of levels down in the part structure to navigate as the comparison is done.
      aVisitor - The visitor used to navigate the two product structures that are being compared. Customization of the data available for the report can be done by passing different visitors. MultilevelBomCompareVisitor is the reference implementation supplied out-of-the-box.
      Throws:
      WTException
      SAXException
      See Also:
    • getMultilevelBomCompare

      void getMultilevelBomCompare(WTPartMaster part1, ConfigSpec spec1, WTPartMaster part2, ConfigSpec spec2, int maxDepth, MultilevelBomCompareVisitor aVisitor) throws WTException, SAXException
      Deprecated.
      Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. This method delegates much of its responsibility. For customization this method uses a MultilevelBomCompareVisitor.

      Supported API: true
      Parameters:
      part1 - The first part being compared. It will be compared to part2 using spec1 to navigate its part structure.
      spec1 - The config spec being used to navigate the part structure of part1.
      part2 - The second part being compared. It will be compared to part1 using spec2 to navigate its part structure.
      spec2 - The config spec being used to navigate the part structure of part2.
      maxDepth - The maximum number of levels down in the part structure to navigate as the comparison is done.
      aVisitor - The visitor used to navigate the two product structures that are being compared. Customization of the data available for the report can be done by passing different visitors. MultilevelBomCompareVisitor is the reference implementation supplied out-of-the-box.
      Throws:
      WTException
      SAXException
    • getMultilevelWhereUsed

      void getMultilevelWhereUsed(WTPart part, WTPartConfigSpec spec, wt.visitor.Navigator navigator, MultilevelWhereUsedVisitor visitor) throws WTException, WTPropertyVetoException
      Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. For customization this method uses a MultilevelBomCompareVisitor.

      Supported API: true
      Parameters:
      part - The part whose usage is being reported.
      spec - The spec used to navigate the product structures where this part may be used.
      navigator - A navigator used to traverse up the product structure.
      visitor - A visitor used for each node of the product structure.
      Throws:
      WTException
      WTPropertyVetoException
      See Also:
    • getMultilevelWhereUsed

      void getMultilevelWhereUsed(WTPart part, wt.visitor.Navigator navigator, MultilevelWhereUsedVisitor visitor) throws WTException, WTPropertyVetoException
      Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. For customization this method uses a MultilevelBomCompareVisitor.

      Supported API: true
      Parameters:
      part - The part whose usage is being reported.
      navigator - A navigator used to traverse up the product structure.
      visitor - A visitor used for each node of the product structure.
      Throws:
      WTException
      WTPropertyVetoException
      See Also:
    • assignView

      void assignView(WTPart part, String a_view) throws WTException, SAXException
      Assign view to the specified part. Check part iteration and verion if view can be updatable.

      Supported API: true
      Parameters:
      part -
      a_view -
      Throws:
      WTException
      SAXException
    • isViewUpdateable

      boolean isViewUpdateable(WTPartMaster partMaster, View oldView, View newView) throws WTException
      Check if view is assignable for give WTPartMaster

      Supported API: true
      Parameters:
      partMaster -
      oldView -
      newView -
      Returns:
      boolean
      Throws:
      WTException
    • getMultilevelBomCompare

      void getMultilevelBomCompare(Object part1, ConfigSpec spec1, Object part2, ConfigSpec spec2, int maxDepth, MultilevelBomCompareVisitor aVisitor) throws WTException, SAXException
      Deprecated.
      Recursively compares parts used by part1 and part2 using configSpec1 and configSpec2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. This method delegates much of its responsibility. For customization this method uses a MultilevelBomCompareVisitor.

      Supported API: true
      Parameters:
      part1 - The first part being compared. It will be compared to part2 using spec1 to navigate its part structure.
      spec1 - The config spec being used to navigate the part structure of part1.
      part2 - The second part being compared. It will be compared to part1 using spec2 to navigate its part structure.
      spec2 - The config spec being used to navigate the part structure of part2.
      maxDepth - The maximum number of levels down in the part structure to navigate as the comparison is done.
      aVisitor - The visitor used to navigate the two product structures that are being compared. Customization of the data available for the report can be done by passing different visitors. MultilevelBomCompareVisitor is the reference implementation supplied out-of-the-box.
      Throws:
      WTException
      SAXException
    • getUsesWTParts

      QueryResult getUsesWTParts(WTPart part, NavigationCriteria navCriteria) throws WTException
      Applies the navigation criteria to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at the 0th position and the corresponding iterations (or master if there is no corresponding iteration) in the 1th position. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      navCriteria - The NavigationCriteria to use to specify the iterations for the masters used.
      Returns:
      QueryResult
      Throws:
      WTException
      See Also:
    • getUsesWTPartsWithOccurrences

      Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts, List pathOccurrences, NavigationCriteria navCriteria) throws WTException
      Navigates from many used-by parts to their uses part masters and applies a NavigationCriteria to select the iterations of the uses parts. Also includes uses and path occurrences along with path occurrence data. The parameters parts and pathOccurrences are parallel lists where the part and its corresponding path occurrence are at the same index in the two lists. If a part does not have a path occurrence, then its path occurrence should be null in the list of path occurrences. This method returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part. This API does not support filtering.

      Supported API: true
      Parameters:
      parts - Ordered list of used-by parts.
      pathOccurrences - Ordered list of path occurrences whose order corresponds to the order of the parts.
      navCriteria - The navigation criteria used to select the uses part iterations.
      Returns:
      Persistable[][][]
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      QueryResult getUsesWTPartsWithOccurrences(WTPart part, NavigationCriteria navCriteria) throws WTException
      This method applies the NavigationCriteria to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      navCriteria - The navigation criteria to use to filter the iterations for the masters used.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithOccurrences

      QueryResult getUsesWTPartsWithOccurrences(WTPart part, NavigationCriteria navCriteria, PartPathOccurrence subPathOccurrence) throws WTException
      This method applies the NavigationCriteria to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      navCriteria - The navigation criteria to use to filter the iterations for the masters used.
      subPathOccurrence - A PartPathOccurrence that is used to find the relevant PathOccurrence objects that should be returned.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithAllOccurrences

      QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, NavigationCriteria navCriteria) throws WTException
      This method applies the NavigationCriteria to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      navCriteria - The NavigationCriteria to use to select the iterations for the masters used.
      Returns:
      QueryResult
      Throws:
      WTException
    • getUsesWTPartsWithAllOccurrences

      QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, NavigationCriteria navCriteria, PartPathOccurrence subPathOccurrence) throws WTException
      This method applies the NavigationCriteria to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1. This API does not support filtering.

      Supported API: true
      Parameters:
      part - The WTPart to navigate.
      navCriteria - The NavigationCriteria to use to select the iterations for the masters used.
      subPathOccurrence - A PartPathOccurrence that is used to find the relevant PathOccurrence objects that should be returned.
      Returns:
      QueryResult
      Throws:
      WTException