MCPcopy Create free account
hub / github.com/apache/thrift / calculate

Method calculate

tutorial/java/src/CalculatorHandler.java:45–80  ·  view source on GitHub ↗
(int logid, Work work)

Source from the content-addressed store, hash-verified

43 }
44
45 public int calculate(int logid, Work work) throws InvalidOperation {
46 System.out.println("calculate(" + logid + ", {" + work.op + "," + work.num1 + "," + work.num2 + "})");
47 int val = 0;
48 switch (work.op) {
49 case ADD:
50 val = work.num1 + work.num2;
51 break;
52 case SUBTRACT:
53 val = work.num1 - work.num2;
54 break;
55 case MULTIPLY:
56 val = work.num1 * work.num2;
57 break;
58 case DIVIDE:
59 if (work.num2 == 0) {
60 InvalidOperation io = new InvalidOperation();
61 io.whatOp = work.op.getValue();
62 io.why = "Cannot divide by 0";
63 throw io;
64 }
65 val = work.num1 / work.num2;
66 break;
67 default:
68 InvalidOperation io = new InvalidOperation();
69 io.whatOp = work.op.getValue();
70 io.why = "Unknown operation";
71 throw io;
72 }
73
74 SharedStruct entry = new SharedStruct();
75 entry.key = logid;
76 entry.value = Integer.toString(val);
77 log.put(logid, entry);
78
79 return val;
80 }
81
82 public SharedStruct getStruct(int key) {
83 System.out.println("getStruct(" + key + ")");

Callers 1

performMethod · 0.45

Calls 3

putMethod · 0.80
getValueMethod · 0.65
toStringMethod · 0.45

Tested by

no test coverage detected