/* * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * * This file is part of jAPS software. * jAPS is a free software; * you can redistribute it and/or modify it * under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2. * * See the file License for the specific language governing permissions * and limitations under the License * * * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * */ package com.agiletec.aps.system.common.entity.model.attribute.util; import org.jdom.CDATA; import org.jdom.Element; /** * @author E.Santoboni */ public class OgnlValidationRule { public OgnlValidationRule() {} public OgnlValidationRule(Element element) { if (null == element) { throw new RuntimeException("null jdom element"); } String eval = element.getAttributeValue("evalOnValuedAttribute"); this.setEvalExpressionOnValuedAttribute(null != eval && eval.equalsIgnoreCase("true")); Element ognlExpressionElement = element.getChild("ognlexpression"); this.setExpression(ognlExpressionElement.getText()); Element errorMessageElement = element.getChild("errormessage"); if (null != errorMessageElement) { this.setErrorMessage(errorMessageElement.getText()); this.setErrorMessageKey(errorMessageElement.getAttributeValue("key")); } Element helpMessageElement = element.getChild("helpmessage"); if (null != helpMessageElement) { this.setHelpMessage(helpMessageElement.getText()); this.setHelpMessageKey(helpMessageElement.getAttributeValue("key")); } } @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 Element getConfigElement() { if (null == this.getExpression() || this.getExpression().trim().length() == 0) return null; Element exprElement = new Element("expression"); 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); } exprElement.addContent(errorMessageElement); Element helpMessageElement = new Element("helpmessage"); 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); } exprElement.addContent(helpMessageElement); return exprElement; } public String getExpression() { return _expression; } public void setExpression(String expression) { this._expression = expression; } public boolean isEvalExpressionOnValuedAttribute() { return _evalExpressionOnValuedAttribute; } public void setEvalExpressionOnValuedAttribute(boolean evalExpressionOnValuedAttribute) { this._evalExpressionOnValuedAttribute = evalExpressionOnValuedAttribute; } public String getErrorMessage() { return _errorMessage; } public void setErrorMessage(String errorMessage) { this._errorMessage = errorMessage; } public String getErrorMessageKey() { return _errorMessageKey; } public void setErrorMessageKey(String errorMessageKey) { this._errorMessageKey = errorMessageKey; } public String getHelpMessage() { return _helpMessage; } public void setHelpMessage(String helpMessage) { this._helpMessage = helpMessage; } public String getHelpMessageKey() { return _helpMessageKey; } public void setHelpMessageKey(String helpMessageKey) { this._helpMessageKey = helpMessageKey; } private String _expression; private boolean _evalExpressionOnValuedAttribute; private String _errorMessage; private String _errorMessageKey; private String _helpMessage; private String _helpMessageKey; }