@Override
protected void onDraw() {
super.onDraw();
ListGridField timeNext = new ListGridField(ScheduledOperationsDataSource.Field.TIME.propertyName(),
ScheduledOperationsDataSource.Field.TIME.title(), WIDTH_SCHEDULED_TIME);
timeNext.setCellFormatter(new TimestampCellFormatter() {
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
if (value != null) {
String timestamp = super.format(value, record, rowNum, colNum);
Integer id = record.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
String url = null;
Integer opScheduleId = record.getAttributeAsInt("id");
if (id == null) {
id = record.getAttributeAsInt(ScheduledOperationsDataSource.Field.GROUP_ID.propertyName());
url = LinkManager.getSubsystemGroupOperationScheduleLink(id, opScheduleId);
} else {
url = LinkManager.getSubsystemResourceOperationScheduleLink(id, opScheduleId);
}
return LinkManager.getHref(url, timestamp);
} else {
return "<i>" + MSG.common_label_none() + "</i>";
}
}
});
timeNext.setShowHover(true);
timeNext.setHoverCustomizer(TimestampCellFormatter.getHoverCustomizer(ScheduledOperationsDataSource.Field.TIME
.propertyName()));
ListGridField operationNext = new ListGridField(ScheduledOperationsDataSource.Field.OPERATION.propertyName(),
ScheduledOperationsDataSource.Field.OPERATION.title());
ListGridField resourceNext = new ListGridField(
ScheduledOperationsDataSource.Field.RESOURCE_OR_GROUP.propertyName(),
ScheduledOperationsDataSource.Field.RESOURCE_OR_GROUP.title());
resourceNext.setCellFormatter(new CellFormatter() {
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
Integer id = listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
String url = null;
if (id == null) {
id = listGridRecord.getAttributeAsInt(ScheduledOperationsDataSource.Field.GROUP_ID.propertyName());
url = LinkManager.getResourceGroupLink(id);
} else {
url = LinkManager.getResourceLink(id);
}
return LinkManager.getHref(url, o.toString());
}
});
resourceNext.setShowHover(true);
resourceNext.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord listGridRecord, int rowNum, int colNum) {
Integer id = listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
if (id != null) {
return MSG.common_title_resource() + ": " + AncestryUtil.getResourceHoverHTML(listGridRecord, 0);
} else {
String type = listGridRecord.getAttributeAsString(ScheduledOperationsDataSource.Field.GROUP_TYPE
.propertyName());
String name = listGridRecord
.getAttributeAsString(ScheduledOperationsDataSource.Field.RESOURCE_OR_GROUP.propertyName());
return "<p>" + MSG.common_title_group() + " (" + type + "):<br/><br/>" + name + "</p>";
}
}
});
ListGridField ancestryNext = new ListGridField(AncestryUtil.RESOURCE_ANCESTRY, CoreGUI.getMessages()
.common_title_ancestry());
ancestryNext.setAlign(Alignment.LEFT);
ancestryNext.setCellAlign(Alignment.LEFT);
AncestryUtil.setupAncestryListGridFieldCellFormatter(ancestryNext);
ancestryNext.setShowHover(true);
ancestryNext.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord listGridRecord, int rowNum, int colNum) {
Integer id = listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
if (id != null) {
return AncestryUtil.getAncestryHoverHTML(listGridRecord, 0);
} else {