JPOs

Java Programming Objects perform operations, such as finalizing, renaming, and so on.

The Global Configuration Object for a collaborative product maps these JPOs to the functions they perform. Specific collaborative product installers may install different JPOs to perform functions specific to that collaborative product.

See the3DEXPERIENCE Open - Configuration Guide for more information about using and customizing JPOs. To enhance or change any JPO, refer to the actual JPO code. The code clearly defines entry point methods and documents all arguments passed to the JPO during invocation.

This page discusses:

JPO Organization

IEFBaseJPO is the base class defined for the JPOs.

This class contains all the data members, like Global Configuration Object, Utility classes and Resource bundle, used by the JPOs. This class also initializes these members. The IEF servlet JAR file invokes these JPOs by passing the Global Configuration Object as arguments.

The IEFCommonUIActions program is derived from IEF-BaseJPO and defines the entry point functions for invocation of all JPOs. Following are the 2 entry point methods:

  • Execute()
  • Canshowbutton()

These JPOs are derived from IEFCommonUIActions:

  • MCADFinalize
  • MCADUndoFinalize
  • MCADRename
  • MCADSaveAs
  • MCADEBOMSynchronize
  • MCADJPOUtils

Any collaborative products installing JPOs (such as ECADFinalize) should follow the same hierarchy.

Renamed JPOs

To allow extraction using MQL, prior JPOs that include a hyphen (-) in the name have been renamed to remove the hyphen and all code, JSPs, and schema have been updated appropriately.

The following table lists the original and new names of the affected JPOs:

Original JPO Name

Current JPO Name

MCADIntegGetDrawingExtended - File

MCADIntegGetDrawingExtendedFile

MCADInteg-RelatedDrawingExtended.java

MCADIntegRelatedDrawingExtended.java

MCADInteg-GetLatestVersion.java

MCADIntegGetLatestVersion.java

MCADInteg-GetLatestRevision.java

MCADIntegGetLatestRevision.java

MCADInteg-GetDrawing.java

MCADIntegGetDrawing.java

MCADInteg-GetCaseSensitiveFlag.java

MCADIntegGetCaseSensitiveFlag.java

MCADInteg-CheckObsolete.java

MCADIntegCheckObsolete.java

MCAD-UpdateNextInRevision.java

MCADUpdateNextInRevision.java

MCAD-UndoFinalize.java

MCADUndoFinalize.java

MCAD-TransferAttributesForEBOM.java

MCADTransferAttributesForEBOM.java

MCAD-SaveAs.java

MCADSaveAs.java

MCAD-Representations.java

MCADRepresentations.java

MCAD-Rename.java

MCADRename.java

MCAD-Purge.java

MCADPurge.java

MCAD-LockUnlockObject.java

MCADLockUnlockObject.java

MCAD-Instances.java

MCADInstances.java

MCAD-InstanceRepresentations.java

MCADInstanceRepresentations.java

MCAD-GetTypesForTypeChooser.java

MCADGetTypesForTypeChooser.java

MCAD-GetLatestRevisionAndVersion.java

MCADGetLatestRevisionAndVersion.java

MCAD-GenerateName.java

MCADGenerateName.java

MCAD-Finalize.java

MCADFinalize.java

MCAD-EBOMSynchronize.java

MCADEBOMSynchronize.java

MCAD-DerivedOutputsTableData.java

MCADDerivedOutputsTableData.java

MCAD-AddLocalConfigObject.java

MCADAddLocalConfigObject.java

IEF-TriggerManager.java

IEFTriggerManager.java

IEF-SynchronizeAssignments.java

IEFSynchronizeAssignments.java

IEF-StartDesignJPO.java

IEFStartDesignJPO.java

IEF-StartDesignCreateStructure.java

IEFStartDesignCreateStructure.java

IEF-SmartSync.java

IEFSmartSync.java

IEF-ShowVersions.java

IEFShowVersions.java

IEF-SearchUsers.java

IEFSearchUsers.java

IEF-SearchAttributes.java

IEFSearchAttributes.java

IEF-RuleLatest.java

IEFRuleLatest.java

IEF-RegisterIntegration.java

IEFRegisterIntegration.java

IEF-PromoteIfDesignCenterCommand.java

IEFPromoteIfDesignCenterCommand.java

IEF-ProgressCounter.java

IEFProgressCounter.java

IEF-ProEFileMigration.java

IEFProEFileMigration.java

IEF-PreferencesPageLayout.java

IEFPreferencesPageLayout.java

IEF-ObjectWhereUsed.java

IEFObjectWhereUsed.java

IEF-ObjectsLockedBy.java

IEFObjectsLockedBy.java

IEF-GuessIntegrationContext.java

IEFGuessIntegrationContext.java

IEF-GetRegistrationDetails.java

IEFGetRegistrationDetails.java

IEF-GetRegisteredIntegrations.java

IEFGetRegisteredIntegrations.java

IEF-GetHardlinkServerDetailsForRFA.java

IEFGetHardlinkServerDetailsForRFA.java

IEF-FamilyMigrationFindObjects.java

IEFFamilyMigrationFindObjects.java

IEF-FamilyAttrToObjectMigrator.java

IEFFamilyAttrToObjectMigrator.java

IEF-EBOMSync-NewPartCreation.java

IEFEBOMSyncNewPartCreation.java

IEF-EBOMSync-FindMatchingPart.java

IEFEBOMSyncFindMatchingPart.java

IEF-EBOMSync-ConnectParts.java

IEFEBOMSyncConnectParts.java

IEF-DeleteMinor.java

IEFDeleteMinor.java

IEF-DeleteFamilyTable.java

IEFDeleteFamilyTable.java

IEF-DeleteDerivedOutput.java

IEFDeleteDerivedOutput.java

IEF-CreateMinorTrigger.java

IEFCreateMinorTrigger.java

IEF-CreateMajorTrigger.java

IEFCreateMajorTrigger.java

IEF-CommonUIActions.java

IEFCommonUIActions.java

IEF-CheckBulkLoaderRoleAccess.java

IEFCheckBulkLoaderRoleAccess.java

IEF-BaseJPO.java

IEFBaseJPO.java

IEF-AlertCreateVersionObjectsFlagChange.java

IEFAlertCreateVersionObjectsFlagChange.java

IEF-ActionAccess.java

IEFActionAccess.java

ECAD-Finalize.java

ECADFinalize.java

ECAD-EBOMSynchronize.java

ECADEBOMSynchronize.java

IEF-PurgeAccess.java

IEFPurgeAccess.java

Client-side extensions and customized applications must also use updated JPO names as follows:

Original JPO Name

Current JPO Name

MCAD-SaveAs

MCADSaveAs

MCAD-Rename

MCADRename

MCAD-EBOMSynchronize

MCADEBOMSynchronize

MCAD-Finalize

MCADFinalize

MCAD-UndoFinalize

MCADUndoFinalize

MCAD-Purge

MCADPurge

MCAD-Representations

MCADRepresentations

ECAD-EBOMSynchronize

ECADEBOMSynchronize

ECAD-Finalize

ECADFinalize

IEF-PreferencesPageLayout

IEFPreferencesPageLayout

IEF-RegisterIntegration

IEFRegisterIntegration

Attributes Deprecated in V6R2010

If you upgraded from a version prior to V6R2010, these attributes have been deprecated and should not be used:

  • IEF-AcquireLockOnCheckin
  • IEF-AllowVirtualStructureInFinalization
  • IEF-CheckHashcodeInAllDir
  • IEF-CheckHashcodeObsoleteFile
  • IEF-CheckinRevisionBehavior
  • IEF-EnableAutoRecognition
  • IEF-EnableConfigUI
  • IEF-EnforceNodeSelectionInfo
  • IEFPref-IEF-IncludeExternalReference
  • IEFPref-IEF-ProcessInactiveInstances
  • IEFPref-MCADInteg-CopyAttribOnCheckin
  • IEFPref-MCADIntegCopyAttribOnCheckout
  • IEF-ProcessIndividualFamilyInstance
  • IEF-ShowCheckoutWarningMessages
  • MCADInteg-AttributeBasedFinalization
  • MCADInteg-RecognitionProgramMapping
  • MCADInteg-DisableConfigurations

Porting JPOs

Derive the JPO from IEFCommonUIActions.

Implement these methods as needed:

  • protected void canPerformOperationCustom(Hashtable resultDataTable) throws MCADException

Implement this method only if the operation includes logic for optionally showing links on the Search Results page. The Finalize, Undo Finalize, Purge, and EBOM Synch operations require this method.

For links always shown, such as Rename and SaveAs, this method does not need to be implemented.

  • public void executeCustom (Hashtable resultAndStatusTable) displays MCADException

All JPOs that correspond to browser-based commands need this method. This method must have custom logic for all operations. If any failure occurs, the method must throw an exception with the reason for failure.

The initialization of all data members is encapsulated in the base classes, eliminating the need for explicit initialization in the custom JPOs.

JPOs Deprecated in V6R2011

The JPOs that are deprecated in X-CAD Design Management version V6R2011 are listed in the following table:

JPO Name

DSCShowFinalizeLink

DSCShowMultiPromoteLink

IEFEBOMWrapper

IEFMSProjectIntegration

IEFShowViewerLink

IEFTriggerManager

ECADEBOMSynchronize

ECADFinalize

DSCShowLockUnlockLink

MCADLockUnlockObject

MCADLockUnlockObjectBase

DSCFindLike

DSCFindLikeBase

These JPOs are no longer used in V6R2011, nor are they installed. The JPOs present in the database from the old installation can be safely deleted to avoid errors during force compilation of all JPOs after upgrading to V6R2011 or later.

JPOs Deprecated in V6R2010x

The JPOs that are deprecated in X-CAD Design Management V6R2010x are,

  • ECADFinalize
  • ECADEBOMSynchronize

Important: The JPOs ECADFinalize and ECADEBOMSynchronize are not installed by X-CAD Design Management from V6R2010x. If you upgrade from an earlier version to V6R2010x and ECAD integration is not installed, the JPOs ECADFinalize or ECADEBOMSynchronize can give errors during force compilation after upgrade to V6R2010x or later. Delete the above JPOs present in the database from the old installation to avoid these errors during force compilation of all JPOs.

JPOs Deprecated in V6R2010

The JPOs that are deprecated in X-CAD Design Management V6R2010 are,

  • IEFNotificationLoadBalancer
  • IEFNotificationCriteria
  • IEFObjectToAttrBasedMigrator

Important: These JPOs are not installed and used in V6R2010 or later versions. The above JPOs present in the database from the old installation can be deleted, to avoid errors during force compilation of all JPOs, after upgrading to V6R2010 or later version.

JPO Deprecated in V6R2009x

The JPO deprecated in X-CAD Design Management version V6R2009x is IEFListMethodsByObject.