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

Last change on this file was 1257, checked in by Solomon Blaz, 13 years ago

deleted duplicate classes from gov.va.med.edp.rpc package in favor of ones in gov.va.med.edp.vistalink and configured rest of application accordingly

File size: 3.0 KB
Line 
1package gov.va.med.edp.dao.rpc;
2
3import gov.va.med.edp.dao.TrackingDao;
4import gov.va.med.edp.vistalink.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.