Hello everybody,

Using cocoon 2.1.6..

i have attached a simple calculator java flow application. i am calling a 
function doCalculator from CalculatorFlow in the sitemap.

When i deploy the application in tomcat i always get,

No method 'doCalculator' found. {calculator=public void 
CalculatorFlow.doCalculator()}

though the method is mentioned in CalculatorFlow.java

Can someone point me in correct direction here, please. It really drives me 
crazy.

Hoping for your reply.
thanks.

p.s.: i have not attached the user interface files
import org.apache.cocoon.components.flow.java.AbstractContinuable;
import org.apache.cocoon.components.flow.java.VarMap;

public class CalculatorFlow extends AbstractContinuable {

    private int count = 1;

    public void doCalculator() {
        float a = getNumber("a", 0f, 0f);
        float b = getNumber("b", a, 0f);
        String op = getOperator(a, b);

        if (op.equals("plus")) {
            sendResult(a, b, op, a + b);
        } else if (op.equals("minus")) {
            sendResult(a, b, op, a - b);
        } else if (op.equals("multiply")) {
            sendResult(a, b, op, a * b);
        } else if (op.equals("divide")) {
            if (b==0f)
                sendMessage("Error: Cannot divide by zero!");
            sendResult(a, b, op, a / b);
        } else {
            sendMessage("Error: Unkown operator!");
        }

        count++;
    }

    public float getNumber(String name, float a, float b) {
        String uri = "page/calculator-" + name.toLowerCase();
        sendPageAndWait(uri, new VarMap().add("a", a).add("b", b).add("count", count));

        float value = 0f;
        try {
            value = Float.parseFloat(getRequest().getParameter(name));
        } catch (Exception e) {
            sendMessage("Error: \""+getRequest().getParameter(name)+"\" is not a correct number!");
        }
        return value;
    }

    public String getOperator(float a, float b) {
        sendPageAndWait("page/calculator-operator", new VarMap().add("a", a).add("b", b).add("count", count));
        return getRequest().getParameter("operator");
    }

    public void sendResult(float a, float b, String op, float result) {
        sendPage("page/calculator-result", new VarMap().add("a", a).add("b", b).add("operator", op).add("result", result).add("count", count));
    }

    public void sendMessage(String message) {
        sendPageAndWait("page/calculator-message", new VarMap().add("message", message).add("count", count));
    }
}

Attachment: sitemap.xmap
Description: Binary data

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to