source: EDIS/trunk/java/tracking-server-core/src/main/java/gov/va/med/edp/dao/rpc/VistaLinkBigBoardDao.java@ 1227

Last change on this file since 1227 was 1227, checked in by George Lilly, 13 years ago

initial load of EDIS 1.0

File size: 2.9 KB
Line 
1package gov.va.med.edp.dao.rpc;
2
3import gov.va.med.edp.dao.TrackingDao;
4import gov.va.med.edp.rpc.VistaLinkDaoSupport;
5import org.springframework.dao.DataAccessException;
6
7import java.util.ArrayList;
8import java.util.List;
9import java.util.Map;
10
11public class VistaLinkBigBoardDao extends VistaLinkDaoSupport implements TrackingDao {
12 static final String EDPS_BOARD_CONTEXT = "EDPS BOARD CONTEXT";
13 static final String EDP_CONTROLLER_BOARD_RPC = "EDPCBRD RPC";
14 static final String EDPTRACKING_APPLICATION_USER = "EDPTRACKING,PROXY";
15
16 /**
17 * Builds the list of parameters to pass to the RPC.
18 * First argument to the RPC is a string of the format "${duz}^${stationNumber}". If duz is null, will send "0^${stationNumber}"
19 * Second argument to the RPC is a multiple containing key value pairs passed in as a map.
20 *
21 * @param stationNumber The station number that this command is being executed on behalf of. Note how this is different
22 * from the station number of the vista account this dao is communicating with.
23 * @param duz user who command is being executed on behalf of. Can be null for some operations. Note how this is different
24 * from the "application user duz" that RPCs are executed with.
25 * @param params A map containing key value pairs that are passed to RPC as a multiple.
26 * @return list with two items in it, a string and a multiple, to be passed as RPC arguments.
27 */
28 protected List buildRpcParameterList(String stationNumber, String duz, Map params) {
29 ArrayList paramList = new ArrayList();
30 paramList.add((duz == null ? "0" : duz) + '^' + stationNumber);
31 paramList.add(params);
32 return paramList;
33 }
34
35 /**
36 * Commands executed by this data access object are always executed by the "application user" against the stationNumber
37 * set by the property on this bean.
38 *
39 * @param stationNumber The station number that this command is being executed on behalf of. Note how this is different
40 * from the station number of the vista account this dao is communicating with. Cannot be null.
41 * @param duz A duz to execute the command on behalf of. Can be null for some operations. Note how this is different
42 * from the "application user duz" that RPCs are executed with.
43 * @param params A map containing key value pairs that are passed to the RPC as a multiple.
44 * @return result of executing command RPC as a string.
45 * @throws org.springframework.dao.DataAccessException
46 *
47 */
48 public String executeCommand(String stationNumber, String duz, Map params) throws DataAccessException {
49 return getRpcTemplate().rpcAsApplication(stationNumber, EDPTRACKING_APPLICATION_USER, EDPS_BOARD_CONTEXT, EDP_CONTROLLER_BOARD_RPC, buildRpcParameterList(stationNumber, duz, params));
50 }
51}
Note: See TracBrowser for help on using the repository browser.