KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > javacoding > jspider > core > storage > StorageFactory


1 package net.javacoding.jspider.core.storage;
2
3
4 import net.javacoding.jspider.core.logging.LogFactory;
5 import net.javacoding.jspider.core.logging.Log;
6 import net.javacoding.jspider.core.storage.memory.InMemoryStorageProvider;
7 import net.javacoding.jspider.core.storage.impl.StorageImpl;
8 import net.javacoding.jspider.core.util.config.*;
9
10
11 /**
12  *
13  * $Id: StorageFactory.java,v 1.7 2003/04/11 16:37:05 vanrogu Exp $
14  *
15  * @author Günther Van Roey
16  */

17 public class StorageFactory {
18
19     public Storage createStorage() {
20
21
22         PropertySet props = ConfigurationFactory.getConfiguration().getJSpiderConfiguration();
23
24         Log log = LogFactory.getLog(StorageFactory.class);
25
26         PropertySet storageProps = new MappedPropertySet ( ConfigConstants.CONFIG_STORAGE, props );
27         Class JavaDoc providerClass = storageProps.getClass(ConfigConstants.CONFIG_STORAGE_PROVIDER, InMemoryStorageProvider.class);
28         log.info("Storage provider class is '" + providerClass + "'");
29
30         try {
31             StorageProvider provider = (StorageProvider) providerClass.newInstance();
32             PropertySet storageConfigProps = new MappedPropertySet(ConfigConstants.CONFIG_STORAGE_CONFIG, storageProps);
33             return new StorageImpl( provider, storageConfigProps );
34         } catch (InstantiationException JavaDoc e) {
35             log.error("InstantiationException on Storage", e);
36             return null;
37         } catch (IllegalAccessException JavaDoc e) {
38             log.error("IllegalAccessException on Storage", e);
39             return null;
40         }
41     }
42 }
43
Popular Tags