@Override
public List<SelectItem> getAllowedFilterTypes() throws ApsSystemException {
List<SelectItem> types = new ArrayList<SelectItem>();
try {
types.add(new SelectItem(IContentListFilterAction.METADATA_KEY_PREFIX + IContentManager.CONTENT_CREATION_DATE_FILTER_KEY, this.getText("label.creationDate")));
types.add(new SelectItem(IContentListFilterAction.METADATA_KEY_PREFIX + IContentManager.CONTENT_MODIFY_DATE_FILTER_KEY, this.getText("label.lastModifyDate")));
String contentType = this.getWidget().getConfig().getProperty(IContentListWidgetHelper.WIDGET_PARAM_CONTENT_TYPE);
Content prototype = this.getContentManager().createContentType(contentType);
List<AttributeInterface> contentAttributes = prototype.getAttributeList();
for (int i=0; i<contentAttributes.size(); i++) {
AttributeInterface attribute = contentAttributes.get(i);
if (attribute.isSearcheable()) {
// Escludo filtro per tipo Coordinate
if(!ContentListViewerWidgetAction.ATTRIBUTE_TYPE_COORD.equals(attribute.getType()))
types.add(new SelectItem(attribute.getName(), this.getText("label.attribute", new String[]{attribute.getName()})));
}
}
} catch (Throwable t) {
ApsSystemUtils.logThrowable(t, this, "getAllowedFilterTypes");
throw new ApsSystemException("Error extracting allowed filter types", t);