blob: 24de607b5830eeaa741bc90089cc268d0ba714ec [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
// Shape's area and perimeter calculation example.
var calculator = null;
function public_startShape() {
var hint = "Calculate shape's area and perimeter using logic in java. ";
// let user select shape
cocoon.sendPageAndWait("java-shapes/views/select", {"hint" : hint});
var shapeId = cocoon.request.get("shape");
// 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
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
// (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} );
}