protected EntityLogAttr getAttrToSave(EntityLogAttr entityLogAttr, EntityLogItem itemToSave) { EntityLogAttr attr = itemToSave.getAttributes().stream() .filter(a -> a.getName().equals(entityLogAttr.getName())) .findFirst() .orElse(null); if (attr == null) { attr = metadata.create(EntityLogAttr.class); attr.setName(entityLogAttr.getName()); itemToSave.getAttributes().add(attr); } return attr; }
@MetaProperty public String getDisplayName() { String entityName = getLogItem().getEntity(); String message; com.haulmont.chile.core.model.MetaClass metaClass = getClassFromEntityName(entityName); if (metaClass != null) { Messages messages = AppBeans.get(Messages.NAME); message = messages.getTools().getPropertyCaption(metaClass, getName()); } else { return getName(); } return (message != null ? message : getName()); }
.filter(entityLogAttr -> entityLogAttr.getName().equals(attributeName)) .findFirst() .ifPresent(entityLogAttr -> setAttributeOldValue(entityLogAttr, itemToSave)); .filter(entityLogAttr -> entityLogAttr.getName().equals(attributeName)) .findFirst() .ifPresent(entityLogAttr -> setAttributeNewValue(entityLogAttr, itemToSave)); properties.setProperty(attr.getName(), attr.getValue()); if (attr.getValueId() != null) { properties.setProperty(attr.getName() + EntityLogAttr.VALUE_ID_SUFFIX, attr.getValueId()); properties.setProperty(attr.getName() + EntityLogAttr.OLD_VALUE_SUFFIX, attr.getOldValue()); properties.setProperty(attr.getName() + EntityLogAttr.OLD_VALUE_ID_SUFFIX, attr.getOldValueId()); properties.setProperty(attr.getName() + EntityLogAttr.MP_SUFFIX, attr.getMessagesPack());
protected String getDisplayValue(String value) { if (StringUtils.isEmpty(value)) { return value; } final String entityName = getLogItem().getEntity(); com.haulmont.chile.core.model.MetaClass metaClass = getClassFromEntityName(entityName); if (metaClass != null) { com.haulmont.chile.core.model.MetaProperty property = metaClass.getProperty(getName()); if (property != null) { if (property.getRange().isDatatype()) { return value; } else if (property.getRange().isEnum()) { String nameKey = property.getRange().asEnumeration().getJavaClass().getSimpleName() + "." + value; String packageName = property.getRange().asEnumeration().getJavaClass().getPackage().getName(); Messages messages = AppBeans.get(Messages.NAME); return messages.getMessage(packageName, nameKey); } else { return value; } } else { return value; } } else { return value; } }