dw.catalog
Class StoreMgr
Object
dw.catalog.StoreMgr
Provides helper methods for getting stores based on id and querying for stores based on geolocation.
Properties
allStoreGroups  :  Collection  (Read Only)
All the store groups of the current site.
Constructor Summary
This class does not have a constructor, so you cannot create it directly.
Method Summary
static getAllStoreGroups() : Collection
Returns all the store groups of the current site.
static getStore(storeID : String) : Store
Returns the store object with the specified id or null if store with this id does not exist in the site.
static getStoreGroup(storeGroupID : String) : StoreGroup
Returns the store group with the specified id or null if the store group with this id does not exist in the current site.
static searchStoresByCoordinates(latitude : Number, longitude : Number, distanceUnit : String, maxDistance : Number, queryString : String, args : Object...) : LinkedHashMap
Search for stores based on geo-coordinates.
static searchStoresByCoordinates(latitude : Number, longitude : Number, distanceUnit : String, maxDistance : Number) : LinkedHashMap
Convenience method.
static searchStoresByPostalCode(countryCode : String, postalCode : String, distanceUnit : String, maxDistance : Number, queryString : String, args : Object...) : LinkedHashMap
Search for stores by country/postal code and optionally by additional filter criteria.
static searchStoresByPostalCode(countryCode : String, postalCode : String, distanceUnit : String, maxDistance : Number) : LinkedHashMap
Convenience method.
Methods inherited from class Object
Method Detail
getAllStoreGroups
static getAllStoreGroups() : Collection
Returns all the store groups of the current site.
Returns:
The store groups of the current site.

getStore
static getStore(storeID : String) : Store
Returns the store object with the specified id or null if store with this id does not exist in the site.
Parameters:
storeID - the store identifier.
Returns:
Store for specified id or null.

getStoreGroup
static getStoreGroup(storeGroupID : String) : StoreGroup
Returns the store group with the specified id or null if the store group with this id does not exist in the current site.
Parameters:
storeGroupID - the store group identifier.
Returns:
The store group for specified id or null.

searchStoresByCoordinates
static searchStoresByCoordinates(latitude : Number, longitude : Number, distanceUnit : String, maxDistance : Number, queryString : String, args : Object...) : LinkedHashMap
Search for stores based on geo-coordinates. The method returns a list of stores for the current site that are within a specified distance of a location on the earth and which optionally satisfy additional filter criteria. If no additional criteria are specified, then this method behaves similar to GetNearestStores pipelet. The criteria are specified as a querystring, using the same syntax as SystemObjectMgr.querySystemObjects(String, String, String, Object...)

The stores and their distance from the specified location are returned as a LinkedHashMap of Store objects to distances, sorting in ascending order by distance. The distance is interpreted either in miles or kilometers depending on the "distanceUnit" parameter.

The latitude and longitude of each store is determined by first looking at Store.getLatitude() and Store.getLongitude(). If these are not set, then the system deduces the location of the store by looking for a configured geolocation matching the store's postal and country codes.

Parameters:
latitude - Latitude coordinate which is the center of the search area. Must not be null or an exception is thrown.
longitude - Longitude coordinate which is the center of the search area. Must not be null or an exception is thrown.
distanceUnit - The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.
maxDistance - Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.
queryString - optional filter criteria specified as querystring.
args - the arguments to fill in the values in the querystring.
Returns:
The stores and their distance from the specified location, sorted in ascending order by distance.

searchStoresByCoordinates
static searchStoresByCoordinates(latitude : Number, longitude : Number, distanceUnit : String, maxDistance : Number) : LinkedHashMap
Convenience method. Same as searchStoresByCoordinates(latitude, longitude, distanceUnit, maxDistance, null).
Parameters:
latitude - Latitude coordinate which is the center of the search area. Must not be null or an exception is thrown.
longitude - Longitude coordinate which is the center of the search area. Must not be null or an exception is thrown.
distanceUnit - The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.
maxDistance - Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.
Returns:
The stores and their distance from the specified location, sorted in ascending order by distance.

searchStoresByPostalCode
static searchStoresByPostalCode(countryCode : String, postalCode : String, distanceUnit : String, maxDistance : Number, queryString : String, args : Object...) : LinkedHashMap
Search for stores by country/postal code and optionally by additional filter criteria. This method is analagous to searchStoresByCoordinates(Number, Number, String, Number, String, Object...) but identifies a location on the earth indirectly using country and postal code. The method will look first in the saved geolocations of the system to find a geolocation matching the passed country and postal code. If none is found, this method will return an empty map. If one is found, it will use the latitude/longitude of the found geolocation as the center of the search.
Parameters:
countryCode - The country code for the search area, must not be null.
postalCode - The postal code for the center of the search area, must not be null.
distanceUnit - The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.
maxDistance - Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.
queryString - An optional search querystring which provides additional criteria to filter stores by.
args - The arguments providing the dynamic values to the querystring.
Returns:
The stores and their distance from the specified location, sorted in ascending order by distance.

searchStoresByPostalCode
static searchStoresByPostalCode(countryCode : String, postalCode : String, distanceUnit : String, maxDistance : Number) : LinkedHashMap
Convenience method. Same as searchStoresByPostalCode(countryCode, postalCode, distanceUnit, maxDistance, null).
Parameters:
countryCode - The country code for the search area, must not be null.
postalCode - The postal code for the center of the search area, must not be null.
distanceUnit - The distance unit to be used for the calculation. Supported values are 'mi' and 'km' (for miles and kilometers respectively). If an invalid value is passed then 'km' will be used.
maxDistance - Area (radius) in DistanceUnit where Stores will be searched for. If null is passed, a system default is used.
Returns:
The stores and their distance from the specified location, sorted in ascending order by distance.