@Override protected OgnlValidationRule clone() { OgnlValidationRule clone = new OgnlValidationRule(); clone.setErrorMessage(this.getErrorMessage()); clone.setErrorMessageKey(this.getErrorMessageKey()); clone.setEvalExpressionOnValuedAttribute(this.isEvalExpressionOnValuedAttribute()); clone.setExpression(this.getExpression()); clone.setHelpMessage(this.getHelpMessage()); clone.setHelpMessageKey(this.getHelpMessageKey()); return clone; }
public EntityTypeAttributeOgnlValidationDto(OgnlValidationRule ognlValidationRule) { this.setApplyOnlyToFilledAttr(ognlValidationRule.isEvalExpressionOnValuedAttribute()); this.setErrorMessage(ognlValidationRule.getErrorMessage()); this.setHelpMessage(ognlValidationRule.getHelpMessage()); this.setKeyForErrorMessage(ognlValidationRule.getErrorMessageKey()); this.setKeyForHelpMessage(ognlValidationRule.getHelpMessageKey()); this.setOgnlExpression(ognlValidationRule.getExpression()); }
public void buildAttributeOgnlValidation(String typeCode, AttributeInterface attribute, BindingResult bindingResult) { IAttributeValidationRules validationRules = attribute.getValidationRules(); if (!StringUtils.isEmpty(this.getOgnlExpression())) { // to check into validator OgnlValidationRule ognlValidationRule = new OgnlValidationRule(); if (StringUtils.isEmpty(this.getErrorMessage()) && StringUtils.isEmpty(this.getKeyForErrorMessage())) { this.addError(AbstractEntityTypeValidator.ERRCODE_INVALID_OGNL_ERROR, bindingResult, new String[]{typeCode, attribute.getName()}, "entityType.attribute.ognl.missingErrorMessage"); } if (StringUtils.isEmpty(this.getHelpMessage()) && StringUtils.isEmpty(this.getKeyForHelpMessage())) { this.addError(AbstractEntityTypeValidator.ERRCODE_INVALID_OGNL_HELP, bindingResult, new String[]{typeCode, attribute.getName()}, "entityType.attribute.ognl.missingHelpMessage"); } ognlValidationRule.setErrorMessage(this.getErrorMessage()); ognlValidationRule.setErrorMessageKey(this.getKeyForErrorMessage()); ognlValidationRule.setEvalExpressionOnValuedAttribute(this.isApplyOnlyToFilledAttr()); ognlValidationRule.setExpression(this.getOgnlExpression()); ognlValidationRule.setHelpMessage(this.getHelpMessage()); ognlValidationRule.setHelpMessageKey(this.getKeyForHelpMessage()); validationRules.setOgnlValidationRule(ognlValidationRule); } }
public AttributeFieldError validate(AttributeInterface attribute, AttributeTracer tracer, ILangManager langManager) { AttributeFieldError error = null; String expression = this.getExpression(); if (null == expression || expression.trim().length() == 0) { return null; } if (this.isEvalExpressionOnValuedAttribute() && attribute.getStatus().equals(AttributeInterface.Status.EMPTY)) { return null; } try { Object expr = Ognl.parseExpression(expression); OgnlContext ctx = this.createContextForExpressionValidation(attribute, tracer, langManager); Boolean value = (Boolean) Ognl.getValue(expr, ctx, attribute, Boolean.class); if (!value) { error = new AttributeFieldError(attribute, AttributeFieldError.OGNL_VALIDATION, tracer); error.setMessage(this.getErrorMessage()); error.setMessageKey(this.getErrorMessageKey()); } } catch (OgnlException oe) { _logger.error("Error on evaluation of expression : {}", expression, oe); } catch (Throwable t) { _logger.error("Generic Error on evaluation Ognl Expression : {}", expression, t); throw new RuntimeException("Generic Error on evaluation Ognl Expression", t); } return error; }
protected void extractValidationRules(Element validationElement) { String required = this.extractValue(validationElement, "required"); this.setRequired(null != required && required.equalsIgnoreCase("true")); Element expressionElement = validationElement.getChild("expression"); if (null != expressionElement) { OgnlValidationRule validationRule = new OgnlValidationRule(expressionElement); this.setOgnlValidationRule(validationRule); } }
protected void fillJDOMConfigElement(Element configElement) { if (this.isRequired()) { Element element = new Element("required"); element.setText("true"); configElement.addContent(element); } if (null != this.getOgnlValidationRule()) { Element exprElement = this.getOgnlValidationRule().getConfigElement(); if (null != exprElement) { configElement.addContent(exprElement); } } }
@Override public IAttributeValidationRules clone() { BaseAttributeValidationRules clone = null; try { Class validationConditionClass = Class.forName(this.getClass().getName()); clone = (BaseAttributeValidationRules) validationConditionClass.newInstance(); clone.setRequired(this.isRequired()); if (null != this.getOgnlValidationRule()) { clone.setOgnlValidationRule(this.getOgnlValidationRule().clone()); } } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { _logger.error("Error detected while cloning the ValidationRules", e); throw new RuntimeException("Error detected while cloning the ValidationRules class '" + this.getClass().getName() + "' "); } return clone; }
public Element getConfigElement() { if (null == this.getExpression() || this.getExpression().trim().length() == 0) { return null; exprElement.setAttribute("evalOnValuedAttribute", String.valueOf(this.isEvalExpressionOnValuedAttribute())); Element ognlExprElement = new Element("ognlexpression"); CDATA cdata = new CDATA(this.getExpression()); ognlExprElement.addContent(cdata); exprElement.addContent(ognlExprElement); Element errorMessageElement = new Element("errormessage"); if (null != this.getErrorMessageKey() && this.getErrorMessageKey().trim().length() > 0) { errorMessageElement.setAttribute("key", this.getErrorMessageKey()); if (null != this.getErrorMessage() && this.getErrorMessage().trim().length() > 0) { CDATA label = new CDATA(this.getErrorMessage()); errorMessageElement.addContent(label); if (null != this.getHelpMessageKey() && this.getHelpMessageKey().trim().length() > 0) { helpMessageElement.setAttribute("key", this.getHelpMessageKey()); if (null != this.getHelpMessage() && this.getHelpMessage().trim().length() > 0) { CDATA label = new CDATA(this.getHelpMessage()); helpMessageElement.addContent(label);
public AttributeFieldError validate(AttributeInterface attribute, AttributeTracer tracer, ILangManager langManager) { AttributeFieldError error = null; String expression = this.getExpression(); if (null == expression || expression.trim().length() == 0) { return null; } if (this.isEvalExpressionOnValuedAttribute() && attribute.getStatus().equals(AttributeInterface.Status.EMPTY)) { return null; } try { Object expr = Ognl.parseExpression(expression); OgnlContext ctx = this.createContextForExpressionValidation(attribute, tracer, langManager); Boolean value = (Boolean) Ognl.getValue(expr, ctx, attribute, Boolean.class); if (!value) { error = new AttributeFieldError(attribute, AttributeFieldError.OGNL_VALIDATION, tracer); error.setMessage(this.getErrorMessage()); error.setMessageKey(this.getErrorMessageKey()); } } catch (OgnlException oe) { ApsSystemUtils.logThrowable(oe, this, "checkExpression", "Error on evaluation of expression : " + expression); } catch (Throwable t) { ApsSystemUtils.logThrowable(t, this, "checkExpression"); throw new RuntimeException("Generic Error on evaluation Ognl Expression", t); } return error; }
protected void extractValidationRules(Element validationElement) { String required = this.extractValue(validationElement, "required"); this.setRequired(null != required && required.equalsIgnoreCase("true")); Element expressionElement = validationElement.getChild("expression"); if (null != expressionElement) { OgnlValidationRule validationRule = new OgnlValidationRule(expressionElement); this.setOgnlValidationRule(validationRule); } }
protected void fillJDOMConfigElement(Element configElement) { if (this.isRequired()) { Element element = new Element("required"); element.setText("true"); configElement.addContent(element); } if (null != this.getOgnlValidationRule()) { Element exprElement = this.getOgnlValidationRule().getConfigElement(); if (null != exprElement) { configElement.addContent(exprElement); } } }
@Override public IAttributeValidationRules clone() { BaseAttributeValidationRules clone = null; try { Class validationConditionClass = Class.forName(this.getClass().getName()); clone = (BaseAttributeValidationRules) validationConditionClass.newInstance(); clone.setRequired(this.isRequired()); if (null != this.getOgnlValidationRule()) { clone.setOgnlValidationRule(this.getOgnlValidationRule().clone()); } } catch (Exception e) { ApsSystemUtils.logThrowable(e, this, "clone"); throw new RuntimeException("Error detected while cloning the ValidationRules class '" + this.getClass().getName() + "' "); } return clone; }
protected OgnlValidationRule clone() { OgnlValidationRule clone = new OgnlValidationRule(); clone.setErrorMessage(this.getErrorMessage()); clone.setErrorMessageKey(this.getErrorMessageKey()); clone.setEvalExpressionOnValuedAttribute(this.isEvalExpressionOnValuedAttribute()); clone.setExpression(this.getExpression()); clone.setHelpMessage(this.getHelpMessage()); clone.setHelpMessageKey(this.getHelpMessageKey()); return clone; }
public Element getConfigElement() { if (null == this.getExpression() || this.getExpression().trim().length() == 0) { return null; exprElement.setAttribute("evalOnValuedAttribute", String.valueOf(this.isEvalExpressionOnValuedAttribute())); Element ognlExprElement = new Element("ognlexpression"); CDATA cdata = new CDATA(this.getExpression()); ognlExprElement.addContent(cdata); exprElement.addContent(ognlExprElement); Element errorMessageElement = new Element("errormessage"); if (null != this.getErrorMessageKey() && this.getErrorMessageKey().trim().length() > 0) { errorMessageElement.setAttribute("key", this.getErrorMessageKey()); if (null != this.getErrorMessage() && this.getErrorMessage().trim().length() > 0) { CDATA label = new CDATA(this.getErrorMessage()); errorMessageElement.addContent(label); if (null != this.getHelpMessageKey() && this.getHelpMessageKey().trim().length() > 0) { helpMessageElement.setAttribute("key", this.getHelpMessageKey()); if (null != this.getHelpMessage() && this.getHelpMessage().trim().length() > 0) { CDATA label = new CDATA(this.getHelpMessage()); helpMessageElement.addContent(label);