use of org.spockframework.util.Nullable in project spock by spockframework.
the class ConfigurationScriptLoader method loadScriptFromClassPathLocation.
@Nullable
private DelegatingScript loadScriptFromClassPathLocation(String location) {
URL url = this.getClass().getClassLoader().getResource(location);
if (url == null)
return null;
GroovyShell shell = createShell();
try {
return (DelegatingScript) shell.parse(new GroovyCodeSource(url));
} catch (IOException e) {
throw new ConfigurationException("Error reading configuration script '%s'", location);
} catch (CompilationFailedException e) {
throw new ConfigurationException("Error compiling configuration script '%s'", location);
}
}
use of org.spockframework.util.Nullable in project spock by spockframework.
the class ConfigurationScriptLoader method loadScriptFromSystemPropertyInducedLocation.
@Nullable
private DelegatingScript loadScriptFromSystemPropertyInducedLocation(String propertyKey) {
String location = System.getProperty(propertyKey);
if (location == null || location.length() == 0)
return null;
DelegatingScript script = loadScriptFromClassPathLocation(location);
if (script != null)
return script;
script = loadScriptFromFileSystemLocation(location);
if (script != null)
return script;
throw new ConfigurationException("Cannot find configuration script '%s'", location);
}
use of org.spockframework.util.Nullable in project spock by spockframework.
the class ExpressionInfoValueRenderer method renderValue.
/**
* Returns a string representation of a value, or <tt>null</tt> if
* the value should not be shown (because it does not add any valuable
* information). Note that the method may also change rendered values
* of child expression.
*
* @param expr the expression whose value is to be rendered
* @return a string representation of the value
*/
@Nullable
private String renderValue(ExpressionInfo expr) {
Object value = expr.getValue();
if (value == null)
return "null";
// value.equals() might throw exception, so we use "".equals() instead
if ("".equals(value))
return "\"\"";
String str;
try {
str = doRenderValue(expr);
} catch (Exception e) {
return String.format("%s (renderer threw %s)", javaLangObjectToString(value), e.getClass().getSimpleName());
}
if (str == null || str.equals("")) {
return javaLangObjectToString(value);
}
// only print enum values that add valuable information
if (value instanceof Enum) {
String text = expr.getText().trim();
int index = text.lastIndexOf('.');
String potentialEnumConstantNameInText = text.substring(index + 1);
if (str.equals(potentialEnumConstantNameInText))
return null;
}
return str;
}
use of org.spockframework.util.Nullable in project spock by spockframework.
the class ConfigurationScriptLoader method loadAutoDetectedScript.
@Nullable
public DelegatingScript loadAutoDetectedScript() {
DelegatingScript script = loadScriptFromSystemPropertyInducedLocation(configPropertyKey);
if (script != null)
return script;
script = loadScriptFromClassPathLocation(classPathLocation);
if (script != null)
return script;
script = loadScriptFromFileSystemLocation(fileSystemLocation);
if (script != null)
return script;
return null;
}
use of org.spockframework.util.Nullable in project spock by spockframework.
the class ConfigurationScriptLoader method loadScriptFromFileSystemLocation.
@Nullable
private DelegatingScript loadScriptFromFileSystemLocation(String location) {
File file = new File(location);
try {
if (!file.exists())
return null;
} catch (AccessControlException e) {
// so let's just assume it's not there and continue
return null;
}
GroovyShell shell = createShell();
try {
return (DelegatingScript) shell.parse(file);
} catch (IOException e) {
throw new ConfigurationException("Error reading configuration script '%s'", location);
} catch (CompilationFailedException e) {
throw new ConfigurationException("Error compiling configuration script '%s'", location);
}
}
Aggregations