From: <bra...@us...> - 2007-07-25 00:44:45
|
Revision: 1881 http://archive-access.svn.sourceforge.net/archive-access/?rev=1881&view=rev Author: bradtofel Date: 2007-07-24 17:44:45 -0700 (Tue, 24 Jul 2007) Log Message: ----------- REFACTOR: removed all references to PropertyConfigurable interface TWEAK: type safety Modified Paths: -------------- 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 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-07-25 00:43:20 UTC (rev 1880) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilterFactory.java 2007-07-25 00:44:45 UTC (rev 1881) @@ -24,12 +24,9 @@ */ package org.archive.wayback.accesscontrol.remote; -import java.util.Properties; - -import org.archive.wayback.core.PropertyConfiguration; -import org.archive.wayback.exception.ConfigurationException; +import org.archive.wayback.core.SearchResult; import org.archive.wayback.resourceindex.ExclusionFilterFactory; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * @@ -39,36 +36,43 @@ */ public class RemoteExclusionFilterFactory implements ExclusionFilterFactory { + private String exclusionUrlPrefix = null; + + private String exclusionUserAgent = null; + + /* (non-Javadoc) + * @see org.archive.wayback.resourceindex.ExclusionFilterFactory#get() + */ + public ObjectFilter<SearchResult> get() { + return new RemoteExclusionFilter(exclusionUrlPrefix, exclusionUserAgent); + } + /** - * configuration name for URL prefix to access exclusion service + * @return the exclusionUrlPrefix */ - private final static String EXCLUSION_PREFIX = "resourceindex.exclusionurl"; + public String getExclusionUrlPrefix() { + return exclusionUrlPrefix; + } /** - * configuration name for User Agent to send to exclusion service + * @param exclusionUrlPrefix the exclusionUrlPrefix to set */ - private final static String EXCLUSION_UA = "resourceindex.exclusionua"; + public void setExclusionUrlPrefix(String exclusionUrlPrefix) { + this.exclusionUrlPrefix = exclusionUrlPrefix; + } - - private String exclusionUrlPrefix = null; - - private String exclusionUserAgent = null; - - - /* (non-Javadoc) - * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) + /** + * @return the exclusionUserAgent */ - public void init(Properties p) throws ConfigurationException { - PropertyConfiguration pc = new PropertyConfiguration(p); - exclusionUrlPrefix = pc.getString(EXCLUSION_PREFIX); - exclusionUserAgent = pc.getString(EXCLUSION_UA); + public String getExclusionUserAgent() { + return exclusionUserAgent; } - /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.ExclusionFilterFactory#get() + /** + * @param exclusionUserAgent the exclusionUserAgent to set */ - public SearchResultFilter get() { - return new RemoteExclusionFilter(exclusionUrlPrefix, exclusionUserAgent); + public void setExclusionUserAgent(String exclusionUserAgent) { + this.exclusionUserAgent = exclusionUserAgent; } 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-07-25 00:43:20 UTC (rev 1880) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilterFactory.java 2007-07-25 00:44:45 UTC (rev 1881) @@ -24,13 +24,10 @@ */ package org.archive.wayback.accesscontrol.robotstxt; -import java.util.Properties; - -import org.archive.wayback.core.PropertyConfiguration; -import org.archive.wayback.exception.ConfigurationException; +import org.archive.wayback.core.SearchResult; import org.archive.wayback.liveweb.LiveWebCache; import org.archive.wayback.resourceindex.ExclusionFilterFactory; -import org.archive.wayback.resourceindex.SearchResultFilter; +import org.archive.wayback.util.ObjectFilter; /** * @@ -40,29 +37,56 @@ */ public class RobotExclusionFilterFactory implements ExclusionFilterFactory { - private final static String ROBOT_USER_AGENT = "robotexclusion.useragent"; - private final static String ROBOT_CACHE_AGE = "robotexclusion.cacheagems"; - - private LiveWebCache webCache = null; private String userAgent = null; private long maxCacheMS = 0; /* (non-Javadoc) - * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) + * @see org.archive.wayback.resourceindex.ExclusionFilterFactory#get() */ - public void init(Properties p) throws ConfigurationException { - PropertyConfiguration pc = new PropertyConfiguration(p); - userAgent = pc.getString(ROBOT_USER_AGENT); - maxCacheMS = pc.getLong(ROBOT_CACHE_AGE); - webCache = new LiveWebCache(); - webCache.init(p); + public ObjectFilter<SearchResult> get() { + return new RobotExclusionFilter(webCache,userAgent,maxCacheMS); } - /* (non-Javadoc) - * @see org.archive.wayback.resourceindex.ExclusionFilterFactory#get() + /** + * @return the webCache */ - public SearchResultFilter get() { - return new RobotExclusionFilter(webCache,userAgent,maxCacheMS); + public LiveWebCache getWebCache() { + return webCache; } + + /** + * @param webCache the webCache to set + */ + public void setWebCache(LiveWebCache webCache) { + this.webCache = webCache; + } + + /** + * @return the userAgent + */ + public String getUserAgent() { + return userAgent; + } + + /** + * @param userAgent the userAgent to set + */ + public void setUserAgent(String userAgent) { + this.userAgent = userAgent; + } + + /** + * @return the maxCacheMS + */ + public long getMaxCacheMS() { + return maxCacheMS; + } + + /** + * @param maxCacheMS the maxCacheMS to set + */ + public void setMaxCacheMS(long maxCacheMS) { + this.maxCacheMS = maxCacheMS; + } } 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-07-25 00:43:20 UTC (rev 1880) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java 2007-07-25 00:44:45 UTC (rev 1881) @@ -28,15 +28,13 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -import java.util.Properties; import java.util.logging.Logger; -import org.archive.wayback.core.PropertyConfiguration; -import org.archive.wayback.exception.ConfigurationException; +import org.archive.wayback.core.SearchResult; import org.archive.wayback.resourceindex.ExclusionFilterFactory; -import org.archive.wayback.resourceindex.SearchResultFilter; import org.archive.wayback.surt.SURTTokenizer; import org.archive.wayback.util.CloseableIterator; +import org.archive.wayback.util.ObjectFilter; import org.archive.wayback.util.flatfile.FlatFile; /** @@ -49,12 +47,9 @@ private static final Logger LOGGER = Logger.getLogger(StaticMapExclusionFilterFactory.class.getName()); - - private final static String EXCLUSION_PATH = - "resourceindex.exclusionpath"; private final static int checkInterval = 10; - Map<String,Object> currentMap = null; - File file = null; + private Map<String,Object> currentMap = null; + private File file = null; long lastUpdated = 0; /** * Thread object of update thread -- also is flag indicating if the thread @@ -62,23 +57,15 @@ */ private static Thread updateThread = null; - - /* (non-Javadoc) - * @see org.archive.wayback.PropertyConfigurable#init(java.util.Properties) + /** + * load exclusion file and startup polling thread to check for updates + * @throws IOException */ - public void init(Properties p) throws ConfigurationException { - 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 " + - file.getAbsolutePath()); - startup(); + public void init() throws IOException { + reloadFile(); + startUpdateThread(); } + protected void reloadFile() throws IOException { long currentMod = file.lastModified(); if(currentMod == lastUpdated) { @@ -98,32 +85,27 @@ protected Map<String,Object> loadFile(String path) throws IOException { Map<String, Object> newMap = new HashMap<String, Object>(); FlatFile ff = new FlatFile(path); - CloseableIterator itr = (CloseableIterator) ff.getSequentialIterator(); + CloseableIterator<String> itr = ff.getSequentialIterator(); while(itr.hasNext()) { String line = (String) itr.next(); String surt = line.startsWith("(") ? line : SURTTokenizer.prefixKey(line); newMap.put(surt, null); } + itr.close(); return newMap; } /** * @return SearchResultFilter */ - public SearchResultFilter get() { + public ObjectFilter<SearchResult> get() { if(currentMap == null) { return null; } return new StaticMapExclusionFilter(currentMap); } - private void startup() throws ConfigurationException { - if (updateThread == null) { - startUpdateThread(); - } - } - private synchronized void startUpdateThread() { if (updateThread != null) { return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |