View Javadoc
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  }