01: /*
02: * This file is part of PFIXCORE.
03: *
04: * PFIXCORE is free software; you can redistribute it and/or modify
05: * it under the terms of the GNU Lesser General Public License as published by
06: * the Free Software Foundation; either version 2 of the License, or
07: * (at your option) any later version.
08: *
09: * PFIXCORE is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU Lesser General Public License for more details.
13: *
14: * You should have received a copy of the GNU Lesser General Public License
15: * along with PFIXCORE; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17: *
18: */
19:
20: package de.schlund.pfixcore.example;
21:
22: import de.schlund.pfixcore.example.iwrapper.CounterInput;
23: import de.schlund.pfixcore.generator.IHandler;
24: import de.schlund.pfixcore.generator.IWrapper;
25: import de.schlund.pfixcore.workflow.Context;
26: import de.schlund.util.statuscodes.StatusCodeLib;
27:
28: /**
29: * CounterSetHandler.java
30: *
31: *
32: * Created: Wed Nov 21 18:44:20 2001
33: *
34: * @author <a href="mailto:jtl@schlund.de">Jens Lautenbacher</a>
35: *
36: *
37: */
38:
39: public class CounterSetHandler implements IHandler {
40: // private static final Logger LOG = Logger.getLogger(CounterSetHandler.class);
41:
42: public void handleSubmittedData(Context context, IWrapper wrapper)
43: throws Exception {
44: CounterInput counter = (CounterInput) wrapper;
45: ContextCounter cc = SampleRes.getContextCounter(context);
46:
47: Integer count = counter.getSet();
48: if (count != null) {
49: cc.setCounter(count.intValue());
50: }
51:
52: // demo of pageMessage feature
53: int c = cc.getCounter();
54: if (c > 9) {
55: context
56: .addPageMessage(
57: StatusCodeLib.PFIXCORE_EXAMPLE_COUNTER_WARN_GREATER_9,
58: new String[] { "" + c }, "error");
59: context.prohibitContinue();
60: } else if (c > 5) {
61: context
62: .addPageMessage(
63: StatusCodeLib.PFIXCORE_EXAMPLE_COUNTER_WARN_GREATER_5,
64: new String[] { "" + c }, "warn");
65: } else if (c > 3) {
66: context
67: .addPageMessage(
68: StatusCodeLib.PFIXCORE_EXAMPLE_COUNTER_INFO_GREATER_3,
69: new String[] { "" + c }, "info");
70: }
71: }
72:
73: public void retrieveCurrentStatus(Context context, IWrapper wrapper)
74: throws Exception {
75: CounterInput counter = (CounterInput) wrapper;
76: ContextCounter cc = SampleRes.getContextCounter(context);
77: counter.setStringValSet("" + cc.getCounter());
78: }
79:
80: public boolean needsData(Context context) {
81: return false;
82: }
83:
84: public boolean isActive(Context context) {
85: return true;
86: }
87:
88: public boolean prerequisitesMet(Context context) {
89: return true;
90: }
91:
92: }// CounterSetHandler
|