[jboss-cvs] jboss-seam/src/main/org/jboss/seam/navigation ...
Peter Muir
peter at bleepbleep.org.uk
Mon Sep 3 11:15:52 EDT 2007
User: pmuir
Date: 07/09/03 11:15:51
Modified: src/main/org/jboss/seam/navigation Pages.java
TaskControl.java
Log:
Better use of ValueExpression in task support for page.xml
Revision Changes Path
1.15 +7 -3 jboss-seam/src/main/org/jboss/seam/navigation/Pages.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Pages.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/navigation/Pages.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- Pages.java 3 Sep 2007 12:50:28 -0000 1.14
+++ Pages.java 3 Sep 2007 15:15:51 -0000 1.15
@@ -1143,7 +1143,11 @@
if ( endTask!=null )
{
control.setEndTask(true);
- control.setTransition( endTask.attributeValue("transition") );
+ String transition = endTask.attributeValue("transition");
+ if (transition != null)
+ {
+ control.setTransition( Expressions.instance().createValueExpression(transition, String.class) );
+ }
}
Element beginTask = element.element("begin-task");
@@ -1155,7 +1159,7 @@
{
taskId = "#{param.taskId}";
}
- control.setTaskId( Expressions.instance().createValueExpression(taskId, String.class) );
+ control.setTaskId( Expressions.instance().createValueExpression(taskId, Long.class) );
}
Element startTask = element.element("start-task");
@@ -1167,7 +1171,7 @@
{
taskId = "#{param.taskId}";
}
- control.setTaskId( Expressions.instance().createValueExpression(taskId, String.class) );
+ control.setTaskId( Expressions.instance().createValueExpression(taskId, Long.class) );
}
if ( control.isBeginTask() && control.isEndTask() )
1.2 +10 -24 jboss-seam/src/main/org/jboss/seam/navigation/TaskControl.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TaskControl.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/navigation/TaskControl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- TaskControl.java 19 Jun 2007 19:13:55 -0000 1.1
+++ TaskControl.java 3 Sep 2007 15:15:51 -0000 1.2
@@ -12,38 +12,24 @@
private boolean isEndTask;
- private ValueExpression taskId;
+ private ValueExpression<Long> taskId;
- private String transition;
+ private ValueExpression<String> transition;
public void beginOrEndTask()
{
if ( endTask() )
{
BusinessProcess.instance().validateTask();
- BusinessProcess.instance().endTask(transition);
+ BusinessProcess.instance().endTask(transition == null ? null : transition.getValue());
}
if ( beginTask() || startTask() )
{
- Object id = taskId.getValue();
- if (id==null)
+ if (taskId==null || taskId.getValue() == null)
{
- throw new IllegalStateException("task id may not be null");
+ throw new NullPointerException("task id may not be null");
}
- Long taskId;
- if ( id instanceof Long )
- {
- taskId = (Long) id;
- }
- else if (id instanceof String)
- {
- taskId = new Long( (String) id );
- }
- else
- {
- throw new IllegalArgumentException("task id must be a string or long");
- }
- BusinessProcess.instance().resumeTask(taskId);
+ BusinessProcess.instance().resumeTask(taskId.getValue());
}
if ( startTask() )
{
@@ -96,22 +82,22 @@
this.isStartTask = isStartTask;
}
- public void setTaskId(ValueExpression<String> taskId)
+ public void setTaskId(ValueExpression<Long> taskId)
{
this.taskId = taskId;
}
- public ValueExpression<String> getTaskId()
+ public ValueExpression<Long> getTaskId()
{
return taskId;
}
- public String getTransition()
+ public ValueExpression<String> getTransition()
{
return transition;
}
- public void setTransition(String transition)
+ public void setTransition(ValueExpression<String> transition)
{
this.transition = transition;
}
More information about the jboss-cvs-commits
mailing list