Mapping of REST services to BOD services

The following sections detail how the REST resource method names relate to specific BOD services.

CartHandler

Resource Method Name BOD Service Mapping
getCart BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem
getUsableShippingInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem

BOD: GetOrderAccess Profile: IBM_UsableShippingInfo /Order[OrderIdentifier[(UniqueID='$OrderID$')]]

getUsablePaymentInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem

BOD: GetOrderAccess Profile: IBM_UsablePaymentInfoAction Expression: /Order[OrderIdentifier[(UniqueID='$OrderID$')]]

applyCheckoutProfile BOD: GetOrderAccess Profile: IBM_SummaryAction Expression: /Order[OrderStatus[(Status='Q')]]

BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: {ibmord.isCurrentShoppingCart='true'}/Order/OrderItem

BOD: ProcessOrderAction Code: CheckoutAction Expression: {_ord.usingProfile='true'}/Order

addOrderItem BOD: ChangeOrder Action Code: CreateAction Expression: /Order/OrderItem
udpateOrderItem BOD: ChangeOrder Action Code: UpdateAction Expression: /Order/OrderItem
cancelOrderInCart BOD: ProcessOrder Action Code: CancelAction Expression: /Order
preCheckout BOD: ProcessOrder Action Code: PrepareAction Expression: /Order
checkOut BOD: ProcessOrder Action Code: SubmitAction Expression: /Order
lockCart BOD: ProcessOrder Action Code: LockAction Expression: /Order
unlockCart BOD: ProcessOrder Action Code: UnlockAction Expression: /Order
getAllowableShippingModes Not applicable. Calls an AccessBean to get the allowable shipping modes.

GeoNodeHandler

Resource Method Name BOD Service Mapping
findTopGeoNodes (site level search) BOD: GetGeoNodeAccess Profile: IBM_Store_AllAction Expression: /GeoNode[@topGeoNode='true']
findTopGeoNodes (store level search) BOD: GetGeoNode Access Profile: IBM_Store_AllAction Expression: /GeoNode[@topGeoNode='true' and StoreIdentifier[UniqueID=$storeId$]]
findGeoByParentGeoId BOD: GetGeoNode Access Profile: IBM_Store_AllAction Expression: /GeoNode[ParentGeoNodeIdentifier[UniqueID=$parentUniqueId$]]

InventoryHandler

Resource Method Name BOD Service Mapping
getInventoryAvailabilityByProductId BOD: GetInventoryAvailabilityAccess Profile: IBM_Store_DetailsAction expression: 1. /InventoryAvailability[InventoryAvailabilityIdentifier/ExternalIdentifier[CatalogEntryIdentifier[(UniqueID=$uniqueId$)] and OnlineStoreIdentifier[(UniqueID=$uniqueId$)]]]

OrderHandler

Resource Method Name BOD Service Mapping
findOrderHistory BOD: GetOrderAccess Profile: IBM_SummaryAction Expression: /Order[OrderStatus[(status='$OrderStatus$')]]
findByOrderId BOD: GetOrderAccess Profile: IBM_DetailsAction Expression: /Order[OrderIdentifier[(UniqueID='$orderID$')]]
findByStatus BOD: GetOrderAccess Profile: IBM_SummaryAction Expression: /Order[OrderStatus[(status='$OrderStatus$')]]

PersonHandler

Resource Method Name BOD Service Mapping
findPersonBySelf BOD: GetPersonAccess Profile: IBM_AllActionExpression: {self=true}/Person
registerPerson BOD: ProcessPersonAction Code: RegisterActionExpression: /Person

BOD: ProcessPersonAction Code: AuthenticatePassword

updatePerson BOD: ChangePersonAction Code: UpdateActionExpression: /Person
deleteContextAttributeForPerson BOD: ChangePersonAction Code: DeleteActionExpression: /Person/ContextAttribute

PersonCheckoutProfileHandler

Resource Method Name BOD Service Mapping
getCheckoutProfile BOD: GetPersonAccess Profile: IBM_CheckoutProfileAction Expression: {self=true}/Person
updateCheckoutProfile BOD: ChangePersonAction Code: UpdateAction Expression: /Person/CheckoutProfile

PersonContactHandler

Resource Method Name BOD Service Mapping
getAllPersonContact BOD: GetPersonAccess Profile: IBM_ALLAction Expression: {self=true}/Person
findPersonContactById BOD: GetPersonAccess Profile: IBM_ALLAction Expression: {self=true}/Person
findPersonContactByNickName BOD: GetPersonAccess Profile: IBM_ALLAction Expression: {self=true}/Person
addPersonContact BOD: ChangePersonAction Code: CreateAction Expression: /Person/AddressBook/Contact
updatePersonContact BOD: ChangePersonAction Code: UpdateAction Expression: /Person/AddressBook/Contact
deletePersonContact BOD: ChangePersonAction Code: DeleteAction Expression: /Person/AddressBook/Contact

ProductViewHandler

Resource Method Name BOD Service Mapping
findProductsBySearchTerm BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryByNameAndShortDescriptionAction Expression: /CatalogNavigationView
findProductById BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAllAction Expression: /CatalogNavigationView[CatalogEntryView[(UniqueID=$uniqueId$)]]
findProductsByIds BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAllAction Expression: /CatalogNavigationView[CatalogEntryView[(UniqueID=$uniqueId1$ or UniqueID=$uniqueId2$)]]
findProductByPartNumber BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_CatalogEntrySearch, IBM_findCatalogEntryAllAction Expression: /CatalogNavigationView[CatalogEntryView[(PartNumber=$partNumber$)]]
findProductsByCategory BOD: GetCatalogNavigationViewAccess Profile: IBM_Store_Details, IBM_findCatalogEntryByNameAndShortDescriptionAction Expression: /CatalogNavigationView[CatalogEntryView[ParentCatalogGroupID=$parentCatalogGroupId$ and (catalogEntryTypeCode='ProductBean' or catalogEntryTypeCode='BundleBean' or catalogEntryTypeCode='PackageBean')]]

ShippingInfoHandler

Resource Method Name BOD Service Mapping
getShippingInfo BOD: GetOrderAccess Profile: IBM_DetailsAction Expression:{ibmord.isCurrentShoppingCart='true'}/Order/OrderItem
updateOrderShippingInfo BOD: ChangeOrderAction Code: UpdateAction Expression: /Order/OrderItem/OrderItemShippingInfo

StoreLocatorHandler

Resource Method Name BOD Service Mapping
findGeoNodeByGeoLocation (site level search) BOD: GetGeoNodeAccess Profile: IBM_Store_AllAction Expression: /GeoNode[@type=$type$ and search(contains(Description/Name,$Name$))]

BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]

findGeoNodeByGeoLocation (store level search) BOD: GetGeoNodeAccess Profile: IBM_Store_AllAction Expression: /GeoNode[@type=$type$ and StoreIdentifier[UniqueID=$storeId$] and search(contains(Description/Name,$Name$))]

BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]

findGeoNodeByGeoId BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: /PhysicalStore[LocationInfo[GeoNodeIdentifier[UniqueID=$uniqueId$]]]
findByStoreUniqueId BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: /PhysicalStore[PhysicalStoreIdentifier[(UniqueID=$uniqueId$)]]
findStores BOD: GetPhysicalStoreAccess Profile: IBM_Store_DetailsAction Expression: {_sto.radiusValue=$value$;_sto.radiusUom=$uom$;_sto.maxStores=$maxStores$}/PhysicalStore[LocationInfo[GeoCode[Latitude=$latitude$ and Longitude=$longitude$]] and StoreIdentifier[UniqueID=$storeId$]]

WishlistHandler

Resource Method Name BOD Service Mapping
findWishlist BOD: GetPerson Access Profile: IBM_AllAction Expression: {self=true}/Person

BOD: GetGiftListAccess Profile: IBM_Store_GiftListSummaryAndItemsAction Expression: /GiftList[Registrant[PersonIdentifier[UniqueID=]] and Registry=]

findWishlistByUserId_default BOD: GetPersonAccess Profile: IBM_AllAction Expression: {self=true}/Person

BOD: GetGiftListAccess Profile: IBM_Store_GiftListSummaryAndItemsAction Expression: /GiftList[Registrant[PersonIdentifier[UniqueID=]] and Registry= and (State=)]

findWishlistByExternalId BOD: GetGiftListAccess Profile: IBM_Store_GiftListSummaryAndItemsAction Expression: GiftList[GiftListIdentifier[GiftListExternalIdentifier[(ExternalIdentifier=)]]]

BOD: GetGiftListAccess Profile: IBM_Store_GiftListSummaryAndItemsAction Expression: /GiftList[AccessSpecifier[GuestAccessKey= or RegistryAccessKey=] and GiftListIdentifier[GiftListExternalIdentifier[ExternalIdentifier=]]]

createWishlist BOD: ProcessGiftListAction Code: CreateAction Expression: /GiftList[1]
updateWishlist (when addItem=true) BOD: ChangeGiftListAction Code: AddAction Expression: /GiftList[] /GiftList[]/Item[]
updateWishlist BOD: ChangeGiftListAction Code: ChangeAction Expression: /GiftList[] /GiftList[]/Item[] /GiftList[]/Description
deleteWishlist BOD: ProcessGiftListAction Code: DeleteAction Expression: /GiftList[1]