From: <bra...@us...> - 2007-04-03 02:44:39
|
Revision: 1685 http://archive-access.svn.sourceforge.net/archive-access/?rev=1685&view=rev Author: bradtofel Date: 2007-04-02 19:44:39 -0700 (Mon, 02 Apr 2007) Log Message: ----------- REFACTOR: moved configuration-reading code into PropertyConfiguration class. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/AdministrativeExclusionAuthority.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/RequestFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLCacher.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/OpenSearchQueryParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/Renderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/BaseReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/LocalResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/HttpARCResourceStore.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/LocalARCResourceStore.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/http/FileLocationDB.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/AdministrativeExclusionAuthority.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/AdministrativeExclusionAuthority.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/AdministrativeExclusionAuthority.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -24,6 +24,7 @@ */ package org.archive.wayback.accesscontrol; +import java.io.File; import java.util.ArrayList; import java.util.Properties; @@ -31,6 +32,7 @@ import org.archive.wayback.bdb.BDBRecord; import org.archive.wayback.bdb.BDBRecordSet; import org.archive.wayback.bdb.BDBRecordIterator; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.exception.ConfigurationException; import org.archive.wayback.surt.SURTTokenizer; @@ -135,20 +137,13 @@ * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) */ public void init(Properties p) throws ConfigurationException { - - String dbPath = (String) p.get(INDEX_PATH); - if (dbPath == null || (dbPath.length() <= 0)) { - throw new IllegalArgumentException("Failed to find " + INDEX_PATH); - } - String dbName = (String) p.get(DB_NAME); - if (dbName == null || (dbName.length() <= 0)) { - throw new IllegalArgumentException("Failed to find " + DB_NAME); - } - + PropertyConfiguration pc = new PropertyConfiguration(p); + File dbDir = pc.getDir(INDEX_PATH,true); + String dbName = pc.getString(DB_NAME); try { db = new BDBRecordSet(); - db.initializeDB(dbPath,dbName); + db.initializeDB(dbDir.getAbsolutePath(),dbName); } catch (DatabaseException e) { e.printStackTrace(); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilterFactory.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilterFactory.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilterFactory.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -26,6 +26,7 @@ import java.util.Properties; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.exception.ConfigurationException; import org.archive.wayback.resourceindex.ExclusionFilterFactory; import org.archive.wayback.resourceindex.SearchResultFilter; @@ -58,10 +59,9 @@ * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) */ public void init(Properties p) throws ConfigurationException { - // TODO Auto-generated method stub - exclusionUrlPrefix = (String) p.get(EXCLUSION_PREFIX); - - exclusionUserAgent = (String) p.get(EXCLUSION_UA); + PropertyConfiguration pc = new PropertyConfiguration(p); + exclusionUrlPrefix = pc.getString(EXCLUSION_PREFIX); + exclusionUserAgent = pc.getString(EXCLUSION_UA); } /* (non-Javadoc) Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilterFactory.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilterFactory.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilterFactory.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -26,7 +26,7 @@ import java.util.Properties; -import org.archive.wayback.PropertyConfigurable; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.exception.ConfigurationException; import org.archive.wayback.liveweb.LiveWebCache; import org.archive.wayback.resourceindex.ExclusionFilterFactory; @@ -38,8 +38,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class RobotExclusionFilterFactory implements PropertyConfigurable, - ExclusionFilterFactory { +public class RobotExclusionFilterFactory implements ExclusionFilterFactory { private final static String ROBOT_USER_AGENT = "robotexclusion.useragent"; private final static String ROBOT_CACHE_AGE = "robotexclusion.cacheagems"; @@ -49,26 +48,13 @@ private String userAgent = null; private long maxCacheMS = 0; - private String getProp(Properties p, String key) - throws ConfigurationException { - - if(p.containsKey(key)) { - String v = p.getProperty(key); - if(v == null || v.length() < 1) { - throw new ConfigurationException("Empty configuration " + key); - } - return v; - } else { - throw new ConfigurationException("Missing configuration " + key); - } - } - /* (non-Javadoc) * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) */ public void init(Properties p) throws ConfigurationException { - userAgent = getProp(p,ROBOT_USER_AGENT); - maxCacheMS = Long.parseLong(getProp(p,ROBOT_CACHE_AGE)); + PropertyConfiguration pc = new PropertyConfiguration(p); + userAgent = pc.getString(ROBOT_USER_AGENT); + maxCacheMS = pc.getLong(ROBOT_CACHE_AGE); webCache = new LiveWebCache(); webCache.init(p); } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -31,7 +31,7 @@ import java.util.Properties; import java.util.logging.Logger; -import org.archive.wayback.PropertyConfigurable; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.exception.ConfigurationException; import org.archive.wayback.resourceindex.ExclusionFilterFactory; import org.archive.wayback.resourceindex.SearchResultFilter; @@ -45,8 +45,7 @@ * @author brad * @version $Date$, $Revision$ */ -public class StaticMapExclusionFilterFactory implements PropertyConfigurable, -ExclusionFilterFactory { +public class StaticMapExclusionFilterFactory implements ExclusionFilterFactory { private static final Logger LOGGER = Logger.getLogger(StaticMapExclusionFilterFactory.class.getName()); @@ -68,20 +67,16 @@ * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) */ public void init(Properties p) throws ConfigurationException { - // TODO Auto-generated method stub - String path = (String) p.get(EXCLUSION_PATH); - if((path == null) || path.length() == 0) { - throw new ConfigurationException("Invalid/missing " + - EXCLUSION_PATH + "configuration"); - } - file = new File(path); + PropertyConfiguration pc = new PropertyConfiguration(p); + file = pc.getFile(EXCLUSION_PATH); try { reloadFile(); } catch (IOException e) { e.printStackTrace(); throw new ConfigurationException(e.getLocalizedMessage()); } - LOGGER.info("starting CachedMapExclusion with file " + path); + LOGGER.info("starting CachedMapExclusion with file " + + file.getAbsolutePath()); startup(); } private void reloadFile() throws IOException { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/RequestFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/RequestFilter.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/RequestFilter.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -71,20 +71,11 @@ public RequestFilter() { super(); } - - /** - * initialize this RequestFilter based on a Properties assembled from - * Context and Filter init-params. - * @param p - * @throws ConfigurationException + /* (non-Javadoc) + * @see javax.servlet.Filter#destroy() */ - public void init(Properties p) throws ConfigurationException { - handlerUrl = (String) p.get(HANDLER_URL); - if ((handlerUrl == null) || (handlerUrl.length() <= 0)) { - throw new ConfigurationException("No config (" + HANDLER_URL + ")"); - } - } - + public void destroy() {} + /* (non-Javadoc) * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) */ @@ -119,6 +110,17 @@ } /** + * initialize this RequestFilter based on a Properties assembled from + * Context and Filter init-params. + * @param p + * @throws ConfigurationException + */ + public void init(Properties p) throws ConfigurationException { + PropertyConfiguration pc = new PropertyConfiguration(p); + handlerUrl = pc.getString(HANDLER_URL); + } + + /** * @param request * @param response * @return boolean, true if a WaybackRequest was parsed from the URL @@ -157,10 +159,4 @@ protected abstract WaybackRequest parseRequest( HttpServletRequest httpRequest); - /* (non-Javadoc) - * @see javax.servlet.Filter#destroy() - */ - public void destroy() { - - } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -40,6 +40,7 @@ import org.archive.io.arc.ARCWriter; import org.archive.io.arc.ARCWriterPool; import org.archive.wayback.PropertyConfigurable; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.Resource; import org.archive.wayback.exception.ConfigurationException; @@ -75,35 +76,10 @@ private ARCWriterPool pool = null; private File arcDir = null; - private String getProp(Properties p, String key) - throws ConfigurationException { - - if(p.containsKey(key)) { - String v = p.getProperty(key); - if(v == null || v.length() < 1) { - throw new ConfigurationException("Empty configuration " + key); - } - return v; - } else { - throw new ConfigurationException("Missing configuration " + key); - } - - } - public void init(Properties p) throws ConfigurationException { - String arcDirS = getProp(p,LIVE_WEB_ARC_DIR); - arcDir = new File(arcDirS); - if (!arcDir.isDirectory()) { - if (arcDir.exists()) { - throw new ConfigurationException("Path(" + arcDirS + ") " + - "exists but is not a directory"); - } - if(!arcDir.mkdirs()) { - throw new ConfigurationException("Unable to mkdir(" + arcDirS + - ")"); - } - } - String arcPrefix = getProp(p,LIVE_WEB_ARC_PREFIX); + PropertyConfiguration pc = new PropertyConfiguration(p); + arcDir = pc.getDir(LIVE_WEB_ARC_DIR,true); + String arcPrefix = pc.getString(LIVE_WEB_ARC_PREFIX); File[] files = { arcDir }; WriterPoolSettings settings = getSettings(true, arcPrefix, files); pool = new ARCWriterPool(settings, MAX_POOL_WRITERS, MAX_POOL_WAIT); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLCacher.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLCacher.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLCacher.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -53,6 +53,7 @@ import org.archive.io.arc.ARCWriter; import org.archive.net.LaxURI; import org.archive.wayback.PropertyConfigurable; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.exception.ConfigurationException; import org.archive.wayback.exception.LiveDocumentNotAvailableException; @@ -91,23 +92,10 @@ * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) */ public void init(Properties p) throws ConfigurationException { - String cachePath = (String) p.get(CACHE_PATH); - if (cachePath == null || cachePath.length() <= 0) { - throw new ConfigurationException("Failed to find " + CACHE_PATH); - } - tmpDir = new File(cachePath); - if(!tmpDir.exists()) { - if(!tmpDir.mkdirs()) { - throw new ConfigurationException("Unable to mkdirs(" + - tmpDir.getAbsolutePath() + ")"); - } - } else { - if(!tmpDir.isDirectory()) { - throw new ConfigurationException("Something non-dir-ish at(" + - tmpDir.getAbsolutePath() + ")"); - } - } - LOGGER.info("URLCacher storing temp files in " + cachePath); + PropertyConfiguration pc = new PropertyConfiguration(p); + tmpDir = pc.getDir(CACHE_PATH,true); + LOGGER.info("URLCacher storing temp files in " + + tmpDir.getAbsolutePath()); } private File getTmpFile() { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/OpenSearchQueryParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/OpenSearchQueryParser.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/OpenSearchQueryParser.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -33,6 +33,7 @@ import org.archive.wayback.PropertyConfigurable; import org.archive.wayback.WaybackConstants; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.BadQueryException; import org.archive.wayback.exception.ConfigurationException; @@ -83,10 +84,9 @@ * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) */ public void init(Properties p) throws ConfigurationException { - String max = p.getProperty(WaybackConstants.RESULTS_PER_PAGE_CONFIG_NAME); - if(max != null) { - maxRecords = Integer.parseInt(max); - } + PropertyConfiguration pc = new PropertyConfiguration(p); + maxRecords = pc.getInt(WaybackConstants.RESULTS_PER_PAGE_CONFIG_NAME, + DEFAULT_MAX_RECORDS); } private String getMapParam(Map queryMap, String field) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/Renderer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/Renderer.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/Renderer.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -35,6 +35,7 @@ import org.archive.wayback.QueryRenderer; import org.archive.wayback.ResultURIConverter; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.SearchResults; import org.archive.wayback.core.UIResults; import org.archive.wayback.core.WaybackRequest; @@ -59,10 +60,8 @@ private final String PREFIX_QUERY_JSP = "PathQueryResults.jsp"; public void init(Properties p) throws ConfigurationException { - this.jspPath = (String) p.get(JSP_PATH); - if (this.jspPath == null || this.jspPath.length() <= 0) { - throw new ConfigurationException("Failed to find " + JSP_PATH); - } + PropertyConfiguration pc = new PropertyConfiguration(p); + jspPath = pc.getString(JSP_PATH); } public void renderException(HttpServletRequest httpRequest, Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/BaseReplayRenderer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/BaseReplayRenderer.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/BaseReplayRenderer.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -42,6 +42,7 @@ import org.archive.wayback.ReplayRenderer; import org.archive.wayback.ResultURIConverter; import org.archive.wayback.WaybackConstants; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.Resource; import org.archive.wayback.core.SearchResult; import org.archive.wayback.core.UIResults; @@ -104,10 +105,8 @@ /* INITIALIZATION: */ public void init(Properties p) throws ConfigurationException { - this.jspPath = (String) p.get(JSP_PATH); - if (this.jspPath == null || this.jspPath.length() <= 0) { - throw new ConfigurationException("Failed to find " + JSP_PATH); - } + PropertyConfiguration pc = new PropertyConfiguration(p); + jspPath = pc.getString(JSP_PATH); } /* ERROR HANDLING RESPONSES: */ Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/LocalResourceIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/LocalResourceIndex.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/LocalResourceIndex.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -43,6 +43,7 @@ import org.archive.wayback.resourceindex.filters.UrlPrefixMatchFilter; import org.archive.wayback.resourceindex.filters.WindowEndFilter; import org.archive.wayback.resourceindex.filters.WindowStartFilter; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.SearchResult; import org.archive.wayback.core.SearchResults; import org.archive.wayback.core.Timestamp; @@ -84,14 +85,12 @@ * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) */ public void init(Properties p) throws ConfigurationException { + PropertyConfiguration pc = new PropertyConfiguration(p); source = SearchResultSourceFactory.get(p); exclusionFactory = ExclusionFilterFactoryFactory.get(p); - String maxRecordsConfig = (String) p.get( - WaybackConstants.MAX_RESULTS_CONFIG_NAME); - if(maxRecordsConfig != null) { - maxRecords = Integer.parseInt(maxRecordsConfig); - } + maxRecords = pc.getInt(WaybackConstants.MAX_RESULTS_CONFIG_NAME, + MAX_RECORDS); } private SearchResultFilter getExclusionFilter() Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -37,6 +37,7 @@ import org.archive.wayback.ResourceIndex; import org.archive.wayback.WaybackConstants; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.SearchResult; import org.archive.wayback.core.SearchResults; import org.archive.wayback.core.Timestamp; @@ -97,31 +98,24 @@ */ public void init(Properties p) throws ConfigurationException { LOGGER.info("initializing NutchResourceIndex..."); + PropertyConfiguration pc = new PropertyConfiguration(p); + searchUrlBase = pc.getString(SEARCH_BASE_URL); + LOGGER.info("Using base search url " + this.searchUrlBase); + maxRecords = pc.getInt(WaybackConstants.MAX_RESULTS_CONFIG_NAME, + MAX_RECORDS); - this.searchUrlBase = (String)p.get(SEARCH_BASE_URL); - if (this.searchUrlBase == null || this.searchUrlBase.length() <= 0) { - throw new IllegalArgumentException("Failed to find " + - SEARCH_BASE_URL); - } - this.factory = DocumentBuilderFactory.newInstance(); - this.factory.setNamespaceAware(true); - try { + this.factory = DocumentBuilderFactory.newInstance(); + this.factory.setNamespaceAware(true); + try { this.builder = this.factory.newDocumentBuilder(); } catch (ParserConfigurationException e) { // TODO: quiet extra stacktrace.. e.printStackTrace(); throw new ConfigurationException(e.getMessage()); } - if (!this.builder.isNamespaceAware()) { - LOGGER.severe("Builder is not namespace aware."); - } - LOGGER.info("Using base search url " + this.searchUrlBase); - String maxRecordsConfig = (String) p.get( - WaybackConstants.MAX_RESULTS_CONFIG_NAME); - if(maxRecordsConfig != null) { - maxRecords = Integer.parseInt(maxRecordsConfig); + if (!this.builder.isNamespaceAware()) { + LOGGER.severe("Builder is not namespace aware."); } - } /* (non-Javadoc) Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -34,6 +34,7 @@ import javax.xml.parsers.ParserConfigurationException; import org.archive.wayback.ResourceIndex; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.SearchResult; import org.archive.wayback.core.SearchResults; import org.archive.wayback.core.WaybackRequest; @@ -108,11 +109,8 @@ public void init(Properties p) throws ConfigurationException { LOGGER.info("initializing RemoteCDXIndex..."); - this.searchUrlBase = (String) p.get(SEARCH_BASE_URL); - if (this.searchUrlBase == null || this.searchUrlBase.length() <= 0) { - throw new IllegalArgumentException("Failed to find " - + SEARCH_BASE_URL); - } + PropertyConfiguration pc = new PropertyConfiguration(p); + searchUrlBase = pc.getString(SEARCH_BASE_URL); this.factory = DocumentBuilderFactory.newInstance(); this.factory.setNamespaceAware(false); LOGGER.info("Using base search url " + this.searchUrlBase); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -37,6 +37,7 @@ import org.apache.commons.httpclient.URIException; import org.archive.wayback.ResourceIndex; import org.archive.wayback.WaybackConstants; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.SearchResults; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.AccessControlException; @@ -68,6 +69,7 @@ public static String RANGE_CHECK_INTERVAL = "resourceindex.distributed.checkinterval"; private static long MS_PER_SEC = 1000; + private static long DEFAULT_CHECK_INTERVAL = 100; private long lastLoadStat = 0; private long nextCheck = 0; @@ -81,22 +83,9 @@ * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) */ public void init(Properties p) throws ConfigurationException { - mapPath = (String) p.get(RANGE_MAP_PATH); - if ((mapPath == null) || (mapPath.length() < 1)) { - throw new ConfigurationException("Failed to find " - + RANGE_MAP_PATH); - } - String checkIntervalStr = (String) p.get(RANGE_CHECK_INTERVAL); - if ((checkIntervalStr == null) || (checkIntervalStr.length() < 1)) { - throw new ConfigurationException("Failed to find " - + RANGE_CHECK_INTERVAL); - } - try { - checkInterval = Long.parseLong(checkIntervalStr); - } catch (NumberFormatException e) { - throw new ConfigurationException("Non numeric " - + RANGE_CHECK_INTERVAL); - } + PropertyConfiguration pc = new PropertyConfiguration(p); + mapPath = pc.getString(RANGE_MAP_PATH); + checkInterval = pc.getLong(RANGE_CHECK_INTERVAL,DEFAULT_CHECK_INTERVAL); LOGGER.info("Initialized AlphaPartitionedIndex on file (" + mapPath + ") checking every " + checkInterval + " seconds"); } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/HttpARCResourceStore.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/HttpARCResourceStore.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/HttpARCResourceStore.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -34,6 +34,7 @@ import org.archive.io.arc.ARCRecord; import org.archive.wayback.ResourceStore; import org.archive.wayback.WaybackConstants; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.Resource; import org.archive.wayback.core.SearchResult; import org.archive.wayback.exception.ConfigurationException; @@ -55,10 +56,8 @@ private String urlPrefix = null; public void init(Properties p) throws ConfigurationException { - urlPrefix = (String) p.get(ARC_URL_PREFIX); - if ((urlPrefix == null) || (urlPrefix.length() < 1)) { - throw new ConfigurationException("Failed to find " + ARC_URL_PREFIX); - } + PropertyConfiguration pc = new PropertyConfiguration(p); + urlPrefix = pc.getString(ARC_URL_PREFIX); if(!urlPrefix.endsWith("/")) { urlPrefix = urlPrefix + "/"; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/LocalARCResourceStore.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/LocalARCResourceStore.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/LocalARCResourceStore.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -38,6 +38,7 @@ import org.archive.io.arc.ARCRecord; import org.archive.wayback.ResourceStore; import org.archive.wayback.WaybackConstants; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.core.Resource; import org.archive.wayback.core.SearchResult; import org.archive.wayback.core.SearchResults; @@ -65,7 +66,6 @@ private static final String INDEX_TARGET = "resourcestore.indextarget"; private static final String INDEX_INTERVAL = "resourcestore.indexinterval"; - private String path = null; private File arcDir = null; private File tmpDir = null; private File workDir = null; @@ -81,49 +81,20 @@ */ private static Thread indexThread = null; - private String getRequired(Properties p,String key) - throws ConfigurationException { - String val = p.getProperty(key); - if((val == null) || val.length() < 1) { - throw new ConfigurationException("No configuration " + key); - } - return val; - } - - private void ensureDir(File dir) throws ConfigurationException { - if(!dir.isDirectory()) { - if(dir.exists()) { - throw new ConfigurationException("directory (" + - dir.getAbsolutePath() + - ") exists but is not a directory."); - } - if(!dir.mkdirs()) { - throw new ConfigurationException("unable to create directory(" + - dir.getAbsolutePath() + ")"); - } - } - } - public void init(Properties p) throws ConfigurationException { - path = getRequired(p,RESOURCE_PATH); - arcDir = new File(path); + PropertyConfiguration pc = new PropertyConfiguration(p); + arcDir = pc.getDir(RESOURCE_PATH, true); String autoIndex = p.getProperty(AUTO_INDEX); if((autoIndex != null) && (autoIndex.compareTo("1") == 0)) { - tmpDir = new File(getRequired(p,TMP_PATH)); - workDir = new File(getRequired(p,WORK_PATH)); - queuedDir = new File(getRequired(p,QUEUED_PATH)); - indexTarget = getRequired(p,INDEX_TARGET); - ensureDir(tmpDir); - ensureDir(workDir); - ensureDir(queuedDir); + tmpDir = pc.getDir(TMP_PATH,true); + workDir = pc.getDir(WORK_PATH,true); + queuedDir = pc.getDir(QUEUED_PATH,true); + indexTarget = pc.getString(INDEX_TARGET); if(indexTarget.startsWith("http://")) { indexClient = new IndexClient(indexTarget); } - String interval = p.getProperty(INDEX_INTERVAL); - if((interval != null ) && (interval.length() > 0)) { - runInterval = Integer.parseInt(interval); - } + runInterval = pc.getInt(INDEX_INTERVAL,DEFAULT_RUN_INTERVAL_MS); startAutoIndexThread(); } } @@ -138,7 +109,7 @@ } File arcFile = new File(arcName); if (!arcFile.isAbsolute()) { - arcFile = new File(this.path, arcName); + arcFile = new File(arcDir, arcName); } if (!arcFile.exists() || !arcFile.canRead()) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/http/FileLocationDB.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/http/FileLocationDB.java 2007-04-03 02:02:34 UTC (rev 1684) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/http/FileLocationDB.java 2007-04-03 02:44:39 UTC (rev 1685) @@ -31,6 +31,7 @@ import org.archive.wayback.PropertyConfigurable; import org.archive.wayback.bdb.BDBRecordSet; +import org.archive.wayback.core.PropertyConfiguration; import org.archive.wayback.exception.ConfigurationException; import org.archive.wayback.util.CloseableIterator; @@ -71,32 +72,15 @@ } public void init(Properties p) throws ConfigurationException { - String dbPath = (String) p.get(ARC_DB_PATH); - if ((dbPath == null) || (dbPath.length() < 1)) { - throw new ConfigurationException("Failed to find " + ARC_DB_PATH); - } - String dbName = (String) p.get(ARC_DB_NAME); - if ((dbName == null) || (dbName.length() < 1)) { - throw new ConfigurationException("Failed to find " + ARC_DB_NAME); - } - - String logPath = (String) p.get(ARC_DB_LOG); - if ((logPath == null) || (logPath.length() < 1)) { - throw new ConfigurationException("Failed to find " + ARC_DB_LOG); - } - + PropertyConfiguration pc = new PropertyConfiguration(p); + File dbDir = pc.getDir(ARC_DB_PATH, true); + String dbName = pc.getString(ARC_DB_NAME); + String logPath = pc.getString(ARC_DB_LOG); try { - File dbDir = new File(dbPath); - if(!dbDir.exists()) { - if(!dbDir.mkdirs()) { - throw new ConfigurationException("Failed to create " + dbPath); - } - } - - LOGGER.info("Initializing FileLocationDB at(" + dbPath + - ") named(" + dbName + ")"); - initializeDB(dbPath, dbName); + LOGGER.info("Initializing FileLocationDB at(" + + dbDir.getAbsolutePath() + ") named(" + dbName + ")"); + initializeDB(dbDir.getAbsolutePath(), dbName); log = new FileLocationDBLog(logPath); } catch (DatabaseException e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |