package ro.nextreports.server.domain; import java.util.Arrays; import java.util.List; import org.jcrom.converter.Converter; public class JcrExpressionConverter implements Converter<String, String> { private final String MUL = "*"; private final String DIV = "/"; private final String MUL_JCR = "#MUL#"; private final String DIV_JCR = "#DIV#"; private List<String> userSequences = Arrays.asList(MUL, DIV); private List<String> jcrSequences = Arrays.asList(MUL_JCR, DIV_JCR); @Override public String convertToJcrProperty(String userExpression) { for (int i=0, size=userSequences.size(); i<size; i++) { userExpression = userExpression.replace(userSequences.get(i), jcrSequences.get(i)); } return userExpression; } @Override public String convertToEntityAttribute(String jcrExpression) { for (int i=0, size=jcrSequences.size(); i<size; i++) { jcrExpression = jcrExpression.replace(jcrSequences.get(i), userSequences.get(i)); } return jcrExpression; } }