You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by st...@apache.org on 2004/04/16 11:39:58 UTC
cvs commit: cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test ExtendedContinuable.java InheritanceFlowTest.java SimpleContinuable.java WrapperContinuable.java AbstractSimpleFlow.java CalculatorFlow.java FlowTest.java SimpleFlow.java
stephan 2004/04/16 02:39:58
Modified: src/blocks/javaflow/java/org/apache/cocoon/components/flow/java
AbstractContinuable.java
src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java
FormInstance.java
src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test
AbstractSimpleFlow.java CalculatorFlow.java
FlowTest.java SimpleFlow.java
Added: src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test
ExtendedContinuable.java InheritanceFlowTest.java
SimpleContinuable.java WrapperContinuable.java
Log:
Add tests from Peter Mortier.
Revision Changes Path
1.2 +5 -3 cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/components/flow/java/AbstractContinuable.java
Index: AbstractContinuable.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/components/flow/java/AbstractContinuable.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractContinuable.java 1 Apr 2004 12:40:40 -0000 1.1
+++ AbstractContinuable.java 16 Apr 2004 09:39:57 -0000 1.2
@@ -52,7 +52,8 @@
ContinuationContext context = getContext();
- context.getLogger().debug("send page and wait '" + uri + "'");
+ if (context.getLogger()!=null)
+ context.getLogger().debug("send page and wait '" + uri + "'");
FlowHelper.setContextObject(ContextHelper.getObjectModel(context.getAvalonContext()), bizdata);
@@ -81,7 +82,8 @@
ContinuationContext context = getContext();
- context.getLogger().debug("send page '" + uri + "'");
+ if (context.getLogger()!=null)
+ context.getLogger().debug("send page '" + uri + "'");
FlowHelper.setContextObject(ContextHelper.getObjectModel(context.getAvalonContext()), bizdata);
1.6 +8 -6 cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java
Index: FormInstance.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FormInstance.java 4 Apr 2004 17:16:17 -0000 1.5
+++ FormInstance.java 16 Apr 2004 09:39:57 -0000 1.6
@@ -47,7 +47,6 @@
private Widget formWidget;
private Locale locale;
private boolean isValid;
- private String submitId;
private Object validator; // Used?
/**
@@ -124,6 +123,13 @@
}
}
+ public String getSubmitId() {
+
+ Widget widget = this.form.getSubmitWidget();
+ // Can be null on "normal" submit
+ return widget == null ? null : widget.getId();
+ }
+
/**
* Sets the point in your script that will be returned to when the form is
* redisplayed. If setBookmark() is not called, this is implicitly set to
@@ -205,10 +211,6 @@
// except a sudden change of repeaters whose size changed from a continuation to another.
} while(!finished);
-
- Widget widget = this.form.getSubmitWidget();
- // Can be null on "normal" submit
- this.submitId = widget == null ? null : widget.getId();
}
/**
1.2 +2 -2 cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/AbstractSimpleFlow.java
Index: AbstractSimpleFlow.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/AbstractSimpleFlow.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractSimpleFlow.java 31 Mar 2004 14:12:01 -0000 1.1
+++ AbstractSimpleFlow.java 16 Apr 2004 09:39:57 -0000 1.2
@@ -15,10 +15,10 @@
*/
package org.apache.cocoon.components.flow.java.test;
-import org.apache.cocoon.components.flow.java.AbstractCocoonFlow;
+import org.apache.cocoon.components.flow.java.*;
-public abstract class AbstractSimpleFlow extends AbstractCocoonFlow {
+public abstract class AbstractSimpleFlow extends AbstractContinuable {
public void parent() {
1.2 +1 -1 cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/CalculatorFlow.java
Index: CalculatorFlow.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/CalculatorFlow.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CalculatorFlow.java 31 Mar 2004 14:12:01 -0000 1.1
+++ CalculatorFlow.java 16 Apr 2004 09:39:57 -0000 1.2
@@ -17,7 +17,7 @@
import org.apache.cocoon.components.flow.java.*;
-public class CalculatorFlow extends AbstractCocoonFlow {
+public class CalculatorFlow extends AbstractContinuable {
public void run() {
1.3 +2 -0 cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/FlowTest.java
Index: FlowTest.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/FlowTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FlowTest.java 31 Mar 2004 14:16:30 -0000 1.2
+++ FlowTest.java 16 Apr 2004 09:39:57 -0000 1.3
@@ -260,6 +260,8 @@
public void testFormFlow() throws Exception {
Class clazz = loader.loadClass("org.apache.cocoon.samples.flow.java.FormFlow");
Continuable flow = (Continuable) clazz.newInstance();
+
+ assertNotNull(flow);
}
/* public static void testOJBFlow() throws Exception {
1.2 +14 -26 cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/SimpleFlow.java
Index: SimpleFlow.java
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/SimpleFlow.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SimpleFlow.java 31 Mar 2004 14:12:01 -0000 1.1
+++ SimpleFlow.java 16 Apr 2004 09:39:57 -0000 1.2
@@ -1,52 +1,40 @@
/*
* Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
*/
package org.apache.cocoon.components.flow.java.test;
import org.apache.cocoon.components.flow.java.*;
import org.apache.cocoon.forms.FormContext;
-
import java.util.Locale;
-
public class SimpleFlow extends AbstractSimpleFlow {
public SimpleFlow() {
- if (Continuation.currentContinuation()!=null)
+ if (Continuation.currentContinuation() != null)
throw new RuntimeException("Conitnuation should not exist");
-
- ContinuationStack stack = new ContinuationStack();
-
- sendPageAndWait("should not stop");
+ //sendPageAndWait("should not stop");
}
public boolean run() {
-
System.out.println("start of flow");
-
float a = 1;
-
sendPageAndWait("getNumberA");
-
a = Float.parseFloat(getRequest().getParameter("a"));
System.out.println("a=" + a);
-
- sendPage("result", new VarMap().add("result", a+1));
-
+ sendPage("result", new VarMap().add("result", a + 1));
System.out.println("end of flow");
-
return true;
}
1.1 cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/ExtendedContinuable.java
Index: ExtendedContinuable.java
===================================================================
/*
* Copyright 1999-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.apache.cocoon.components.flow.java.test;
public class ExtendedContinuable extends SimpleContinuable {
public void test() {
super.suspend();
}
}
1.1 cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/InheritanceFlowTest.java
Index: InheritanceFlowTest.java
===================================================================
/*
* Copyright 1999-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.apache.cocoon.components.flow.java.test;
import java.lang.reflect.InvocationTargetException;
import junit.framework.TestCase;
import org.apache.cocoon.components.flow.java.Continuation;
import org.apache.cocoon.components.flow.java.ContinuationClassLoader;
public class InheritanceFlowTest extends TestCase {
public InheritanceFlowTest(String s) {
super(s);
}
static public void main(String args[]) {
try {
testSimpleContinuable();
System.out.println("SimpleContinuable test done");
testExtendedContinuable();
System.out.println("ExtendedContinuable test done");
testWrapperContinuable();
System.out.println("Wrapper continuable test done");
} catch (Throwable e) {
e.printStackTrace();
}
}
public static void testSimpleContinuable() throws Exception {
ContinuationClassLoader cl = new ContinuationClassLoader(Thread
.currentThread().getContextClassLoader());
Continuation continuation = new Continuation(null);
continuation.registerThread();
Class clazz = cl.loadClass("org.apache.cocoon.components.flow.java.test.SimpleContinuable");
Object object = clazz.newInstance();
clazz.getMethod("suspend", null).invoke(object, null);
if (continuation.isCapturing())
continuation.getStack().popReference();
continuation = new Continuation(continuation, null);
continuation.registerThread();
clazz.getMethod("suspend", null).invoke(object, null);
}
public static void testWrapperContinuable() throws Exception {
ContinuationClassLoader cl = new ContinuationClassLoader(Thread
.currentThread().getContextClassLoader());
Continuation continuation = new Continuation(null);
continuation.registerThread();
Class clazz = cl.loadClass("org.apache.cocoon.components.flow.java.test.WrapperContinuable");
Object object = clazz.newInstance();
clazz.getMethod("test", null).invoke(object, null);
if (continuation.isCapturing())
continuation.getStack().popReference();
continuation = new Continuation(continuation, null);
continuation.registerThread();
clazz.getMethod("test", null).invoke(object, null);
}
public static void testExtendedContinuable() throws Exception {
ContinuationClassLoader cl = new ContinuationClassLoader(Thread
.currentThread().getContextClassLoader());
Continuation continuation = new Continuation(null);
continuation.registerThread();
Class clazz = cl.loadClass("org.apache.cocoon.components.flow.java.test.ExtendedContinuable");
Object object = clazz.newInstance();
clazz.getMethod("test", null).invoke(object, null);
if (continuation.isCapturing())
continuation.getStack().popReference();
continuation = new Continuation(continuation, null);
continuation.registerThread();
clazz.getMethod("test", null).invoke(object, null);
}
}
1.1 cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/SimpleContinuable.java
Index: SimpleContinuable.java
===================================================================
/*
* Copyright 1999-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.apache.cocoon.components.flow.java.test;
import org.apache.cocoon.components.flow.java.*;
public class SimpleContinuable implements Continuable {
public void suspend() {
System.out.println("suspending");
Continuation.suspend();
System.out.println("continuing");
}
}
1.1 cocoon-2.1/src/blocks/javaflow/test/org/apache/cocoon/components/flow/java/test/WrapperContinuable.java
Index: WrapperContinuable.java
===================================================================
/*
* Copyright 1999-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.apache.cocoon.components.flow.java.test;
import org.apache.cocoon.components.flow.java.*;
public class WrapperContinuable implements Continuable {
SimpleContinuable simple;
public WrapperContinuable() {
simple = new SimpleContinuable();
}
public void test() {
simple.suspend();
}
}