01: /*
02: * Copyright 2005-2007 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.php
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package edu.iu.uis.eden.routemanager;
18:
19: import edu.iu.uis.eden.ActionTakenEvent;
20: import edu.iu.uis.eden.DocumentRouteLevelChange;
21: import edu.iu.uis.eden.DocumentRouteStatusChange;
22: import edu.iu.uis.eden.EdenConstants;
23: import edu.iu.uis.eden.clientapp.DeleteEvent;
24: import edu.iu.uis.eden.postprocessor.PostProcessor;
25: import edu.iu.uis.eden.postprocessor.ProcessDocReport;
26:
27: public class ExceptionRoutingTestPostProcessor implements PostProcessor {
28:
29: public static boolean THROW_ROUTE_STATUS_CHANGE_EXCEPTION;
30: public static boolean THROW_ROUTE_STATUS_LEVEL_EXCEPTION;
31: public static boolean THROW_ROUTE_DELETE_ROUTE_HEADER_EXCEPTION;
32: public static boolean THROW_DO_ACTION_TAKEN_EXCEPTION;
33: public static boolean TRANSITIONED_OUT_OF_EXCEPTION_ROUTING = false;
34:
35: public ProcessDocReport doRouteStatusChange(
36: DocumentRouteStatusChange statusChangeEvent)
37: throws Exception {
38: if (THROW_ROUTE_STATUS_CHANGE_EXCEPTION) {
39: throw new RuntimeException(
40: "I am the doRouteStatusChange exploder");
41: }
42: if (EdenConstants.ROUTE_HEADER_EXCEPTION_CD
43: .equals(statusChangeEvent.getOldRouteStatus())) {
44: TRANSITIONED_OUT_OF_EXCEPTION_ROUTING = true;
45: }
46: return new ProcessDocReport(true, "");
47: }
48:
49: public ProcessDocReport doRouteLevelChange(
50: DocumentRouteLevelChange levelChangeEvent) throws Exception {
51: if (THROW_ROUTE_STATUS_LEVEL_EXCEPTION) {
52: throw new RuntimeException(
53: "I am the doRouteLevelChange exploder");
54: }
55: return new ProcessDocReport(true, "");
56: }
57:
58: public ProcessDocReport doDeleteRouteHeader(DeleteEvent event)
59: throws Exception {
60: if (THROW_ROUTE_DELETE_ROUTE_HEADER_EXCEPTION) {
61: throw new RuntimeException(
62: "I am the doDeleteRouteHeader exploder");
63: }
64: return new ProcessDocReport(true, "");
65: }
66:
67: public ProcessDocReport doActionTaken(ActionTakenEvent event)
68: throws Exception {
69: if (THROW_DO_ACTION_TAKEN_EXCEPTION) {
70: throw new RuntimeException(
71: "I am the doActionTaken exploder");
72: }
73: return new ProcessDocReport(true, "");
74: }
75:
76: }
|