View Javadoc
1   package org.kuali.ole.sip2.service.impl;
2   
3   import org.apache.commons.lang3.StringUtils;
4   import org.apache.log4j.Logger;
5   import org.kuali.ole.sip2.constants.OLESIP2Constants;
6   import org.kuali.ole.sip2.service.NettyServer;
7   import org.kuali.ole.sip2.service.SIP2HelperService;
8   import org.kuali.rice.core.api.config.property.ConfigContext;
9   import org.kuali.rice.krad.service.BusinessObjectService;
10  import org.kuali.rice.krad.service.KRADServiceLocator;
11  
12  /**
13   * Created by chenchulakshmig on 8/27/15.
14   */
15  public class SIP2HelperServiceImpl implements SIP2HelperService {
16  
17      Logger LOG = Logger.getLogger(SIP2HelperServiceImpl.class);
18  
19      private BusinessObjectService businessObjectService;
20  
21      private BusinessObjectService getBusinessObjectService() {
22          if (null == businessObjectService) {
23              businessObjectService = KRADServiceLocator.getBusinessObjectService();
24          }
25          return businessObjectService;
26      }
27  
28      public void setBusinessObjectService(BusinessObjectService businessObjectService) {
29          this.businessObjectService = businessObjectService;
30      }
31  
32      @Override
33      public NettyServer startOLESip2Server(StringBuffer responseString, NettyServer olesip2Server) {
34          LOG.info("******** Request for starting OLE Socket server ********");
35          String portNo = ConfigContext.getCurrentContextConfig().getProperty("sip2.port");
36          String serverUrl = ConfigContext.getCurrentContextConfig().getProperty("sip2.url");
37          //String circulationService=parameterMap.get("circulationService")[0];
38          if (StringUtils.isNotBlank(portNo) && StringUtils.isNotBlank(serverUrl)) {
39  
40              olesip2Server = new NettyServer(Integer.parseInt(portNo), serverUrl);
41  
42              try {
43                  Thread thread = new Thread(olesip2Server);
44                  thread.start();
45                  try {
46                      Thread.sleep(5 * 1000);
47                      if (olesip2Server.getMessage() != null) {
48                          responseString.append(olesip2Server.getMessage());
49                      } else {
50                          responseString.append(OLESIP2Constants.STARTED_SUCCESSFULLY);
51                          LOG.info("******** " + OLESIP2Constants.STARTED_SUCCESSFULLY + " ********");
52                      }
53                  } catch (Exception e) {
54                      e.printStackTrace();
55                      responseString.append(OLESIP2Constants.PROBLEM_WITH_SERVER + "\n");
56                      responseString.append("Exception: \n" + e);
57                  }
58              } catch (Exception e) {
59                  e.printStackTrace();
60                  responseString.append(OLESIP2Constants.PROBLEM_WITH_SERVER + "\n");
61                  responseString.append("Exception: \n" + e);
62              }
63  
64              //}
65  
66          } else {
67              responseString.append(OLESIP2Constants.FAIL_TO_LOAD + "\n");
68              responseString.append(OLESIP2Constants.PARAMETER_MISSING);
69              LOG.info("******** " + OLESIP2Constants.FAIL_TO_LOAD + " ********");
70              LOG.info("******** " + OLESIP2Constants.PARAMETER_MISSING + " ********");
71          }
72          return olesip2Server;
73  
74      }
75  
76  
77      @Override
78      public void stopOLESip2Server(StringBuffer responseString, NettyServer olesip2Server) {
79          LOG.info("******** Request for stop OLE Socket server ********");
80          if (olesip2Server != null) {
81              olesip2Server.stop();
82              responseString.append(OLESIP2Constants.SERVER_STOPPED);
83              LOG.info("******** " + OLESIP2Constants.SERVER_STOPPED + " ********");
84          }
85  
86      }
87  
88      @Override
89      public void startOLESip2Server() {
90          boolean onLoadStartup = ConfigContext.getCurrentContextConfig().getBooleanProperty("sip2.startOnLoad");
91          if (onLoadStartup) {
92              StringBuffer responseString = new StringBuffer();
93              OLESIP2Constants.sip2Server = startOLESip2Server(responseString, OLESIP2Constants.sip2Server);
94              LOG.info(responseString.toString());
95          }
96  
97      }
98  
99      @Override
100     public void stopOLESip2Server() {
101         StringBuffer responseString = new StringBuffer();
102         stopOLESip2Server(responseString, OLESIP2Constants.sip2Server);
103         LOG.info(responseString.toString());
104 
105     }
106 
107 }