OrderTools
contains a set of properties that you can use to customize the purchase process. The default property settings should be suitable for most sites, but can be changed. The OrderTools
component is located in Nucleus at /atg/commerce/order/
.
The following OrderTool
properties can be customized:
You can view the OrderTools
component in the ACC to see the configured values for these properties.
orderTypeClassMap
This property defines the type-to-class name mapping for Order
objects. You can have more than one type of Order
object. When creating a new Order
, a string is passed as a parameter to the create method. (For example, the string “default” could be passed.) This constructs an instance of an Order
class that is mapped to that string.
Below is a sample of how a mapping is defined in the properties file. The following code defines the default values.
orderTypeClassMap=\ default=atg.commerce.order.OrderImpl,\ shoppingcart=atg.commerce.order.OrderImpl
Note: Prior to version 6.0, when the ShoppingCart
constructed an Order
, it constructed one of the type specified in ShoppingCart.orderType
, and by default this property was set to shoppingcart
. Beginning with version 6.0, ShoppingCart.orderType
is set to /atg/commerce/order/OrderTools.defaultOrderType
. Consequently, the shoppingcart
order type is no longer used and remains defined only for backwards compatibility.
defaultOrderType
This property defines the default Order
type. In the example below, the default type is defined as the string “default,” which in turn maps to a class in the orderTypeClassMap
property. The following code defines the default value.
defaultOrderType=default
commerceItemTypeClassMap
This property defines the type-to-class name mapping for CommerceItem
objects. You can have more than one type of CommerceItem
object. When creating a new CommerceItem
, a string is passed as a parameter to the create method. (For example, the string “default” could be passed.) This constructs an instance of a CommerceItem
class that is mapped to that string.
Below is a sample of how a mapping is defined in the properties file. The following code defines the default values.
CommerceItemTypeClassMap=\ default=atg.commerce.order.CommerceItemImpl
defaultCommerceItemType
This property defines the default CommerceItem
type. In the example below, the default type is defined as the string “default,” which in turn maps to a class in the commerceItemTypeClassMap
property. The following code defines the default value.
defaultCommerceItemType=default
shippingTypeClassMap
This property defines the type-to-class name mapping for ShippingGroup
objects. You can have more than one type of ShippingGroup
object. When creating a new ShippingGroup
, a string is passed as a parameter to the create method. (For example, the string hardgoodShippingGroup
could be passed.) This constructs an instance of a ShippingGroup
class that is mapped to that string.
Below is a sample of how a mapping is defined in the properties file.
shippingTypeClassMap=\ default=atg.commerce.order.ShippingGroupImpl,\ hardgoodShippingGroup=atg.commerce.order.HardgoodShippingGroup
defaultShippingGroupType
This property defines the default ShippingGroup
type. In the example below, the default type is defined as the string hardgoodShippingGroup
, which in turn maps to a class in the shippingTypeClassMap
property. The following code defines the default value.
defaultShippingGroupType=hardgoodShippingGroup
defaultShippingGroupAddressType
This property defines the default ShippingGroupAddressType
.
defaultShippingGroupAddressType=RepositoryContactinfo
To customize your address information, subclass RepositoryContactInfo
and use your new class name for the defaultShippingGroupAddressType
.
paymentTypeClassMap
This property defines the type-to-class name mapping for PaymentGroup
objects. You can have more than one type of PaymentGroup
object. When creating a new PaymentGroup
, a string is passed as a parameter to the create method. (For example, the string creditCard
could be passed.) This constructs an instance of a PaymentGroup
class that is mapped to that string.
Below is a sample of how a mapping is defined in the properties file. The following code defines the default values.
paymentTypeClassMap=\ default=atg.commerce.order.PaymentGroupImpl,\ creditCard=atg.commerce.order.CreditCard,\ giftCertificate=atg.commerce.order.GiftCertificate,\ storeCredit=atg.commerce.order.StoreCredit
defaultPaymentGroupType
This property defines the default PaymentGroup
type. In the example below, the default type is defined as the string creditCard
, which in turn maps to a class in the paymentTypeClassMap
property. The following code defines the default value.
defaultPaymentGroupType=creditCard
defaultPaymentGroupAddressType
This property defines the default PaymentGroupAddressType
.
defaultPaymentGroupAddressType=RepositoryContactinfo
To customize your address information, subclass RepositoryContactInfo
and use your new class name for the defaultPaymentGroupAddressType
.
relationshipTypeClassMap
This property defines the type-to-class name mapping for Relationship
objects. You can have more than one type of Relationship
object. Relationships are not created directly by a user. Relationships are created by methods based on the type of relationship that the method needs.
The relationshipTypeClassMap
property maps a name to a class. It is used to configure the class type that will be instantiated when a request to construct a relationship is made. By overriding the default values, you can customize the environment to use a Relationship
class you have subclassed.
The example below demonstrates how a mapping is defined in the properties file. This mapping does not need to be modified unless the system is extended. The following code defines the default values.
relationshipTypeClassMap =\ shippingGroupCommerceItem=atg.commerce.order. ShippingGroupCommerceItemRelationship,\ paymentGroupCommerceItem=atg.commerce.order. PaymentGroupCommerceItemRelationship,\ paymentGroupShippingGroup=atg.commerce.order. PaymentGroupShippingGroupRelationship,\ paymentGroupOrder=atg.commerce.order. PaymentGroupOrderRelationship
beanNameToItemDescriptorMap
This property maps a bean name to an OrderRepository
item descriptor name. When saving an Order, the processors that contain the code for saving look for an OrderRepository
item descriptor with the same name as the bean class. The beanNameToItemDescriptorMap
property contains this mapping.
All objects that can be mapped to an item descriptor are listed in the beanNameToItemDescriptorMap
. The format is <bean name>=<
repository item descriptor>
. The example below demonstrates how a mapping is defined in the properties file. The following code defines the default values.
beanNameToItemDescriptorMap=\ atg.commerce.order.OrderImpl=order,\ atg.commerce.order.CommerceItemImpl=CommerceItem,\ atg.commerce.order.ShippingGroupImpl=shippingGroup,\ atg.commerce.order.HardgoodShippingGroup=hardgoodShippingGroup,\ atg.commerce.order.PaymentGroupImpl=paymentGroup,\ atg.commerce.order.CreditCard=creditCard,\ atg.commerce.order.GiftCertificate=giftCertificate,\ atg.commerce.order.ShippingGroupCommerceItemRelationship=shipItemRel,\ atg.commerce.order.PaymentGroupCommerceItemRelationship=payItemRel,\ atg.commerce.order.PaymentGroupShippingGroupRelationship=payShipRel,\ atg.commerce.order.PaymentGroupOrderRelationship=payOrderRel,\ atg.payment.PaymentStatus=paymentStatus,\ atg.commerce.pricing.OrderPriceInfo=orderPriceInfo,\ atg.commerce.pricing.ItemPriceInfo=itemPriceInfo,\ atg.commerce.pricing.TaxPriceInfo=taxPriceInfo,\ atg.commerce.pricing.ShippingPriceInfo=shippingPriceInfo,\ atg.commerce.pricing.DetailedItemPriceInfo=detailedItemPriceInfo,\ atg.commerce.pricing.PricingAdjustment=pricingAdjustment