\r
package compbio.engine.client;\r
\r
+import java.util.Arrays;\r
import java.util.Collections;\r
import java.util.Map;\r
\r
}\r
\r
static String[] getEnvVariableList(String property) {\r
+ property = property.trim(); \r
if (containsMultipleVariables(property)) {\r
return property.split(NEXT_ENV_PROPERTY_DELIMITER);\r
}\r
- return new String[] { property };\r
+ return new String[]{property};\r
}\r
\r
static String getEnvVariableName(String property) {\r
"Must be only one value per property! Make sure the property does not contain '"\r
+ PROP_NAME_VALUE_SEPARATOR + "' symbol!");\r
}\r
- if (vars.length == 0) {\r
+ if (vars.length == 0 || vars.length==1) {\r
+ log.warn("Environmental variable '"+property+"' does not have a value!");\r
return "";\r
}\r
return vars[1];\r
return property.contains(PROP_NAME_VALUE_SEPARATOR);\r
}\r
\r
- /**\r
- * This method change relative paths to absolute for two environmental\r
- * variables MAFFT-BINARIES and FASTA_4_MAFFT to avoid requesting every user\r
- * to specify these path for every installation\r
- */\r
- void absolutiseMafftpaths() {\r
\r
- }\r
\r
/*\r
* This is a horrible hack, but it only requires to simplify configuration\r
*/\r
private final static String mafft_binaries = "MAFFT_BINARIES";\r
private final static String fasta4mafft = "FASTA_4_MAFFT";\r
+ private final static String iupred_path = "IUPred_PATH";\r
\r
public static Map<String, String> getEnvVariables(String property,\r
Class<?> clazz) {\r
}\r
for (String evar : getEnvVariableList(property)) {\r
if (!isValidEnvVariableProperty(evar)) {\r
- log\r
- .error(clazz.getName()\r
- + " environment variable is specified by is NOT VALID! Skipping. "\r
- + "Valid format is propertyName"\r
- + PROP_NAME_VALUE_SEPARATOR + "propertyValue. "\r
- + "Given values is: " + evar);\r
+ log.error(clazz.getName()\r
+ + " environment variable is specified by is NOT VALID! Skipping. "\r
+ + "Valid format is propertyName"\r
+ + PROP_NAME_VALUE_SEPARATOR + "propertyValue. "\r
+ + "Given values is: " + evar);\r
}\r
+ evar=evar.trim(); \r
String varName = getEnvVariableName(evar);\r
String varValue = getEnvVariableValue(evar);\r
// absolutise local paths to mafft env variables\r
if (!PathValidator.isAbsolutePath(varValue)) {\r
varName = varName.trim();\r
if (varName.equalsIgnoreCase(mafft_binaries)\r
- || varName.equalsIgnoreCase(fasta4mafft)) {\r
+ || varName.equalsIgnoreCase(fasta4mafft)\r
+ || varName.equalsIgnoreCase(iupred_path)) {\r
varValue = compbio.engine.client.Util\r
.convertToAbsolute(varValue);\r
}\r