@Override public String toHTML( Strings strings, Locale locale, String extension, String name, String value) { try { PropertyExtensionDescriptor descriptor = extensionManager.getPropertyExtensionDescriptor(extension, name); return descriptor.toHTML(strings, locale, value); } catch (PropertyExtensionNotFoundException e) { return StringEscapeUtils.escapeHtml4(value); } }
@Override @Transactional(readOnly = true) public String editHTML( Strings strings, Locale locale, Entity entity, int entityId, String extension, String name) { // Gets the property value String value = getPropertyValue(entity, entityId, extension, name); // Gets the descriptor for this property PropertyExtensionDescriptor descriptor = extensionManager.getPropertyExtensionDescriptor(extension, name); // OK return descriptor.editHTML(strings, locale, value); }
@Override @Transactional public void createProperties(Entity entity, int entityId, PropertiesCreationForm properties) { // For all properties if (properties != null) { for (PropertyCreationForm propertyCreationForm : properties.getList()) { String extension = propertyCreationForm.getExtension(); String name = propertyCreationForm.getName(); String value = propertyCreationForm.getValue(); // Gets the property extension descriptor PropertyExtensionDescriptor propertyExtensionDescriptor = extensionManager.getPropertyExtensionDescriptor(extension, name); // Checks the entity scope if (!propertyExtensionDescriptor.getScope().contains(entity)) { throw new PropertyScopeException(extension, name, entity); } // Validates the value propertyExtensionDescriptor.validate(value); // Saves the value propertyDao.saveProperty(entity, entityId, extension, name, value); } } }