public class RepositoryInventoryManager extends SourceSinkTemplate implements LocationInventoryManager
This is a repository based implementation of InventoryManager. It implements all the methods defined by the InventoryManager API. It is a thin wrapper around a repository that contains the inventory information. This allows a maximum amount of flexibility for potential third party integrators. Integrators can simply implement a repository containing the required properties for cooperation with the RepositoryInventoryManager. The Repository InventoryManager can then be configured to extract inventory manager information from the third party repository.
This class also is a message source. It can send UpdateInventory messages if there is new inventory available for a previously unavailable item.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION |
SERVICE_INFO_KEY
AVAILABILITY_STATUS_BACKORDERABLE, AVAILABILITY_STATUS_DERIVED, AVAILABILITY_STATUS_DISCONTINUED, AVAILABILITY_STATUS_IN_STOCK, AVAILABILITY_STATUS_OUT_OF_STOCK, AVAILABILITY_STATUS_PREORDERABLE, INVENTORY_STATUS_FAIL, INVENTORY_STATUS_INSUFFICIENT_SUPPLY, INVENTORY_STATUS_ITEM_NOT_FOUND, INVENTORY_STATUS_SUCCEED
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
RepositoryInventoryManager() |
Modifier and Type | Method and Description |
---|---|
void |
acquireInventoryLocks(java.util.List pItemIds)
Acquires locks for the inventory items that apply to the given
ids.
|
void |
acquireInventoryLocks(java.util.List pItemIds,
java.lang.String pLocationId)
For each item in the list, call
lock
The locks are acquired in sorted order. |
int |
backorder(java.lang.String pId,
double pQuantity)
Backorder an item.
|
int |
backorder(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Backorder an item.
|
int |
backorder(java.lang.String pId,
long pQuantity)
Backorder an item.
|
int |
backorder(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
decrement the item's backorder count,
If the item is a bundle backorderBundle is called.
|
int |
backorder(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
decrement the item's backorder count,
If the item is a bundle backorderBundle is called.
|
protected int |
backorderBundle(java.lang.String pBundleId,
long pQuantity,
java.lang.String pLocationId)
Backorders a bundle.
|
int |
decreaseBackorderLevel(java.lang.String pId,
double pQuantity)
Decrease an item's backorder level by the specified amount.
|
int |
decreaseBackorderLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Decrease an item's backorder level by the specified amount.
|
int |
decreaseBackorderLevel(java.lang.String pId,
long pQuantity)
Decrease an item's backorder level by the specified amount.
|
int |
decreaseBackorderLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
decrease the item's backorder level by pQuantity, or if dealing with fractional decrease
the item's backorderLevelWithFraction by pQuantityWithFraction.
|
int |
decreaseBackorderLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
decrease the item's backorder level by pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
int |
decreasePreorderLevel(java.lang.String pId,
double pQuantity)
Decrease an item's preorder level by the specified amount.
|
int |
decreasePreorderLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Decrease an item's preorder level by the specified amount.
|
int |
decreasePreorderLevel(java.lang.String pId,
long pQuantity)
Decrease an item's preorder level by the specified amount.
|
int |
decreasePreorderLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
decrease the item's preorder level by pQuantity or decrease the item's
preorderLevelWithFraction by pQuantityWithFraction.
|
int |
decreasePreorderLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
decrease the item's preorder level by pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
int |
decreaseStockLevel(java.lang.String pId,
double pQuantity)
Decrease an item's stock level by the specified amount.
|
int |
decreaseStockLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Decrease an item's stock level by the specified amount.
|
int |
decreaseStockLevel(java.lang.String pId,
long pQuantity)
Decrease an item's stock level by the specified amount.
|
int |
decreaseStockLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
decrease the item's stock level by pQuantity or if dealing with fractional decrease the item's
stockLevelWithFraction by pQuantityWithFraction.
|
int |
decreaseStockLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
decrease the item's stock level by pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
protected int |
decrementSKULevel(MutableRepositoryItem pItem,
long pQuantity,
java.lang.String pLevelName,
java.lang.String pThresholdName)
Decrement the given level by the given amount.
|
protected int |
decrementSKULevel(MutableRepositoryItem pItem,
java.lang.String pLocationId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLevelName,
java.lang.String pThresholdName)
Decrement the given level by the given amount.
|
protected int |
decrementSKULevel(MutableRepositoryItem pItem,
java.lang.String pLocationId,
long pQuantity,
java.lang.String pLevelName,
java.lang.String pThresholdName)
Decrement the given level by the given amount.
|
protected int |
deriveAvailabilityStatus(java.lang.String pId)
Derive the availabilityStatus based on the properties of the item
Always derives the status, does not check the current value of
availabilityStatus.
|
protected int |
deriveAvailabilityStatus(java.lang.String pId,
java.lang.String pLocationId)
Derive the availabilityStatus based on the properties of the item
Always derives the status, does not check the current value of
availabilityStatus.
|
protected int |
deriveBundleAvailabilityStatus(java.lang.String pBundleId)
Derives the availability status for a bundle.
|
protected int |
deriveBundleAvailabilityStatus(java.lang.String pBundleId,
java.lang.String pLocationId)
Derives the availability status for a bundle.
|
java.lang.String |
getATPDatePropertyName()
Returns property ATPDatePropertyName
|
java.lang.String |
getATPInformationPropertyName()
Returns property ATPInformationPropertyName
|
java.lang.String |
getATPQuantityPropertyName()
Returns property ATPQuantityPropertyName
|
java.lang.String |
getAvailabilityDatePropertyName()
Returns property AvailabilityDatePropertyName
|
int |
getAvailabilityStatusBackorderableValue()
The integer value for the availabilityStatus of BACKORDERABLE
|
int |
getAvailabilityStatusDerivedValue()
The integer value for the availabilityStatus of DERIVED
|
int |
getAvailabilityStatusDiscontinuedValue()
The integer value for the availabilityStatus of DISCONTINUED
|
int |
getAvailabilityStatusInStockValue()
The integer value for the availabilityStatus of IN_STOCK
|
int |
getAvailabilityStatusOutOfStockValue()
The integer value for the availabilityStatus of OUT_OF_STOCK
|
int |
getAvailabilityStatusPreorderableValue()
The integer value for the availabilityStatus of PREORDERABLE
|
java.lang.String |
getAvailabilityStatusPropertyName()
Returns property AvailabilityStatusPropertyName
|
java.lang.String |
getBackorderLevelPropertyName()
Returns property BackorderLevelPropertyName
|
java.lang.String |
getBackorderLevelWithFractionPropertyName()
Returns property BackorderLevelWithFractionPropertyName
|
java.lang.String |
getBackorderThresholdPropertyName()
Returns property BackorderThresholdPropertyName
|
java.util.List |
getBundledIds(java.lang.String pBundleId)
Return the list of catalog ref ids contained in the bundle.
|
protected java.util.List |
getBundleLinks(RepositoryItem pBundle)
Return the List of bundle links for the given id.
|
protected java.util.List |
getBundleLinks(java.lang.String pId)
Return the List of bundle links for the given id.
|
java.lang.String |
getBundleLinksPropertyName()
The name of the property bundleLinks
|
RqlStatement |
getCatalogRefIdMatchQuery()
Returns property CatalogRefIdMatchQuery
|
java.lang.String |
getCatalogRefIdPropertyName()
Returns property CatalogRefIdPropertyName
|
protected RepositoryItem |
getCatalogRefItem(java.lang.String pId)
Return the RepositoryItem which represents the catalog ref (aka SKU)
|
java.lang.String |
getCatalogRefItemType()
Returns property CatalogRefItemType
|
Repository |
getCatalogRefRepository()
Returns property CatalogRefRepository
|
ClientLockManager |
getClientLockManager()
Deprecated.
locks are no longer used
|
long |
getDefaultBackorderLevel()
The default value if the backorder level of an item is not defined
|
double |
getDefaultBackorderLevelWithFraction()
The default value if the backorder level of an item is not defined
|
long |
getDefaultPreorderLevel()
The default value if the preorder level of an item is not defined
|
double |
getDefaultPreorderLevelWithFraction()
The default value if the preorder level of an item is not defined
|
long |
getDefaultStockLevel()
The default value if the stock level of an item is not defined
|
double |
getDefaultStockLevelWithFraction()
The default value if the stock level of an item is not defined
|
java.lang.String |
getInventoryEventPort()
The port to which all inventory scenario events are sent.
|
protected RepositoryItem |
getInventoryItem(java.lang.String pId)
Return the RepositoryItem which represents the inventory information
|
protected RepositoryItem |
getInventoryItem(java.lang.String pId,
java.lang.String pLocationId)
Return the RepositoryItem which represents the inventory information
|
protected MutableRepositoryItem |
getInventoryItemForUpdate(java.lang.String pId)
Return the MutableRepositoryItem which represents the inventory information
|
protected MutableRepositoryItem |
getInventoryItemForUpdate(java.lang.String pId,
java.lang.String pLocationId)
Return the MutableRepositoryItem which represents the inventory information
|
java.lang.String |
getInventoryName()
A displayable name for this inventory manager.
|
java.lang.String |
getInventoryRowLockProperty()
The name of the property of inventory that is used to grab a row lock
|
java.lang.String |
getInventoryRowLockSQL()
The sql command that is used to grab the row lock
|
java.lang.String |
getItemType()
Returns property ItemType
|
RqlStatement |
getLocationCatalogRefIdMatchQuery()
Returns property CatalogRefIdMatchQuery
|
java.lang.String |
getLocationInventoryRowLockSQL()
The sql command that is used to grab the row lock for a non-null inventory
location.
|
int |
getMaximumRetriesPerRowLock() |
IdGenerator |
getMessageIdGenerator()
The service that generates Ids for all messages.
|
java.lang.String |
getMessageIdSpaceName()
The name of the idspace to get our message ids from
|
int |
getMillisecondDelayBeforeLockRetry() |
java.lang.String |
getNextMessageId()
Returns the next unique Id for commerce messages.
|
java.lang.String |
getPreorderLevelPropertyName()
Returns property PreorderLevelPropertyName
|
java.lang.String |
getPreorderLevelWithFractionPropertyName()
Returns property PreorderLevelWithFractionPropertyName
|
java.lang.String |
getPreorderThresholdPropertyName()
Returns property PreorderThresholdPropertyName
|
MutableRepository |
getRepository()
Returns property Repository
|
java.lang.String |
getSkuLinkItemPropertyName()
the name of the item property in a sku link.
|
java.lang.String |
getSkuLinkQuantityPropertyName()
The name of the quantity property in a sku link
|
java.lang.String |
getSkuLinkQuantityWithFractionPropertyName()
The name of the quantityWithFraction property in a sku link
|
java.lang.String |
getStockLevelPropertyName()
Returns property StockLevelPropertyName
|
java.lang.String |
getStockLevelWithFractionPropertyName()
Returns property StockLevelWithFractionPropertyName
|
java.lang.String |
getStockThresholdPropertyName()
Returns property StockThresholdPropertyName
|
java.lang.String |
getUpdateInventoryPort()
The port to which all UpdateInventory messages are sent.
|
int |
increaseBackorderLevel(java.lang.String pId,
double pQuantity)
Increase an item's backorder level by the specified number.
|
int |
increaseBackorderLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Increase an item's backorder level by the specified number.
|
int |
increaseBackorderLevel(java.lang.String pId,
long pQuantity)
Increase an item's backorder level by the specified number.
|
int |
increaseBackorderLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
increase the item's backorder level by pQuantity or if dealing with fractional increase the item's
backorderLevelWithFraction by pQuantityWithFraction.
|
int |
increaseBackorderLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
increase the item's backorder level by pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
int |
increasePreorderLevel(java.lang.String pId,
double pQuantity)
Increase an item's preorder level by the specified number.
|
int |
increasePreorderLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Increase an item's preorder level by the specified number.
|
int |
increasePreorderLevel(java.lang.String pId,
long pQuantity)
Increase an item's preorder level by the specified number.
|
int |
increasePreorderLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
increase the item's preorder level by pQuantity or increase the items preorderLevelWithFraction by pQuantityWithFraction.
|
int |
increasePreorderLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
increase the item's preorder level by pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
int |
increaseStockLevel(java.lang.String pId,
double pQuantity)
Increase an item's stock level by the specified number.
|
int |
increaseStockLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Increase an item's stock level by the specified number.
|
int |
increaseStockLevel(java.lang.String pId,
long pQuantity)
Increase an item's stock level by the specified number.
|
int |
increaseStockLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
increase the item's stock level by pQuantity, or if dealing with fractional
increase the item's stocklevelWithFraction by pQuantityWithFraction.
|
int |
increaseStockLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
increase the item's stock level by pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
int |
inventoryWasUpdated(java.util.List pItemIds)
Informs the inventory manager that the given ids are now available.
|
int |
inventoryWasUpdated(java.util.List pItemIds,
java.lang.String pLocationId)
Send an UpdateInventory message out the UpdateInventoryPort.
|
protected boolean |
isBundle(java.lang.String pId)
Checks to see if the given id refers to a bundle.
|
protected void |
lock(java.lang.String pItemId)
To allow multiple instance of Dynamo to simultaneously edit inventory
items, we need to make sure the repository item we load is current.
|
protected void |
lock(java.lang.String pItemId,
java.lang.String pLocationId)
To allow multiple instance of Dynamo to simultaneously edit inventory
items, we need to make sure the repository item we load is current.
|
int |
preorder(java.lang.String pId,
double pQuantity)
Preorder an item.
|
int |
preorder(java.lang.String pId,
double pQuantity,
java.lang.String pLocaitonId)
Preorder an item.
|
int |
preorder(java.lang.String pId,
long pQuantity)
Preorder an item.
|
int |
preorder(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
decrement the item's preorder count,
If the item is a bundle preorderBundle is called.
|
int |
preorder(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
decrement the item's preorder count,
If the item is a bundle preorderBundle is called.
|
protected int |
preorderBundle(java.lang.String pBundleId,
long pQuantity)
Preorders a bundle.
|
protected int |
preorderBundle(java.lang.String pBundleId,
long pQuantity,
java.lang.String pLocationId)
Preorders a bundle.
|
int |
purchase(java.lang.String pId,
double pQuantity)
Actually purchases a product.
|
int |
purchase(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Actually purchases a product.
|
int |
purchase(java.lang.String pId,
long pQuantity)
Actually purchases a product.
|
int |
purchase(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
Check the availability status (queryAvailabilityStatus).
|
int |
purchase(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
Check the availability status (queryAvailabilityStatus).
|
protected int |
purchaseBundle(java.lang.String pBundleId,
long pQuantity)
Purchases a bundle by purchase each of its bundle items.
|
protected int |
purchaseBundle(java.lang.String pBundleId,
long pQuantity,
java.lang.String pLocationId)
Purchases a bundle by purchase each of its bundle items.
|
protected int |
purchaseBundleOffBackorder(java.lang.String pBundleId,
long pQuantity)
Purchases the bundle then increments the backorderLevel
of each item in the bundle.
|
protected int |
purchaseBundleOffBackorder(java.lang.String pBundleId,
long pQuantity,
java.lang.String pLocationId)
Purchases the bundle then increments the backorderLevel
of each item in the bundle.
|
protected int |
purchaseBundleOffPreorder(java.lang.String pBundleId,
long pQuantity)
Purchases the bundle and increments the preorderLevel of each
item in the bundle.
|
protected int |
purchaseBundleOffPreorder(java.lang.String pBundleId,
long pQuantity,
java.lang.String pLocationId)
Purchases the bundle and increments the preorderLevel of each
item in the bundle.
|
int |
purchaseOffBackorder(java.lang.String pId,
double pQuantity)
Actually purchases a product.
|
int |
purchaseOffBackorder(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Actually purchases a product.
|
int |
purchaseOffBackorder(java.lang.String pId,
long pQuantity)
Actually purchases a product.
|
int |
purchaseOffBackorder(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
Check the availability status (queryAvailabilityStatus).
|
int |
purchaseOffBackorder(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
Check the availability status (queryAvailabilityStatus).
|
int |
purchaseOffPreorder(java.lang.String pId,
double pQuantity)
Actually purchases a product.
|
int |
purchaseOffPreorder(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Actually purchases a product.
|
int |
purchaseOffPreorder(java.lang.String pId,
long pQuantity)
Actually purchases a product.
|
int |
purchaseOffPreorder(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
Check the availability status (queryAvailabilityStatus).
|
int |
purchaseOffPreorder(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
Check the availability status (queryAvailabilityStatus).
|
java.util.Date |
queryAvailabilityDate(java.lang.String pId)
Return the availability date of an item.
|
java.util.Date |
queryAvailabilityDate(java.lang.String pId,
java.lang.String pLocationId)
query the availability date of an item.
|
int |
queryAvailabilityStatus(java.lang.String pId)
Return the availability status of a given item.
|
int |
queryAvailabilityStatus(java.lang.String pId,
java.lang.String pLocationId)
Returns the availability status of the item.
|
AvailableToPromise |
queryAvailableToPromise(java.lang.String pId,
java.lang.String pLocationId)
Returns Available To Promise information for a given id and location
|
long |
queryBackorderLevel(java.lang.String pId)
Return how many of a given item can be backorder.
|
long |
queryBackorderLevel(java.lang.String pId,
java.lang.String pLocationId)
query the number of items available for backorder.
|
double |
queryBackorderLevelWithFraction(java.lang.String pId)
Return how many of a given item can be backorder.
|
double |
queryBackorderLevelWithFraction(java.lang.String pId,
java.lang.String pLocationId)
query the number of items available for backorder.
|
long |
queryBackorderThreshold(java.lang.String pId)
Return the threshold associated with backorderLevel
|
long |
queryBackorderThreshold(java.lang.String pId,
java.lang.String pLocationId)
Return the threshold associated with backorderLevel
|
java.util.Date |
queryBundleAvailabilityDate(java.lang.String pBundleId,
java.lang.String pLocationId)
Cycles through each item in a bundle and calls
queryAvailabilityDate on each.
|
protected long |
queryBundleBackorderLevel(java.lang.String pId)
Cycles through the items in a bundle and returns the greatest
quantity of bundles that could be allocated given each items
backorder level.
|
protected long |
queryBundleBackorderLevel(java.lang.String pId,
java.lang.String pLocationId)
Cycles through the items in a bundle and returns the greatest
quantity of bundles that could be allocated given each items
backorder level.
|
protected long |
queryBundleBackorderThreshold(java.lang.String pId,
java.lang.String pLocationId)
Currently all bundles have thresholds of 0.
|
protected long |
queryBundlePreorderLevel(java.lang.String pId,
java.lang.String pLocationId)
Cycles through the items in a bundle and returns the greatest
quantity of bundles that could be preordered given each items
backorder level.
|
protected long |
queryBundlePreorderThreshold(java.lang.String pId,
java.lang.String pLocationId)
Currently all bundles have thresholds of 0.
|
protected long |
queryBundleStockLevel(java.lang.String pId,
java.lang.String pLocationId)
Cycles through the items in a bundle and returns the greatest
quantity of bundles that could be allocated given each items
stock level.
|
protected long |
queryBundleStockThreshold(java.lang.String pId,
java.lang.String pLocationId)
Currently all bundles have thresholds of 0.
|
java.util.Collection<InventoryInfo> |
queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds,
java.util.Collection<java.lang.String> pLocationIds)
Returns an InventoryInfo object for every id at every location
|
java.util.Collection<InventoryInfo> |
queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds,
java.lang.String pLocationId)
Returns an InventoryInfo object for each id at the given location
|
java.util.Collection<InventoryInfo> |
queryInventoryInformation(java.lang.String pId,
java.util.Collection<java.lang.String> pLocationIds)
Returns an InventoryInfo object for the given id at each given location
|
InventoryInfo |
queryInventoryInformation(java.lang.String pId,
java.lang.String pLocationId)
Returns an InventoryInfo object for the given id and location
|
long |
queryPreorderLevel(java.lang.String pId)
Return how many of a given item can be preorder.
|
long |
queryPreorderLevel(java.lang.String pId,
java.lang.String pLocationId)
query the number of items in available in preorder.
|
double |
queryPreorderLevelWithFraction(java.lang.String pId)
Return how many of a given item can be preorder.
|
double |
queryPreorderLevelWithFraction(java.lang.String pId,
java.lang.String pLocationId)
query the number of items in available in preorder.
|
long |
queryPreorderThreshold(java.lang.String pId)
Return the threshold associated with preorderLevel
|
long |
queryPreorderThreshold(java.lang.String pId,
java.lang.String pLocationId)
Return the threshold associated with preorderLevel
|
long |
queryStockLevel(java.lang.String pId)
Return how many of a given item are in the system.
|
long |
queryStockLevel(java.lang.String pId,
java.lang.String pLocationId)
query the number of items in stock.
|
double |
queryStockLevelWithFraction(java.lang.String pId)
Return how many of a given item are in the system.
|
double |
queryStockLevelWithFraction(java.lang.String pId,
java.lang.String pLocationId)
query the number of items in stock.
|
long |
queryStockThreshold(java.lang.String pId)
Return the threshold associated with stockLevel.
|
long |
queryStockThreshold(java.lang.String pId,
java.lang.String pLocationId)
Return the threshold associated with stockLevel.
|
void |
releaseInventoryLocks(java.util.List pItemIds)
Release locks for the inventory items that apply to the given
ids.
|
void |
releaseInventoryLocks(java.util.List pItemIds,
java.lang.String pLocationId)
Release locks for the inventory items that apply to the given
ids.
|
void |
setATPDatePropertyName(java.lang.String pATPDatePropertyName)
Sets property ATPDatePropertyName
|
void |
setATPInformationPropertyName(java.lang.String pATPInformationPropertyName)
Sets property ATPInformationPropertyName
|
void |
setATPQuantityPropertyName(java.lang.String pATPQuantityPropertyName)
Sets property ATPQuantityPropertyName
|
int |
setAvailabilityDate(java.lang.String pId,
java.util.Date pDate)
Set an item's availability date.
|
int |
setAvailabilityDate(java.lang.String pId,
java.util.Date pDate,
java.lang.String pLocationId)
Set an item's availability date.
|
void |
setAvailabilityDatePropertyName(java.lang.String pAvailabilityDatePropertyName)
Sets property AvailabilityDatePropertyName
|
int |
setAvailabilityStatus(java.lang.String pId,
int pStatus)
Set an item's availability status.
|
int |
setAvailabilityStatus(java.lang.String pId,
int pStatus,
java.lang.String pLocationId)
Set an item's availability status.
|
void |
setAvailabilityStatusBackorderableValue(int pAvailabilityStatusBackorderableValue) |
void |
setAvailabilityStatusDerivedValue(int pAvailabilityStatusDerivedValue) |
void |
setAvailabilityStatusDiscontinuedValue(int pAvailabilityStatusDiscontinuedValue) |
void |
setAvailabilityStatusInStockValue(int pAvailabilityStatusInStockValue) |
void |
setAvailabilityStatusOutOfStockValue(int pAvailabilityStatusOutOfStockValue) |
void |
setAvailabilityStatusPreorderableValue(int pAvailabilityStatusPreorderableValue) |
void |
setAvailabilityStatusPropertyName(java.lang.String pAvailabilityStatusPropertyName)
Sets property AvailabilityStatusPropertyName
|
int |
setBackorderLevel(java.lang.String pId,
double pQuantity)
Set an item's backorder level to the specified number.
|
int |
setBackorderLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Set an item's backorder level to the specified number.
|
int |
setBackorderLevel(java.lang.String pId,
long pQuantity)
Set an item's backorder level to the specified number.
|
int |
setBackorderLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
set the item's backorderLevel property to pQuantity and the
items backorderLevelWithFraction to pQuantityWithFraction.
|
int |
setBackorderLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
set the item's backorder level to pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
void |
setBackorderLevelPropertyName(java.lang.String pBackorderLevelPropertyName)
Sets property BackorderLevelPropertyName
|
void |
setBackorderLevelWithFractionPropertyName(java.lang.String pBackorderLevelWithFractionPropertyName)
Sets property BackorderLevelWithFractionPropertyName
|
int |
setBackorderThreshold(java.lang.String pId,
long pQuantity)
Set an item's backorder level threshold.
|
int |
setBackorderThreshold(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
Set an item's backorder level threshold.
|
void |
setBackorderThresholdPropertyName(java.lang.String pBackorderThresholdPropertyName)
Sets property BackorderThresholdPropertyName
|
void |
setBundleLinksPropertyName(java.lang.String pBundleLinksPropertyName) |
void |
setCatalogRefIdMatchQuery(RqlStatement pCatalogRefIdMatchQuery)
Sets property CatalogRefIdMatchQuery
|
void |
setCatalogRefIdPropertyName(java.lang.String pCatalogRefIdPropertyName)
Sets property CatalogRefIdPropertyName
|
void |
setCatalogRefItemType(java.lang.String pCatalogRefItemType)
Sets property CatalogRefItemType
|
void |
setCatalogRefRepository(Repository pCatalogRefRepository)
Sets property CatalogRefRepository
|
void |
setClientLockManager(ClientLockManager pClientLockManager)
Deprecated.
locks are no longer used
|
void |
setDefaultBackorderLevel(long pDefaultBackorderLevel) |
void |
setDefaultBackorderLevelWithFraction(double pDefaultBackorderLevelWithFraction) |
void |
setDefaultPreorderLevel(long pDefaultPreorderLevel) |
void |
setDefaultPreorderLevelWithFraction(double pDefaultPreorderLevelWithFraction) |
void |
setDefaultStockLevel(long pDefaultStockLevel) |
void |
setDefaultStockLevelWithFraction(double pDefaultStockLevelWithFraction) |
void |
setInventoryEventPort(java.lang.String pInventoryEventPort) |
void |
setInventoryName(java.lang.String pInventoryName) |
void |
setInventoryRowLockProperty(java.lang.String pInventoryRowLockProperty) |
void |
setInventoryRowLockSQL(java.lang.String pInventoryRowLockSQL) |
void |
setItemType(java.lang.String pItemType)
Sets property ItemType
|
void |
setLocationCatalogRefIdMatchQuery(RqlStatement pLocationCatalogRefIdMatchQuery)
Sets property CatalogRefIdMatchQuery
|
void |
setLocationInventoryRowLockSQL(java.lang.String pLocationInventoryRowLockSQL) |
void |
setMaximumRetriesPerRowLock(int pMaximumRetriesPerRowLock) |
void |
setMessageIdGenerator(IdGenerator pMessageIdGenerator) |
void |
setMessageIdSpaceName(java.lang.String pMessageIdSpaceName) |
void |
setMillisecondDelayBeforeLockRetry(int pMillisecondDelayBeforeLockRetry) |
int |
setPreorderLevel(java.lang.String pId,
double pQuantity)
Set an item's preorder level to the specified number.
|
int |
setPreorderLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Set an item's preorder level to the specified number.
|
int |
setPreorderLevel(java.lang.String pId,
long pQuantity)
Set an item's preorder level to the specified number.
|
int |
setPreorderLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
set the item's preorderLevel property to pQuantity, and the item's preOrderLevelWithFraction property
to pQuantityWithFraction.
|
int |
setPreorderLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
set the item's preorder level to pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
void |
setPreorderLevelPropertyName(java.lang.String pPreorderLevelPropertyName)
Sets property PreorderLevelPropertyName
|
void |
setPreorderLevelWithFractionPropertyName(java.lang.String pPreorderLevelWithFractionPropertyName)
Sets property PreorderLevelWithFractionPropertyName
|
int |
setPreorderThreshold(java.lang.String pId,
long pQuantity)
Set an item's preorder level threshold.
|
int |
setPreorderThreshold(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
Set an item's preorder level threshold.
|
void |
setPreorderThresholdPropertyName(java.lang.String pPreorderThresholdPropertyName)
Sets property PreorderThresholdPropertyName
|
void |
setRepository(MutableRepository pRepository)
Sets property Repository
|
void |
setSkuLinkItemPropertyName(java.lang.String pSkuLinkItemPropertyName) |
void |
setSkuLinkQuantityPropertyName(java.lang.String pSkuLinkQuantityPropertyName) |
void |
setSkuLinkQuantityWithFractionPropertyName(java.lang.String pSkuLinkQuantityWithFractionPropertyName) |
int |
setStockLevel(java.lang.String pId,
double pQuantity)
Set an item's stock level to the specified number.
|
int |
setStockLevel(java.lang.String pId,
double pQuantity,
java.lang.String pLocationId)
Set an item's stock level to the specified number.
|
int |
setStockLevel(java.lang.String pId,
long pQuantity)
Set an item's stock level to the specified number.
|
int |
setStockLevel(java.lang.String pId,
long pQuantity,
double pQuantityWithFraction,
java.lang.String pLocationId)
set the item's stockLevel property to pQuantity and the items stockLevelWithFraction property to pQuantityWithFraction.
|
int |
setStockLevel(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
set the item's stock level to pQuantity,
If the item is a bundle, this method does nothing
and returns INVENTORY_STATUS_SUCCEED.
|
void |
setStockLevelPropertyName(java.lang.String pStockLevelPropertyName)
Sets property StockLevelPropertyName
|
void |
setStockLevelWithFractionPropertyName(java.lang.String pStockLevelWithFractionPropertyName)
Sets property StockLevelWithFractionPropertyName
|
int |
setStockThreshold(java.lang.String pId,
long pQuantity)
Set an item's stock level threshold.
|
int |
setStockThreshold(java.lang.String pId,
long pQuantity,
java.lang.String pLocationId)
Set an item's stock level threshold.
|
void |
setStockThresholdPropertyName(java.lang.String pStockThresholdPropertyName)
Sets property StockThresholdPropertyName
|
void |
setUpdateInventoryPort(java.lang.String pUpdateInventoryPort) |
protected void |
thresholdHasBeenReached(java.lang.String pId,
java.lang.String pLevelPropertyName,
java.lang.String pThresholdPropertyName,
long pCurrentValue,
long pThreshold)
This gets called when some level sinks below the threshold.
|
protected void |
thresholdHasBeenReached(java.lang.String pId,
java.lang.String pLocationId,
java.lang.String pLevelPropertyName,
java.lang.String pThresholdPropertyName,
long pCurrentValue,
double pCurrentValueWithFraction,
long pThreshold)
This gets called when some level sinks below the threshold.
|
protected void |
thresholdHasBeenReached(java.lang.String pId,
java.lang.String pLocationId,
java.lang.String pLevelPropertyName,
java.lang.String pThresholdPropertyName,
long pCurrentValue,
long pThreshold)
This gets called when some level sinks below the threshold.
|
protected void |
unlock(java.lang.String pItemId)
Release the lock for the given id.
|
protected void |
unlock(java.lang.String pItemId,
java.lang.String pLocationId) |
protected void |
updateItem(MutableRepositoryItem pItem)
Update the item in the inventory
|
receiveMessage, sendCommerceMessage
beforeSendMessage, getDefaultMessageSourceName, getDelayOnSendRetry, getLimboDeliveryDelay, getMessageSourceContext, getMessageSourceName, getTransactionManager, isAllowMessageSending, sendObjectMessage, setAllowMessageSending, setDelayOnSendRetry, setLimboDeliveryDelay, setMessageSourceContext, setMessageSourceName, setTransactionManager, startMessageSource, stopMessageSource
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static final java.lang.String CLASS_VERSION
public void setStockLevelPropertyName(java.lang.String pStockLevelPropertyName)
public java.lang.String getStockLevelPropertyName()
public void setStockLevelWithFractionPropertyName(java.lang.String pStockLevelWithFractionPropertyName)
public java.lang.String getStockLevelWithFractionPropertyName()
public void setBackorderLevelPropertyName(java.lang.String pBackorderLevelPropertyName)
public java.lang.String getBackorderLevelPropertyName()
public void setBackorderLevelWithFractionPropertyName(java.lang.String pBackorderLevelWithFractionPropertyName)
public java.lang.String getBackorderLevelWithFractionPropertyName()
public void setPreorderLevelPropertyName(java.lang.String pPreorderLevelPropertyName)
public java.lang.String getPreorderLevelPropertyName()
public void setPreorderLevelWithFractionPropertyName(java.lang.String pPreorderLevelWithFractionPropertyName)
public java.lang.String getPreorderLevelWithFractionPropertyName()
public void setStockThresholdPropertyName(java.lang.String pStockThresholdPropertyName)
public java.lang.String getStockThresholdPropertyName()
public void setBackorderThresholdPropertyName(java.lang.String pBackorderThresholdPropertyName)
public java.lang.String getBackorderThresholdPropertyName()
public void setPreorderThresholdPropertyName(java.lang.String pPreorderThresholdPropertyName)
public java.lang.String getPreorderThresholdPropertyName()
public void setAvailabilityStatusPropertyName(java.lang.String pAvailabilityStatusPropertyName)
public java.lang.String getAvailabilityStatusPropertyName()
public void setAvailabilityDatePropertyName(java.lang.String pAvailabilityDatePropertyName)
public java.lang.String getAvailabilityDatePropertyName()
public void setATPInformationPropertyName(java.lang.String pATPInformationPropertyName)
public java.lang.String getATPInformationPropertyName()
public void setATPDatePropertyName(java.lang.String pATPDatePropertyName)
public java.lang.String getATPDatePropertyName()
public void setATPQuantityPropertyName(java.lang.String pATPQuantityPropertyName)
public java.lang.String getATPQuantityPropertyName()
public void setCatalogRefIdPropertyName(java.lang.String pCatalogRefIdPropertyName)
public java.lang.String getCatalogRefIdPropertyName()
public void setBundleLinksPropertyName(java.lang.String pBundleLinksPropertyName)
public java.lang.String getBundleLinksPropertyName()
public void setSkuLinkItemPropertyName(java.lang.String pSkuLinkItemPropertyName)
public java.lang.String getSkuLinkItemPropertyName()
public void setSkuLinkQuantityPropertyName(java.lang.String pSkuLinkQuantityPropertyName)
public java.lang.String getSkuLinkQuantityPropertyName()
public void setSkuLinkQuantityWithFractionPropertyName(java.lang.String pSkuLinkQuantityWithFractionPropertyName)
public java.lang.String getSkuLinkQuantityWithFractionPropertyName()
public void setAvailabilityStatusDerivedValue(int pAvailabilityStatusDerivedValue)
public int getAvailabilityStatusDerivedValue()
public void setAvailabilityStatusInStockValue(int pAvailabilityStatusInStockValue)
public int getAvailabilityStatusInStockValue()
public void setAvailabilityStatusBackorderableValue(int pAvailabilityStatusBackorderableValue)
public int getAvailabilityStatusBackorderableValue()
public void setAvailabilityStatusPreorderableValue(int pAvailabilityStatusPreorderableValue)
public int getAvailabilityStatusPreorderableValue()
public void setAvailabilityStatusOutOfStockValue(int pAvailabilityStatusOutOfStockValue)
public int getAvailabilityStatusOutOfStockValue()
public void setAvailabilityStatusDiscontinuedValue(int pAvailabilityStatusDiscontinuedValue)
public int getAvailabilityStatusDiscontinuedValue()
public void setDefaultStockLevel(long pDefaultStockLevel)
public long getDefaultStockLevel()
public void setDefaultBackorderLevel(long pDefaultBackorderLevel)
public long getDefaultBackorderLevel()
public void setDefaultPreorderLevel(long pDefaultPreorderLevel)
public long getDefaultPreorderLevel()
public void setDefaultStockLevelWithFraction(double pDefaultStockLevelWithFraction)
public double getDefaultStockLevelWithFraction()
public void setDefaultBackorderLevelWithFraction(double pDefaultBackorderLevelWithFraction)
public double getDefaultBackorderLevelWithFraction()
public void setDefaultPreorderLevelWithFraction(double pDefaultPreorderLevelWithFraction)
public double getDefaultPreorderLevelWithFraction()
public void setMessageIdGenerator(IdGenerator pMessageIdGenerator)
public IdGenerator getMessageIdGenerator()
public void setMessageIdSpaceName(java.lang.String pMessageIdSpaceName)
public java.lang.String getMessageIdSpaceName()
public void setRepository(MutableRepository pRepository)
public MutableRepository getRepository()
public void setItemType(java.lang.String pItemType)
public java.lang.String getItemType()
public void setCatalogRefIdMatchQuery(RqlStatement pCatalogRefIdMatchQuery)
public RqlStatement getCatalogRefIdMatchQuery()
public void setLocationCatalogRefIdMatchQuery(RqlStatement pLocationCatalogRefIdMatchQuery)
public RqlStatement getLocationCatalogRefIdMatchQuery()
public void setCatalogRefRepository(Repository pCatalogRefRepository)
public Repository getCatalogRefRepository()
public void setCatalogRefItemType(java.lang.String pCatalogRefItemType)
public java.lang.String getCatalogRefItemType()
public void setClientLockManager(ClientLockManager pClientLockManager)
public ClientLockManager getClientLockManager()
public void setUpdateInventoryPort(java.lang.String pUpdateInventoryPort)
public java.lang.String getUpdateInventoryPort()
public void setInventoryEventPort(java.lang.String pInventoryEventPort)
public java.lang.String getInventoryEventPort()
protected RepositoryItem getCatalogRefItem(java.lang.String pId) throws RepositoryException
RepositoryException
- if there was a problem accessing the itempublic void setMaximumRetriesPerRowLock(int pMaximumRetriesPerRowLock)
public int getMaximumRetriesPerRowLock()
public void setMillisecondDelayBeforeLockRetry(int pMillisecondDelayBeforeLockRetry)
public int getMillisecondDelayBeforeLockRetry()
public void setInventoryRowLockProperty(java.lang.String pInventoryRowLockProperty)
public java.lang.String getInventoryRowLockProperty()
public void setInventoryRowLockSQL(java.lang.String pInventoryRowLockSQL)
public java.lang.String getInventoryRowLockSQL()
public void setLocationInventoryRowLockSQL(java.lang.String pLocationInventoryRowLockSQL)
public java.lang.String getLocationInventoryRowLockSQL()
protected MutableRepositoryItem getInventoryItemForUpdate(java.lang.String pId) throws RepositoryException
RepositoryException
- if there was a problem accessing the itemprotected MutableRepositoryItem getInventoryItemForUpdate(java.lang.String pId, java.lang.String pLocationId) throws RepositoryException
RepositoryException
- if there was a problem accessing the itemprotected RepositoryItem getInventoryItem(java.lang.String pId) throws RepositoryException
RepositoryException
- if there was a problem accessing the itemprotected RepositoryItem getInventoryItem(java.lang.String pId, java.lang.String pLocationId) throws RepositoryException
RepositoryException
- if there was a problem accessing the itempublic void setInventoryName(java.lang.String pInventoryName)
public java.lang.String getInventoryName()
getInventoryName
in interface InventoryManager
public int purchase(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
purchase
in interface LocationInventoryManager
pId
- The id of the SKU being purchased.pQuantity
- The amount of the SKU being purchased.pLocation
- the location id of where the SKU is being purchased from.InventoryException
queryAvailabilityStatus(java.lang.String, java.lang.String)
,
purchaseBundle(java.lang.String, long)
public int purchase(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU being purchased.pLocation
- the location id of where the SKU is being purchased from.pQuantity
- The amount of the SKU being purchased.pQuantityWithFraction
- the amount of the sku being purchasedInventoryException
queryAvailabilityStatus(java.lang.String, java.lang.String)
,
purchaseBundle(java.lang.String, long)
public int purchaseOffBackorder(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
purchaseOffBackorder
in interface LocationInventoryManager
pId
- The id of the SKU being purchased.pLocationId
- The location of the SKU being purchased.pQuantity
- The amount of the SKU being purchased.InventoryException
queryAvailabilityStatus(java.lang.String, java.lang.String)
,
purchaseBundleOffBackorder(java.lang.String, long)
public int purchaseOffBackorder(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU being purchased.pLocationId
- The location of the SKU being purchased.pQuantity
- The amount of the SKU being purchased.pQuantityWithFraction
- The amount of the SKU being purchased.InventoryException
queryAvailabilityStatus(java.lang.String, java.lang.String)
,
purchaseBundleOffBackorder(java.lang.String, long)
public int purchaseOffPreorder(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
purchaseOffPreorder
in interface LocationInventoryManager
pId
- The id of the SKU being purchased.pQuantity
- The amount of the SKU being purchased.pLocationId
- the location where the SKU is being purchased from.InventoryException
queryAvailabilityStatus(java.lang.String, java.lang.String)
,
purchaseBundleOffPreorder(java.lang.String, long)
public int purchaseOffPreorder(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU being purchased.pQuantity
- The amount of the SKU being purchased.pQuantityWithFraction
- The amount of the SKU being purchased.pLocationId
- the location where the SKU is being purchased from.InventoryException
queryAvailabilityStatus(java.lang.String, java.lang.String)
,
purchaseBundleOffPreorder(java.lang.String, long)
public int preorder(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
preorder
in interface LocationInventoryManager
pId
- The id of the SKU being preordered.pQuantity
- The amount of the SKU being preordered.pLocationId
- the location of the SKU being preordered.InventoryException
preorderBundle(java.lang.String, long)
public int preorder(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU being preordered.pLocationId
- the location of the SKU being preordered.pQuantity
- The amount of the SKU being preordered.pQuantityWithFraction
- The amount of the SKU being preordered.InventoryException
preorderBundle(java.lang.String, long)
public int backorder(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
backorder
in interface LocationInventoryManager
pId
- The id of the SKU being backordered.pQuantity
- The amount of the SKU being backordered.pLocationId
- the location of the sku being backordered.InventoryException
backorderBundle(java.lang.String, long, java.lang.String)
public int backorder(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU being backordered.pQuantity
- The amount of the SKU being backordered.pQuantityWithFraction
- The amount of the SKU being backordered.pLocationId
- the location of the sku being backordered.InventoryException
backorderBundle(java.lang.String, long, java.lang.String)
protected int decrementSKULevel(MutableRepositoryItem pItem, long pQuantity, java.lang.String pLevelName, java.lang.String pThresholdName) throws InventoryException
pItem
- The id of the SKU being changed.pQuantity
- The amount the level should be decreased by.pLevelName
- The name of the level that should be decreased.
(one of stockLevel, backorderLevel, preorderLevel)pThresholdName
- The name of the threshold associated with pLevelNameInventoryException
thresholdHasBeenReached(java.lang.String, java.lang.String, java.lang.String, long, long)
protected int decrementSKULevel(MutableRepositoryItem pItem, java.lang.String pLocationId, long pQuantity, java.lang.String pLevelName, java.lang.String pThresholdName) throws InventoryException
pItem
- The id of the SKU being changed.pLocationId
- The location of the sku being backordered.pQuantity
- The amount the level should be decreased by.pLevelName
- The name of the level that should be decreased.
(one of stockLevel, backorderLevel, preorderLevel)pThresholdName
- The name of the threshold associated with pLevelNameInventoryException
thresholdHasBeenReached(java.lang.String, java.lang.String, java.lang.String, long, long)
protected int decrementSKULevel(MutableRepositoryItem pItem, java.lang.String pLocationId, long pQuantity, double pQuantityWithFraction, java.lang.String pLevelName, java.lang.String pThresholdName) throws InventoryException
pItem
- The id of the SKU being changed.pLocationId
- The location where the SKU's stock level is being set.pQuantity
- The amount the level should be decreased by.pQuantityWithFraction
- The amount the level should be decreased by.pLevelName
- The name of the level that should be decreased.
(one of stockLevel, backorderLevel, preorderLevel)pThresholdName
- The name of the threshold associated with pLevelNameInventoryException
thresholdHasBeenReached(java.lang.String, java.lang.String, java.lang.String, long, long)
public int setStockLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
setStockLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose stockLevel is being setpQuantity
- The amount to set the stockLevel to.pLocationId
- the location where the SKU's stock level is being set.InventoryException
public int setStockLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose stockLevel is being setpQuantity
- The amount to set the stockLevel to.pQuantityWithFraction
- The amount to set the stockLevel to.pLocationId
- the location where the SKU's stock level is being set.InventoryException
public int setBackorderLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
setBackorderLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose backorderLevel is being setpLocationId
- the location where the SKU's backorderLevel is being setpQuantity
- The amount to set the backorderLevel to.InventoryException
public int setBackorderLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose backorderLevel is being setpLocationId
- the location where the SKU's backorderLevel is being setpQuantity
- The amount to set the backorderLevel to.pQuantityWithFraction
- The amount to set the backorderLevelWithFraction to.InventoryException
public int setPreorderLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
setPreorderLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose preorderLevel is being setpLocationId
- The location id where the SKU's preorderLevel is being setpQuantity
- The amount to set the preorderLevel to.InventoryException
public int setPreorderLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose preorderLevel is being setpLocationId
- The location id where the SKU's preorderLevel is being setpQuantity
- The amount to set the preorderLevel to.pQuantityWithFraction
- the amount to set the preorderlevelWithFraction to.InventoryException
public int increaseStockLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
increaseStockLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose stockLevel is being increased.pLocationId
- the Location Id where the SKU's stock level is being increased.pQuantity
- The amount to increase the stockLevel to.InventoryException
public int increaseStockLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose stockLevel is being increased.pLocationId
- the Location Id where the SKU's stock level is being increased.pQuantity
- The amount to increase the stockLevel to.pQuantityWithFraction
- The amount to increase the stockLevelWithFraction to.InventoryException
public int decreaseStockLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
decreaseStockLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose stockLevel is being decreased.pQuantity
- The amount to decrease the stockLevel to.pLocationId
- the Location Id where the SKU's stock level is being decreased.InventoryException
public int decreaseStockLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose stockLevel is being decreased.pQuantity
- The amount to decrease the stockLevel to.pQuantityWithFraction
- The amount to decrease the stockLevelWithFraction to.pLocationId
- the Location Id where the SKU's stock level is being decreased.InventoryException
public int increaseBackorderLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
increaseBackorderLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose backorderLevel is being increased.pQuantity
- The amount to increase the backorderLevel to.pLocationId
- the Location Id where the SKU's backorder level is being increased.InventoryException
public int increaseBackorderLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose backorderLevel is being increased.pLocationId
- the Location Id where the SKU's backorder level is being increased.pQuantity
- The amount to increase the backorderLevel to.pQuantityWithFraction
- The amount to increase the backorderLevelWithFraction to.InventoryException
public int decreaseBackorderLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
decreaseBackorderLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose backorderLevel is being decreased.pQuantity
- The amount to decrease the backorderLevel to.pLocationId
- the Location Id where the SKU's backorderLevel is being decreased.InventoryException
public int decreaseBackorderLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose backorderLevel is being decreased.pLocationId
- the Location Id where the SKU's backorderLevel is being decreased.pQuantity
- The amount to decrease the backorderLevel to.pQuantityWithFraction
- The amount to decrease the backorderLevelWithFraction to.InventoryException
public int increasePreorderLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
increasePreorderLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose preorderLevel is being increased.pQuantity
- The amount to increase the preorderLevel to.pLocationId
- the Location Id where the SKU's preorderLevel is being increased.InventoryException
public int increasePreorderLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose preorderLevel is being increased.pLocationId
- the Location Id where the SKU's preorderLevel is being increased.pQuantity
- The amount to increase the preorderLevel to.pQuantityWithFraction
- The amount to increase the preorderLevelWithFraction to.InventoryException
public int decreasePreorderLevel(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
decreasePreorderLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose preorderLevel is being decreased.pQuantity
- The amount to decrease the preorderLevel to.pLocationId
- the Location Id where the SKU's preorderLevel is being decreased.InventoryException
public int decreasePreorderLevel(java.lang.String pId, long pQuantity, double pQuantityWithFraction, java.lang.String pLocationId) throws InventoryException
pId
- The id of the SKU whose preorderLevel is being decreased.pLocationId
- the Location Id where the SKU's preorderLevel is being decreased.pQuantity
- The amount to decrease the preorderLevel to.pQuantityWithFraction
- The amount to decrease the preorderLevelWithFraction to.InventoryException
public int setAvailabilityStatus(java.lang.String pId, int pStatus, java.lang.String pLocationId) throws InventoryException
setAvailabilityStatus
in interface LocationInventoryManager
pId
- the id of the item involvedpStatus
- the new status (one of AVAILABILITY_STATUS_IN_STOCK,
AVAILABILITY_STATUS_BACKORDERABLE,
AVAILABILITY_STATUS_PREORDERABLE,
AVAILABILITY_STATUS_OUT_OF_STOCK,
AVAILABILITY_STATUS_DISCONTINUED,
or AVAILABILITY_STATUS_DERIVED)pLocationId
- the Location Id where the SKU's availability status is being set.InventoryException
public int setAvailabilityDate(java.lang.String pId, java.util.Date pDate, java.lang.String pLocationId) throws InventoryException
setAvailabilityDate
in interface LocationInventoryManager
pId
- the id of the item involvedpLocationId
- the location of the item involved.pDate
- The new availability date for the item.InventoryException
public int queryAvailabilityStatus(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryAvailabilityStatus
in interface LocationInventoryManager
pId
- The id of the SKU whose status is being queriedpLocationId
- the location of the item involved.InventoryException
deriveAvailabilityStatus(java.lang.String)
,
deriveBundleAvailabilityStatus(java.lang.String)
public long queryStockLevel(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryStockLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose stockLevel is returnedpLocationId
- the location of the item involved.InventoryException
queryBundleStockLevel(java.lang.String, java.lang.String)
public double queryStockLevelWithFraction(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryStockLevelWithFraction
in interface LocationInventoryManager
pId
- The id of the SKU whose stockLevel is returnedpLocationId
- the location of the item involved.InventoryException
queryBundleStockLevel(java.lang.String, java.lang.String)
public long queryBackorderLevel(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryBackorderLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose backorderLevel is returnedpLocationId
- the location of the item involved.InventoryException
queryBundleBackorderLevel(java.lang.String)
public double queryBackorderLevelWithFraction(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryBackorderLevelWithFraction
in interface LocationInventoryManager
pId
- The id of the SKU whose backorderLevel is returnedpLocationId
- the location of the item involved.InventoryException
queryBundleBackorderLevel(java.lang.String)
public long queryPreorderLevel(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryPreorderLevel
in interface LocationInventoryManager
pId
- The id of the SKU whose preorderLevel is returnedpLocationId
- the location of the item involved.InventoryException
queryBundlePreorderLevel(java.lang.String, java.lang.String)
public double queryPreorderLevelWithFraction(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryPreorderLevelWithFraction
in interface LocationInventoryManager
pId
- The id of the SKU whose preorderLevelWithFraction is returnedpLocationId
- the location of the item involved.InventoryException
queryBundlePreorderLevel(java.lang.String, java.lang.String)
public java.util.Date queryAvailabilityDate(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryAvailabilityDate
in interface LocationInventoryManager
pId
- The id of the SKU whose availabilityDate is returnedpLocationId
- the location of the item involved.InventoryException
queryBundleAvailabilityDate(java.lang.String, java.lang.String)
public int inventoryWasUpdated(java.util.List pItemIds, java.lang.String pLocationId) throws InventoryException
inventoryWasUpdated
in interface LocationInventoryManager
pItemIds
- The items with recently added inventorypLocationId
- the location of the items involved.MissingInventoryItemException
- if a given id does not exist.InventoryException
JMSException
public int setStockThreshold(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
setStockThreshold
in interface LocationInventoryManager
pId
- the id of the SKU involvedpQuantity
- the number to set the threshold topLocationId
- the location of the inventory (null is default warehouse)InventoryException
public int setBackorderThreshold(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
setBackorderThreshold
in interface LocationInventoryManager
pId
- the id of the SKU involvedpQuantity
- the number to set the threshold topLocationId
- the location of the item involvedInventoryException
public int setPreorderThreshold(java.lang.String pId, long pQuantity, java.lang.String pLocationId) throws InventoryException
setPreorderThreshold
in interface LocationInventoryManager
pId
- the id of the SKU involvedpQuantity
- the number to set the threshold topLocationId
- the location of the item involved.InventoryException
public long queryStockThreshold(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryStockThreshold
in interface LocationInventoryManager
pId
- the id of the SKU involvedpLocationId
- the location of the item involved.InventoryException
public long queryBackorderThreshold(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryBackorderThreshold
in interface LocationInventoryManager
pId
- the id of the SKU involvedpLocationId
- the location of the item involved.InventoryException
public long queryPreorderThreshold(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
queryPreorderThreshold
in interface LocationInventoryManager
pId
- the id of the SKU involvedpLocationId
- the location of the item involved.InventoryException
protected void thresholdHasBeenReached(java.lang.String pId, java.lang.String pLevelPropertyName, java.lang.String pThresholdPropertyName, long pCurrentValue, long pThreshold) throws InventoryException
pId
- The id of the SKU at a critical inventory level.pLevelPropertyName
- The name of the property that is at a critical levelpThresholdPropertyName
- The name of the threshold that has been reached.pCurrentValue
- The current value of pLevelPropertyNamepThreshold
- The vale of pThresholdPropertyNameInventoryException
InventoryThresholdReached
,
getInventoryEventPort()
protected void thresholdHasBeenReached(java.lang.String pId, java.lang.String pLocationId, java.lang.String pLevelPropertyName, java.lang.String pThresholdPropertyName, long pCurrentValue, long pThreshold) throws InventoryException
pId
- The id of the SKU at a critical inventory level.pLocationId
- The id of the location for this inventory.pLevelPropertyName
- The name of the property that is at a critical levelpThresholdPropertyName
- The name of the threshold that has been reached.pCurrentValue
- The current value of pLevelPropertyNamepThreshold
- The vale of pThresholdPropertyNameInventoryException
InventoryThresholdReached
,
getInventoryEventPort()
protected void thresholdHasBeenReached(java.lang.String pId, java.lang.String pLocationId, java.lang.String pLevelPropertyName, java.lang.String pThresholdPropertyName, long pCurrentValue, double pCurrentValueWithFraction, long pThreshold) throws InventoryException
pId
- The id of the SKU at a critical inventory level.pLocationId
- The id of the location for this inventory.pLevelPropertyName
- The name of the property that is at a critical levelpThresholdPropertyName
- The name of the threshold that has been reached.pCurrentValue
- The current value of pLevelPropertyNamepCurrentValueWithFraction
- The current value of pLevelPropertyNamepThreshold
- The vale of pThresholdPropertyNameInventoryException
InventoryThresholdReached
,
getInventoryEventPort()
protected int deriveAvailabilityStatus(java.lang.String pId) throws InventoryException
if(stockLevel != 0)
return IN_STOCK;
else if(backorderLevel != 0)
return BACKORDERABLE;
else if(preorderLevel != 0)
return PREORDERABLE;
else
return OUT_OF_STOCK;
pId
- The sku we are deriving the status forInventoryException
protected int deriveAvailabilityStatus(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
if(stockLevel/stockLevelWithFraction != 0)
return IN_STOCK;
else if(backorderLevel/backOrderLevelWithFraction != 0)
return BACKORDERABLE;
else if(preorderLevel/preorderLevelWithFraction != 0)
return PREORDERABLE;
else
return OUT_OF_STOCK;
pId
- The sku we are deriving the status forpLocationId
- The location of the inventory we are deriving the status forInventoryException
public java.lang.String getNextMessageId() throws InventoryException
InventoryException
protected void updateItem(MutableRepositoryItem pItem) throws RepositoryException
pItem
- The inventory's RepositoryItemRepositoryException
protected void lock(java.lang.String pItemId) throws java.sql.SQLException
pItemId
- The catalog ref id whose inventory we want to changejava.sql.SQLException
getMillisecondDelayBeforeLockRetry()
,
getMaximumRetriesPerRowLock()
,
getInventoryRowLockProperty()
,
getInventoryRowLockSQL()
protected void lock(java.lang.String pItemId, java.lang.String pLocationId) throws java.sql.SQLException
pItemId
- The catalog ref id whose inventory we want to changepLocationId
- the LocationId of the inventory we want to changejava.sql.SQLException
getMillisecondDelayBeforeLockRetry()
,
getMaximumRetriesPerRowLock()
,
getInventoryRowLockProperty()
,
getInventoryRowLockSQL()
protected void unlock(java.lang.String pItemId) throws java.sql.SQLException
java.sql.SQLException
protected void unlock(java.lang.String pItemId, java.lang.String pLocationId) throws java.sql.SQLException
java.sql.SQLException
public void acquireInventoryLocks(java.util.List pItemIds, java.lang.String pLocationId) throws InventoryException
lock
The locks are acquired in sorted order. Any locks for
ids contained within a bundle are also acquired in the
correct order.
If one of the ids does not exist, it is ignored.acquireInventoryLocks
in interface LocationInventoryManager
pItemIds
- The list of catalog ref idspLocationId
- the location of the inventory (null is default warehouse)InventoryException
public void releaseInventoryLocks(java.util.List pItemIds, java.lang.String pLocationId) throws InventoryException
releaseInventoryLocks
in interface LocationInventoryManager
pLocationId
- the location of the inventory (null is default warehouse)InventoryException
public java.util.List getBundledIds(java.lang.String pBundleId) throws InventoryException
InventoryException
protected java.util.List getBundleLinks(java.lang.String pId) throws InventoryException
pId
- The id of the sku in questionInventoryException
protected java.util.List getBundleLinks(RepositoryItem pBundle) throws InventoryException
pBundle
- The sku.InventoryException
protected boolean isBundle(java.lang.String pId) throws InventoryException
pId
- The id of the sku in questionInventoryException
protected int deriveBundleAvailabilityStatus(java.lang.String pBundleId) throws InventoryException
for each item
queryAvailabilityStatus(item)
if any items are AVAILABILITY_STATUS_OUT_OF_STOCK
return AVAILABILITY_STATUS_OUT_OF_STOCK
else if any are AVAILABILITY_STATUS_PREORDERABLE
return AVAILABILITY_STATUS_PREORDERABLE
else if any are AVAILABILITY_STATUS_BACKORDERABLE
return AVAILABILITY_STATUS_BACKORDERABLE
else
return AVAILABILITY_STATUS_IN_STOCK
pId
- the id of the bundleInventoryException
protected int deriveBundleAvailabilityStatus(java.lang.String pBundleId, java.lang.String pLocationId) throws InventoryException
for each item
queryAvailabilityStatus(item)
if any items are AVAILABILITY_STATUS_OUT_OF_STOCK
return AVAILABILITY_STATUS_OUT_OF_STOCK
else if any are AVAILABILITY_STATUS_PREORDERABLE
return AVAILABILITY_STATUS_PREORDERABLE
else if any are AVAILABILITY_STATUS_BACKORDERABLE
return AVAILABILITY_STATUS_BACKORDERABLE
else
return AVAILABILITY_STATUS_IN_STOCK
pId
- the id of the bundlepLocationId
- the location id of the bundleInventoryException
protected int purchaseBundle(java.lang.String pBundleId, long pQuantity) throws InventoryException
foreach item
queryAvailabilityStatus(bundle)
if AVAILABILITY_STATUS_IN_STOCK
for each item
purchase(item, itemQuantity)
if purchase returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
for each item already purchased
increaseStockLevel
return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
if purchase returns INVENTORY_STATUS_FAILED
for each item already purchased
increaseStockLevel
return INVENTORY_STATUS_FAILED
return INVENTORY_STATUS_SUCCEED
else
return INVENTORY_STATUS_FAILED
pBundleId
- The id of the bundlepQuantity
- the quantity of the bundle to purchaseInventoryException
protected int purchaseBundle(java.lang.String pBundleId, long pQuantity, java.lang.String pLocationId) throws InventoryException
foreach item
queryAvailabilityStatus(bundle)
if AVAILABILITY_STATUS_IN_STOCK
for each item
purchase(item, itemQuantity)
if purchase returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
for each item already purchased
increaseStockLevel
return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
if purchase returns INVENTORY_STATUS_FAILED
for each item already purchased
increaseStockLevel
return INVENTORY_STATUS_FAILED
return INVENTORY_STATUS_SUCCEED
else
return INVENTORY_STATUS_FAILED
pBundleId
- The id of the bundlepQuantity
- the quantity of the bundle to purchasepLocationId
- the location of the bundleInventoryException
protected int backorderBundle(java.lang.String pBundleId, long pQuantity, java.lang.String pLocationId) throws InventoryException
foreach item
backorder(item, itemQuantity)
if backorder returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
for each item already backordered
increaseBackorderLevel
return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
if backorder returns INVENTORY_STATUS_FAILED
for each item already backordered
increaseBackorderLevel
return INVENTORY_STATUS_FAILED
return INVENTORY_STATUS_SUCCEED
else
return INVENTORY_STATUS_FAILED
pBundleId
- The id of the bundle we are backorderingpQuantity
- the quantity of the bundle to backorderpLocationId
- the location id of the bundleInventoryException
protected int preorderBundle(java.lang.String pBundleId, long pQuantity) throws InventoryException
foreach item
preorder(item, itemQuantity)
if preorder returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
for each item already preordered
increasePreorderLevel
return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
if preorder returns INVENTORY_STATUS_FAILED
for each item already preordered
increasePreorderLevel
return INVENTORY_STATUS_FAILED
return INVENTORY_STATUS_SUCCEED
else
return INVENTORY_STATUS_FAILED
pBundleId
- The id of the bundle we are backorderingpQuantity
- the quantity of the bundle to backorderInventoryException
protected int preorderBundle(java.lang.String pBundleId, long pQuantity, java.lang.String pLocationId) throws InventoryException
foreach item
preorder(item, itemQuantity)
if preorder returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
for each item already preordered
increasePreorderLevel
return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
if preorder returns INVENTORY_STATUS_FAILED
for each item already preordered
increasePreorderLevel
return INVENTORY_STATUS_FAILED
return INVENTORY_STATUS_SUCCEED
else
return INVENTORY_STATUS_FAILED
pBundleId
- The id of the bundle we are backorderingpQuantity
- the quantity of the bundle to backorderpLocationId
- the location id of the bundleInventoryException
protected int purchaseBundleOffPreorder(java.lang.String pBundleId, long pQuantity) throws InventoryException
pBundleId
- The id of the bundlepQuantity
- the quantity of the bundle to purchaseInventoryException
protected int purchaseBundleOffPreorder(java.lang.String pBundleId, long pQuantity, java.lang.String pLocationId) throws InventoryException
pBundleId
- The id of the bundlepQuantity
- the quantity of the bundle to purchasepLocationId
- the location of the bundleInventoryException
protected int purchaseBundleOffBackorder(java.lang.String pBundleId, long pQuantity) throws InventoryException
pBundleId
- The id of the bundlepQuantity
- the quantity of the bundle to purchaseInventoryException
protected int purchaseBundleOffBackorder(java.lang.String pBundleId, long pQuantity, java.lang.String pLocationId) throws InventoryException
pBundleId
- The id of the bundlepQuantity
- the quantity of the bundle to purchasepLocationId
- the location id of the bundleInventoryException
protected long queryBundleStockLevel(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
pId
- The id of the bundleInventoryException
protected long queryBundleBackorderLevel(java.lang.String pId) throws InventoryException
pId
- The id of the bundleInventoryException
protected long queryBundleBackorderLevel(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
pId
- The id of the bundlepLocationId
- the location id of the bundleInventoryException
protected long queryBundlePreorderLevel(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
pId
- The id of the bundleInventoryException
protected long queryBundleStockThreshold(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
pId
- The id of the bundleInventoryException
protected long queryBundleBackorderThreshold(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
pId
- The id of the bundleInventoryException
protected long queryBundlePreorderThreshold(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
pId
- The id of the bundleInventoryException
public java.util.Date queryBundleAvailabilityDate(java.lang.String pBundleId, java.lang.String pLocationId) throws InventoryException
pBundleId
- The id of the bundleInventoryException
MissingInventoryItemException
queryAvailabilityDate(java.lang.String, java.lang.String)
public java.util.Collection<InventoryInfo> queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
queryInventoryInformation
in interface LocationInventoryManager
pItemIds
- The items to find inventory information for.pLocationId
- the location of the inventory (null is default warehouse)InventoryException
public java.util.Collection<InventoryInfo> queryInventoryInformation(java.lang.String pId, java.util.Collection<java.lang.String> pLocationIds) throws InventoryException
LocationInventoryManager
queryInventoryInformation
in interface LocationInventoryManager
pId
- The item Id to find inventory info forpLocationIds
- The locations to find inventory information for.InventoryException
public java.util.Collection<InventoryInfo> queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds, java.util.Collection<java.lang.String> pLocationIds) throws InventoryException
LocationInventoryManager
queryInventoryInformation
in interface LocationInventoryManager
pItemIds
- The items to find inventory information for.pLocationIds
- The locations to find inventory information for.InventoryException
public InventoryInfo queryInventoryInformation(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
queryInventoryInformation
in interface LocationInventoryManager
pId
- The item Id to find inventory info forpLocationId
- the location of the inventory (null is default warehouse)InventoryException
public AvailableToPromise queryAvailableToPromise(java.lang.String pId, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
queryAvailableToPromise
in interface LocationInventoryManager
pId
- The item to find the ATP information forpLocationId
- The location to find ATP information for.InventoryException
public int purchase(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
purchase
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem during the purchase process.public int purchase(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
purchase
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem during the purchase process.public int purchase(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
purchase
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem during the purchase process.public int purchaseOffBackorder(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
purchaseOffBackorder
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem during the purchase process.public int purchaseOffBackorder(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
purchaseOffBackorder
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem during the purchase process.public int purchaseOffBackorder(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
purchaseOffBackorder
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem during the purchase process.public int purchaseOffPreorder(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
purchaseOffPreorder
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem during the purchase process.public int purchaseOffPreorder(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
purchaseOffPreorder
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem during the purchase process.public int purchaseOffPreorder(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
purchaseOffPreorder
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem during the purchase process.public int preorder(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
preorder
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem in trying to preorder the itempublic int preorder(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
preorder
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem in trying to preorder the itempublic int preorder(java.lang.String pId, double pQuantity, java.lang.String pLocaitonId) throws InventoryException
LocationInventoryManager
preorder
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productpLocaitonId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem in trying to preorder the itempublic int backorder(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
backorder
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem with the backordering process.public int backorder(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
backorder
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productInventoryException
- if there was a problem with the backordering process.public int backorder(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
backorder
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the quantity of productpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem with the backordering process.public int setStockLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
setStockLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setStockLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
setStockLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setStockLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
setStockLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int setBackorderLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
setBackorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setBackorderLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
setBackorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setBackorderLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
setBackorderLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int setPreorderLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
setPreorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setPreorderLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
setPreorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setPreorderLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
setPreorderLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int increaseStockLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
increaseStockLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelInventoryException
- if there was a problem trying to restockpublic int increaseStockLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
increaseStockLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelInventoryException
- if there was a problem trying to restockpublic int increaseStockLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
increaseStockLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int decreaseStockLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
decreaseStockLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelInventoryException
- if there was a problem trying to restockpublic int decreaseStockLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
decreaseStockLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int decreaseStockLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
decreaseStockLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelInventoryException
- if there was a problem trying to restockpublic int increaseBackorderLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
increaseBackorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelInventoryException
- if there was a problem trying to restockpublic int increaseBackorderLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
increaseBackorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelInventoryException
- if there was a problem trying to restockpublic int increaseBackorderLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
increaseBackorderLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int decreaseBackorderLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
decreaseBackorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelInventoryException
- if there was a problem trying to restockpublic int decreaseBackorderLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
decreaseBackorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelInventoryException
- if there was a problem trying to restockpublic int decreaseBackorderLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
decreaseBackorderLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int increasePreorderLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
increasePreorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelInventoryException
- if there was a problem trying to restockpublic int increasePreorderLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
increasePreorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelInventoryException
- if there was a problem trying to restockpublic int increasePreorderLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
increasePreorderLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to add to the current stock levelpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int decreasePreorderLevel(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
decreasePreorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelInventoryException
- if there was a problem trying to restockpublic int decreasePreorderLevel(java.lang.String pId, double pQuantity) throws InventoryException
InventoryManager
decreasePreorderLevel
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelInventoryException
- if there was a problem trying to restockpublic int decreasePreorderLevel(java.lang.String pId, double pQuantity, java.lang.String pLocationId) throws InventoryException
LocationInventoryManager
decreasePreorderLevel
in interface LocationInventoryManager
pId
- the id of the item involvedpQuantity
- the number of items to decrease from the current stock levelpLocationId
- the location of the inventory (null is default warehouse)InventoryException
- if there was a problem trying to restockpublic int setStockThreshold(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
setStockThreshold
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setBackorderThreshold(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
setBackorderThreshold
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setPreorderThreshold(java.lang.String pId, long pQuantity) throws InventoryException
InventoryManager
setPreorderThreshold
in interface InventoryManager
pId
- the id of the item involvedpQuantity
- the number of the given item to restockInventoryException
- if there was a problem trying to restockpublic int setAvailabilityStatus(java.lang.String pId, int pStatus) throws InventoryException
InventoryManager
setAvailabilityStatus
in interface InventoryManager
pId
- the id of the item involvedpStatus
- the new status (one of AVAILABILITY_STATUS_IN_STOCK,
AVAILABILITY_STATUS_BACKORDERABLE,
AVAILABILITY_STATUS_PREORDERABLE,
AVAILABILITY_STATUS_OUT_OF_STOCK,
AVAILABILITY_STATUS_DISCONTINUED,
or AVAILABILITY_STATUS_DERIVED)InventoryException
public int setAvailabilityDate(java.lang.String pId, java.util.Date pDate) throws InventoryException
InventoryManager
setAvailabilityDate
in interface InventoryManager
pId
- the id of the item involvedpDate
- The new availability date for the item.InventoryException
public int queryAvailabilityStatus(java.lang.String pId) throws InventoryException
InventoryManager
queryAvailabilityStatus
in interface InventoryManager
pId
- The id of the item involved.InventoryException
- if there was a problem determining the status of the itempublic long queryStockLevel(java.lang.String pId) throws InventoryException
InventoryManager
queryStockLevel
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic double queryStockLevelWithFraction(java.lang.String pId) throws InventoryException
InventoryManager
queryStockLevelWithFraction
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic long queryBackorderLevel(java.lang.String pId) throws InventoryException
InventoryManager
queryBackorderLevel
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic double queryBackorderLevelWithFraction(java.lang.String pId) throws InventoryException
InventoryManager
queryBackorderLevelWithFraction
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic long queryPreorderLevel(java.lang.String pId) throws InventoryException
InventoryManager
queryPreorderLevel
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic double queryPreorderLevelWithFraction(java.lang.String pId) throws InventoryException
InventoryManager
queryPreorderLevelWithFraction
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic long queryStockThreshold(java.lang.String pId) throws InventoryException
InventoryManager
queryStockThreshold
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic long queryBackorderThreshold(java.lang.String pId) throws InventoryException
InventoryManager
queryBackorderThreshold
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic long queryPreorderThreshold(java.lang.String pId) throws InventoryException
InventoryManager
queryPreorderThreshold
in interface InventoryManager
InventoryException
- if there was a problem determining the numberpublic java.util.Date queryAvailabilityDate(java.lang.String pId) throws InventoryException
InventoryManager
queryAvailabilityDate
in interface InventoryManager
InventoryException
- if there was a problem determining the datepublic int inventoryWasUpdated(java.util.List pItemIds) throws InventoryException
InventoryManager
inventoryWasUpdated
in interface InventoryManager
pItemIds
- The items with recently added inventoryInventoryException
public void acquireInventoryLocks(java.util.List pItemIds) throws InventoryException
InventoryManager
acquireInventoryLocks
in interface InventoryManager
InventoryException
public void releaseInventoryLocks(java.util.List pItemIds) throws InventoryException
InventoryManager
releaseInventoryLocks
in interface InventoryManager
InventoryException