5ef77eec409f1e9313e20c9331c29357bb644cc6
[so.git] / bpmn / MSOURN-plugin / src / main / java / org / openecomp / camunda / bpmn / plugin / urnmap / resources / URNResource.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP - SO\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 package org.openecomp.camunda.bpmn.plugin.urnmap.resources;\r
22 /***\r
23 import java.beans.Statement;\r
24 import java.sql.DriverManager;\r
25 import java.sql.ResultSet;\r
26 import java.sql.SQLException;\r
27 */\r
28 import java.sql.Connection;\r
29 import java.sql.PreparedStatement;\r
30 import java.sql.ResultSet;\r
31 import java.sql.SQLException;\r
32 import java.util.ArrayList;\r
33 import java.util.List;\r
34 import java.util.StringTokenizer;\r
35 \r
36 import javax.naming.Context;\r
37 import javax.naming.InitialContext;\r
38 import javax.sql.DataSource;\r
39 import javax.ws.rs.GET;\r
40 import javax.ws.rs.POST;\r
41 import javax.ws.rs.PUT;\r
42 \r
43 import org.camunda.bpm.cockpit.db.QueryParameters;\r
44 import org.camunda.bpm.cockpit.plugin.resource.AbstractCockpitPluginResource;\r
45 \r
46 \r
47 //import org.camunda.bpm.cockpit.plugin.resource.AbstractPluginResource;\r
48 import org.openecomp.camunda.bpmn.plugin.urnmap.db.URNData;\r
49 import org.openecomp.mso.logger.MsoLogger;\r
50 \r
51 \r
52 //public class ProcessInstanceResource extends AbstractPluginResource {\r
53 public class URNResource extends AbstractCockpitPluginResource{\r
54   public URNResource(String engineName) {\r
55     super(engineName);\r
56   }\r
57   \r
58   private Connection conn;\r
59   private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);\r
60   @GET\r
61   public List<URNData> getUrnDataMap() \r
62   {  \r
63           List<URNData> list = new ArrayList();\r
64           PreparedStatement psData = null;\r
65           try {\r
66                         \r
67                     conn = getDBConnection();\r
68                         psData = conn\r
69                                                 .prepareStatement("select * from MSO_URN_MAPPING order by NAME_");\r
70                             \r
71                             ResultSet r = psData.executeQuery();\r
72                             \r
73                                 while(r.next()) \r
74                                 {\r
75                                         URNData d = new URNData();\r
76                                         d.setURNName(r.getString("NAME_"));\r
77                                         d.setURNValue(r.getString("VALUE_"));\r
78                                         d.setVer_( r.getString("REV_"));\r
79                                         \r
80                                         list.add(d);                                    \r
81                                 }\r
82                                 \r
83                 } catch (Exception e) \r
84                 {\r
85                         msoLogger.debug("Exception in getUrnDataMap " + e);                     \r
86                 } finally {\r
87                         if(psData != null){\r
88                                 try {\r
89                                         psData.close();\r
90                                         conn.close();\r
91                                 } catch (SQLException e) {\r
92                                         msoLogger.debug("Exception while closing the PreparedStatement: " + e);\r
93                                 }\r
94                         }\r
95                         if(conn != null){\r
96                                 try {\r
97                                         conn.close();\r
98                                 } catch (SQLException e) {\r
99                                         msoLogger.debug("Exception while closing the connection: " + e);\r
100                                 }\r
101                         }\r
102                 }\r
103      \r
104     for(URNData d: list)\r
105     {\r
106         msoLogger.debug(  d.getURNName() + "            "  + d.getURNValue());\r
107         //msoLogger.debug("Started Executing " + getTaskName());\r
108         msoLogger.debug("Started Executing " + d.getURNName() + " " + d.getURNValue());\r
109     }\r
110    \r
111     return list;\r
112   }\r
113   \r
114   public List<URNData> getUrnDataMapOLD() \r
115   {  \r
116           \r
117     List<URNData> list = getQueryService()\r
118             .executeQuery("cockpit.urnMap.retrieveUrnKeyValuePair", new QueryParameters<URNData>());\r
119     \r
120     msoLogger.debug("urnmap-plugin project - Results Retrieved: ");\r
121     msoLogger.debug("URNName: " + "             " + "URNValue: " );\r
122     \r
123     for(URNData d: list)\r
124     {\r
125         //msoLogger.debug(  d.getURNName() + "          "  + d.getURNValue());\r
126         msoLogger.debug( d.getURNName() + "             "  + d.getURNValue());\r
127     }\r
128    \r
129     return list;\r
130   }\r
131   \r
132   public Connection getDBConnection()\r
133   {\r
134           try {\r
135                         \r
136                         if(conn == null)\r
137                         {\r
138                                 Context ctx = new InitialContext();\r
139                             DataSource ds = (DataSource)ctx.lookup("java:jboss/datasources/ProcessEngine");//jboss\r
140                         conn =                  ds.getConnection();\r
141          \r
142                         }                        \r
143                         \r
144                 } catch (Exception e) \r
145                 {\r
146                         msoLogger.debug("Exception in DBConnection " + e);\r
147                 }\r
148           \r
149           return conn;\r
150   }\r
151   \r
152   @PUT\r
153   public void insertNewRow(String temp) \r
154    {  \r
155          msoLogger.debug("AddNewRow: XXXXXXXXXXXXXXXXX ---> " + temp);\r
156          msoLogger.debug("AddNewRow: EngineName  ---> " + engineName);\r
157          \r
158          StringTokenizer st = new StringTokenizer(temp, "|");\r
159          String key_ = "";\r
160          String value_ = "";\r
161          \r
162          while(st.hasMoreTokens()) { \r
163                   key_ = st.nextToken(); \r
164                   value_ = st.nextToken(); \r
165                  msoLogger.debug(key_ + "\t" + value_); \r
166                  } \r
167                          \r
168        msoLogger.debug("AddNewRow: XXXXXXXXXXXXXXXXX ---> key: " + key_ + " , Value: " + value_);\r
169           final URNData nRow = new URNData();\r
170           nRow.setVer_("1");    \r
171           final String myKey = key_;\r
172           final String myValue = value_;\r
173           PreparedStatement psData = null;\r
174           \r
175                 msoLogger.debug("----------- START ----------------------");\r
176                 try {\r
177                         \r
178                     conn = getDBConnection();\r
179                         psData = conn\r
180                                                 .prepareStatement("Insert into MSO_URN_MAPPING values ('" + key_ + "', '" + value_  + "', '1')");\r
181                             \r
182                             psData.executeUpdate();              \r
183                         \r
184                 } catch (Exception e) \r
185                 {\r
186                         msoLogger.debug("Exception in insertNewRow " + e);\r
187                 }finally {\r
188                         if(psData != null){\r
189                                 try {\r
190                                         psData.close();\r
191                                         conn.close();\r
192                                 } catch (SQLException e) {\r
193                                         msoLogger.debug("Exception while closing the PreparedStatement: " + e);\r
194                                 }\r
195                         }\r
196                         if(conn != null){\r
197                                 try {\r
198                                         conn.close();\r
199                                 } catch (SQLException e) {\r
200                                         msoLogger.debug("Exception while closing the connection: " + e);\r
201                                 }\r
202                         }\r
203                 }\r
204         // getQueryService().executeQuery("cockpit.urnMap.insertNewRow", nRow, URNData.class);\r
205    }\r
206   \r
207   @POST\r
208   public void getPersistData(URNData d) {  \r
209           \r
210                 //getQueryService().executeQuery("cockpit.urnMap.persistURNData", d, URNData.class);\r
211             PreparedStatement psData = null;\r
212           try {\r
213                         \r
214                     conn = getDBConnection();\r
215                         psData = conn\r
216                                                 .prepareStatement("UPDATE MSO_URN_MAPPING set VALUE_ ='"+ d.getURNValue() + "' WHERE NAME_='" + d.getURNName() + "'");\r
217                             \r
218                             psData.executeUpdate();\r
219                            \r
220                 } catch (Exception e) \r
221                 {\r
222                         msoLogger.debug("Exception in PersistData " + e);\r
223                 }finally {\r
224                         if(psData != null){\r
225                                 try {\r
226                                         psData.close();\r
227                                         conn.close();\r
228                                 } catch (SQLException e) {\r
229                                         msoLogger.debug("Exception while closing the PreparedStatement: " + e);\r
230                                 }\r
231                         }\r
232                         if(conn != null){\r
233                                 try {\r
234                                         conn.close();\r
235                                 } catch (SQLException e) {\r
236                                         msoLogger.debug("Exception while closing the connection: " + e);\r
237                                 }\r
238                         }\r
239                 }\r
240          \r
241         }\r
242 }\r