if (namespace == null) namespace = (String) a.get("namespace");
/*
* Create the store component
*/
StoreComponent storeComponent = new StoreComponent(request, table, factory);
storeComponent.setNamespace(namespace);
if (modelName != null) storeComponent.setModelName(modelName);
if (include != null) storeComponent.setInclude(include);
if (exclude != null) storeComponent.setExclude(exclude);
if (associations != null) storeComponent.setAssociations(associations);
if (pageSize != null) storeComponent.setPageSize(Integer.valueOf(pageSize));
if (start != null) storeComponent.setStart(Integer.valueOf(start));
if (where != null) storeComponent.setWhere(where);
if (rest != null && !rest.equals("false")) {
storeComponent.setRest(rest);
}
if (clearOnPageLoad != null && clearOnPageLoad.equals("true")) {
storeComponent.setClearOnPageLoad(true);
}
if (clearRemovedOnLoad != null && clearRemovedOnLoad.equals("true")) {
storeComponent.setClearRemovedOnLoad(true);
}
if (autoSync != null && autoSync.equals("true")) {
storeComponent.setAutoSync(true);
}
if (autoLoad != null && autoLoad.equals("true")) {
storeComponent.setAutoLoad(true);
}
if (remoteGroup != null && remoteGroup.equals("true")) {
storeComponent.setRemoteGroup(true);
}
if (remoteSort != null && remoteSort.equals("true")) {
storeComponent.setRemoteSort(true);
}
if (remoteFilter != null && remoteFilter.equals("true")) {
storeComponent.setRemoteFilter(true);
}
if (sortOnFilter != null && sortOnFilter.equals("true")) {
storeComponent.setSortOnFilter(true);
}
if (inline != null && inline.equals("true")) {
storeComponent.setInline(true);
}
if (buffered != null && !buffered.contains("false")) {
storeComponent.setBuffered(true);
if (!buffered.equals("true")) {
String[] parts = buffered.split(":");
storeComponent.setTrailingBufferZone(Integer.valueOf(parts[0]));
if (parts.length > 1) {
storeComponent.setLeadingBufferZone(Integer.valueOf(parts[1]));
}
if (parts.length > 1) {
storeComponent.setPurgePageCount(Integer.valueOf(parts[2]));
}
}
}
if (param != null) {
for (String p : param.split(",")) {
String[] parts = p.split("=");
storeComponent.addParam(parts[0], parts[1]);
}
}
if (filter != null) {
for (String p : filter.split(",")) {
String[] parts = p.split("=");
storeComponent.addFilter(parts[0], parts[1]);
}
}
if (group != null) {
for (String groupItem : group.split(",")) {
String[] parts = groupItem.split(":");
String property = parts[0];
String direction = parts.length > 1 ? parts[1] : null;
String root = parts.length > 2 ? parts[2] : null;
storeComponent.addGrouper(property, direction, root);
}
}
if (sort != null) {
for (String sortItem : sort.split(",")) {
String[] parts = sortItem.split(":");
String property = parts[0];
String direction = parts.length > 1 ? parts[1] : "ASC";
String root = parts.length > 2 ? parts[2] : null;
storeComponent.addSorter(property, direction, root);
}
}
context.getResponseWriter().write(storeComponent.toString());
}