ATG Repository Q & A
Data-Types
1)
enumeration
<property
name="orderSource" display-name="Order Source"
data-type="enumerated"
default="DESKTOP" column-name="order_source" category="Order Information">
<attribute
name="useCodeForValue" value="false"/>
<option value="DESKTOP"
code="101"/>
<option value="MOBILE"
code="102"/>
</property>
2)
list
<table
name="onl_order_terms_conditions" type="multi"
multi-column-name="sequence_num" id-column-name="order_id"
shared-table-sequence="1">
<property
name="termsAndConditions" required="true"
data-type="list"
component-item-type="termsAndConditionsInfo"
cascade="delete" column-name="terms_conditions_info_id"
display-name="Terms And Conditions" category="Order
Information">
<attribute
name="propertySortPriority" value="219"/>
</property>
</table>
3)
map
<table
name="onl_item_billing_info" type="multi"
id-column-name="commerce_item_id"
multi-column-name="billing_system">
<property name="billingInfoMap"
category="Billing System Info" data-type="map"
component-item-type="billingInfo" cascade="delete"
column-name="billing_info_id" queryable="true">
<attribute
name="propertySortPriority" value="-2"/>
</property>
</table>
4)
String
<item-descriptor
name="billingInfo" display-name="Billing Info">
<table
name="onl_ord_billing_info"
id-column-names="billing_info_id" type="primary">
<property
name="billCode" data-type="string"
column-name="bill_code"/>
<property name="systemName"
data-type="string" column-name="system_name"/>
</table>
</item-descriptor>
5)
Component
<property name="ssn"
display-name="SSN" data-type="string"
column-name="tssn" category="Customer Information"
property-type="com. ecom.shopcore.repository.EncryptionPropertyDescriptor">
<attribute
name="propertySortPriority" value="20"/>
<attribute
name="encryptorComponent" bean=" /ecom/shopcore/commerce/order/OnlineOrderEncryptorComponent"/>
</property>
<property name="sales"
property-type="com.ecom.shopcore.repository.GetSalesRankPropertyDescriptor"
item-type="skuSalesRank" hidden="false" repository=" /ecom/base/repositories/MiscellaneousRepository"
category="Base SKU Information" writable="false" queryable="false">
<attribute
name="salesRankManager" bean=" /ecom/shopcore/repository/SalesRankManager"/>
</property>
6)
Repository
Rich way to organize and query data
from multiple sources
7)
QueryBuilder
Step wise process where you get
handle of Repository the repository item
More Java code
Repository > item descriptor
> repository view > query builder > query > execute query
Repository profileRepository =
(Repository)resolveName("/atg/userprofiling/ProfileAdaptorRepository")
RepositoryItemDescriptor userItem =
profileRepository.getRepositoryItemDescriptor();
RepositoryView userView =
userItem.getRepositoryView();
QueryBuilder userQueryBuilder =
userView.getQueryBuilder();
Query allUserQuery =
userQueryBuilder.createUnconstrainedQuery();
RepositoryItem[] allUsers =
userView.executeQuery(allUserQuery)
8)
RQL Query Language
query being configurable and also
droplet support
Repository profileRepository =
(Repository)resolveName("/atg/userprofiling/ProfileAdaptorRepository")
RepositoryItemDescriptor userItem =
profileRepository.getItemDescriptor("user");
RepositoryView userView =
userItem.getRepositoryView();
RqlStatement emailQuery =
RqlStatement.parseRqlStatement("firstName EQUALS ?0 OR firstName EQUALS
?1");
Object[]params = new
String[]{"anand", "jyothi"};
RepositoryItem[] results =
emailQuery.executeQuery(userView,params);
No comments:
Post a Comment