1 package net.javacoding.jspider.mockobjects; 2 3 import net.javacoding.jspider.api.model.Site; 4 import net.javacoding.jspider.core.util.config.JSpiderConfiguration; 5 import net.javacoding.jspider.core.util.config.PropertySet; 6 7 import java.io.File ; 8 import java.util.HashMap ; 9 import java.util.Map ; 10 11 14 public class OverridingJSpiderConfiguration implements JSpiderConfiguration { 15 16 protected JSpiderConfiguration config; 17 protected PropertySet jspiderConfiguration; 18 protected PropertySet pluginsConfiguration; 19 protected PropertySet defaultSiteConfiguration; 20 protected PropertySet baseSiteConfiguration; 21 protected Map pluginConfiguration; 22 protected Map siteConfiguration; 23 protected File defaultOutputFolder; 24 25 public OverridingJSpiderConfiguration ( JSpiderConfiguration config ) { 26 this.config = config; 27 jspiderConfiguration = new OverridingPropertySet(config.getJSpiderConfiguration()); 28 pluginsConfiguration = new OverridingPropertySet(config.getPluginsConfiguration()); 29 defaultSiteConfiguration = new OverridingPropertySet(config.getDefaultSiteConfiguration()); 30 baseSiteConfiguration = new OverridingPropertySet(config.getBaseSiteConfiguration()); 31 pluginConfiguration = new HashMap ( ); 32 siteConfiguration = new HashMap ( ); 33 defaultOutputFolder = new File ( System.getProperty("jspider.home") + File.separator + "output" ); 34 } 35 36 public File getDefaultOutputFolder() { 37 return defaultOutputFolder; 38 } 39 40 public PropertySet getJSpiderConfiguration() { 41 return jspiderConfiguration; 42 } 43 44 public PropertySet getPluginsConfiguration() { 45 return pluginsConfiguration; 46 } 47 48 public PropertySet getPluginConfiguration(String pluginName) { 49 PropertySet retVal = (PropertySet)pluginConfiguration.get(pluginName); 50 if ( retVal == null ) { 51 retVal = new OverridingPropertySet(config.getPluginConfiguration(pluginName) ); 52 pluginConfiguration.put(pluginName, retVal); 53 } 54 return retVal; 55 } 56 57 public PropertySet getSiteConfiguration(Site site) { 58 return getSiteConfiguration(site.getHost(), site.getPort()); 59 } 60 61 public PropertySet getSiteConfiguration(String host, int port) { 62 return baseSiteConfiguration; 63 71 } 72 73 public PropertySet getDefaultSiteConfiguration() { 74 return defaultSiteConfiguration; 75 } 76 77 public PropertySet getBaseSiteConfiguration() { 78 return baseSiteConfiguration; 79 } 80 81 public File getPluginConfigurationFolder(String pluginName) { 82 return config.getPluginConfigurationFolder(pluginName); 83 } 84 85 } 86 | Popular Tags |