// get site alias
String siteAlias = PathUtils
.replaceEnvVariables(((Element) daemonNode)
.getAttribute(ALIAS_ATTR));
RemoteSite dataFilesRemoteSite = this.siteInfo
.getSiteByAlias(siteAlias);
if (dataFilesRemoteSite == null)
throw new ConfigException("Alias '" + siteAlias
+ "' in SiteInfo file '"
+ remoteSpecsFile.getAbsolutePath()
+ "' has not been defined");
// get RUNINFO element
NodeList runInfoList = ((Element) daemonNode)
.getElementsByTagName(RUN_INFO_TAG);
String firstRunDateTimeString = null, period = null, epsilon = null;
boolean runOnReboot = false;
if (runInfoList.getLength() > 0) {
Element runInfo = (Element) runInfoList.item(0);
firstRunDateTimeString = runInfo
.getAttribute(FIRSTRUN_DATETIME_ATTR);
period = runInfo.getAttribute(PERIOD_ATTR);
runOnReboot = (runInfo.getAttribute(RUNONREBOOT_ATTR)
.toLowerCase().equals("yes")) ? true : false;
epsilon = runInfo.getAttribute(EPSILON_ATTR);
if (epsilon.equals(""))
epsilon = "0s";
}
// get PROPINFO elements
NodeList propInfoList = ((Element) daemonNode)
.getElementsByTagName(PROP_INFO_TAG);
LinkedList<PropFilesInfo> pfiList = new LinkedList<PropFilesInfo>();
PropFilesInfo pfi = null;
if (propInfoList.getLength() > 0) {
Node propInfoNode = propInfoList.item(0);
// get directory where the property files are
File propertyFilesDir = new File(PathUtils
.replaceEnvVariables(((Element) propInfoNode)
.getAttribute(DIR_ATTR)));
pfi = new PropFilesInfo(propertyFilesDir);
// get PROPFILES elements
NodeList propFilesList = ((Element) propInfoNode)
.getElementsByTagName(PROP_FILES_TAG);
String propFilesRegExp = null;
if (propFilesList.getLength() > 0) {
for (int k = 0; k < propFilesList.getLength(); k++) {
Node propFilesNode = propFilesList.item(k);
propFilesRegExp = ((Element) propFilesNode)
.getAttribute(REG_EXP_ATTR);
pfi
.addPropFiles(
propFilesRegExp,
PushPullObjectFactory
.createNewInstance((Class<Parser>) Class
.forName(PathUtils
.replaceEnvVariables(((Element) propFilesNode)
.getAttribute(PARSER_ATTR)))));
}
} else
throw new ConfigException(
"No propFiles element specified for deamon with alias '"
+ siteAlias + "' in RemoteSpecs file '"
+ remoteSpecsFile.getAbsolutePath()
+ "'");
// get DOWNLOADINFO element if given
NodeList downloadInfoList = ((Element) propInfoNode)
.getElementsByTagName(DOWNLOAD_INFO_TAG);
if (downloadInfoList.getLength() > 0) {
Node downloadInfo = downloadInfoList.item(0);
String propFilesAlias = PathUtils
.replaceEnvVariables(((Element) downloadInfo)
.getAttribute(ALIAS_ATTR));
String propFilesRenamingConv = ((Element) downloadInfo)
.getAttribute(RENAMING_CONV_ATTR);
boolean allowAliasOverride = PathUtils
.replaceEnvVariables(
((Element) downloadInfo)
.getAttribute(ALLOW_ALIAS_OVERRIDE_ATTR))
.equals("yes");
boolean deleteFromServer = PathUtils
.replaceEnvVariables(
((Element) downloadInfo)
.getAttribute(DELETE_FROM_SERVER_ATTR))
.equals("yes");
RemoteSite propFilesRemoteSite = this.siteInfo
.getSiteByAlias(propFilesAlias);
if (propFilesRemoteSite == null)
throw new ConfigException("Alias '"
+ propFilesAlias
+ "' in RemoteSpecs file '"