com.ibm.commerce.inventory.facade.server.commands

Class ComposeDOMInventoryAvailabilityCmdImpl

  • All Implemented Interfaces:
    ComposeInventoryAvailabilityCmd, com.ibm.websphere.command.Command, java.io.Serializable
    Direct Known Subclasses:
    ComposeExternalInventoryAvailabilityWithUOMCmdImpl


    public class ComposeDOMInventoryAvailabilityCmdImpl
    extends AbstractComposeInventoryAvailabilityCmdImpl
    This compose task command is called from FetchInventoryAvailabilityCmdImpl. It's used when access profile is set as IBM_Store_Details, and populates the InventoryAvailabilityType BOD. It should be registered in the cmdreg table with interface: com.ibm.commerce.inventory.facade.server.commands.ComposeInventoryAvailabilityCmd+DOMInventorySystem.
    • InventoryAvailability/InventoryAvailabilityIdentifier/UniqueID
    • InventoryAvailability/InventoryAvailabilityIdentifier/ExternalIdentifier/CatalogEntryIdentifier/UniqueID
    • InventoryAvailability/InventoryAvailabilityIdentifier/ExternalIdentifier/OnlineStoreIdentifier/UniqueID
    • InventoryAvailability/InventoryAvailabilityIdentifier/ExternalIdentifier/PhysicalStoreIdentifier/UniqueID
    • InventoryAvailability/InventoryStatus
    • InventoryAvailability/AvailableQuantity
    • InventoryAvailability/AvailabilityDateTime
    • InventoryAvailability/AvailabilityOffset
    • InventoryAvailability/LastUpdateDateTime
    See Also:
    Serialized Form
    • Field Detail

      • COPYRIGHT

        public static final java.lang.String COPYRIGHT
        IBM Copyright notice field.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ComposeDOMInventoryAvailabilityCmdImpl

        public ComposeDOMInventoryAvailabilityCmdImpl()
    • Method Detail

      • getUncachedOnlineStoreIds

        public java.util.List getUncachedOnlineStoreIds()
        This method returns the list of the online store ID that are not cached.
        Returns:
        the list of the online store ID that are not cached.
      • getUncachedPhysicalStoreIds

        public java.util.List getUncachedPhysicalStoreIds()
        This method returns the list of the physical store ID that are not cached.
        Returns:
        the list of the physical store ID that are not cached.
      • isReadyToCallExecute

        public boolean isReadyToCallExecute()
      • execute

        public void execute()
                     throws com.ibm.websphere.command.CommandException
        This method performs the main business logic to compose InventoryAvailabilityType from DOM inventory system.

        For each combination of catalog entry/online store of catalog entry/physical store, the configuration of them will be first read. Based on the flags, InventoryAvailabilityType will be built from the DOM inventory memory cache or from the database cache.

        If memory cache and database cache are all expired or not found, InventoryAvailabilityType will be retrieved from the DOM (Distributed Order Management) system (if the bit flags for DOM has been set).

        If retrieving from DOM still failed, the InventoryAvailabilityType list will be built from the fallback data, which should be configured in the invcnf database table.

        The cache items in memory or data base will be updated in below conditions: 1. InventoryAvailabilityType was built from DOM; 2. Memory cache or data base cache is expired; and 3. Bit flags of configuration for update cache have been set.

        Throws:
        com.ibm.websphere.command.CommandException
      • reset

        public void reset()