Working with Extension Points

An extension point represents a method on a Java class where a ruleset can be executed. These methods can be extended by associating an executable ruleset to the extension point.

When working with extension points, see the following topics:

About Extension Points

An extension point represents a method on a Java class where a ruleset can be executed. These methods can be extended by associating an executable ruleset to the extension point. UIM provides several extension points, and a way for you to create new extension points.

There are two types of extension points that you can create in Design Studio:

  • Specification-based extension points define methods where an associated ruleset can be executed, but only when working with entities created from specific specifications.

  • Global extension points define methods where an associated ruleset can be executed, and which do not pertain to any particular specification. Rulesets associated with global extension points are triggered by all specifications.

Related Topics

Creating Extension Points

Configuring Extension Points

Associating Specification-Based Extension Points to Rulesets

Associating Global Extension Points with Rulesets

Creating Extension Points

An extension point represents a method on a Java class where a ruleset can be executed. These methods can be extended by associating an executable ruleset to the extension point.

To create an extension point:

  1. From the Studio menu, select New, then select Inventory, then select Administration, and then select Extension Point.

    The Extension Point Wizard dialog box appears.

  2. From the Project drop-down list, select the project where the entity is to reside.

  3. In the Name field, enter the name of the extension point.

  4. (Optional) Select a location for the new extension point.

    By default, Design Studio saves the entity to your default workspace location. You can enter a folder name in the Folder field or select a location different from the system-provided default. To select a different location:

    1. Click the Folder field Browse button.

    2. Navigate to the directory in which to save the entity.

    3. Click OK.

  5. Click Finish.

Related Topics

About Extension Points

Configuring Extension Points

Extension Point Editor

Configuring Extension Points

After you create an extension point, you must configure it. When you configure an extension point in Design Studio, the data you enter is saved to the cartridge.

To configure an extension point:

  1. Open an existing Extension Point entity or create a new one.

    See "Creating Extension Points" for more information.

  2. In the Point Name field, enter the name of the extension point.

    Oracle recommends the point name be represented as ClassName_methodName. Eclipse does not allow a period in a text field, so the standard notation of ClassName.methodName cannot be entered.

  3. In the Description field, enter a brief description of the extension point.

    The description describes the method defined by the point name.

  4. (Optional) Select Global if the extension point will not be associated with a specific specification type (or with a specific set of specifications).

  5. In the Signature field, enter the signature of the method defined by the point name.

    • The signature includes the return value, method name, and all parameters.

    • The signature requires that all objects be fully qualified.

    • The signature must be an abstract interface.

    • Signatures that define arrays must use the notation of ”[]” to represent the array of objects. The notation of ”...” to represent an array of objects is not recognized by the AspectJ framework.

    • Signatures that define an array of objects as a parameter must contain the keyword transient. The AspectJ framework requires this keyword to retrieve the extension point.

  6. From the File menu, select Save.

  7. Create an aop.xml file and define the extension point within the file.

    See UIM Developer's Guide for more information on creating the aop.xml file.

Related Topics

About Extension Points

Associating Specification-Based Extension Points to Rulesets

Associating Global Extension Points with Rulesets

Extension Point Editor

Associating Specification-Based Extension Points to Rulesets

You can create combinations of rulesets and extension points and associate the combinations to UIM specifications so that a ruleset executes at the associated extension point only if it is acting on an entity created from one of the associated specifications.

To associate specification-based extension points to rulesets:

  1. Create and configure a ruleset.

    See "Working with Rulesets" for more information.

  2. Create an extension point.

    See "Creating Extension Points" for more information.

  3. Create and configure enabled extension points for one or multiple specification classes.

    See "Working with Enabled Extension Points" for more information.

  4. Create and configure a ruleset extension point.

    See "Working with Ruleset Extension Points" for more information.

After you associate a specification-based extension point to a ruleset, you associate the ruleset extension point to a specific instance of a specification in Design Studio. See "Associating Specification-Based Ruleset Extension Points to Specifications" for more information.

Working with Enabled Extension Points

An enabled extension point identifies the specification entity class on which a specification-based extension point can be used. You must create an enabled extension point for each type of entity specification for which you use the extension point. For example, if you plan to use an extension point on equipment specifications and logical device specifications, you must create two enabled extension points for the extension point; one that identifies the EquipmentSpecification class, and one that identifies the LogicalDeviceSpecification class.

When working with enabled extension points, see the following topics:

Creating Enabled Extension Points

An enabled extension point associates a Java class entity specification to an extension point. You can create an enabled extension point in Oracle Communications Design Studio.

To create an enabled extension point:

  1. From the Studio menu, select New, then select Inventory, then select Administration, and then select Enabled Extension Point.

    The Enabled Extension Point Wizard dialog box appears.

  2. From the Project drop-down list, select the project where the entity is to reside.

  3. In the Name field, enter the name of the enabled extension point.

  4. (Optional) Select a location for the new enabled extension point.

    By default, Design Studio saves the entity to your default workspace location. You can enter a folder name in the Folder field or select a location different from the system-provided default. To select a different location:

    1. Click the Folder field Browse button.

    2. Navigate to the directory in which to save the entity.

    3. Click OK.

  5. Click Finish.

Related Topics

Configuring Enabled Extension Points

Enabled Extension Point Editor

Configuring Enabled Extension Points

After you create an enabled extension point, you must configure it.

To configure an enabled extension point:

  1. In the Solution view, double-click an enabled extension point.

    The Enabled Extension Point editor appears.

  2. From the Specification Class Name list, select a Java class for the specification.

    When configuring an enabled extension point for a configuration specification, you must select the InventoryConfigurationSpec Java class, which enables the Configuration Version Instance Type field to identify the configurable entity.

    See "Enabled Extension Point Editor" for more information.

  3. (Optional) If you selected InventoryConfigurationSpec from the Specification Class Name list and you want to enable the extension point for a specific configurable entity, select a configuration version Java DAO class from the Configuration Version Instance Type list. If you do not select a class, all configurable entities are enabled.

    See "Enabled Extension Point Editor" for more information.

  4. In the Point field, select an existing extension point or create a new one.

    See "Creating Enabled Extension Points" for more information.

Related Topics

Enabled Extension Point Editor

Enabled Extension Point Editor

Use to define the specification entity class on which a specification-based extension point can be used.

Field Use
Specification Class Name Select the fully qualified entity specification Java class.

Nearly all Inventory entities are recognizable by their Java class name. For example, the Telephone Number Specification entity appears in the list as oracle.communications.inventory.api.entity.TelephoneNumberSpecification, and the Equipment Specification entity appears in the list as oracle.communcations.inventory.api.entity.EquipmentSpecification.

The only exceptions to this recognizable naming convention are the configuration specifications, which are:

  • Flow Interface Configuration specification

  • Logical Device Configuration specification

  • Logical Device Account Configuration specification

  • Network Configuration specification

  • Pipe Configuration specification

  • Place Configuration specification

  • Service Configuration specification

To enable an extension point for a configuration specification, you must select the oracle.communications.inventory.api.entity.InventoryConfigurationSpec class, which enables the Configuration Version Instance Type list.

Configuration Version Instance Type The Configuration Version Instance Type list is enabled only when you select oracle.communications.inventory.api.entity.InventoryConfigurationSpec from the Specification Class Name field.

(Optional) To enable an extension point for a specific entity configuration specification, select the configuration version DAO class for the configurable entity, which is recognizable by its Java class name. For example, the Logical Device Configuration specification entity appears in the list as oracle.communications.platform.entity.impl.LogicalDeviceConfigurationVersionDAO, and the Service Configuration specification entity appears in the list as oracle.communications.platform.entity.impl.ServiceConfigurationVersionDAO.

If enabled, and you do not select a value for Configuration Version Instance Type, the extension point is enabled for all entity configuration specifications.

Point Displays the name of the selected extension point. Click Point to create a new extension point.
Select Click to select an existing extension point.
Clear Click to remove a previously selected extension point.

Related Topics

Configuring Enabled Extension Points

Associating Specification-Based Extension Points to Rulesets

Associating Global Extension Points with Rulesets

You can create combinations of global extension points and ruleset associations if you want rulesets to execute at the associated extension point for all specifications.

To associate global extension points to rulesets:

  1. Create and configure a ruleset.

    See "Working with Rulesets" for more information.

  2. Create an extension point.

    See "Creating Extension Points" for more information.

  3. Create and configure a ruleset extension point.

    See "Working with Ruleset Extension Points" for more information.

Extension Point Editor

Use the Extension Point editor to define point names, descriptions, and method signatures for extension points.

Field Use
Point Name Enter a name for the extension point.
Description Enter a description for the extension point.
Global Select if the extension point will not be associated with a specific specification type (or with a specific set of specifications).
Signature Define a method signature for an extension point.

Related Topics

Configuring Extension Points

Associating Specification-Based Extension Points to Rulesets

Associating Global Extension Points with Rulesets