blob: d78eacdfe3c68e3342e0a70d3cb0c8a097342e48 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.oodt.cas.filemgr.ingest;
//OODT imports
import org.apache.oodt.cas.metadata.util.PathUtils;
//JDK imports
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
/**
* @author mattmann
* @author bfoster
* @version $Revision$
*
* <p>
* Describe your class here
* </p>.
*/
public abstract class AbstractCacheServerFactory implements CacheFactory {
protected String rangeQueryElementName;
protected String rangeStartDateTime;
protected String rangeEndDateTime;
protected String uniqueElementName;
protected List<String> productTypeNames;
protected URL fmUrl;
public AbstractCacheServerFactory() throws InstantiationException {
rangeQueryElementName = System
.getProperty("org.apache.oodt.cas.filemgr.ingest.cache.rangeQueryElementName");
// before we replace env vars, try to replace date vars
rangeStartDateTime = System
.getProperty("org.apache.oodt.cas.filemgr.ingest.cache.range.start");
rangeEndDateTime = System
.getProperty("org.apache.oodt.cas.filemgr.ingest.cache.range.end");
try {
rangeStartDateTime = PathUtils
.doDynamicReplacement(rangeStartDateTime);
rangeEndDateTime = PathUtils.doDynamicReplacement(rangeEndDateTime);
} catch (Exception e) {
throw new InstantiationException(e.getMessage());
}
uniqueElementName = System
.getProperty("org.apache.oodt.cas.filemgr.ingest.cache.uniqueElementName");
productTypeNames = Arrays.asList(PathUtils.replaceEnvVariables(
System.getProperty("org.apache.oodt.cas.filemgr.ingest."
+ "cache.productType")).split(","));
try {
fmUrl = new URL(
System
.getProperty("org.apache.oodt.cas.filemgr.ingest.cache.filemgr.url"));
} catch (MalformedURLException e) {
throw new InstantiationException(
"Unable to construct file manager url for: ["
+ System
.getProperty("org.apache.oodt.cas.filemgr.ingest.cache.filemgr.url")
+ "]: malformed URL exception.");
}
}
/*
* (non-Javadoc)
*
* @see org.apache.oodt.cas.filemgr.ingest.CacheFactory#createCache()
*/
public abstract Cache createCache() throws InstantiationException;
}