KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > busimpl > BusConfigurationBuilder


1 package org.objectweb.celtix.bus.busimpl;
2
3 import java.util.Map JavaDoc;
4
5 import org.objectweb.celtix.Bus;
6 import org.objectweb.celtix.configuration.CommandLineOption;
7 import org.objectweb.celtix.configuration.Configuration;
8 import org.objectweb.celtix.configuration.ConfigurationBuilder;
9 import org.objectweb.celtix.configuration.ConfigurationBuilderFactory;
10
11 public class BusConfigurationBuilder {
12     
13     public static final String JavaDoc BUS_ID_PROPERTY = "org.objectweb.celtix.BusId";
14     public static final String JavaDoc BUS_CONFIGURATION_URI =
15         "http://celtix.objectweb.org/bus/bus-config";
16     private static final CommandLineOption BUS_ID_OPT;
17     private static final String JavaDoc DEFAULT_BUS_ID = "celtix";
18     
19
20     static {
21         BUS_ID_OPT = new CommandLineOption("-BUSid");
22     }
23     
24     Configuration build(String JavaDoc[] args, Map JavaDoc<String JavaDoc, Object JavaDoc> properties) {
25         String JavaDoc id = getBusId(args, properties);
26         ConfigurationBuilder builder = ConfigurationBuilderFactory.getBuilder(null);
27         Configuration c = builder.getConfiguration(BUS_CONFIGURATION_URI, id);
28         if (null == c) {
29             c = builder.buildConfiguration(BUS_CONFIGURATION_URI, id);
30         }
31         return c;
32     }
33
34     private static String JavaDoc getBusId(String JavaDoc[] args, Map JavaDoc<String JavaDoc, Object JavaDoc> properties) {
35
36         String JavaDoc busId = null;
37
38         // first check command line arguments
39
BUS_ID_OPT.initialize(args);
40         busId = (String JavaDoc)BUS_ID_OPT.getValue();
41         if (null != busId && !"".equals(busId)) {
42             return busId;
43         }
44
45         // next check properties
46
busId = (String JavaDoc)properties.get(BUS_ID_PROPERTY);
47         if (null != busId && !"".equals(busId)) {
48             return busId;
49         }
50
51         // next check system properties
52
busId = System.getProperty(Bus.BUS_CLASS_PROPERTY);
53         if (null != busId && !"".equals(busId)) {
54             return busId;
55         }
56
57         // otherwise use default
58
return DEFAULT_BUS_ID;
59     }
60 }
61
Popular Tags