}
public ListGridRecord convert(DriftDefinitionComposite from) {
DriftDefinition def = from.getDriftDefinition();
DriftChangeSet<?> changeSet = from.getMostRecentChangeset();
ListGridRecord record = new ListGridRecord();
// We need this for Detect Now support
record.setAttribute(ATTR_ENTITY, def);
record.setAttribute(ATTR_ID, def.getId());
record.setAttribute(ATTR_NAME, def.getName());
record.setAttribute(ATTR_DRIFT_HANDLING_MODE, getDriftHandlingModeDisplayName(def.getDriftHandlingMode()));
record.setAttribute(ATTR_INTERVAL, String.valueOf(def.getInterval()));
record.setAttribute(ATTR_BASE_DIR_STRING, getBaseDirString(def.getBasedir()));
record.setAttribute(ATTR_IS_ENABLED, String.valueOf(def.isEnabled()));
record.setAttribute(ATTR_IS_ENABLED_ICON, ImageManager.getAvailabilityIcon(def.isEnabled()));
record.setAttribute(ATTR_COMPLIANCE, def.getComplianceStatus().ordinal());
record.setAttribute(ATTR_COMPLIANCE_ICON,
ImageManager.getAvailabilityIcon(def.getComplianceStatus() == DriftComplianceStatus.IN_COMPLIANCE));
// fixed value, just the edit icon
record.setAttribute(ATTR_EDIT, hasWriteAccess ? ImageManager.getEditIcon() : ImageManager.getViewIcon());
record.setAttribute(ATTR_IS_PINNED,
def.isPinned() ? ImageManager.getPinnedIcon() : ImageManager.getUnpinnedIcon());
record.setAttribute(ATTR_ATTACHED, def.isAttached() ? MSG.common_val_yes() : MSG.common_val_no());
if (def.getTemplate() != null) {
record.setAttribute(ATTR_TEMPLATE, def.getTemplate().getName());
} else {
record.setAttribute(ATTR_TEMPLATE, MSG.common_val_none());
}
record.setAttribute(ATTR_CHANGE_SET_VERSION,
(null != changeSet) ? String.valueOf(changeSet.getVersion()) : MSG.common_label_none());
record.setAttribute(ATTR_CHANGE_SET_CTIME, (null != changeSet) ? new Date(changeSet.getCtime()) : null);
return record;
}