com.ibm.wsspi.management.metadata

Class ManagedObjectMetadataCollectorImplBase

  • java.lang.Object
    • 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 following) 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
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      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.5