1 package org.objectweb.celtix.bus.busimpl; 2 3 import java.util.Map ; 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 BUS_ID_PROPERTY = "org.objectweb.celtix.BusId"; 14 public static final String BUS_CONFIGURATION_URI = 15 "http://celtix.objectweb.org/bus/bus-config"; 16 private static final CommandLineOption BUS_ID_OPT; 17 private static final String DEFAULT_BUS_ID = "celtix"; 18 19 20 static { 21 BUS_ID_OPT = new CommandLineOption("-BUSid"); 22 } 23 24 Configuration build(String [] args, Map <String , Object > properties) { 25 String 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 getBusId(String [] args, Map <String , Object > properties) { 35 36 String busId = null; 37 38 BUS_ID_OPT.initialize(args); 40 busId = (String )BUS_ID_OPT.getValue(); 41 if (null != busId && !"".equals(busId)) { 42 return busId; 43 } 44 45 busId = (String )properties.get(BUS_ID_PROPERTY); 47 if (null != busId && !"".equals(busId)) { 48 return busId; 49 } 50 51 busId = System.getProperty(Bus.BUS_CLASS_PROPERTY); 53 if (null != busId && !"".equals(busId)) { 54 return busId; 55 } 56 57 return DEFAULT_BUS_ID; 59 } 60 } 61 | Popular Tags |