01: /**
02: * $Id: DirectReportManager.java,v 1.2 2005/10/19 10:26:29 ks161616 Exp $
03: * Copyright 2005 Sun Microsystems, Inc. All
04: * rights reserved. Use of this product is subject
05: * to license terms. Federal Acquisitions:
06: * Commercial Software -- Government Users
07: * Subject to Standard License Terms and
08: * Conditions.
09: *
10: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
11: * are trademarks or registered trademarks of Sun Microsystems,
12: * Inc. in the United States and other countries.
13: */package com.sun.portal.sapportlet.manager;
14:
15: import com.sun.portal.sapportlet.config.SAPUserConfig;
16: import javax.xml.rpc.Stub;
17: import java.util.ArrayList;
18: import java.util.List;
19: import java.util.logging.Logger;
20: import java.rmi.RemoteException;
21: import com.sun.portal.sapportlet.SAPPortletConstants;
22: import com.sun.portal.sapportlet.stubs.manager.*;
23:
24: public class DirectReportManager implements SAPPortletConstants {
25:
26: private static Logger logger = Logger.getLogger(LOGGER_NAMESPACE);
27: private HRWPC_RFC_GET_OBJECTSPortType portType = null;
28: private SAPUserConfig userConfig = null;
29:
30: /** Creates a new instance of DirectReportManager */
31: public DirectReportManager() {
32: }
33:
34: /*
35: * This method read the sap configuration details and initializes the
36: * web service stub
37: */
38: public void init(SAPUserConfig userConfig, String endPointAddress) {
39:
40: //logger.fine("Init of SalesOrderManager");
41:
42: this .userConfig = userConfig;
43: // String endPointAddress = SAPConfiguration.getEndpointAddress();
44:
45: String userName = userConfig.getUserName();
46: String userPass = userConfig.getUserPassword();
47:
48: Stub stub = createProxy();
49: stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,
50: endPointAddress);
51: stub._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY,
52: userName);
53: stub._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY,
54: userPass);
55:
56: portType = (HRWPC_RFC_GET_OBJECTSPortType) stub;
57: }
58:
59: public List findDirectReportsForManager(String userName)
60: throws RemoteException {
61:
62: List results = new ArrayList();
63: HRWPC_RFC_GET_OBJECTS parameters = new HRWPC_RFC_GET_OBJECTS();
64: parameters.setUSER(userName.toUpperCase());
65: parameters.setVIEWID("O_SDIR");
66: parameters.setCACHEVALID(new Integer(0));
67: parameters.setBEGDA(TIME_INTERVAL_LOW);
68: parameters.setENDDA(TIME_INTERVAL_HIGH);
69:
70: HRWPC_RFC_GET_OBJECTSRESULT_OBJECT resultObj = new HRWPC_RFC_GET_OBJECTSRESULT_OBJECT();
71: HRWPC_RFC_GET_OBJECTSRESULT_STRUC struc = new HRWPC_RFC_GET_OBJECTSRESULT_STRUC();
72: parameters.setRESULT_OBJECT(resultObj);
73: parameters.setRESULT_STRUC(struc);
74: HRWPC_RFC_GET_OBJECTSResponse res = null;
75: HRWPC_RFC_GET_OBJECTSResponseRESULT_OBJECT response = null;
76: //invoke the Web Service
77: res = portType.HRWPC_RFC_GET_OBJECTS(parameters);
78: response = res.getRESULT_OBJECT();
79:
80: HRWPC_S_KEYOBJEC[] data = response.getItem();
81: for (int k = 0; k < data.length; k++) {
82: results.add(new DirectReport((HRWPC_S_KEYOBJEC) data[k]));
83: }
84: return results;
85: }
86:
87: private static Stub createProxy() {
88: return (Stub) (new HRWPC_RFC_GET_OBJECTSService_Impl()
89: .getHRWPC_RFC_GET_OBJECTSPortType());
90: }
91:
92: public SAPUserConfig getUserConfig() {
93: return userConfig;
94: }
95: }
|