super.configure(config);
ParameterDescriptor []parentParameterDescriptors = super.getParameterDescriptors();
// remove fragment parameter
List parameterDescriptorList = new ArrayList();
for ( int i = 0; i < parentParameterDescriptors.length; i++ ) {
ParameterDescriptor descriptor = parentParameterDescriptors[i];
if ( descriptor.getName() != FRAGMENT ) {
if ( descriptor.getName().equals(SimpleProcessor.INPUT) ) {
// check if entry descriptor is caused by repeated fragments
List entryDescriptors = ((MapValueDescriptor)descriptor.getValueDescriptor()).getEntryDescriptors();
for ( Iterator j = entryDescriptors.iterator(); j.hasNext(); ) {
ParameterDescriptor entryDescriptor = (ParameterDescriptor)j.next();
if ( !repeatedParameterDescriptor(entryDescriptor) ) {
parameterDescriptorList.add(entryDescriptor);
j.remove();
}
}
parameterDescriptorList.add(new ParameterDescriptor(SimpleProcessor.INPUT, new ParameterMessage("tableMapRenderer/input"), new ArrayValueDescriptor(parentParameterDescriptors[i].getValueDescriptor())));
} else {
parameterDescriptorList.add(descriptor);
}
}
}
parameterDescriptorList.add(new ParameterDescriptor(OFFSET, new ParameterMessage("tableRenderer/offset"), new NumberValueDescriptor(), new NumberValue(new Integer(0))));
parameterDescriptorList.add(new ParameterDescriptor(ITEMS_PER_PAGE, new ParameterMessage("tableRenderer/length"), new NumberValueDescriptor(), new NumberValue(new Integer(-10))));
parameterDescriptorList.add(new ParameterDescriptor(TableHandler.ID, new ParameterMessage("tableRenderer/id"), new StringValueDescriptor(), new StringValue("table")));
parameterDescriptorList.add(new ParameterDescriptor(TableHandler.STORE, new ParameterMessage("tableRenderer/store"), new StringValueDescriptor(Store.stores), new StringValue(Store.stores[Store.SESSION])));
parameterDescriptorList.add(new ParameterDescriptor(TableHandler.SORTED_BY, new ParameterMessage("tableHandler/sortedBy"), new StringValueDescriptor(), NullValue.NULL));
parameterDescriptorList.add(new ParameterDescriptor(TableHandler.ORDER, new ParameterMessage("tableHandler/order"), new StringValueDescriptor(new String[] {TableHandler.ASCENDING, TableHandler.DESCENDING}), NullValue.NULL));
parameterDescriptors = (ParameterDescriptor[] )parameterDescriptorList.toArray(new ParameterDescriptor[parameterDescriptorList.size()]);
headerTemplate = getOptionalFragment(HEADER_FRAGMENT);
footerTemplate = getOptionalFragment(FOOTER_FRAGMENT);
firstTemplate = getOptionalFragment(FIRST_FRAGMENT);