StorageFactory.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:2k
源码类别:

搜索引擎

开发平台:

Java

  1. package net.javacoding.jspider.core.storage;
  2. import net.javacoding.jspider.core.logging.LogFactory;
  3. import net.javacoding.jspider.core.logging.Log;
  4. import net.javacoding.jspider.core.storage.memory.InMemoryStorageProvider;
  5. import net.javacoding.jspider.core.storage.impl.StorageImpl;
  6. import net.javacoding.jspider.core.util.config.*;
  7. /**
  8.  *
  9.  * $Id: StorageFactory.java,v 1.7 2003/04/11 16:37:05 vanrogu Exp $
  10.  *
  11.  * @author G黱ther Van Roey
  12.  */
  13. public class StorageFactory {
  14.     public Storage createStorage() {
  15.         PropertySet props = ConfigurationFactory.getConfiguration().getJSpiderConfiguration();
  16.         Log log = LogFactory.getLog(StorageFactory.class);
  17.         PropertySet storageProps = new MappedPropertySet ( ConfigConstants.CONFIG_STORAGE, props );
  18.         Class providerClass = storageProps.getClass(ConfigConstants.CONFIG_STORAGE_PROVIDER, InMemoryStorageProvider.class);
  19.         log.info("Storage provider class is '" + providerClass + "'");
  20.         try {
  21.             StorageProvider provider = (StorageProvider) providerClass.newInstance();
  22.             PropertySet storageConfigProps = new MappedPropertySet(ConfigConstants.CONFIG_STORAGE_CONFIG, storageProps);
  23.             return new StorageImpl( provider, storageConfigProps );
  24.         } catch (InstantiationException e) {
  25.             log.error("InstantiationException on Storage", e);
  26.             return null;
  27.         } catch (IllegalAccessException e) {
  28.             log.error("IllegalAccessException on Storage", e);
  29.             return null;
  30.         }
  31.     }
  32. }