DataSourceImageField iconField = new DataSourceImageField("icon", " ");
iconField.setWidth(25);
fields.add(iconField);
DataSourceTextField nameDataField = new DataSourceTextField(NAME.propertyName(), NAME.title(), 200);
nameDataField.setCanEdit(false);
fields.add(nameDataField);
DataSourceTextField keyDataField = new DataSourceTextField(KEY.propertyName(), KEY.title(), 200);
keyDataField.setCanEdit(false);
keyDataField.setDetail(true);
fields.add(keyDataField);
DataSourceTextField descriptionDataField = new DataSourceTextField(DESCRIPTION.propertyName(),
DESCRIPTION.title());
descriptionDataField.setCanEdit(false);
fields.add(descriptionDataField);
DataSourceTextField locationDataField = new DataSourceTextField(LOCATION.propertyName(), LOCATION.title());
locationDataField.setCanEdit(false);
locationDataField.setDetail(true);
fields.add(locationDataField);
DataSourceTextField typeNameDataField = new DataSourceTextField(TYPE.propertyName(), TYPE.title());
fields.add(typeNameDataField);
DataSourceTextField pluginNameDataField = new DataSourceTextField(PLUGIN.propertyName(), PLUGIN.title());
pluginNameDataField.setDetail(true);
fields.add(pluginNameDataField);
DataSourceTextField versionDataField = new DataSourceTextField(VERSION.propertyName(), VERSION.title());
fields.add(versionDataField);
DataSourceTextField categoryDataField = new DataSourceTextField(CATEGORY.propertyName(), CATEGORY.title());
// The icon field will show the category, no need to make the category field visible by default.
categoryDataField.setDetail(true);
fields.add(categoryDataField);
DataSourceImageField availabilityDataField = new DataSourceImageField(AVAILABILITY.propertyName(),
AVAILABILITY.title(), 20);
availabilityDataField.setCanEdit(false);
fields.add(availabilityDataField);
DataSourceTextField inventoryStatusDataField = new DataSourceTextField(INVENTORY_STATUS.propertyName(),
INVENTORY_STATUS.title());
inventoryStatusDataField.setDetail(true);
fields.add(inventoryStatusDataField);
DataSourceTextField ctimeDataField = new DataSourceTextField(CTIME.propertyName(), CTIME.title());
ctimeDataField.setDetail(true);
fields.add(ctimeDataField);
DataSourceTextField itimeDataField = new DataSourceTextField(ITIME.propertyName(), ITIME.title());
itimeDataField.setDetail(true);
fields.add(itimeDataField);
DataSourceTextField mtimeDataField = new DataSourceTextField(MTIME.propertyName(), MTIME.title());
mtimeDataField.setDetail(true);
fields.add(mtimeDataField);
DataSourceTextField modifiedByDataField = new DataSourceTextField(MODIFIER.propertyName(), MODIFIER.title());
modifiedByDataField.setDetail(true);
fields.add(modifiedByDataField);
return fields;
}