You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/12/01 13:00:28 UTC

svn commit: r600096 - in /mina/trunk: example/src/main/java/org/apache/mina/example/tapedeck/ statemachine/src/main/java/org/apache/mina/statemachine/ statemachine/src/test/java/org/apache/mina/statemachine/

Author: trustin
Date: Sat Dec  1 04:00:27 2007
New Revision: 600096

URL: http://svn.apache.org/viewvc?rev=600096&view=rev
Log:
Applied Java 5 Generics to StateMachineProxyFactory as Cameron Taggart suggested


Modified:
    mina/trunk/example/src/main/java/org/apache/mina/example/tapedeck/Main.java
    mina/trunk/statemachine/src/main/java/org/apache/mina/statemachine/StateMachineProxyFactory.java
    mina/trunk/statemachine/src/test/java/org/apache/mina/statemachine/StateMachineProxyFactoryTest.java

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/tapedeck/Main.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/tapedeck/Main.java?rev=600096&r1=600095&r2=600096&view=diff
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/tapedeck/Main.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/tapedeck/Main.java Sat Dec  1 04:00:27 2007
@@ -49,7 +49,7 @@
         StateMachine sm = StateMachineFactory.getInstance(IoHandlerTransition.class)
                                 .create(TapeDeckServer.EMPTY, new TapeDeckServer());
         
-        return (IoHandler) StateMachineProxyFactory.create(IoHandler.class, sm, 
+        return StateMachineProxyFactory.create(IoHandler.class, sm, 
                 new IoSessionStateContextLookup(new StateContextFactory() {
                     public StateContext create() {
                         return new TapeDeckServer.TapeDeckContext();

Modified: mina/trunk/statemachine/src/main/java/org/apache/mina/statemachine/StateMachineProxyFactory.java
URL: http://svn.apache.org/viewvc/mina/trunk/statemachine/src/main/java/org/apache/mina/statemachine/StateMachineProxyFactory.java?rev=600096&r1=600095&r2=600096&view=diff
==============================================================================
--- mina/trunk/statemachine/src/main/java/org/apache/mina/statemachine/StateMachineProxyFactory.java (original)
+++ mina/trunk/statemachine/src/main/java/org/apache/mina/statemachine/StateMachineProxyFactory.java Sat Dec  1 04:00:27 2007
@@ -48,22 +48,26 @@
     private StateMachineProxyFactory() {
     }
 
-    public static Object create(Class<?> iface, StateMachine sm) {
-        return create(new Class[] { iface }, sm);
+    @SuppressWarnings("unchecked")
+    public static <T> T create(Class<T> iface, StateMachine sm) {
+        return (T) create(new Class[] { iface }, sm);
     }
     
-    public static Object create(Class<?> iface, StateMachine sm, StateContextLookup contextLookup) {
-        return create(new Class[] { iface }, sm, contextLookup);
+    @SuppressWarnings("unchecked")
+    public static <T> T create(Class<T> iface, StateMachine sm, StateContextLookup contextLookup) {
+        return (T) create(new Class[] { iface }, sm, contextLookup);
     }
     
-    public static Object create(Class<?> iface, StateMachine sm, StateContextLookup contextLookup,
+    @SuppressWarnings("unchecked")
+    public static <T> T create(Class<T> iface, StateMachine sm, StateContextLookup contextLookup,
             EventArgumentsInterceptor interceptor) {
-        return create(new Class[] { iface }, sm, contextLookup, interceptor, new DefaultEventFactory());
+        return (T) create(new Class[] { iface }, sm, contextLookup, interceptor, new DefaultEventFactory());
     }
 
-    public static Object create(Class<?> iface, StateMachine sm, StateContextLookup contextLookup,
+    @SuppressWarnings("unchecked")
+    public static <T> T create(Class<T> iface, StateMachine sm, StateContextLookup contextLookup,
             EventArgumentsInterceptor interceptor, EventFactory eventFactory) {
-        return create(new Class[] { iface }, sm, contextLookup, interceptor, eventFactory);
+        return (T) create(new Class[] { iface }, sm, contextLookup, interceptor, eventFactory);
     }
     
     public static Object create(Class<?>[] ifaces, StateMachine sm) {
@@ -71,7 +75,6 @@
     }
     
     public static Object create(Class<?>[] ifaces, StateMachine sm, StateContextLookup contextLookup) {
-
         return create(ifaces, sm, contextLookup, null, new DefaultEventFactory());
     }
     

Modified: mina/trunk/statemachine/src/test/java/org/apache/mina/statemachine/StateMachineProxyFactoryTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/statemachine/src/test/java/org/apache/mina/statemachine/StateMachineProxyFactoryTest.java?rev=600096&r1=600095&r2=600096&view=diff
==============================================================================
--- mina/trunk/statemachine/src/test/java/org/apache/mina/statemachine/StateMachineProxyFactoryTest.java (original)
+++ mina/trunk/statemachine/src/test/java/org/apache/mina/statemachine/StateMachineProxyFactoryTest.java Sat Dec  1 04:00:27 2007
@@ -23,10 +23,6 @@
 
 import junit.framework.TestCase;
 
-import org.apache.mina.statemachine.State;
-import org.apache.mina.statemachine.StateMachine;
-import org.apache.mina.statemachine.StateMachineFactory;
-import org.apache.mina.statemachine.StateMachineProxyFactory;
 import org.apache.mina.statemachine.annotation.Transition;
 import org.apache.mina.statemachine.annotation.Transitions;
 import org.apache.mina.statemachine.event.Event;
@@ -52,7 +48,7 @@
         s3.addTransition(new MethodTransition("call3", handler));
 
         StateMachine sm = new StateMachine(new State[] { s1, s2, s3 }, "s1");
-        Reentrant reentrant = (Reentrant) StateMachineProxyFactory.create(Reentrant.class, sm);
+        Reentrant reentrant = StateMachineProxyFactory.create(Reentrant.class, sm);
         reentrant.call1(reentrant);
         assertTrue(handler.finished);
     }
@@ -76,7 +72,7 @@
         s5.addTransition(new MethodTransition("pause", s3, "playing", handler));
 
         StateMachine sm = new StateMachine(new State[] { s1, s2, s3, s4, s5 }, "s1");
-        TapeDeck player = (TapeDeck) StateMachineProxyFactory.create(TapeDeck.class, sm);
+        TapeDeck player = StateMachineProxyFactory.create(TapeDeck.class, sm);
         player.insert("Kings of convenience - Riot on an empty street");
         player.start();
         player.pause();
@@ -101,7 +97,7 @@
 
         StateMachine sm = StateMachineFactory.getInstance(Transition.class).create(TapeDeckStateMachineHandler.S1, handler);
 
-        TapeDeck player = (TapeDeck) StateMachineProxyFactory.create(TapeDeck.class, sm);
+        TapeDeck player = StateMachineProxyFactory.create(TapeDeck.class, sm);
         player.insert("Kings of convenience - Riot on an empty street");
         player.start();
         player.pause();