1 package net.avcompris.commons3.web.it.utils; 2 3 import static com.google.common.base.Preconditions.checkNotNull; 4 import static net.avcompris.commons3.it.utils.IntegrationTestUtils.getTestProperty; 5 import static org.apache.commons.lang3.StringUtils.substringBetween; 6 7 import java.io.IOException; 8 9 import org.apache.commons.lang3.NotImplementedException; 10 11 public abstract class ExpressionUtils { 12 13 public static String process(final String expression) throws IOException { 14 15 checkNotNull(expression, "expression"); 16 17 final String processed; 18 19 if (!expression.contains("${")) { 20 21 processed = expression; 22 23 } else if (expression.startsWith("${") && expression.endsWith("}")) { 24 25 final String propertyName = substringBetween(expression, "${", "}"); 26 27 if (propertyName.contains("$")) { 28 29 throw new NotImplementedException("propertyName: " + propertyName + ", in expression: " + expression); 30 } 31 32 processed = getTestProperty(propertyName); 33 34 } else { 35 36 throw new NotImplementedException("expression: " + expression); 37 } 38 39 return processed; 40 } 41 }