Skip to content
Snippets Groups Projects
Commit 2664eb84 authored by kaloyane's avatar kaloyane
Browse files

minor: use an better utility class to evaluate string templates

SVN: 21352
parent c72c6c36
No related branches found
No related tags found
No related merge requests found
...@@ -35,7 +35,7 @@ import ch.systemsx.cisd.common.io.IHierarchicalContentNode; ...@@ -35,7 +35,7 @@ import ch.systemsx.cisd.common.io.IHierarchicalContentNode;
import ch.systemsx.cisd.common.io.IHierarchicalContentNodeFilter; import ch.systemsx.cisd.common.io.IHierarchicalContentNodeFilter;
import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogCategory;
import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.logging.LogFactory;
import ch.systemsx.cisd.common.utilities.ExtendedProperties; import ch.systemsx.cisd.common.utilities.Template;
import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpConstants; import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpConstants;
import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpPathResolverContext; import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpPathResolverContext;
import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpServerConfig; import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpServerConfig;
...@@ -73,8 +73,6 @@ public class TemplateBasedDataSetResourceResolver implements IFtpPathResolver, ...@@ -73,8 +73,6 @@ public class TemplateBasedDataSetResourceResolver implements IFtpPathResolver,
private static final String DATA_SET_DATE_FORMAT = "yyyy-MM-dd-HH-mm"; private static final String DATA_SET_DATE_FORMAT = "yyyy-MM-dd-HH-mm";
private static final String TEMPLATE = "template";
private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION,
TemplateBasedDataSetResourceResolver.class); TemplateBasedDataSetResourceResolver.class);
...@@ -405,19 +403,18 @@ public class TemplateBasedDataSetResourceResolver implements IFtpPathResolver, ...@@ -405,19 +403,18 @@ public class TemplateBasedDataSetResourceResolver implements IFtpPathResolver,
private String evaluateTemplate(ExternalData dataSet, String fileName, String disambiguation) private String evaluateTemplate(ExternalData dataSet, String fileName, String disambiguation)
{ {
ExtendedProperties properties = new ExtendedProperties(); Template eval = new Template(template);
properties.put(DATA_SET_CODE_VARNAME, dataSet.getCode()); eval.attemptToBind(DATA_SET_CODE_VARNAME, dataSet.getCode());
properties.put(DATA_SET_TYPE_VARNAME, dataSet.getDataSetType().getCode()); eval.attemptToBind(DATA_SET_TYPE_VARNAME, dataSet.getDataSetType().getCode());
String dataSetDate = extractDateValue(dataSet.getRegistrationDate()); String dataSetDate = extractDateValue(dataSet.getRegistrationDate());
properties.put(DATA_SET_DATE_VARNAME, dataSetDate); eval.attemptToBind(DATA_SET_DATE_VARNAME, dataSetDate);
if (fileName != null) if (fileName != null)
{ {
properties.put(FILE_NAME_VARNAME, fileName); eval.attemptToBind(FILE_NAME_VARNAME, fileName);
} }
properties.put(DISAMBIGUATION_VARNAME, disambiguation); eval.attemptToBind(DISAMBIGUATION_VARNAME, disambiguation);
properties.put(TEMPLATE, template); return eval.createText();
return properties.getProperty(TEMPLATE);
} }
/** /**
...@@ -433,13 +430,8 @@ public class TemplateBasedDataSetResourceResolver implements IFtpPathResolver, ...@@ -433,13 +430,8 @@ public class TemplateBasedDataSetResourceResolver implements IFtpPathResolver,
*/ */
private boolean isVariablePresentInTemplate(String variableName) private boolean isVariablePresentInTemplate(String variableName)
{ {
ExtendedProperties properties = new ExtendedProperties(); Template parsedTemplate = new Template(template);
// try to replace the variable with something different return parsedTemplate.getPlaceholderNames().contains(variableName);
properties.put(variableName, variableName + variableName);
properties.put(TEMPLATE, template);
String evaluatedTemplate = properties.getProperty(TEMPLATE);
return false == evaluatedTemplate.equals(template);
} }
private IHierarchicalContentNodeFilter createFilter(final String fileFilterPattern) private IHierarchicalContentNodeFilter createFilter(final String fileFilterPattern)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment