01: /*
02: * Copyright 2006-2007 The Kuali Foundation.
03: *
04: * Licensed under the Educational Community License, Version 1.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.opensource.org/licenses/ecl1.php
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16:
17: package org.kuali.workflow.postprocessor;
18:
19: import java.rmi.RemoteException;
20:
21: import org.apache.log4j.Logger;
22: import org.kuali.rice.KNSServiceLocator;
23:
24: import edu.iu.uis.eden.clientapp.PostProcessorRemote;
25: import edu.iu.uis.eden.clientapp.vo.ActionTakenEventVO;
26: import edu.iu.uis.eden.clientapp.vo.DeleteEventVO;
27: import edu.iu.uis.eden.clientapp.vo.DocumentRouteLevelChangeVO;
28: import edu.iu.uis.eden.clientapp.vo.DocumentRouteStatusChangeVO;
29:
30: /**
31: *
32: * This class is the public entry point by which workflow communicates status changes,
33: * level changes, and other useful changes.
34: *
35: * Note that this class delegates all of these activities to the PostProcessorService,
36: * which does the actual work. This is done to ensure proper transaction scoping, and
37: * to resolve some issues present otherwise.
38: *
39: * Because of this, its important to understand that a transaction will be started at
40: * the PostProcessorService method call, so any work that needs to be done within the
41: * same transaction needs to happen inside that service implementation, rather than
42: * in here.
43: *
44: */
45: public class KualiPostProcessor implements PostProcessorRemote {
46:
47: private static Logger LOG = Logger
48: .getLogger(KualiPostProcessor.class);
49:
50: /**
51: *
52: * @see edu.iu.uis.eden.clientapp.PostProcessorRemote#doRouteStatusChange(edu.iu.uis.eden.clientapp.vo.DocumentRouteStatusChangeVO)
53: */
54: public boolean doRouteStatusChange(
55: DocumentRouteStatusChangeVO statusChangeEvent)
56: throws RemoteException {
57: return KNSServiceLocator.getPostProcessorService()
58: .doRouteStatusChange(statusChangeEvent);
59: }
60:
61: /**
62: *
63: * @see edu.iu.uis.eden.clientapp.PostProcessorRemote#doActionTaken(edu.iu.uis.eden.clientapp.vo.ActionTakenEventVO)
64: */
65: public boolean doActionTaken(ActionTakenEventVO event)
66: throws RemoteException {
67: return KNSServiceLocator.getPostProcessorService()
68: .doActionTaken(event);
69: }
70:
71: /**
72: *
73: * @see edu.iu.uis.eden.clientapp.PostProcessorRemote#doDeleteRouteHeader(edu.iu.uis.eden.clientapp.vo.DeleteEventVO)
74: */
75: public boolean doDeleteRouteHeader(DeleteEventVO event)
76: throws RemoteException {
77: return KNSServiceLocator.getPostProcessorService()
78: .doDeleteRouteHeader(event);
79: }
80:
81: /**
82: *
83: * @see edu.iu.uis.eden.clientapp.PostProcessorRemote#doRouteLevelChange(edu.iu.uis.eden.clientapp.vo.DocumentRouteLevelChangeVO)
84: */
85: public boolean doRouteLevelChange(
86: DocumentRouteLevelChangeVO levelChangeEvent)
87: throws RemoteException {
88: return KNSServiceLocator.getPostProcessorService()
89: .doRouteLevelChange(levelChangeEvent);
90: }
91:
92: }
|