/** * strip out everything that is not needed when saving */ @JsonIgnore public void simplifyForSerialization() { this.displayName = null; this.description = null; this.shortDescription = null; this.propertyValuesDisplayString = null; if (getProperties() != null) { for (FieldRuleProperty property : getProperties()) { property.simplifyForSerialization(); } } }
@Override public boolean apply(FieldRuleProperty fieldRuleProperty) { return list.contains(fieldRuleProperty.getType()); } }));
public FieldRuleProperty build() { FieldRuleProperty property = new FieldRuleProperty(); property.setName(this.name); property.setDisplayName(this.displayName); property.setType(this.type); property.setHint(this.hint); property.setPlaceholder(this.placeholder); property.setSelectableValues(this.selectableValues); property.setObjectProperty(this.objectProperty); property.setValue(this.value); property.setRequired(this.required); property.setGroup(this.group); property.setGroupOrder(this.groupOrder); property.setHidden(this.hidden); property.setPattern(pattern); String invalidPatternMessage = StringUtils.isNotBlank(patternInvalidMessage) ? patternInvalidMessage : "Invalid Input"; property.setPatternInvalidMessage(invalidPatternMessage); property.setAdditionalProperties(additionalProperties); return property; } }
groupOrder.put(group, order); FieldRuleProperty rule = new FieldRulePropertyBuilder(prop.name()).displayName( StringUtils.isNotBlank(prop.displayName()) ? prop.displayName() : prop.name()).hint(prop.hint()) .type(PolicyPropertyTypes.PROPERTY_TYPE.valueOf(prop.type().name())) .objectProperty(annotatedFieldProperty.getName()) .placeholder(prop.placeholder()) .value(value) .required(prop.required()) .group(group) .groupOrder(order) .hidden(prop.hidden()) .pattern(prop.pattern()) .patternInvalidMessage(prop.patternInvalidMessage()) .addSelectableValues(convertToLabelValue(prop.selectableValues())) .addSelectableValues(convertToLabelValue(prop.labelValues())) .addAdditionalProperties(convertToLabelValue(prop.additionalProperties())).build(); properties.add(rule); if (!group.equals("")) { property.setLayout("row");
@JsonIgnore public void buildValueDisplayString() { StringBuffer sb = null; if (getProperties() != null) { for (FieldRuleProperty property : getProperties()) { if (!PolicyPropertyTypes.PROPERTY_TYPE.currentFeed.name().equalsIgnoreCase(property.getType())) { //get the values String value = property.getStringValue(); if (sb == null) { sb = new StringBuffer(); } else { sb.append(";"); } sb.append(property.getName() + ": " + value); } } } if (sb != null) { setPropertyValuesDisplayString(sb.toString()); } }
private Object getPropertyValue(BaseUiPolicyRule rule, Class<P> domainPolicyClass, PolicyPropertyRef reference) { for (FieldRuleProperty property : rule.getProperties()) { String name = property.getName(); if (name.equalsIgnoreCase(reference.name())) { String field = property.getObjectProperty(); String value = property.getStringValue(); Field f = FieldUtils.getField(domainPolicyClass, field, true); Object objectValue = convertStringToObject(value, f.getType()); return objectValue; } } return null; }
public T build() { T rule = null; try { rule = policyClass.newInstance(); rule.setName(this.name); rule.setDescription(this.description); rule.setDisplayName(this.displayName); rule.setProperties(this.properties); rule.setObjectClassType(this.objectClassType); rule.setSequence(this.sequence); return rule; } catch (InstantiationException | IllegalAccessException e) { throw new RuntimeException("Unable to build Rule Class " + policyClass + ", " + e.getMessage(), e); } }
/** * Trasform a user interface object back to the domain policy class * * @param rule the ui object * @return the domain policy transformed */ @Override public P fromUiModel(U rule) throws PolicyTransformException { try { P domainPolicy = createClass(rule); if (hasConstructor(domainPolicy.getClass())) { for (FieldRuleProperty property : rule.getProperties()) { String field = property.getObjectProperty(); String value = property.getStringValue(); Field f = FieldUtils.getField(domainPolicy.getClass(), field, true); Object objectValue = convertStringToObject(value, f.getType()); f.set(domainPolicy, objectValue); } } afterFromUiModel(domainPolicy, rule); return domainPolicy; } catch (Exception e) { throw new PolicyTransformException(e); } }
@JsonIgnore public FieldRuleProperty getProperty(final String name) { return Iterables.tryFind(getProperties(), new Predicate<FieldRuleProperty>() { @Override public boolean apply(FieldRuleProperty fieldRuleProperty) { return fieldRuleProperty.getName().equalsIgnoreCase(name); } }).orNull(); }
@Override public boolean apply(FieldRuleProperty fieldRuleProperty) { return fieldRuleProperty.getName().equalsIgnoreCase(name); } }).orNull();
public void addSelectableValue(LabelValue labelValue) { getSelectableValues().add(labelValue); }
@Override public boolean apply(FieldRuleProperty fieldRuleProperty) { return list.contains(fieldRuleProperty.getValue()); } }));
public void setObjectClassType(String objectClassType) { this.objectClassType = objectClassType; setObjectShortClassType(ClassUtils.getShortCanonicalName(objectClassType)); }
@JsonIgnore public String getStringValue() { if (StringUtils.isBlank(value) && values != null && !values.isEmpty()) { //join the values into a string comma separated StringBuffer sb = new StringBuffer(); for (LabelValue lv : getValues()) { if (!sb.toString().equalsIgnoreCase("")) { sb.append(","); } sb.append(lv.getValue()); } return sb.toString(); } else { return value; } }
IllegalAccessException { P domainPolicy = null; String classType = rule.getObjectClassType(); Class<P> domainPolicyClass = (Class<P>) Class.forName(classType);
order++; groupOrder.put(group, order); FieldRuleProperty rule = new FieldRulePropertyBuilder(prop.name()).displayName( StringUtils.isNotBlank(prop.displayName()) ? prop.displayName() : prop.name()).hint(prop.hint()) .type(PolicyPropertyTypes.PROPERTY_TYPE.valueOf(prop.type().name())) .objectProperty(annotatedFieldProperty.getName()) .placeholder(prop.placeholder()) .value(value) .required(prop.required()) .group(group) .groupOrder(order) .pattern(prop.pattern()) .patternInvalidMessage(prop.patternInvalidMessage()) .hidden(prop.hidden()) .addSelectableValues(convertToLabelValue(prop.selectableValues())) .addSelectableValues(convertToLabelValue(prop.labelValues())) .addAdditionalProperties(convertToLabelValue(prop.additionalProperties())).build(); properties.add(rule); if (!group.equals("")) { property.setLayout("row");
public List<FieldRuleProperty> findPropertiesForRulesMatchingDefaultValue(List<? extends BaseUiPolicyRule> rules, final String value) { List<FieldRuleProperty> properties = new ArrayList<>(); for (BaseUiPolicyRule rule : rules) { properties.addAll(rule.getProperties()); } return findPropertiesMatchingDefaultValue(properties, value); }
public void addSelectableValue(String label, String value) { getSelectableValues().add(new LabelValue(label, value)); }
public List<FieldRuleProperty> findPropertiesForRulesetMatchingRenderType(List<? extends BaseUiPolicyRule> rules, final String type) { List<FieldRuleProperty> properties = new ArrayList<>(); for (BaseUiPolicyRule rule : rules) { properties.addAll(rule.getProperties()); } return findPropertiesMatchingRenderType(properties, type); }
public List<FieldRuleProperty> findPropertiesForRulesetMatchingRenderTypes(List<? extends BaseUiPolicyRule> rules, final String[] types) { List<FieldRuleProperty> properties = new ArrayList<>(); for (BaseUiPolicyRule rule : rules) { properties.addAll(rule.getProperties()); } return findPropertiesMatchingRenderTypes(properties, types); }