Changeset 893

Show
Ignore:
Timestamp:
10/07/06 21:04:44 (2 years ago)
Author:
alban
Message:

[Bug 16] add support for multiple consumers, change for commons-configuration 1.3

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/.classpath

    r883 r893  
    2323        <classpathentry kind="lib" path="lib/core/org.mortbay.jetty.jar"/> 
    2424        <classpathentry kind="lib" path="lib/core/tritonus-share.jar"/> 
    25         <classpathentry kind="lib" path="lib/core/tritonus-vorbis.jar"/> 
     25        <classpathentry kind="lib" path="lib/core/tritonus-vorbis.jar"> 
     26                <attributes> 
     27                        <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="FreeCast - trunk/lib/runtime/linux/x86"/> 
     28                </attributes> 
     29        </classpathentry> 
    2630        <classpathentry kind="lib" path="lib/core/vorbisspi.jar"/> 
    2731        <classpathentry kind="lib" path="lib/core/vorbisspi-tritonus.jar"/> 
     
    3337        <classpathentry kind="lib" path="lib/core/commons-digester.jar"/> 
    3438        <classpathentry kind="lib" path="lib/core/commons-beanutils.jar"/> 
     39        <classpathentry kind="lib" path="lib/core/commons-jxpath.jar"/> 
    3540        <classpathentry kind="output" path=".eclipse"/> 
    3641</classpath> 
  • trunk/ivy.xml

    r883 r893  
    1919    <dependency org="apache" name="commons-logging" rev="1.1" conf="core->*"/> 
    2020    <dependency org="apache" name="commons-cli" rev="1.0" conf="core->*"/> 
    21     <dependency org="apache" name="commons-configuration" rev="1.2" conf="core->default"/> 
     21    <dependency org="apache" name="commons-configuration" rev="1.3" conf="core->default"/> 
    2222    <dependency org="apache" name="commons-io" rev="1.2" conf="core->*"/> 
    2323    <dependency org="apache" name="commons-codec" rev="1.3" conf="core->*"/> 
     
    5656    <dependency org="slf4j" name="slf4j" rev="1.0.2" conf="runtime->log4j12"/> 
    5757    <dependency org="jdesktop" name="jdic" rev="20060613" conf="runtime->windows-x86,linux-x86,sunos-x86,sunos-sparc"/> 
    58     <dependency org="apache" name="commons-configuration" rev="1.2" conf="core->runtime"/> 
     58    <dependency org="apache" name="commons-configuration" rev="1.3" conf="core->runtime"/> 
    5959     
    6060    <dependency org="mockobjects" name="mockobjects" rev="0.09" conf="test->*"/> 
  • trunk/source/org/kolaka/freecast/Application.java

    r883 r893  
    3636import org.apache.commons.cli.Options; 
    3737import org.apache.commons.cli.ParseException; 
    38 import org.apache.commons.configuration.Configuration; 
     38import org.apache.commons.configuration.HierarchicalConfiguration; 
    3939import org.apache.commons.lang.StringUtils; 
    4040import org.apache.commons.lang.SystemUtils; 
     
    6363        private final ResourceLocator resourceLocator; 
    6464 
    65         private Configuration configuration; 
     65        private HierarchicalConfiguration configuration; 
    6666 
    6767        protected Application(String name) { 
     
    176176        } 
    177177 
    178         protected abstract void postInit(Configuration configuration) 
     178        protected abstract void postInit(HierarchicalConfiguration configuration) 
    179179                        throws Exception; 
    180180 
  • trunk/source/org/kolaka/freecast/config/ConfigurationLoader.java

    r405 r893  
    2626import java.net.URI; 
    2727 
    28 import org.apache.commons.configuration.Configuration; 
    2928import org.apache.commons.configuration.ConfigurationException; 
     29import org.apache.commons.configuration.HierarchicalConfiguration; 
    3030import org.kolaka.freecast.resource.ResourceLocator; 
    3131 
     
    3939        void load() throws ConfigurationException; 
    4040 
    41        Configuration getRootConfiguration(); 
     41  HierarchicalConfiguration getRootConfiguration(); 
    4242 
    4343        void setUserURI(URI userURI); 
  • trunk/source/org/kolaka/freecast/config/DefaultConfigurationLoader.java

    r884 r893  
    2929import java.util.Properties; 
    3030 
     31import org.apache.commons.configuration.AbstractConfiguration; 
    3132import org.apache.commons.configuration.BaseConfiguration; 
    32 import org.apache.commons.configuration.CompositeConfiguration; 
    33 import org.apache.commons.configuration.Configuration; 
     33import org.apache.commons.configuration.CombinedConfiguration; 
    3434import org.apache.commons.configuration.ConfigurationException; 
    35 import org.apache.commons.configuration.ConfigurationFactory; 
     35import org.apache.commons.configuration.DefaultConfigurationBuilder; 
     36import org.apache.commons.configuration.HierarchicalConfiguration; 
    3637import org.apache.commons.configuration.MapConfiguration; 
    3738import org.apache.commons.configuration.PropertiesConfiguration; 
     
    5455        protected Properties userProperties = new Properties(); 
    5556 
    56         protected Configuration configuration; 
     57        protected HierarchicalConfiguration configuration; 
    5758 
    5859        private ResourceLocator locator = ResourceLocators.getDefaultInstance(); 
     
    8788        } 
    8889 
    89         protected Configuration loadUserConfiguration() 
     90        protected AbstractConfiguration loadUserConfiguration() 
    9091                        throws ConfigurationException { 
    9192                if (userURI == null) { 
     
    105106        } 
    106107 
    107         public Configuration getRootConfiguration() { 
     108        public HierarchicalConfiguration getRootConfiguration() { 
    108109                return configuration; 
    109110        } 
    110111   
    111   private static final Configuration EMPTY_CONFIGURATION = new PropertiesConfiguration(); 
     112  private static final AbstractConfiguration EMPTY_CONFIGURATION = new PropertiesConfiguration(); 
    112113 
    113         protected Configuration loadDefaultConfiguration(String name) 
     114        protected AbstractConfiguration loadDefaultConfiguration(String name) 
    114115                        throws ConfigurationException { 
    115116                URL url = getClass().getResource("resources/config-" + name + ".xml"); 
     
    120121                LogFactory.getLog(getClass()).debug( 
    121122                                "load the default configuration from " + url); 
    122                 ConfigurationFactory factory = new ConfigurationFactory(); 
    123                 factory.setConfigurationURL(url); 
    124                 Configuration configuration = factory.getConfiguration(); 
     123    DefaultConfigurationBuilder factory = new DefaultConfigurationBuilder(url); 
     124    AbstractConfiguration configuration = factory.getConfiguration(true); 
    125125                if (configuration.isEmpty()) { 
    126126                        throw new ConfigurationException( 
     
    142142        } 
    143143 
    144         protected Configuration loadConfiguration() throws ConfigurationException { 
    145                CompositeConfiguration configuration = new CompositeConfiguration(); 
     144        protected HierarchicalConfiguration loadConfiguration() throws ConfigurationException { 
     145    CombinedConfiguration configuration = new CombinedConfiguration(); 
    146146                if (!userProperties.isEmpty()) { 
    147147                        LogFactory.getLog(getClass()).trace("use user properties: " + userProperties); 
     
    156156        } 
    157157 
    158         protected void completeConfiguration(CompositeConfiguration configuration) 
     158        protected void completeConfiguration(CombinedConfiguration configuration) 
    159159                        throws ConfigurationException { 
    160160                configuration.addConfiguration(loadDefaultConfiguration(defaultsName)); 
  • trunk/source/org/kolaka/freecast/manager/gui/Main.java

    r891 r893  
    2828import java.net.URL; 
    2929 
    30 import org.apache.commons.configuration.Configuration; 
    3130import org.apache.commons.configuration.DataConfiguration; 
     31import org.apache.commons.configuration.HierarchicalConfiguration; 
    3232import org.apache.commons.logging.LogFactory; 
    3333import org.kolaka.freecast.NodeConfigurator; 
     
    6565        } 
    6666 
    67         protected void postInit(Configuration configuration) throws Exception { 
     67        protected void postInit(HierarchicalConfiguration configuration) throws Exception { 
    6868                super.postInit(configuration); 
    6969 
    7070                try { 
    7171      HttpTracker tracker = new HttpTracker(); 
    72       new HttpTrackerConfigurator().configure(tracker, configuration 
     72      new HttpTrackerConfigurator().configure(tracker, (HierarchicalConfiguration) configuration 
    7373                .subset("tracker")); 
    7474      this.tracker = tracker; 
  • trunk/source/org/kolaka/freecast/node/cli/Main.java

    r405 r893  
    2424package org.kolaka.freecast.node.cli; 
    2525 
    26 import org.apache.commons.configuration.Configuration; 
     26import org.apache.commons.configuration.HierarchicalConfiguration; 
    2727import org.apache.commons.logging.LogFactory; 
    2828import org.kolaka.freecast.Application; 
     
    4848        } 
    4949 
    50         protected void postInit(Configuration configuration) throws Exception { 
     50        protected void postInit(HierarchicalConfiguration configuration) throws Exception { 
    5151                ConfigurableNode node = new DefaultNode(); 
    5252                NodeConfigurator nodeConfigurator = new NodeConfigurator(); 
  • trunk/source/org/kolaka/freecast/node/swing/Main.java

    r692 r893  
    2626import javax.swing.JOptionPane; 
    2727 
    28 import org.apache.commons.configuration.Configuration; 
     28import org.apache.commons.configuration.HierarchicalConfiguration; 
    2929import org.apache.commons.lang.ArrayUtils; 
    3030import org.apache.commons.lang.StringUtils; 
     
    7070  } 
    7171 
    72   protected void postInit(Configuration configuration) throws Exception { 
     72  protected void postInit(HierarchicalConfiguration configuration) throws Exception { 
    7373    super.postInit(configuration); 
    7474 
  • trunk/source/org/kolaka/freecast/ogg/test/EncoderOggSourceTest.java

    r405 r893  
    3232import javax.sound.sampled.AudioSystem; 
    3333 
    34 import junit.framework.TestCase; 
    35  
    3634import org.kolaka.freecast.ogg.EncoderOggSource; 
    3735import org.kolaka.freecast.ogg.OggPage; 
    3836import org.kolaka.freecast.ogg.OggSource; 
     37import org.kolaka.freecast.test.BaseTestCase; 
    3938 
    40 public class EncoderOggSourceTest extends TestCase { 
     39public class EncoderOggSourceTest extends BaseTestCase { 
    4140 
    4241        public void testEncoding() throws Exception { 
  • trunk/source/org/kolaka/freecast/ogg/tools/TestEncoder.java

    r884 r893  
    3333import javax.sound.sampled.AudioInputStream; 
    3434 
    35 import org.apache.commons.configuration.Configuration; 
     35import org.apache.commons.configuration.HierarchicalConfiguration; 
    3636import org.apache.commons.io.IOUtils; 
    3737import org.apache.commons.io.output.NullOutputStream; 
     
    5858  private boolean encode; 
    5959 
    60   protected void postInit(Configuration configuration) throws Exception { 
     60  protected void postInit(HierarchicalConfiguration configuration) throws Exception { 
    6161      url = new URL( configuration.getString("playlist") ); 
    6262      encode = configuration.getBoolean("encode", true); 
  • trunk/source/org/kolaka/freecast/setup/Main.java

    r883 r893  
    2424package org.kolaka.freecast.setup; 
    2525 
    26 import org.apache.commons.configuration.Configuration; 
     26import org.apache.commons.configuration.HierarchicalConfiguration; 
    2727import org.kolaka.freecast.swing.ConfigurableResources; 
    2828import org.kolaka.freecast.swing.Resources; 
     
    3939  } 
    4040 
    41   protected void postInit(Configuration configuration) throws Exception { 
     41  protected void postInit(HierarchicalConfiguration configuration) throws Exception { 
    4242    super.postInit(configuration); 
    4343    Resources resources = new ConfigurableResources(configuration 
  • trunk/source/org/kolaka/freecast/swing/SwingApplication.java

    r405 r893  
    3535import javax.swing.plaf.FontUIResource; 
    3636 
    37 import org.apache.commons.configuration.Configuration; 
     37import org.apache.commons.configuration.HierarchicalConfiguration; 
    3838import org.apache.commons.lang.StringUtils; 
    3939import org.apache.commons.logging.LogFactory; 
     
    7171        } 
    7272 
    73         protected void postInit(Configuration configuration) throws Exception { 
     73        protected void postInit(HierarchicalConfiguration configuration) throws Exception { 
    7474                initDefaultFont(); 
    7575        } 
  • trunk/source/org/kolaka/freecast/tracker/Main.java

    r891 r893  
    2424package org.kolaka.freecast.tracker; 
    2525 
    26 import org.apache.commons.configuration.Configuration; 
     26import org.apache.commons.configuration.HierarchicalConfiguration; 
    2727import org.kolaka.freecast.Application; 
    2828import org.kolaka.freecast.tracker.http.HttpTracker; 
     
    4444        } 
    4545 
    46         protected void postInit(Configuration configuration) throws Exception { 
     46        protected void postInit(HierarchicalConfiguration configuration) throws Exception { 
    4747                HttpTracker tracker = new HttpTracker(); 
    48                 new HttpTrackerConfigurator().configure(tracker, configuration 
     48                new HttpTrackerConfigurator().configure(tracker, (HierarchicalConfiguration) configuration 
    4949                                .subset("tracker")); 
    5050    this.tracker = tracker; 
  • trunk/source/org/kolaka/freecast/tracker/http/HttpTracker.java

    r891 r893  
    6565  private TrackerStatisticsConsumerManager consumerManager = new TrackerStatisticsConsumerManager(); 
    6666   
    67   public void add(TrackerStatisticsConsumer consumer) { 
    68     consumerManager.add(consumer)
     67  public TrackerStatisticsConsumerManager getConsumerManager() { 
     68    return consumerManager
    6969  } 
    7070 
  • trunk/source/org/kolaka/freecast/tracker/http/HttpTrackerConfigurator.java

    r891 r893  
    2525 
    2626import java.net.InetSocketAddress; 
     27import java.util.Iterator; 
     28import java.util.List; 
    2729 
    2830import org.apache.commons.configuration.Configuration; 
    2931import org.apache.commons.configuration.ConfigurationException; 
     32import org.apache.commons.configuration.HierarchicalConfiguration; 
    3033import org.apache.commons.logging.LogFactory; 
    3134import org.kolaka.freecast.tracker.NoConfiguredTrackerException; 
     
    4144public class HttpTrackerConfigurator { 
    4245 
    43         public void configure(HttpTracker tracker, Configuration configuration) throws NoConfiguredTrackerException, ConfigurationException { 
     46        public void configure(HttpTracker tracker, HierarchicalConfiguration configuration) throws NoConfiguredTrackerException, ConfigurationException { 
    4447    /* 
    4548     * for the moment, the tracker.class changes the Connector implementation  
     
    7174                        tracker.setConnectionAssistantServer(server); 
    7275                } 
    73      
    74     Configuration consumerConfiguration = configuration.subset("statistics.consumer"); 
    75     TrackerStatisticsConsumer consumer = new TrackerStatisticsConsumerLoader().load(consumerConfiguration); 
    76     LogFactory.getLog(getClass()).debug("add consumer : " + consumer); 
    77     tracker.add(consumer); 
     76 
     77    List consumerConfigurations = configuration.configurationsAt("statistics.consumer"); 
     78    for (Iterator it = consumerConfigurations.iterator(); it.hasNext();) { 
     79      Configuration consumerConfiguration = (Configuration) it.next(); 
     80      TrackerStatisticsConsumer consumer = new TrackerStatisticsConsumerLoader().load(consumerConfiguration); 
     81      LogFactory.getLog(getClass()).debug("add consumer : " + consumer); 
     82      tracker.getConsumerManager().add(consumer); 
     83    } 
    7884        } 
    7985