Author: nicolas
Date: Tue Jan  6 08:35:51 2009
New Revision: 731993

URL: http://svn.apache.org/viewvc?rev=731993&view=rev
Log:
remove generics on Metric / Role as they don't make things simplier.

Modified:
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Monitor.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverMetric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/CreateMetricsOnDemandMonitor.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/DefaultMonitor.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/NullMonitor.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObservableMonitor.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObserverMonitor.java

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
 Tue Jan  6 08:35:51 2009
@@ -24,7 +24,7 @@
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
 public interface Counter
-    extends Metric<Counter>
+    extends Metric
 {
 
     /**
@@ -35,7 +35,7 @@
     void add( double delta, Unit unit );
 
     public interface Observable
-        extends Metric.Observable<Counter>, Counter
+        extends Metric.Observable, Counter
     {
 
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java
 Tue Jan  6 08:35:51 2009
@@ -23,7 +23,7 @@
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
 public interface Gauge
-    extends Metric<Gauge>
+    extends Metric
 {
     /**
      * @return the current Gauge value
@@ -37,7 +37,7 @@
     void decrement( Unit unit );
 
     public interface Observable
-        extends Metric.Observable<Gauge>, Gauge
+        extends Metric.Observable, Gauge
     {
 
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
 Tue Jan  6 08:35:51 2009
@@ -26,7 +26,7 @@
  *
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
-public interface Metric<M extends Metric<?>>
+public interface Metric
 {
     public enum Type
     {
@@ -56,7 +56,7 @@
     /**
      * @return the role for this Metric in the monitor
      */
-    Role<M> getRole();
+    Role getRole();
 
     /**
      * @return the data unit
@@ -66,7 +66,7 @@
     /**
      * Listener for Metric events
      */
-    public static interface Listener<M extends Metric<?>>
+    public static interface Listener
         extends EventListener
     {
         /**
@@ -78,23 +78,24 @@
          * @param metric
          * @param value
          */
-        void onValueChanged( Observable<M> metric, double value );
+        void onValueChanged( Observable metric, double value );
     }
 
     /**
      * A metric that support the Observer pattern.
      */
-    public interface Observable<M extends Metric<?>> extends Metric<M>
+    public interface Observable
+        extends Metric
     {
         /**
          * @param listener listener to get registered
          */
-        void addListener( Listener<M> listener );
+        void addListener( Listener listener );
 
         /**
          * @param listener listener to get removed
          */
-        void removeListener( Listener<M> listener );
+        void removeListener( Listener listener );
     }
 
     // --- Statistical indicators --------------------------------------------

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Monitor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Monitor.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Monitor.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Monitor.java
 Tue Jan  6 08:35:51 2009
@@ -50,16 +50,16 @@
     // --- Predefined roles 
-------------------------------------------------------------------
 
     /** Predefined role key for code performances */
-    Role<Counter> PERFORMANCES = new Role<Counter>( "performances", 
Unit.MILLIS, Counter.class );
+    Role PERFORMANCES = new Role( "performances", Unit.MILLIS, 
Metric.Type.COUNTER );
 
     /** Predefined role key for cpu time */
-    Role<Counter> CPU = new Role<Counter>( "cpu", Unit.MILLIS, Counter.class );
+    Role CPU = new Role( "cpu", Unit.MILLIS, Metric.Type.COUNTER );
 
     /** Predefined role for multi-thread concurrency */
-    Role<Gauge> CONCURRENCY = new Role<Gauge>( "concurrency", Unit.UNARY, 
Gauge.class );
+    Role CONCURRENCY = new Role( "concurrency", Unit.UNARY, Metric.Type.GAUGE 
);
 
     /** Predefined Role for the invocation failure counter */
-    Role<Counter> FAILURES = new Role<Counter>( "failures", Unit.UNARY, 
Counter.class );
+    Role FAILURES = new Role( "failures", Unit.UNARY, Metric.Type.COUNTER );
 
 
     /**
@@ -82,7 +82,7 @@
      * @param role the Counter role in the monitor
      * @return the Counter
      */
-    Counter getCounter( Role<Counter> role );
+    Counter getCounter( Role role );
 
     /**
      * Retrieve a Gauge in the monitor
@@ -98,7 +98,7 @@
      * @param role the gauge role in the monitor
      * @return the Gauge
      */
-    Gauge getGauge( Role<Gauge> role );
+    Gauge getGauge( Role role );
 
     /**
      * Retrieve a Metric.
@@ -106,7 +106,7 @@
      * @param role a unique identifier for a Metric in the monitor
      * @return the Metric
      */
-    Metric<?> getMetric( String role );
+    Metric getMetric( String role );
 
     /**
      * Retrieve a Metric in the monitor
@@ -114,18 +114,17 @@
      * @param role the Metric role in the monitor
      * @return the Metric
      */
-    <M extends Metric<?>> M getMetric( Role<M> role );
+    Metric getMetric( Role role );
 
     /**
      * @return an unmodifiable collection of registered Metrics roles
      */
-    @SuppressWarnings("unchecked")
     Collection<Role> getRoles();
 
     /**
      * @return an unmodifiable collection of registered Metrics
      */
-    Collection<Metric<?>> getMetrics();
+    Collection<Metric> getMetrics();
 
     /**
      * Reset all Metrics (don't remove them)
@@ -271,7 +270,7 @@
     public interface Listener
     extends EventListener
     {
-        void onMetricRegistered( Monitor.Observable monitor, Metric<?> metric 
);
+        void onMetricRegistered( Monitor.Observable monitor, Metric metric );
     }
 
     /**

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java
 Tue Jan  6 08:35:51 2009
@@ -30,20 +30,21 @@
  * @param <M> The metric this role relates to
  */
 @SuppressWarnings("unchecked")
-public class Role<M extends Metric>
+public class Role
     implements Comparable<Role>
 {
     private String name;
 
     private Unit unit;
 
-    private Class<M> type;
+    private Metric.Type type;
 
     private static final Map<String, Role> ROLES = new 
ConcurrentHashMap<String, Role>();
 
     public static Role getRole( String name )
     {
         return ROLES.get( name );
+
     }
 
     public static Collection<Role> getRoles()
@@ -51,7 +52,7 @@
         return Collections.unmodifiableCollection( ROLES.values() );
     }
 
-    public Role( String name, Unit unit, Class<M> type )
+    public Role( String name, Unit unit, Metric.Type type )
     {
         super();
         if ( name == null )
@@ -66,10 +67,6 @@
         {
             throw new IllegalArgumentException( "A type is required" );
         }
-        if ( !Metric.class.isAssignableFrom( type ) )
-        {
-            throw new IllegalArgumentException( "The type must extend Metric" 
);
-        }
         this.name = name;
         this.unit = unit;
         this.type = type;
@@ -149,7 +146,7 @@
         return name;
     }
 
-    public Class<M> getType()
+    public Metric.Type getType()
     {
         return type;
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
 Tue Jan  6 08:35:51 2009
@@ -31,20 +31,24 @@
  *
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
-public abstract class AbstractMetric<M extends Metric<?>>
-    implements Metric<M>
+public abstract class AbstractMetric
+    implements Metric
 {
     private Monitor monitor;
 
     private SummaryStatistics statistics;
 
-    private Role<M> role;
+    private Role role;
 
     private Unit unit;
 
-    public AbstractMetric( Role<M> role )
+    public AbstractMetric( Role role )
     {
         super();
+        if ( role.getType() != this.getType() )
+        {
+            throw new IllegalArgumentException( "Invalid Role type for " + 
getClass().getName() );
+        }
         this.role = role;
         this.unit = role.getUnit();
         this.statistics = new SummaryStatistics();
@@ -70,7 +74,7 @@
         return monitor;
     }
 
-    public Role<M> getRole()
+    public Role getRole()
     {
         return role;
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
 Tue Jan  6 08:35:51 2009
@@ -6,10 +6,10 @@
 import org.apache.commons.monitoring.Unit;
 
 public class NoOpCounter
-    extends AbstractMetric<Counter>
+    extends AbstractMetric
     implements Counter
 {
-    public NoOpCounter( Role<Counter> role )
+    public NoOpCounter( Role role )
     {
         super( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
 Tue Jan  6 08:35:51 2009
@@ -6,10 +6,10 @@
 import org.apache.commons.monitoring.Unit;
 
 public class NoOpGauge
-    extends AbstractMetric<Gauge>
+    extends AbstractMetric
     implements Gauge
 {
-    public NoOpGauge( Role<Gauge> role )
+    public NoOpGauge( Role role )
     {
         super( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java
 Tue Jan  6 08:35:51 2009
@@ -14,28 +14,28 @@
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
 @SuppressWarnings("unchecked")
-public abstract class ObservableMetric<M extends Metric>
-    extends AbstractMetric<M>
-    implements Metric.Observable<M>
+public abstract class ObservableMetric
+    extends AbstractMetric
+    implements Metric.Observable
 {
 
-    private List<Listener<M>> listeners;
+    private List<Listener> listeners;
 
     /**
      * Constructor
      */
-    public ObservableMetric( Role<M> role )
+    public ObservableMetric( Role role )
     {
         super( role );
-        this.listeners = new CopyOnWriteArrayList<Listener<M>>();
+        this.listeners = new CopyOnWriteArrayList<Listener>();
     }
 
-    public void addListener( Listener<M> listener )
+    public void addListener( Listener listener )
     {
         listeners.add( listener );
     }
 
-    public void removeListener( Listener<M> listener )
+    public void removeListener( Listener listener )
     {
         listeners.remove( listener );
     }
@@ -43,7 +43,7 @@
     protected void fireValueChanged( double d )
     {
         // Notify listeners
-        for ( Listener<M> listener : listeners )
+        for ( Listener listener : listeners )
         {
             listener.onValueChanged( this, d );
         }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
 Tue Jan  6 08:35:51 2009
@@ -11,7 +11,7 @@
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
 public class ObserverCounter
-extends ObserverMetric<Counter>
+    extends ObserverMetric
 implements Counter
 {
     private Counter.Observable observable;
@@ -33,12 +33,12 @@
     }
 
     @Override
-    protected Metric.Observable<Counter> getObservable()
+    protected Metric.Observable getObservable()
     {
         return observable;
     }
 
-    public void onValueChanged( Metric.Observable<Counter> metric, double 
value )
+    public void onValueChanged( Metric.Observable metric, double value )
     {
         delegate.threadSafeAdd( value );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
 Tue Jan  6 08:35:51 2009
@@ -11,7 +11,7 @@
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
 public class ObserverGauge
-    extends ObserverMetric<Gauge>
+    extends ObserverMetric
     implements Gauge
 {
     private Gauge.Observable observable;
@@ -34,12 +34,12 @@
     }
 
     @Override
-    protected Metric.Observable<Gauge> getObservable()
+    protected Metric.Observable getObservable()
     {
         return observable;
     }
 
-    public void onValueChanged( Metric.Observable<Gauge> metric, double value )
+    public void onValueChanged( Metric.Observable metric, double value )
     {
         delegate.threadSafeSet( value );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverMetric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverMetric.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverMetric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverMetric.java
 Tue Jan  6 08:35:51 2009
@@ -4,11 +4,11 @@
 import org.apache.commons.monitoring.Metric;
 import org.apache.commons.monitoring.Role;
 
-public abstract class ObserverMetric<M extends Metric<?>>
-    extends AbstractMetric<M>
-    implements Detachable, Metric.Listener<M>
+public abstract class ObserverMetric
+    extends AbstractMetric
+    implements Detachable, Metric.Listener
 {
-    protected abstract Metric.Observable<M> getObservable();
+    protected abstract Metric.Observable getObservable();
 
     private boolean detached;
 
@@ -16,7 +16,7 @@
 
     private long detachedAt;
 
-    public ObserverMetric( Role<M> role )
+    public ObserverMetric( Role role )
     {
         super( role );
         attachedAt = System.currentTimeMillis();

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java
 Tue Jan  6 08:35:51 2009
@@ -21,7 +21,6 @@
 
 import org.apache.commons.monitoring.Counter;
 import org.apache.commons.monitoring.Role;
-import org.apache.commons.monitoring.metrics.CounterBench;
 
 /**
  * Thread-safe implementation of <code>Counter</code>.
@@ -42,7 +41,7 @@
 
     ReentrantLock lock = new ReentrantLock();
 
-    public RentrantLockCounter( Role<Counter> role )
+    public RentrantLockCounter( Role role )
     {
         super( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java
 Tue Jan  6 08:35:51 2009
@@ -32,7 +32,7 @@
 {
     private ReentrantLock lock = new ReentrantLock();
 
-    public RentrantLockGauge( Role<Gauge> role )
+    public RentrantLockGauge( Role role )
     {
         super( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java
 Tue Jan  6 08:35:51 2009
@@ -39,7 +39,7 @@
 
     ReentrantLock lock = new ReentrantLock();
 
-    public SynchronizedCounter( Role<Counter> role )
+    public SynchronizedCounter( Role role )
     {
         super( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java
 Tue Jan  6 08:35:51 2009
@@ -33,7 +33,7 @@
     extends ThreadSafeGauge
     implements Gauge
 {
-    public SynchronizedGauge( Role<Gauge> role )
+    public SynchronizedGauge( Role role )
     {
         super( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
 Tue Jan  6 08:35:51 2009
@@ -5,10 +5,10 @@
 import org.apache.commons.monitoring.Unit;
 
 public abstract class ThreadSafeCounter
-    extends ObservableMetric<Counter>
+    extends ObservableMetric
     implements Counter, Counter.Observable
 {
-    public ThreadSafeCounter( Role<Counter> role )
+    public ThreadSafeCounter( Role role )
     {
         super( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
 Tue Jan  6 08:35:51 2009
@@ -14,7 +14,7 @@
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
 public abstract class ThreadSafeGauge
-    extends ObservableMetric<Gauge>
+    extends ObservableMetric
     implements Gauge, Gauge.Observable
 {
     protected double value;
@@ -27,7 +27,7 @@
 
     protected Max max = new Max();
 
-    public ThreadSafeGauge( Role<Gauge> role )
+    public ThreadSafeGauge( Role role )
     {
         super( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java
 Tue Jan  6 08:35:51 2009
@@ -37,7 +37,7 @@
 {
 
     @SuppressWarnings("unchecked")
-    private final ConcurrentMap<Role, Metric<?>> metrics;
+    private final ConcurrentMap<Role, Metric> metrics;
     private final Key key;
 
     public AbstractMonitor( Key key )
@@ -54,9 +54,9 @@
      * @return the ConcurrentMap implementation to use for storing metrics
      */
     @SuppressWarnings("unchecked")
-    protected ConcurrentHashMap<Role, Metric<?>> createConcurrentMap()
+    protected ConcurrentHashMap<Role, Metric> createConcurrentMap()
     {
-        return new ConcurrentHashMap<Role, Metric<?>>();
+        return new ConcurrentHashMap<Role, Metric>();
     }
 
     /**
@@ -70,15 +70,14 @@
     /**
      * {...@inheritdoc}
      */
-    public final Metric<?> getMetric( String role )
+    public final Metric getMetric( String role )
     {
         return metrics.get( role );
     }
 
-    @SuppressWarnings("unchecked")
-    public <T extends Metric<?>> T getMetric( Role<T> role )
+    public final Metric getMetric( Role role )
     {
-        return (T) metrics.get( role );
+        return metrics.get( role );
     }
 
     @SuppressWarnings("unchecked")
@@ -87,7 +86,7 @@
         return Collections.unmodifiableCollection( metrics.keySet() );
     }
 
-    public Collection<Metric<?>> getMetrics()
+    public Collection<Metric> getMetrics()
     {
         return Collections.unmodifiableCollection( metrics.values() );
     }
@@ -99,11 +98,10 @@
      * @return a previously registered Metric if existed, or <code>null</code> 
if the metric has been successfully
      * registered
      */
-    @SuppressWarnings("unchecked")
-    protected <M extends Metric<?>> M register( M metric )
+    protected Metric register( Metric metric )
     {
         metric.setMonitor( this );
-        return (M) metrics.putIfAbsent( metric.getRole(), metric );
+        return metrics.putIfAbsent( metric.getRole(), metric );
     }
 
     /**
@@ -111,7 +109,7 @@
      */
     public void reset()
     {
-        for ( Metric<?> metric : metrics.values() )
+        for ( Metric metric : metrics.values() )
         {
             metric.reset();
         }
@@ -120,21 +118,21 @@
     @SuppressWarnings("unchecked")
     public Counter getCounter( String role )
     {
-        return getCounter( (Role<Counter>) Role.getRole( role ) );
+        return getCounter( Role.getRole( role ) );
     }
 
     @SuppressWarnings("unchecked")
     public Gauge getGauge( String role )
     {
-        return getGauge( (Role<Gauge>) Role.getRole( role ) );
+        return getGauge( Role.getRole( role ) );
     }
 
-    public Counter getCounter( Role<Counter> role )
+    public Counter getCounter( Role role )
     {
         return (Counter) getMetric( role );
     }
 
-    public Gauge getGauge( Role<Gauge> role )
+    public Gauge getGauge( Role role )
     {
         return (Gauge) getMetric( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/CreateMetricsOnDemandMonitor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/CreateMetricsOnDemandMonitor.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/CreateMetricsOnDemandMonitor.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/CreateMetricsOnDemandMonitor.java
 Tue Jan  6 08:35:51 2009
@@ -37,27 +37,27 @@
         super( key );
     }
 
-    public Counter getCounter( Role<Counter> role )
+    public Counter getCounter( Role role )
     {
-        Counter counter = getMetric( role );
+        Counter counter = (Counter) getMetric( role );
         if ( counter != null )
         {
             return counter;
         }
         counter = newCounterInstance( role );
-        Counter previous = register( counter );
+        Counter previous = (Counter) register( counter );
         return previous != null ? previous : counter;
     }
 
-    public Gauge getGauge( Role<Gauge> role )
+    public Gauge getGauge( Role role )
     {
-        Gauge gauge = getMetric( role );
+        Gauge gauge = (Gauge) getMetric( role );
         if ( gauge != null )
         {
             return gauge;
         }
         gauge = newGaugeInstance( role );
-        Gauge previous = register( gauge );
+        Gauge previous = (Gauge) register( gauge );
         return previous != null ? previous : gauge;
     }
 
@@ -68,7 +68,7 @@
      * executed to create more than one instance for the same role, so DON'T
      * assume unicity here.
      */
-    protected abstract Counter newCounterInstance( Role<Counter> role );
+    protected abstract Counter newCounterInstance( Role role );
 
     /**
      * Create a new Gauge instance
@@ -77,5 +77,5 @@
      * executed to create more than one instance for the same role, so DON'T
      * assume unicity here.
      */
-    protected abstract Gauge newGaugeInstance( Role<Gauge> role );
+    protected abstract Gauge newGaugeInstance( Role role );
 }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/DefaultMonitor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/DefaultMonitor.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/DefaultMonitor.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/DefaultMonitor.java
 Tue Jan  6 08:35:51 2009
@@ -39,13 +39,13 @@
     }
 
     @Override
-    protected Counter newCounterInstance( Role<Counter> role )
+    protected Counter newCounterInstance( Role role )
     {
         return new RentrantLockCounter( role );
     }
 
     @Override
-    protected Gauge newGaugeInstance( Role<Gauge> role )
+    protected Gauge newGaugeInstance( Role role )
     {
         return new RentrantLockGauge( role );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/NullMonitor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/NullMonitor.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/NullMonitor.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/NullMonitor.java
 Tue Jan  6 08:35:51 2009
@@ -23,20 +23,20 @@
 public class NullMonitor
     implements Monitor
 {
-    private static Role NOOP = new Role( "NoOp", Unit.UNARY, Metric.class );
+    private static Role NOOP = new Role( "NoOp", Unit.UNARY, 
Metric.Type.COUNTER );
 
     private static NoOpCounter counter = new NoOpCounter( NOOP );
 
     private static NoOpGauge gauge = new NoOpGauge( NOOP );
 
-    private Collection<Metric<?>> metrics = Arrays.asList( new Metric<?>[] { 
counter, gauge } );
+    private Collection<Metric> metrics = Arrays.asList( new Metric[] { 
counter, gauge } );
 
     public Counter getCounter( String role )
     {
         return counter;
     }
 
-    public Counter getCounter( Role<Counter> role )
+    public Counter getCounter( Role role )
     {
         return counter;
     }
@@ -46,7 +46,7 @@
         return gauge;
     }
 
-    public Gauge getGauge( Role<Gauge> role )
+    public Gauge getGauge( Role role )
     {
         return gauge;
     }
@@ -61,12 +61,12 @@
         return counter;
     }
 
-    public <M extends Metric<?>> M getMetric( Role<M> role )
+    public Metric getMetric( Role role )
     {
-        return (M) counter;
+        return counter;
     }
 
-    public Collection<Metric<?>> getMetrics()
+    public Collection<Metric> getMetrics()
     {
         return metrics;
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObservableMonitor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObservableMonitor.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObservableMonitor.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObservableMonitor.java
 Tue Jan  6 08:35:51 2009
@@ -56,9 +56,9 @@
      * @return the registered metric, or a previously existing one for the role
      */
     @Override
-    protected <T extends Metric<?>> T register( T metric )
+    protected Metric register( Metric metric )
     {
-        T previous = (T) super.register( metric );
+        Metric previous = super.register( metric );
         if ( previous != null )
         {
             return previous;

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObserverMonitor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObserverMonitor.java?rev=731993&r1=731992&r2=731993&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObserverMonitor.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/ObserverMonitor.java
 Tue Jan  6 08:35:51 2009
@@ -30,7 +30,7 @@
         this.attachedAt = System.currentTimeMillis();
         this.detached = false;
         this.observable.addListener( this );
-        for ( Metric<?> metric : observable.getMetrics() )
+        for ( Metric metric : observable.getMetrics() )
         {
             onMetricRegistered( observable, metric );
         }
@@ -53,11 +53,11 @@
     public void detach()
     {
         detached = true;
-        for ( Metric<?> metric : observable.getMetrics() )
+        for ( Metric metric : observable.getMetrics() )
         {
-            if ( metric instanceof Metric.Observable<?> )
+            if ( metric instanceof Metric.Observable )
             {
-                Metric.Observable<?> observableMetric = (Metric.Observable<?>) 
metric;
+                Metric.Observable observableMetric = (Metric.Observable) 
metric;
                 Metric.Listener observer = (Metric.Listener) getMetric( 
metric.getRole() );
                 observableMetric.removeListener( observer );
             }


Reply via email to