1 /*
2 * Copyright (C) The Spice Group. All rights reserved.
3 *
4 * This software is published under the terms of the Spice
5 * Software License version 1.1, a copy of which has been included
6 * with this distribution in the LICENSE.txt file.
7 */
8 package org.codehaus.spice.loggerstore.factories;
9
10 import java.io.InputStream;
11 import java.util.Map;
12 import java.util.Properties;
13 import org.codehaus.spice.loggerstore.LoggerStore;
14 import org.codehaus.spice.loggerstore.stores.Log4JLoggerStore;
15
16 /***
17 * PropertyLog4JLoggerStoreFactory is an implementation of LoggerStoreFactory
18 * for the Log4J Logger using a property configuration resource.
19 *
20 * @author <a href="mailto:mauro.talevi at aquilonia.org">Mauro Talevi</a>
21 * @author Peter Donald
22 * @version $Revision: 1.1 $ $Date: 2003/11/19 18:22:44 $
23 */
24 public class PropertyLog4JLoggerStoreFactory
25 extends AbstractLoggerStoreFactory
26 {
27 /***
28 * Creates a LoggerStore from a given set of configuration parameters.
29 *
30 * @param config the Map of parameters for the configuration of the store
31 * @return the LoggerStore
32 * @throws Exception if unable to create the LoggerStore
33 */
34 protected LoggerStore doCreateLoggerStore( final Map config )
35 throws Exception
36 {
37 final Properties properties = (Properties)config.get(
38 Properties.class.getName() );
39 if( null != properties )
40 {
41 return new Log4JLoggerStore( properties );
42 }
43
44 final InputStream resource = getInputStream( config );
45 if( null != resource )
46 {
47 return new Log4JLoggerStore(
48 createPropertiesFromStream( resource ) );
49 }
50
51 return missingConfiguration();
52 }
53
54 private Properties createPropertiesFromStream( final InputStream resource )
55 throws Exception
56 {
57 final Properties properties = new Properties();
58 properties.load( resource );
59 return properties;
60 }
61 }
This page was automatically generated by Maven