IBM WebSphere Application ServerTM
Release 8

com.ibm.wsspi.management.metadata
Class ManagedObjectMetadataCollectorImplBase

java.lang.Object
  extended by com.ibm.wsspi.management.metadata.ManagedObjectMetadataCollectorImplBase
All Implemented Interfaces:
ManagedObjectMetadataCollector

public abstract class ManagedObjectMetadataCollectorImplBase
extends java.lang.Object
implements ManagedObjectMetadataCollector

This abstract class is the ground implementation of ManagedObjectMetadataCollector for WebSphere stack product and feature packs. It contains all programming logics of the profile augmentation and metadata collection, that are common for the stack product or feature packs. As a result, each implementation only needs to add its edtion by providing the stack product or feature pack specific string definitions and implementing their getters.

Implementation Specific Data

The implementation specific data should be provided as a String type. The name of the string can be chose by the implementation developers, which should be the same one returned by its getter.

  • Constant for the property name for the stack product or feature pack product version. This should not be null or an empty string. A example of the property name is:
    static final String PROPERTY_NAME_OF_PRODUCT_VERSION = "com.ibm.websphere.WebServicesFeaturePackProductVersion";
  • Constant for the property name for the stack product or feature pack product short name. This should not be null or an empty string.
    static final String PROPERTY_NAME_OF_PRODUCT_SHORTNAME = "com.ibm.websphere.WebServicesFeaturePackProductShortName";
  • Constant identifying a metadata collector extension being added or removed. This hould not be null or an empty string.
    static final String EXTENSION_ID = "webservices";
  • The array containss the list of the product IDs for expected products and the corresponding short names for a stack product or a feature pack. The product IDs are defined in the id field of the .product file(s) for the product that this implementation is for. This should not be null and the strings in the array should be nulls or empty strings.
    static final String [][] PRODUCT_IDs = { {"WEBSERVICES", "WS FEP"} };
  • Constant for the prefixes of the directories that contain the deployed features for the "default" profile type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features. Set the string to null if there is no deployed features to be appended.
    static final String [] DEFAULT_DIR_FILTERs = new String [] {"com.ibm.ws.wsfp_"};
  • Constant for the prefixes of the directories that contain the deployed features for the "dmgr" profile type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features. Set the string to null if there is no deployed features to be appended.
    static final String [] DMGR_DIR_FILTERs = new String [] {"com.ibm.ws.wsfp_"};
  • Constant for the prefixes of the directories that contain the deployed features for the "managed" profile type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features. Set the string to null if there is no deployed features to be appended.
    static final String [] MANAGED_DIR_FILTERs = new String [] {"com.ibm.ws.wsfp_"};
  • Getter Implmentation

  • protected abstract String getProdVersion_PropName()
  • protected abstract String getProdShrtName()
  • protected abstract String getExtensionID()
  • protected abstract String getProductIDs()
  • protected abstract String getDefaultDirFilters()
  • protected abstract String getDmgrDirFilters()
  • protected abstract String getManagedDirFilters()
  • Overriding Method isProfileAugmentationRequired()

    For a feature pack or a stack product that does not require a profile augementation, its implemenation class MUST implement an overriding method (see below) in order to override the default behaver of its parent class, which is set for a feature pack or stack product that needs a profile augmentation.
    protected boolean isProfileAugmentationRequired() { return false; }
    For more details on the action processing, see documentation on the method ManagedObjectMetadataCollector.updateMetadata().

    See Also:
    ManagedObjectMetadataCollector

    Field Summary
    static java.lang.String ACTION_PARAM_PROFILE_TYPE
               
    static java.lang.String[] PROFILE_TYPES
               
     
    Fields inherited from interface com.ibm.wsspi.management.metadata.ManagedObjectMetadataCollector
    ACTION_ADD_EXTENSION, ACTION_COLLECT_METADATA, ACTION_REMOVE_EXTENSION, PARAM_EXTENSION_ID
     
    Constructor Summary
    ManagedObjectMetadataCollectorImplBase(java.util.Properties inputProps)
              Constructor.
     
    Method Summary
    protected abstract  java.lang.String[] getDefaultDirFilters()
              This method gets the prefixes of the directories that contain the deployed features for the "default" profile type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features.
    protected abstract  java.lang.String[] getDmgrDirFilters()
              This method gets the prefixes of the directories that contain the deployed features for the "dmgr" profile type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features.
    protected abstract  java.lang.String getExtensionID()
              This method gets the extension id used to add or remove a metadata collector extension.
    protected abstract  java.lang.String[] getManagedDirFilters()
              This method gets the prefixes of the directories that contain the deployed features for the "managed" type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features.
    protected abstract  java.lang.String getProdShortName_PropName()
              This method gets the property name for the product short name of a stack product or feature pack.
    protected abstract  java.lang.String[][] getProductIDs()
              This method gets the list of the product ID for expected products and the corresponding short names for a stack product or a feature pack.
    protected abstract  java.lang.String getProdVersion_PropName()
              This method gets the property name for the product version of a stack product or feature pack.
    protected  boolean isProfileAugmentationRequired()
              This method of "this" class return "true" always.
     void updateMetadata(java.lang.String action, java.util.Hashtable actionParams, java.util.Properties metadata)
              Depending on the specified action, this method appends to the metdata property, com.ibm.websphere.deployed.features (profile augmentation action), or sets metadata properties defined for the feature pack or stack product (metadata collection action).
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    ACTION_PARAM_PROFILE_TYPE

    public static final java.lang.String ACTION_PARAM_PROFILE_TYPE
    See Also:
    Constant Field Values

    PROFILE_TYPES

    public static final java.lang.String[] PROFILE_TYPES
    Constructor Detail

    ManagedObjectMetadataCollectorImplBase

    public ManagedObjectMetadataCollectorImplBase(java.util.Properties inputProps)
    Constructor.

    Parameters:
    inputProps - Data required to locate metadata.
    Method Detail

    getProdVersion_PropName

    protected abstract java.lang.String getProdVersion_PropName()
    This method gets the property name for the product version of a stack product or feature pack.


    getProdShortName_PropName

    protected abstract java.lang.String getProdShortName_PropName()
    This method gets the property name for the product short name of a stack product or feature pack.


    getExtensionID

    protected abstract java.lang.String getExtensionID()
    This method gets the extension id used to add or remove a metadata collector extension.

    See Also:
    com.ibm.wsspi.management.metadata.ManagedObjectMetadataCollector.PARAM_EXTENSION_ID

    getProductIDs

    protected abstract java.lang.String[][] getProductIDs()
    This method gets the list of the product ID for expected products and the corresponding short names for a stack product or a feature pack. The product IDs are defined in the id field of the .product file(s) for the prodcut that this implementation is for.


    getDefaultDirFilters

    protected abstract java.lang.String[] getDefaultDirFilters()
    This method gets the prefixes of the directories that contain the deployed features for the "default" profile type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features.


    getDmgrDirFilters

    protected abstract java.lang.String[] getDmgrDirFilters()
    This method gets the prefixes of the directories that contain the deployed features for the "dmgr" profile type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features.


    getManagedDirFilters

    protected abstract java.lang.String[] getManagedDirFilters()
    This method gets the prefixes of the directories that contain the deployed features for the "managed" type of a stack product or feature pack under the directory %WAS_INSTALL_ROOT%/features.


    isProfileAugmentationRequired

    protected boolean isProfileAugmentationRequired()
    This method of "this" class return "true" always. The implementation class can override this method to let it return "false" instead.


    updateMetadata

    public void updateMetadata(java.lang.String action,
                               java.util.Hashtable actionParams,
                               java.util.Properties metadata)
                        throws java.lang.Exception
    Depending on the specified action, this method appends to the metdata property, com.ibm.websphere.deployed.features (profile augmentation action), or sets metadata properties defined for the feature pack or stack product (metadata collection action). The deployed features list set for profile augmentation is sensitive to whether the profile is for dmgr or for a standalone cell.

    Specified by:
    updateMetadata in interface ManagedObjectMetadataCollector
    Parameters:
    action - The action being performed.
    actionParams - Any parameters specific to the action. A null value indicates that there are no action parameters set.
    metadata - The node metadata to update according to the specified action.
    Throws:
    java.lang.Exception - The collector could not complete the action processing successfully.
    See Also:
    ManagedObjectMetadataCollector.ACTION_ADD_EXTENSION, ManagedObjectMetadataCollector.ACTION_REMOVE_EXTENSION, ManagedObjectMetadataCollector.ACTION_COLLECT_METADATA

    IBM WebSphere Application ServerTM
    Release 8