GenericConversionService.getConversionExecutor() now uses isAssignableFrom to detect situations where no conversion is necessary (SWF-264).

This commit is contained in:
Erwin Vervaet
2007-03-23 19:32:33 +00:00
parent 88aa6a4eef
commit 8eaa5fca84
8 changed files with 17 additions and 15 deletions

View File

@@ -33,26 +33,26 @@ public class RepositoryType extends StaticLabeledEnum {
* The 'simple' flow execution repository type.
* @see SimpleFlowExecutionRepository
*/
public static RepositoryType SIMPLE = new RepositoryType(0, "Simple");
public static final RepositoryType SIMPLE = new RepositoryType(0, "Simple");
/**
* The 'continuation' flow execution repository type.
* @see ContinuationFlowExecutionRepository
*/
public static RepositoryType CONTINUATION = new RepositoryType(1, "Continuation");
public static final RepositoryType CONTINUATION = new RepositoryType(1, "Continuation");
/**
* The 'client' (continuation) flow execution repository type.
* @see ClientContinuationFlowExecutionRepository
*/
public static RepositoryType CLIENT = new RepositoryType(2, "Client");
public static final RepositoryType CLIENT = new RepositoryType(2, "Client");
/**
* The 'singleKey' flow execution repository type.
* @see SimpleFlowExecutionRepository
* @see SimpleFlowExecutionRepository#setAlwaysGenerateNewNextKey(boolean)
*/
public static RepositoryType SINGLEKEY = new RepositoryType(3, "Single Key");
public static final RepositoryType SINGLEKEY = new RepositoryType(3, "Single Key");
/**
* Private constructor because this is a typesafe enum!

View File

@@ -38,6 +38,7 @@ public abstract class FlowDefinitionConstructionException extends FlowException
*/
public FlowDefinitionConstructionException(String flowId, Throwable cause) {
super("An exception occured constructing the flow with id '" + flowId + "'", cause);
this.flowId = flowId;
}
/**

View File

@@ -474,7 +474,7 @@ public class XmlFlowBuilder extends BaseFlowBuilder implements ResourceHolder {
localFlowServiceLocator.push(new LocalFlowServiceRegistry(flow, resources));
}
private void destroyLocalServiceRegistry(Flow flow) {
private void destroyLocalServiceRegistry() {
localFlowServiceLocator.pop();
}
@@ -548,7 +548,7 @@ public class XmlFlowBuilder extends BaseFlowBuilder implements ResourceHolder {
inlineFlow.setOutputMapper(parseOutputMapper(flowElement));
inlineFlow.getExceptionHandlerSet().addAll(parseExceptionHandlers(flowElement));
destroyLocalServiceRegistry(inlineFlow);
destroyLocalServiceRegistry();
}
private void parseAndAddStateDefinitions(Element flowElement, Flow flow) {

View File

@@ -15,8 +15,6 @@
*/
package org.springframework.webflow.engine.support;
import java.io.Serializable;
import org.springframework.util.Assert;
import org.springframework.webflow.engine.TransitionCriteria;
import org.springframework.webflow.execution.RequestContext;
@@ -27,7 +25,7 @@ import org.springframework.webflow.execution.RequestContext;
*
* @author Keith Donald
*/
public class NotTransitionCriteria implements TransitionCriteria, Serializable {
public class NotTransitionCriteria implements TransitionCriteria {
/**
* The criteria to negate.

View File

@@ -33,35 +33,35 @@ public class FlowSessionStatus extends StaticLabeledEnum {
* Initial status of a flow session; the session has been created but not
* yet activated.
*/
public static FlowSessionStatus CREATED = new FlowSessionStatus(0, "Created");
public static final FlowSessionStatus CREATED = new FlowSessionStatus(0, "Created");
/**
* A flow session with STARTING status is about to enter its start state.
*/
public static FlowSessionStatus STARTING = new FlowSessionStatus(1, "Starting");
public static final FlowSessionStatus STARTING = new FlowSessionStatus(1, "Starting");
/**
* A flow session with ACTIVE status is currently executing.
*/
public static FlowSessionStatus ACTIVE = new FlowSessionStatus(2, "Active");
public static final FlowSessionStatus ACTIVE = new FlowSessionStatus(2, "Active");
/**
* A flow session with PAUSED status is currently waiting on the user to
* signal an event.
*/
public static FlowSessionStatus PAUSED = new FlowSessionStatus(3, "Paused");
public static final FlowSessionStatus PAUSED = new FlowSessionStatus(3, "Paused");
/**
* A flow session that is SUSPENDED is not actively executing a flow. It is
* waiting for subflow execution to complete before continuing.
*/
public static FlowSessionStatus SUSPENDED = new FlowSessionStatus(4, "Suspended");
public static final FlowSessionStatus SUSPENDED = new FlowSessionStatus(4, "Suspended");
/**
* A flow session that has ENDED is no longer actively executing a flow.
* This is the final status of a flow session.
*/
public static FlowSessionStatus ENDED = new FlowSessionStatus(5, "Ended");
public static final FlowSessionStatus ENDED = new FlowSessionStatus(5, "Ended");
/**
* Private constructor because this is a typesafe enum!

View File

@@ -39,6 +39,7 @@ public class ContinuationCreationException extends FlowExecutionRepositoryExcept
*/
public ContinuationCreationException(FlowExecution flowExecution, String message, Throwable cause) {
super(message, cause);
this.flowExecution = flowExecution;
}
/**

View File

@@ -41,6 +41,7 @@ public class ContinuationNotFoundException extends FlowExecutionRepositoryExcept
public ContinuationNotFoundException(Serializable continuationId) {
super("No flow execution continuation could be found in this group with id '" + continuationId
+ "' -- perhaps the continuation has expired or has been invalidated? ");
this.continuationId = continuationId;
}
/**

View File

@@ -40,6 +40,7 @@ public class InvalidContinuationIdException extends FlowExecutionRepositoryExcep
*/
public InvalidContinuationIdException(Serializable continuationId) {
super("The continuation id '" + continuationId + "' is invalid. Access to flow execution denied.");
this.continuationId = continuationId;
}
/**