Author: bdelacretaz
Date: Fri Mar 11 00:31:30 2005
New Revision: 157056
URL: http://svn.apache.org/viewcvs?view=rev&rev=157056
Log:
shapes sample uses bean-like properties, and use if/else in flowscript instead
of switch
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Circle.java
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Rectangular.java
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Shape.java
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Square.java
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/samples/flow/java-shapes/java-shapes.js
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Circle.java
URL:
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Circle.java?view=diff&r1=157055&r2=157056
==============================================================================
---
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Circle.java
(original)
+++
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Circle.java
Fri Mar 11 00:31:30 2005
@@ -31,11 +31,11 @@
_r = r;
}
- public double area() {
+ public double getArea() {
return 3.14 * _r * _r;
}
- public double perimeter() {
+ public double getPerimeter() {
return 2 * 3.14 * _r;
}
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Rectangular.java
URL:
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Rectangular.java?view=diff&r1=157055&r2=157056
==============================================================================
---
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Rectangular.java
(original)
+++
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Rectangular.java
Fri Mar 11 00:31:30 2005
@@ -32,11 +32,11 @@
return "Rectangular";
}
- public double area(){
+ public double getArea(){
return _h * _b;
}
- public double perimeter(){
+ public double getPerimeter(){
return (_h + _b) * 2;
}
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Shape.java
URL:
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Shape.java?view=diff&r1=157055&r2=157056
==============================================================================
---
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Shape.java
(original)
+++
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Shape.java
Fri Mar 11 00:31:30 2005
@@ -21,6 +21,6 @@
*/
public interface Shape {
String getName();
- abstract double area();
- abstract double perimeter();
+ abstract double getArea();
+ abstract double getPerimeter();
}
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Square.java
URL:
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Square.java?view=diff&r1=157055&r2=157056
==============================================================================
---
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Square.java
(original)
+++
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/java/org/apache/cocoon/samples/tour/shapes/Square.java
Fri Mar 11 00:31:30 2005
@@ -30,11 +30,11 @@
return "Square";
}
- public double area() {
+ public double getArea() {
return _b*_b;
}
- public double perimeter() {
+ public double getPerimeter() {
return 4*_b;
}
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/samples/flow/java-shapes/java-shapes.js
URL:
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/tour/samples/flow/java-shapes/java-shapes.js?view=diff&r1=157055&r2=157056
==============================================================================
---
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/samples/flow/java-shapes/java-shapes.js
(original)
+++
cocoon/branches/BRANCH_2_1_X/src/blocks/tour/samples/flow/java-shapes/java-shapes.js
Fri Mar 11 00:31:30 2005
@@ -16,7 +16,7 @@
// Shape's area and perimeter calculation example.
-var calculator = Packages.org.apache.cocoon.samples.supersonic.shapes.Shape;
+var calculator = null;
function public_startShape() {
var hint = "Calculate shape's area and perimeter using logic in java. ";
@@ -28,26 +28,26 @@
// send shape-specific view
cocoon.sendPageAndWait("java-shapes/views/" + shapeId, {"shapeId" :
shapeId});
+ // get request parameters (of which some are null depending on shape,
that's not a problem)
+ var h = parseInt( cocoon.request.get("h") );
+ var b = parseInt( cocoon.request.get("b") );
+ var r = parseInt( cocoon.request.get("r") );
+
// instantiate appropriate calculator
- switch (shapeId){
- case "square":
- var b = parseInt( cocoon.request.get("b") );
- calculator = new
Packages.org.apache.cocoon.samples.tour.shapes.Square(b);
- break;
- case "rectangular":
- var h = parseInt( cocoon.request.get("h") );
- var b = parseInt( cocoon.request.get("b") );
- calculator = new
Packages.org.apache.cocoon.samples.tour.shapes.Rectangular(b,h);
- break;
- case "circle":
- var r = parseInt( cocoon.request.get("r") );
- calculator = new
Packages.org.apache.cocoon.samples.tour.shapes.Circle(r);
- break;
+ if(shapeId == "square") {
+ calculator = new
Packages.org.apache.cocoon.samples.tour.shapes.Square(b);
+ } else if(shapeId=="rectangular") {
+ calculator = new
Packages.org.apache.cocoon.samples.tour.shapes.Rectangular(b,h);
+ } else if(shapeId=="circle") {
+ calculator = new
Packages.org.apache.cocoon.samples.tour.shapes.Circle(r);
+ } else {
+ throw new java.lang.Exception("No calculator found for shape '" +
shapeId + "'");
}
// compute results
- var a = calculator.area();
- var p = calculator.perimeter();
+ // (accessing bean-like properties like "getArea()" using property names
like "area")
+ var a = calculator.area;
+ var p = calculator.perimeter;
cocoon.sendPage("java-shapes/views/results", {"area" : a, "perimeter" : p,
"shape" : shapeId} );
-}
\ No newline at end of file
+}