You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2012/10/01 01:43:34 UTC
svn commit: r1392134 [16/16] - in /mina/branches/2.0:
mina-core/src/main/java/org/apache/mina/core/
mina-core/src/main/java/org/apache/mina/core/buffer/
mina-core/src/main/java/org/apache/mina/core/file/
mina-core/src/main/java/org/apache/mina/core/fil...
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/Event.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/Event.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/Event.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/Event.java Sun Sep 30 23:43:23 2012
@@ -31,11 +31,13 @@ import org.apache.mina.statemachine.cont
*/
public class Event {
public static final String WILDCARD_EVENT_ID = "*";
-
+
private final Object id;
+
private final StateContext context;
+
private final Object[] arguments;
-
+
/**
* Creates a new {@link Event} with the specified id and no arguments.
*
@@ -95,12 +97,9 @@ public class Event {
public Object[] getArguments() {
return arguments;
}
-
+
public String toString() {
- return new ToStringBuilder(this)
- .append("id", id)
- .append("context", context)
- .append("arguments", arguments)
- .toString();
+ return new ToStringBuilder(this).append("id", id).append("context", context).append("arguments", arguments)
+ .toString();
}
}
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/EventArgumentsInterceptor.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/EventArgumentsInterceptor.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/EventArgumentsInterceptor.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/EventArgumentsInterceptor.java Sun Sep 30 23:43:23 2012
@@ -38,5 +38,5 @@ public interface EventArgumentsIntercept
* modification is needed.
*/
Object[] modify(Object[] arguments);
-
+
}
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/EventFactory.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/EventFactory.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/EventFactory.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/EventFactory.java Sun Sep 30 23:43:23 2012
@@ -30,8 +30,7 @@ import org.apache.mina.statemachine.cont
*
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
-public interface EventFactory
-{
+public interface EventFactory {
/**
* Creates a new {@link Event} from the specified method and method
* arguments.
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/IoFilterEvents.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/IoFilterEvents.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/IoFilterEvents.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/IoFilterEvents.java Sun Sep 30 23:43:23 2012
@@ -29,24 +29,17 @@ import org.apache.mina.statemachine.anno
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public enum IoFilterEvents {
- ANY(Event.WILDCARD_EVENT_ID),
- SESSION_CREATED("sessionCreated"),
- SESSION_OPENED("sessionOpened"),
- SESSION_CLOSED("sessionClosed"),
- SESSION_IDLE("sessionIdle"),
- MESSAGE_RECEIVED("messageReceived"),
- MESSAGE_SENT("messageSent"),
- EXCEPTION_CAUGHT("exceptionCaught"),
- CLOSE("filterClose"),
- WRITE("filterWrite"),
- SET_TRAFFIC_MASK("filterSetTrafficMask");
+ ANY(Event.WILDCARD_EVENT_ID), SESSION_CREATED("sessionCreated"), SESSION_OPENED("sessionOpened"), SESSION_CLOSED(
+ "sessionClosed"), SESSION_IDLE("sessionIdle"), MESSAGE_RECEIVED("messageReceived"), MESSAGE_SENT(
+ "messageSent"), EXCEPTION_CAUGHT("exceptionCaught"), CLOSE("filterClose"), WRITE("filterWrite"), SET_TRAFFIC_MASK(
+ "filterSetTrafficMask");
private final String value;
-
+
private IoFilterEvents(String value) {
this.value = value;
}
-
+
@Override
public String toString() {
return value;
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/IoHandlerEvents.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/IoHandlerEvents.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/IoHandlerEvents.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/IoHandlerEvents.java Sun Sep 30 23:43:23 2012
@@ -29,21 +29,16 @@ import org.apache.mina.statemachine.anno
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public enum IoHandlerEvents {
- ANY(Event.WILDCARD_EVENT_ID),
- SESSION_CREATED("sessionCreated"),
- SESSION_OPENED("sessionOpened"),
- SESSION_CLOSED("sessionClosed"),
- SESSION_IDLE("sessionIdle"),
- MESSAGE_RECEIVED("messageReceived"),
- MESSAGE_SENT("messageSent"),
- EXCEPTION_CAUGHT("exceptionCaught");
+ ANY(Event.WILDCARD_EVENT_ID), SESSION_CREATED("sessionCreated"), SESSION_OPENED("sessionOpened"), SESSION_CLOSED(
+ "sessionClosed"), SESSION_IDLE("sessionIdle"), MESSAGE_RECEIVED("messageReceived"), MESSAGE_SENT(
+ "messageSent"), EXCEPTION_CAUGHT("exceptionCaught");
private final String value;
-
+
private IoHandlerEvents(String value) {
this.value = value;
}
-
+
@Override
public String toString() {
return value;
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/UnhandledEventException.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/UnhandledEventException.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/UnhandledEventException.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/event/UnhandledEventException.java Sun Sep 30 23:43:23 2012
@@ -26,7 +26,7 @@ package org.apache.mina.statemachine.eve
*/
public class UnhandledEventException extends RuntimeException {
private static final long serialVersionUID = -717373229954175430L;
-
+
private final Event event;
public UnhandledEventException(Event event) {
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/AbstractTransition.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/AbstractTransition.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/AbstractTransition.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/AbstractTransition.java Sun Sep 30 23:43:23 2012
@@ -93,10 +93,7 @@ public abstract class AbstractTransition
return true;
}
AbstractTransition that = (AbstractTransition) o;
- return new EqualsBuilder()
- .append(eventId, that.eventId)
- .append(nextState, that.nextState)
- .isEquals();
+ return new EqualsBuilder().append(eventId, that.eventId).append(nextState, that.nextState).isEquals();
}
public int hashCode() {
@@ -104,9 +101,6 @@ public abstract class AbstractTransition
}
public String toString() {
- return new ToStringBuilder(this)
- .append("eventId", eventId)
- .append("nextState", nextState)
- .toString();
+ return new ToStringBuilder(this).append("eventId", eventId).append("nextState", nextState).toString();
}
}
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/AmbiguousMethodException.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/AmbiguousMethodException.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/AmbiguousMethodException.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/AmbiguousMethodException.java Sun Sep 30 23:43:23 2012
@@ -37,5 +37,5 @@ public class AmbiguousMethodException ex
public AmbiguousMethodException(String methodName) {
super(methodName);
}
-
+
}
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/MethodTransition.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/MethodTransition.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/MethodTransition.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/MethodTransition.java Sun Sep 30 23:43:23 2012
@@ -58,10 +58,12 @@ import org.slf4j.LoggerFactory;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public class MethodTransition extends AbstractTransition {
- private static final Logger LOGGER = LoggerFactory.getLogger( MethodTransition.class );
+ private static final Logger LOGGER = LoggerFactory.getLogger(MethodTransition.class);
+
private static final Object[] EMPTY_ARGUMENTS = new Object[0];
-
+
private final Method method;
+
private final Object target;
/**
@@ -90,7 +92,7 @@ public class MethodTransition extends Ab
public MethodTransition(Object eventId, Method method, Object target) {
this(eventId, null, method, target);
}
-
+
/**
* Creates a new instance with the specified {@link State} as next state
* and for the specified {@link Event} id. The target {@link Method} will
@@ -108,7 +110,7 @@ public class MethodTransition extends Ab
public MethodTransition(Object eventId, State nextState, Object target) {
this(eventId, nextState, eventId.toString(), target);
}
-
+
/**
* Creates a new instance which will loopback to the same {@link State}
* for the specified {@link Event} id. The target {@link Method} will
@@ -140,7 +142,7 @@ public class MethodTransition extends Ab
public MethodTransition(Object eventId, String methodName, Object target) {
this(eventId, null, methodName, target);
}
-
+
/**
* Creates a new instance with the specified {@link State} as next state
* and for the specified {@link Event} id.
@@ -157,7 +159,7 @@ public class MethodTransition extends Ab
super(eventId, nextState);
this.target = target;
-
+
Method[] candidates = target.getClass().getMethods();
Method result = null;
for (int i = 0; i < candidates.length; i++) {
@@ -168,14 +170,14 @@ public class MethodTransition extends Ab
result = candidates[i];
}
}
-
+
if (result == null) {
throw new NoSuchMethodException(methodName);
}
-
+
this.method = result;
}
-
+
/**
* Returns the target {@link Method}.
*
@@ -196,18 +198,18 @@ public class MethodTransition extends Ab
public boolean doExecute(Event event) {
Class<?>[] types = method.getParameterTypes();
-
+
if (types.length == 0) {
invokeMethod(EMPTY_ARGUMENTS);
return true;
}
-
+
if (types.length > 2 + event.getArguments().length) {
return false;
}
-
+
Object[] args = new Object[types.length];
-
+
int i = 0;
if (match(types[i], event, Event.class)) {
args[i++] = event;
@@ -221,16 +223,16 @@ public class MethodTransition extends Ab
args[i++] = eventArgs[j];
}
}
-
+
if (args.length > i) {
return false;
}
-
+
invokeMethod(args);
-
+
return true;
}
-
+
@SuppressWarnings("unchecked")
private boolean match(Class<?> paramType, Object arg, Class argType) {
if (paramType.isPrimitive()) {
@@ -259,15 +261,13 @@ public class MethodTransition extends Ab
return arg instanceof Character;
}
}
- return argType.isAssignableFrom(paramType)
- && paramType.isAssignableFrom(arg.getClass());
+ return argType.isAssignableFrom(paramType) && paramType.isAssignableFrom(arg.getClass());
}
private void invokeMethod(Object[] arguments) {
try {
if (LOGGER.isDebugEnabled()) {
- LOGGER.debug("Executing method " + method
- + " with arguments " + Arrays.asList(arguments));
+ LOGGER.debug("Executing method " + method + " with arguments " + Arrays.asList(arguments));
}
method.invoke(target, arguments);
} catch (InvocationTargetException ite) {
@@ -279,7 +279,7 @@ public class MethodTransition extends Ab
throw new MethodInvocationException(method, iae);
}
}
-
+
public boolean equals(Object o) {
if (!(o instanceof MethodTransition)) {
return false;
@@ -288,11 +288,8 @@ public class MethodTransition extends Ab
return true;
}
MethodTransition that = (MethodTransition) o;
- return new EqualsBuilder()
- .appendSuper(super.equals(that))
- .append(method, that.method)
- .append(target, that.target)
- .isEquals();
+ return new EqualsBuilder().appendSuper(super.equals(that)).append(method, that.method)
+ .append(target, that.target).isEquals();
}
public int hashCode() {
@@ -300,10 +297,7 @@ public class MethodTransition extends Ab
}
public String toString() {
- return new ToStringBuilder(this)
- .appendSuper(super.toString())
- .append("method", method)
- .append("target", target)
- .toString();
+ return new ToStringBuilder(this).appendSuper(super.toString()).append("method", method)
+ .append("target", target).toString();
}
}
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/NoSuchMethodException.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/NoSuchMethodException.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/NoSuchMethodException.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/NoSuchMethodException.java Sun Sep 30 23:43:23 2012
@@ -37,5 +37,5 @@ public class NoSuchMethodException exten
public NoSuchMethodException(String methodName) {
super(methodName);
}
-
+
}
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/NoopTransition.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/NoopTransition.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/NoopTransition.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/NoopTransition.java Sun Sep 30 23:43:23 2012
@@ -49,9 +49,9 @@ public class NoopTransition extends Abst
public NoopTransition(Object eventId, State nextState) {
super(eventId, nextState);
}
-
+
protected boolean doExecute(Event event) {
return true;
}
-
+
}
Modified: mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/Transition.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/Transition.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/Transition.java (original)
+++ mina/branches/2.0/mina-statemachine/src/main/java/org/apache/mina/statemachine/transition/Transition.java Sun Sep 30 23:43:23 2012
@@ -41,7 +41,7 @@ public interface Transition {
* <code>false</code> otherwise.
*/
boolean execute(Event event);
-
+
/**
* Returns the {@link State} which the {@link StateMachine} should move to
* if this {@link Transition} is taken and {@link #execute(Event)} returns
Modified: mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateMachineFactoryTest.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateMachineFactoryTest.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateMachineFactoryTest.java (original)
+++ mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateMachineFactoryTest.java Sun Sep 30 23:43:23 2012
@@ -40,10 +40,15 @@ import org.junit.Test;
*/
public class StateMachineFactoryTest {
Method barInA;
+
Method error;
+
Method fooInA;
+
Method fooInB;
+
Method barInC;
+
Method fooOrBarInCOrFooInD;
@Before
@@ -82,7 +87,7 @@ public class StateMachineFactoryTest {
assertEquals(new MethodTransition("bar", barInA, states), trans.get(0));
assertEquals(new MethodTransition("*", error, states), trans.get(1));
assertEquals(new MethodTransition("foo", b, fooInA, states), trans.get(2));
-
+
trans = b.getTransitions();
assertEquals(1, trans.size());
assertEquals(new MethodTransition("foo", c, fooInB, states), trans.get(0));
@@ -97,7 +102,7 @@ public class StateMachineFactoryTest {
assertEquals(1, trans.size());
assertEquals(new MethodTransition("foo", fooOrBarInCOrFooInD, states), trans.get(0));
}
-
+
@Test
public void testCreateStates() throws Exception {
State[] states = StateMachineFactory.createStates(StateMachineFactory.getFields(States.class));
@@ -110,7 +115,7 @@ public class StateMachineFactoryTest {
assertEquals(States.D, states[3].getId());
assertEquals(states[0], states[3].getParent());
}
-
+
@Test
public void testCreateStatesMissingParents() throws Exception {
try {
@@ -119,17 +124,20 @@ public class StateMachineFactoryTest {
} catch (StateMachineCreationException fce) {
}
}
-
+
public static class States {
@org.apache.mina.statemachine.annotation.State
protected static final String A = "a";
+
@org.apache.mina.statemachine.annotation.State(A)
protected static final String B = "b";
+
@org.apache.mina.statemachine.annotation.State(B)
protected static final String C = "c";
+
@org.apache.mina.statemachine.annotation.State(A)
protected static final String D = "d";
-
+
@Transition(on = "bar", in = A)
protected void barInA() {
}
@@ -150,19 +158,22 @@ public class StateMachineFactoryTest {
protected void fooInB() {
}
- @Transitions( { @Transition(on = { "foo", "bar" }, in = C, next = D), @Transition(on = "foo", in = D) })
+ @Transitions({ @Transition(on = { "foo", "bar" }, in = C, next = D), @Transition(on = "foo", in = D) })
protected void fooOrBarInCOrFooInD() {
}
-
+
}
-
+
public static class StatesWithMissingParents {
@org.apache.mina.statemachine.annotation.State("b")
public static final String A = "a";
+
@org.apache.mina.statemachine.annotation.State("c")
public static final String B = "b";
+
@org.apache.mina.statemachine.annotation.State("d")
public static final String C = "c";
+
@org.apache.mina.statemachine.annotation.State("e")
public static final String D = "d";
}
Modified: mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateMachineTest.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateMachineTest.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateMachineTest.java (original)
+++ mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateMachineTest.java Sun Sep 30 23:43:23 2012
@@ -47,7 +47,7 @@ public class StateMachineTest {
sm.handle(new Event("foo", context));
assertEquals(true, context.getAttribute("success"));
}
-
+
@Test
public void testBreakAndGotoNow() throws Exception {
State s1 = new State("s1");
@@ -60,7 +60,7 @@ public class StateMachineTest {
sm.handle(new Event("foo", context));
assertEquals(true, context.getAttribute("success"));
}
-
+
@Test
public void testBreakAndGotoNext() throws Exception {
State s1 = new State("s1");
@@ -91,7 +91,7 @@ public class StateMachineTest {
return true;
}
}
-
+
private static class BreakAndContinueTransition extends AbstractTransition {
public BreakAndContinueTransition(Object eventId) {
super(eventId);
@@ -107,7 +107,7 @@ public class StateMachineTest {
return true;
}
}
-
+
private static class BreakAndGotoNowTransition extends AbstractTransition {
private final String stateId;
@@ -154,7 +154,6 @@ public class StateMachineTest {
super();
}
-
@Override
protected boolean doExecute(StateContext stateContext, State state) {
stateContext.setAttribute("SelfSuccess" + state.getId(), true);
@@ -163,13 +162,12 @@ public class StateMachineTest {
}
-
@Test
public void testOnEntry() throws Exception {
State s1 = new State("s1");
State s2 = new State("s2");
- s1.addTransition(new SuccessTransition("foo", s2));
+ s1.addTransition(new SuccessTransition("foo", s2));
s1.addOnExitSelfTransaction(new SampleSelfTransition());
s2.addOnEntrySelfTransaction(new SampleSelfTransition());
@@ -181,6 +179,5 @@ public class StateMachineTest {
assertEquals(true, context.getAttribute("SelfSuccess" + s2.getId()));
}
-
}
Modified: mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateTest.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateTest.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateTest.java (original)
+++ mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/StateTest.java Sun Sep 30 23:43:23 2012
@@ -33,8 +33,11 @@ import com.agical.rmock.extension.junit.
*/
public class StateTest extends RMockTestCase {
State state;
+
Transition transition1;
+
Transition transition2;
+
Transition transition3;
@BeforeClass
@@ -65,7 +68,7 @@ public class StateTest extends RMockTest
assertSame(transition2, state.getTransitions().get(1));
assertSame(transition3, state.getTransitions().get(2));
}
-
+
@Test
public void testWeightedTransitions() throws Exception {
assertTrue(state.getTransitions().isEmpty());
@@ -91,5 +94,5 @@ public class StateTest extends RMockTest
} catch (IllegalArgumentException npe) {
}
}
-
+
}
Modified: mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/context/AbstractStateContextLookupTest.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/context/AbstractStateContextLookupTest.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/context/AbstractStateContextLookupTest.java (original)
+++ mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/context/AbstractStateContextLookupTest.java Sun Sep 30 23:43:23 2012
@@ -35,28 +35,29 @@ public class AbstractStateContextLookupT
@Test
public void testLookup() throws Exception {
Map<String, StateContext> map = new HashMap<String, StateContext>();
- AbstractStateContextLookup lookup = new AbstractStateContextLookup(
- new DefaultStateContextFactory()) {
+ AbstractStateContextLookup lookup = new AbstractStateContextLookup(new DefaultStateContextFactory()) {
protected boolean supports(Class<?> c) {
return Map.class.isAssignableFrom(c);
}
+
@SuppressWarnings("unchecked")
protected StateContext lookup(Object eventArg) {
Map<String, StateContext> map = (Map<String, StateContext>) eventArg;
return map.get("context");
}
+
@SuppressWarnings("unchecked")
protected void store(Object eventArg, StateContext context) {
Map<String, StateContext> map = (Map<String, StateContext>) eventArg;
map.put("context", context);
}
};
- Object[] args1 = new Object[] {new Object(), map, new Object()};
- Object[] args2 = new Object[] {map, new Object()};
+ Object[] args1 = new Object[] { new Object(), map, new Object() };
+ Object[] args2 = new Object[] { map, new Object() };
StateContext sc = lookup.lookup(args1);
assertSame(map.get("context"), sc);
assertSame(map.get("context"), lookup.lookup(args1));
assertSame(map.get("context"), lookup.lookup(args2));
}
-
+
}
Modified: mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/transition/MethodTransitionTest.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/transition/MethodTransitionTest.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/transition/MethodTransitionTest.java (original)
+++ mina/branches/2.0/mina-statemachine/src/test/java/org/apache/mina/statemachine/transition/MethodTransitionTest.java Sun Sep 30 23:43:23 2012
@@ -35,28 +35,34 @@ import com.agical.rmock.extension.junit.
*/
public class MethodTransitionTest extends RMockTestCase {
State currentState;
+
State nextState;
+
TestStateContext context;
+
Target target;
+
Method subsetAllArgsMethod1;
+
Method subsetAllArgsMethod2;
+
Event noArgsEvent;
+
Event argsEvent;
+
Object[] args;
-
+
protected void setUp() throws Exception {
super.setUp();
-
- currentState = new State( "current" );
- nextState = new State( "next" );
+
+ currentState = new State("current");
+ nextState = new State("next");
target = (Target) mock(Target.class);
- subsetAllArgsMethod1 = Target.class.getMethod("subsetAllArgs", new Class[] {
- TestStateContext.class, B.class, A.class, Integer.TYPE
- });
- subsetAllArgsMethod2 = Target.class.getMethod("subsetAllArgs", new Class[] {
- Event.class, B.class, B.class, Boolean.TYPE
- });
-
+ subsetAllArgsMethod1 = Target.class.getMethod("subsetAllArgs", new Class[] { TestStateContext.class, B.class,
+ A.class, Integer.TYPE });
+ subsetAllArgsMethod2 = Target.class.getMethod("subsetAllArgs", new Class[] { Event.class, B.class, B.class,
+ Boolean.TYPE });
+
args = new Object[] { new A(), new B(), new C(), new Integer(627438), Boolean.TRUE };
context = (TestStateContext) mock(TestStateContext.class);
noArgsEvent = new Event("event", context, new Object[0]);
@@ -68,82 +74,93 @@ public class MethodTransitionTest extend
MethodTransition t = new MethodTransition("otherEvent", nextState, "noArgs", target);
assertFalse(t.execute(noArgsEvent));
}
-
+
public void testExecuteNoArgsMethodOnNoArgsEvent() throws Exception {
target.noArgs();
startVerification();
MethodTransition t = new MethodTransition("event", nextState, "noArgs", target);
assertTrue(t.execute(noArgsEvent));
}
-
+
public void testExecuteNoArgsMethodOnArgsEvent() throws Exception {
target.noArgs();
startVerification();
MethodTransition t = new MethodTransition("event", nextState, "noArgs", target);
assertTrue(t.execute(argsEvent));
}
-
+
public void testExecuteExactArgsMethodOnNoArgsEvent() throws Exception {
startVerification();
MethodTransition t = new MethodTransition("event", nextState, "exactArgs", target);
assertFalse(t.execute(noArgsEvent));
}
-
+
public void testExecuteExactArgsMethodOnArgsEvent() throws Exception {
- target.exactArgs((A) args[0], (B) args[1], (C) args[2],
- ((Integer) args[3]).intValue(), ((Boolean) args[4]).booleanValue());
+ target.exactArgs((A) args[0], (B) args[1], (C) args[2], ((Integer) args[3]).intValue(),
+ ((Boolean) args[4]).booleanValue());
startVerification();
MethodTransition t = new MethodTransition("event", nextState, "exactArgs", target);
assertTrue(t.execute(argsEvent));
}
-
+
public void testExecuteSubsetExactArgsMethodOnNoArgsEvent() throws Exception {
startVerification();
MethodTransition t = new MethodTransition("event", nextState, "subsetExactArgs", target);
assertFalse(t.execute(noArgsEvent));
}
-
+
public void testExecuteSubsetExactArgsMethodOnArgsEvent() throws Exception {
target.subsetExactArgs((A) args[0], (A) args[1], ((Integer) args[3]).intValue());
startVerification();
MethodTransition t = new MethodTransition("event", nextState, "subsetExactArgs", target);
assertTrue(t.execute(argsEvent));
}
-
+
public void testExecuteAllArgsMethodOnArgsEvent() throws Exception {
- target.allArgs(argsEvent, context, (A) args[0], (B) args[1], (C) args[2],
- ((Integer) args[3]).intValue(), ((Boolean) args[4]).booleanValue());
+ target.allArgs(argsEvent, context, (A) args[0], (B) args[1], (C) args[2], ((Integer) args[3]).intValue(),
+ ((Boolean) args[4]).booleanValue());
startVerification();
MethodTransition t = new MethodTransition("event", nextState, "allArgs", target);
assertTrue(t.execute(argsEvent));
}
-
+
public void testExecuteSubsetAllArgsMethod1OnArgsEvent() throws Exception {
target.subsetAllArgs(context, (B) args[1], (A) args[2], ((Integer) args[3]).intValue());
startVerification();
MethodTransition t = new MethodTransition("event", nextState, subsetAllArgsMethod1, target);
assertTrue(t.execute(argsEvent));
}
-
+
public void testExecuteSubsetAllArgsMethod2OnArgsEvent() throws Exception {
target.subsetAllArgs(argsEvent, (B) args[1], (B) args[2], ((Boolean) args[4]).booleanValue());
startVerification();
MethodTransition t = new MethodTransition("event", nextState, subsetAllArgsMethod2, target);
assertTrue(t.execute(argsEvent));
}
-
+
public interface Target {
void noArgs();
+
void exactArgs(A a, B b, C c, int integer, boolean bool);
+
void allArgs(Event event, StateContext ctxt, A a, B b, C c, int integer, boolean bool);
+
void subsetExactArgs(A a, A b, int integer);
+
void subsetAllArgs(TestStateContext ctxt, B b, A c, int integer);
+
void subsetAllArgs(Event event, B b, B c, boolean bool);
}
-
- public interface TestStateContext extends StateContext {}
-
- public static class A {}
- public static class B extends A {}
- public static class C extends B {}
+
+ public interface TestStateContext extends StateContext {
+ }
+
+ public static class A {
+ }
+
+ public static class B extends A {
+ }
+
+ public static class C extends B {
+ }
}
Modified: mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprDatagramSession.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprDatagramSession.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprDatagramSession.java (original)
+++ mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprDatagramSession.java Sun Sep 30 23:43:23 2012
@@ -40,20 +40,16 @@ import org.apache.tomcat.jni.Socket;
*/
class AprDatagramSession extends AprSession {
- static final TransportMetadata METADATA =
- new DefaultTransportMetadata(
- "apr", "datagram", true, false,
- InetSocketAddress.class,
- DatagramSessionConfig.class, IoBuffer.class);
+ static final TransportMetadata METADATA = new DefaultTransportMetadata("apr", "datagram", true, false,
+ InetSocketAddress.class, DatagramSessionConfig.class, IoBuffer.class);
/**
* Create an instance of {@link AprDatagramSession}.
*
* {@inheritDoc}
- */
- AprDatagramSession(
- IoService service, IoProcessor<AprSession> processor,
- long descriptor, InetSocketAddress remoteAddress) throws Exception {
+ */
+ AprDatagramSession(IoService service, IoProcessor<AprSession> processor, long descriptor,
+ InetSocketAddress remoteAddress) throws Exception {
super(service, processor, descriptor, remoteAddress);
config = new SessionConfigImpl();
this.config.setAll(service.getSessionConfig());
@@ -63,7 +59,7 @@ class AprDatagramSession extends AprSess
* {@inheritDoc}
*/
public DatagramSessionConfig getConfig() {
- return ( DatagramSessionConfig ) config;
+ return (DatagramSessionConfig) config;
}
/**
Modified: mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java (original)
+++ mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java Sun Sep 30 23:43:23 2012
@@ -51,13 +51,19 @@ public final class AprIoProcessor extend
private final Map<Long, AprSession> allSessions = new HashMap<Long, AprSession>(POLLSET_SIZE);
private final Object wakeupLock = new Object();
+
private final long wakeupSocket;
+
private volatile boolean toBeWakenUp;
private final long pool;
+
private final long bufferPool; // memory pool
+
private final long pollset; // socket poller
+
private final long[] polledSockets = new long[POLLSET_SIZE << 1];
+
private final Queue<AprSession> polledSessions = new ConcurrentLinkedQueue<AprSession>();
/**
@@ -446,12 +452,8 @@ public final class AprIoProcessor extend
throw new UnsupportedOperationException();
}
- long fd = File.open(region.getFilename(),
- File.APR_FOPEN_READ
- | File.APR_FOPEN_SENDFILE_ENABLED
- | File.APR_FOPEN_BINARY,
- 0,
- Socket.pool(session.getDescriptor()));
+ long fd = File.open(region.getFilename(), File.APR_FOPEN_READ | File.APR_FOPEN_SENDFILE_ENABLED
+ | File.APR_FOPEN_BINARY, 0, Socket.pool(session.getDescriptor()));
long numWritten = Socket.sendfilen(session.getDescriptor(), fd, region.getPosition(), length, 0);
File.close(fd);
@@ -459,7 +461,8 @@ public final class AprIoProcessor extend
if (numWritten == -Status.EAGAIN) {
return 0;
}
- throw new IOException(org.apache.tomcat.jni.Error.strerror((int) -numWritten) + " (code: " + numWritten + ")");
+ throw new IOException(org.apache.tomcat.jni.Error.strerror((int) -numWritten) + " (code: " + numWritten
+ + ")");
}
return (int) numWritten;
}
Modified: mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprLibrary.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprLibrary.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprLibrary.java (original)
+++ mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprLibrary.java Sun Sep 30 23:43:23 2012
@@ -22,7 +22,6 @@ package org.apache.mina.transport.socket
import org.apache.tomcat.jni.Library;
import org.apache.tomcat.jni.Pool;
-
/**
* Internal singleton used for initializing correctly the APR native library
* and the associated root memory pool.
@@ -78,8 +77,7 @@ class AprLibrary {
try {
Library.initialize(null);
} catch (Exception e) {
- throw new RuntimeException(
- "Error loading Apache Portable Runtime (APR).", e);
+ throw new RuntimeException("Error loading Apache Portable Runtime (APR).", e);
}
pool = Pool.create(0);
}
Modified: mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java (original)
+++ mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java Sun Sep 30 23:43:23 2012
@@ -52,20 +52,24 @@ public final class AprSocketAcceptor ext
/**
* This constant is deduced from the APR code. It is used when the timeout
* has expired while doing a poll() operation.
- */
+ */
private static final int APR_TIMEUP_ERROR = -120001;
private static final int POLLSET_SIZE = 1024;
private final Object wakeupLock = new Object();
+
private volatile long wakeupSocket;
+
private volatile boolean toBeWakenUp;
private volatile long pool;
+
private volatile long pollset; // socket poller
+
private final long[] polledSockets = new long[POLLSET_SIZE << 1];
- private final Queue<Long> polledHandles =
- new ConcurrentLinkedQueue<Long>();
+
+ private final Queue<Long> polledHandles = new ConcurrentLinkedQueue<Long>();
/**
* Constructor for {@link AprSocketAcceptor} using default parameters (multiple thread model).
@@ -105,8 +109,7 @@ public final class AprSocketAcceptor ext
* @param executor the executor for connection
* @param processor the processor for I/O operations
*/
- public AprSocketAcceptor(Executor executor,
- IoProcessor<AprSession> processor) {
+ public AprSocketAcceptor(Executor executor, IoProcessor<AprSession> processor) {
super(new DefaultSocketSessionConfig(), executor, processor);
((DefaultSocketSessionConfig) getSessionConfig()).init(this);
}
@@ -135,8 +138,7 @@ public final class AprSocketAcceptor ext
@Override
protected Long open(SocketAddress localAddress) throws Exception {
InetSocketAddress la = (InetSocketAddress) localAddress;
- long handle = Socket.create(
- Socket.APR_INET, Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool);
+ long handle = Socket.create(Socket.APR_INET, Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool);
boolean success = false;
try {
@@ -150,7 +152,7 @@ public final class AprSocketAcceptor ext
}
// Configure the server socket,
- result = Socket.optSet(handle, Socket.APR_SO_REUSEADDR, isReuseAddress()? 1 : 0);
+ result = Socket.optSet(handle, Socket.APR_SO_REUSEADDR, isReuseAddress() ? 1 : 0);
if (result != Status.APR_SUCCESS) {
throwException(result);
}
@@ -201,27 +203,17 @@ public final class AprSocketAcceptor ext
// initialize a memory pool for APR functions
pool = Pool.create(AprLibrary.getInstance().getRootPool());
- wakeupSocket = Socket.create(
- Socket.APR_INET, Socket.SOCK_DGRAM, Socket.APR_PROTO_UDP, pool);
+ wakeupSocket = Socket.create(Socket.APR_INET, Socket.SOCK_DGRAM, Socket.APR_PROTO_UDP, pool);
- pollset = Poll.create(
- POLLSET_SIZE,
- pool,
- Poll.APR_POLLSET_THREADSAFE,
- Long.MAX_VALUE);
+ pollset = Poll.create(POLLSET_SIZE, pool, Poll.APR_POLLSET_THREADSAFE, Long.MAX_VALUE);
if (pollset <= 0) {
- pollset = Poll.create(
- 62,
- pool,
- Poll.APR_POLLSET_THREADSAFE,
- Long.MAX_VALUE);
+ pollset = Poll.create(62, pool, Poll.APR_POLLSET_THREADSAFE, Long.MAX_VALUE);
}
if (pollset <= 0) {
- if (Status.APR_STATUS_IS_ENOTIMPL(- (int) pollset)) {
- throw new RuntimeIoException(
- "Thread-safe pollset is not supported in this platform.");
+ if (Status.APR_STATUS_IS_ENOTIMPL(-(int) pollset)) {
+ throw new RuntimeIoException("Thread-safe pollset is not supported in this platform.");
}
}
}
@@ -267,7 +259,7 @@ public final class AprSocketAcceptor ext
rv = Poll.maintain(pollset, polledSockets, true);
if (rv > 0) {
- for (int i = 0; i < rv; i ++) {
+ for (int i = 0; i < rv; i++) {
Poll.add(pollset, polledSockets[i], Poll.APR_POLLIN);
}
} else if (rv < 0) {
@@ -281,7 +273,7 @@ public final class AprSocketAcceptor ext
polledHandles.clear();
}
- for (int i = 0; i < rv; i ++) {
+ for (int i = 0; i < rv; i++) {
long flag = polledSockets[i];
long socket = polledSockets[++i];
if (socket == wakeupSocket) {
@@ -380,8 +372,6 @@ public final class AprSocketAcceptor ext
* @throws IOException the generated exception
*/
private void throwException(int code) throws IOException {
- throw new IOException(
- org.apache.tomcat.jni.Error.strerror(-code) +
- " (code: " + code + ")");
+ throw new IOException(org.apache.tomcat.jni.Error.strerror(-code) + " (code: " + code + ")");
}
}
Modified: mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java (original)
+++ mina/branches/2.0/mina-transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketConnector.java Sun Sep 30 23:43:23 2012
@@ -58,23 +58,29 @@ public final class AprSocketConnector ex
/**
* This constant is deduced from the APR code. It is used when the timeout
* has expired while doing a poll() operation.
- */
+ */
private static final int APR_TIMEUP_ERROR = -120001;
private static final int POLLSET_SIZE = 1024;
- private final Map<Long, ConnectionRequest> requests =
- new HashMap<Long, ConnectionRequest>(POLLSET_SIZE);
+ private final Map<Long, ConnectionRequest> requests = new HashMap<Long, ConnectionRequest>(POLLSET_SIZE);
private final Object wakeupLock = new Object();
+
private volatile long wakeupSocket;
+
private volatile boolean toBeWakenUp;
private volatile long pool;
+
private volatile long pollset; // socket poller
+
private final long[] polledSockets = new long[POLLSET_SIZE << 1];
+
private final Queue<Long> polledHandles = new ConcurrentLinkedQueue<Long>();
+
private final Set<Long> failedHandles = new HashSet<Long>(POLLSET_SIZE);
+
private volatile ByteBuffer dummyBuffer;
/**
@@ -127,29 +133,19 @@ public final class AprSocketConnector ex
// initialize a memory pool for APR functions
pool = Pool.create(AprLibrary.getInstance().getRootPool());
- wakeupSocket = Socket.create(
- Socket.APR_INET, Socket.SOCK_DGRAM, Socket.APR_PROTO_UDP, pool);
+ wakeupSocket = Socket.create(Socket.APR_INET, Socket.SOCK_DGRAM, Socket.APR_PROTO_UDP, pool);
dummyBuffer = Pool.alloc(pool, 1);
- pollset = Poll.create(
- POLLSET_SIZE,
- pool,
- Poll.APR_POLLSET_THREADSAFE,
- Long.MAX_VALUE);
+ pollset = Poll.create(POLLSET_SIZE, pool, Poll.APR_POLLSET_THREADSAFE, Long.MAX_VALUE);
if (pollset <= 0) {
- pollset = Poll.create(
- 62,
- pool,
- Poll.APR_POLLSET_THREADSAFE,
- Long.MAX_VALUE);
+ pollset = Poll.create(62, pool, Poll.APR_POLLSET_THREADSAFE, Long.MAX_VALUE);
}
if (pollset <= 0) {
- if (Status.APR_STATUS_IS_ENOTIMPL(- (int) pollset)) {
- throw new RuntimeIoException(
- "Thread-safe pollset is not supported in this platform.");
+ if (Status.APR_STATUS_IS_ENOTIMPL(-(int) pollset)) {
+ throw new RuntimeIoException("Thread-safe pollset is not supported in this platform.");
}
}
}
@@ -182,8 +178,7 @@ public final class AprSocketConnector ex
* {@inheritDoc}
*/
@Override
- protected boolean connect(Long handle, SocketAddress remoteAddress)
- throws Exception {
+ protected boolean connect(Long handle, SocketAddress remoteAddress) throws Exception {
InetSocketAddress ra = (InetSocketAddress) remoteAddress;
long sa;
if (ra != null) {
@@ -228,7 +223,7 @@ public final class AprSocketConnector ex
throwException(rv);
}
}
-
+
/**
* {@inheritDoc}
*/
@@ -249,8 +244,7 @@ public final class AprSocketConnector ex
*/
@Override
protected Long newHandle(SocketAddress localAddress) throws Exception {
- long handle = Socket.create(
- Socket.APR_INET, Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool);
+ long handle = Socket.create(Socket.APR_INET, Socket.SOCK_STREAM, Socket.APR_PROTO_TCP, pool);
boolean success = false;
try {
int result = Socket.optSet(handle, Socket.APR_SO_NONBLOCK, 1);
@@ -294,8 +288,7 @@ public final class AprSocketConnector ex
* {@inheritDoc}
*/
@Override
- protected AprSession newSession(IoProcessor<AprSession> processor,
- Long handle) throws Exception {
+ protected AprSession newSession(IoProcessor<AprSession> processor, Long handle) throws Exception {
return new AprSocketSession(this, processor, handle);
}
@@ -303,8 +296,7 @@ public final class AprSocketConnector ex
* {@inheritDoc}
*/
@Override
- protected void register(Long handle, ConnectionRequest request)
- throws Exception {
+ protected void register(Long handle, ConnectionRequest request) throws Exception {
int rv = Poll.add(pollset, handle, Poll.APR_POLLOUT);
if (rv != Status.APR_SUCCESS) {
throwException(rv);
@@ -326,7 +318,7 @@ public final class AprSocketConnector ex
rv = Poll.maintain(pollset, polledSockets, true);
if (rv > 0) {
- for (int i = 0; i < rv; i ++) {
+ for (int i = 0; i < rv; i++) {
Poll.add(pollset, polledSockets[i], Poll.APR_POLLOUT);
}
} else if (rv < 0) {
@@ -340,7 +332,7 @@ public final class AprSocketConnector ex
polledHandles.clear();
}
- for (int i = 0; i < rv; i ++) {
+ for (int i = 0; i < rv; i++) {
long flag = polledSockets[i];
long socket = polledSockets[++i];
if (socket == wakeupSocket) {
@@ -366,7 +358,7 @@ public final class AprSocketConnector ex
protected Iterator<Long> selectedHandles() {
return polledHandles.iterator();
}
-
+
/**
* {@inheritDoc}
*/
@@ -419,8 +411,6 @@ public final class AprSocketConnector ex
* @throws IOException the produced exception for the given APR error number
*/
private void throwException(int code) throws IOException {
- throw new IOException(
- org.apache.tomcat.jni.Error.strerror(-code) +
- " (code: " + code + ")");
+ throw new IOException(org.apache.tomcat.jni.Error.strerror(-code) + " (code: " + code + ")");
}
}
Modified: mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/DefaultSerialSessionConfig.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/DefaultSerialSessionConfig.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/DefaultSerialSessionConfig.java (original)
+++ mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/DefaultSerialSessionConfig.java Sun Sep 30 23:43:23 2012
@@ -27,8 +27,7 @@ import org.apache.mina.core.session.IoSe
*
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
-class DefaultSerialSessionConfig extends AbstractIoSessionConfig implements
- SerialSessionConfig {
+class DefaultSerialSessionConfig extends AbstractIoSessionConfig implements SerialSessionConfig {
private int receiveThreshold = -1;
Modified: mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialAddress.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialAddress.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialAddress.java (original)
+++ mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialAddress.java Sun Sep 30 23:43:23 2012
@@ -47,14 +47,19 @@ public class SerialAddress extends Socke
}
public enum FlowControl {
- NONE, RTSCTS_IN, RTSCTS_OUT, RTSCTS_IN_OUT, XONXOFF_IN, XONXOFF_OUT, XONXOFF_IN_OUT
+ NONE, RTSCTS_IN, RTSCTS_OUT, RTSCTS_IN_OUT, XONXOFF_IN, XONXOFF_OUT, XONXOFF_IN_OUT
}
private final String name;
+
private final int bauds;
+
private final DataBits dataBits;
+
private final StopBits stopBits;
+
private final Parity parity;
+
private final FlowControl flowControl;
/**
@@ -67,8 +72,8 @@ public class SerialAddress extends Socke
* @param parity parity used
* @param flowControl flow control used
*/
- public SerialAddress(String name, int bauds, DataBits dataBits,
- StopBits stopBits, Parity parity, FlowControl flowControl) {
+ public SerialAddress(String name, int bauds, DataBits dataBits, StopBits stopBits, Parity parity,
+ FlowControl flowControl) {
if (name == null) {
throw new IllegalArgumentException("name");
}
@@ -91,7 +96,7 @@ public class SerialAddress extends Socke
if (flowControl == null) {
throw new IllegalArgumentException("flowControl");
}
-
+
this.name = name;
this.bauds = bauds;
this.dataBits = dataBits;
@@ -153,9 +158,8 @@ public class SerialAddress extends Socke
*/
@Override
public String toString() {
- return name + " (bauds: " + bauds + ", dataBits: " + dataBits
- + ", stopBits: " + stopBits + ", parity: " + parity
- + ", flowControl: " + flowControl + ")";
+ return name + " (bauds: " + bauds + ", dataBits: " + dataBits + ", stopBits: " + stopBits + ", parity: "
+ + parity + ", flowControl: " + flowControl + ")";
}
int getDataBitsForRXTX() {
Modified: mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialAddressEditor.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialAddressEditor.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialAddressEditor.java (original)
+++ mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialAddressEditor.java Sun Sep 30 23:43:23 2012
@@ -39,12 +39,8 @@ public class SerialAddressEditor extends
@Override
protected String toText(Object value) {
SerialAddress addr = (SerialAddress) value;
- return addr.getName() + ':' +
- addr.getBauds() + ':' +
- toText(addr.getDataBits()) + ':' +
- toText(addr.getStopBits()) + ':' +
- toText(addr.getParity()) + ':' +
- toText(addr.getFlowControl());
+ return addr.getName() + ':' + addr.getBauds() + ':' + toText(addr.getDataBits()) + ':'
+ + toText(addr.getStopBits()) + ':' + toText(addr.getParity()) + ':' + toText(addr.getFlowControl());
}
private String toText(DataBits bits) {
@@ -113,18 +109,11 @@ public class SerialAddressEditor extends
protected Object toValue(String text) throws IllegalArgumentException {
String[] components = text.split(":");
if (components.length != 6) {
- throw new IllegalArgumentException(
- "SerialAddress must have 6 components separated " +
- "by colon: " + text);
+ throw new IllegalArgumentException("SerialAddress must have 6 components separated " + "by colon: " + text);
}
- return new SerialAddress(
- components[0].trim(),
- toBauds(components[1].trim()),
- toDataBits(components[2].trim()),
- toStopBits(components[3].trim()),
- toParity(components[4].trim()),
- toFlowControl(components[5].trim()));
+ return new SerialAddress(components[0].trim(), toBauds(components[1].trim()), toDataBits(components[2].trim()),
+ toStopBits(components[3].trim()), toParity(components[4].trim()), toFlowControl(components[5].trim()));
}
private int toBauds(String text) {
Modified: mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialConnector.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialConnector.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialConnector.java (original)
+++ mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialConnector.java Sun Sep 30 23:43:23 2012
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
*/
public final class SerialConnector extends AbstractIoConnector {
private final Logger log;
-
+
private IdleStatusChecker idleChecker;
public SerialConnector() {
@@ -57,17 +57,16 @@ public final class SerialConnector exten
public SerialConnector(Executor executor) {
super(new DefaultSerialSessionConfig(), executor);
log = LoggerFactory.getLogger(SerialConnector.class);
-
+
idleChecker = new IdleStatusChecker();
// we schedule the idle status checking task in this service exceutor
// it will be woke up every seconds
executeWorker(idleChecker.getNotifyingTask(), "idleStatusChecker");
-
+
}
@Override
- protected synchronized ConnectFuture connect0(
- SocketAddress remoteAddress, SocketAddress localAddress,
+ protected synchronized ConnectFuture connect0(SocketAddress remoteAddress, SocketAddress localAddress,
IoSessionInitializer<? extends ConnectFuture> sessionInitializer) {
CommPortIdentifier portId;
@@ -85,17 +84,13 @@ public final class SerialConnector exten
if (portId.getName().equals(portAddress.getName())) {
try {
if (log.isDebugEnabled()) {
- log
- .debug("Serial port found : "
- + portId.getName());
+ log.debug("Serial port found : " + portId.getName());
}
- SerialPort serialPort = initializePort("Apache MINA",
- portId, portAddress);
+ SerialPort serialPort = initializePort("Apache MINA", portId, portAddress);
ConnectFuture future = new DefaultConnectFuture();
- SerialSessionImpl session = new SerialSessionImpl(
- this, getListeners(), portAddress, serialPort);
+ SerialSessionImpl session = new SerialSessionImpl(this, getListeners(), portAddress, serialPort);
initSession(session, future, sessionInitializer);
session.start();
return future;
@@ -124,9 +119,7 @@ public final class SerialConnector exten
}
}
- return DefaultConnectFuture
- .newFailedFuture(new SerialPortUnavailableException(
- "Serial port not found"));
+ return DefaultConnectFuture.newFailedFuture(new SerialPortUnavailableException("Serial port not found"));
}
@Override
@@ -139,8 +132,7 @@ public final class SerialConnector exten
return SerialSessionImpl.METADATA;
}
- private SerialPort initializePort(String user, CommPortIdentifier portId,
- SerialAddress portAddress)
+ private SerialPort initializePort(String user, CommPortIdentifier portId, SerialAddress portAddress)
throws UnsupportedCommOperationException, PortInUseException {
SerialSessionConfig config = (SerialSessionConfig) getSessionConfig();
@@ -150,12 +142,10 @@ public final class SerialConnector exten
connectTimeout = Integer.MAX_VALUE;
}
- SerialPort serialPort = (SerialPort) portId.open(
- user, (int) connectTimeout);
+ SerialPort serialPort = (SerialPort) portId.open(user, (int) connectTimeout);
- serialPort.setSerialPortParams(portAddress.getBauds(), portAddress
- .getDataBitsForRXTX(), portAddress.getStopBitsForRXTX(),
- portAddress.getParityForRXTX());
+ serialPort.setSerialPortParams(portAddress.getBauds(), portAddress.getDataBitsForRXTX(),
+ portAddress.getStopBitsForRXTX(), portAddress.getParityForRXTX());
serialPort.setFlowControlMode(portAddress.getFLowControlForRXTX());
Modified: mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialSession.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialSession.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialSession.java (original)
+++ mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialSession.java Sun Sep 30 23:43:23 2012
@@ -34,7 +34,7 @@ public interface SerialSession extends I
SerialAddress getLocalAddress();
SerialAddress getServiceAddress();
-
+
/**
* Sets or clears the RTS (Request To Send) bit in the UART, if supported by the underlying implementation.
* @param rts true for set RTS, false for clearing
Modified: mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialSessionConfig.java
URL: http://svn.apache.org/viewvc/mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialSessionConfig.java?rev=1392134&r1=1392133&r2=1392134&view=diff
==============================================================================
--- mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialSessionConfig.java (original)
+++ mina/branches/2.0/mina-transport-serial/src/main/java/org/apache/mina/transport/serial/SerialSessionConfig.java Sun Sep 30 23:43:23 2012
@@ -43,7 +43,6 @@ public interface SerialSessionConfig ext
*/
void setInputBufferSize(int bufferSize);
-
/**
* Gets the output buffer size. Note that this method is advisory and the underlying OS
* may choose not to report correct values for the buffer size.
@@ -83,8 +82,5 @@ public interface SerialSessionConfig ext
* @param bytes minimal amount of byte before producing a new frame, or -1 if disabled
*/
void setReceiveThreshold(int bytes);
-
-
-
}