85f975363478f4c1b7ede8960813e9601fe21071
[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.util.ArrayList;\r
32 import java.util.List;\r
33 import java.util.StringTokenizer;\r
34 \r
35 import javax.naming.Context;\r
36 import javax.naming.InitialContext;\r
37 import javax.sql.DataSource;\r
38 import javax.ws.rs.GET;\r
39 import javax.ws.rs.POST;\r
40 import javax.ws.rs.PUT;\r
41 \r
42 import org.camunda.bpm.cockpit.db.QueryParameters;\r
43 import org.camunda.bpm.cockpit.plugin.resource.AbstractCockpitPluginResource;\r
44 \r
45 \r
46 //import org.camunda.bpm.cockpit.plugin.resource.AbstractPluginResource;\r
47 import org.openecomp.camunda.bpmn.plugin.urnmap.db.URNData;\r
48 import org.openecomp.mso.logger.MsoLogger;\r
49 \r
50 \r
51 //public class ProcessInstanceResource extends AbstractPluginResource {\r
52 public class URNResource extends AbstractCockpitPluginResource{\r
53   public URNResource(String engineName) {\r
54     super(engineName);\r
55   }\r
56   \r
57   private Connection conn;\r
58   private static MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);\r
59   @GET\r
60   public List<URNData> getUrnDataMap() \r
61   {  \r
62           List<URNData> list = new ArrayList();\r
63           PreparedStatement psData = null;\r
64           ResultSet r = 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                             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                         \r
86                         e.printStackTrace();\r
87                 } finally {\r
88                         try { r.close(); } catch (Exception e) { /* ignored */ }\r
89                         try { psData.close(); } catch (Exception e) { /* ignored */ }\r
90                         try { conn.close(); } catch (Exception e) { /* ignored */ }\r
91                 }\r
92      \r
93     for(URNData d: list)\r
94     {\r
95         msoLogger.debug(  d.getURNName() + "            "  + d.getURNValue());\r
96         //msoLogger.debug("Started Executing " + getTaskName());\r
97         msoLogger.debug("Started Executing " + d.getURNName() + " " + d.getURNValue());\r
98     }\r
99    \r
100     return list;\r
101   }\r
102   \r
103   public List<URNData> getUrnDataMapOLD() \r
104   {  \r
105           \r
106     List<URNData> list = getQueryService()\r
107             .executeQuery("cockpit.urnMap.retrieveUrnKeyValuePair", new QueryParameters<URNData>());\r
108     \r
109     msoLogger.debug("urnmap-plugin project - Results Retrieved: ");\r
110     msoLogger.debug("URNName: " + "             " + "URNValue: " );\r
111     \r
112     for(URNData d: list)\r
113     {\r
114         //msoLogger.debug(  d.getURNName() + "          "  + d.getURNValue());\r
115         msoLogger.debug( d.getURNName() + "             "  + d.getURNValue());\r
116     }\r
117    \r
118     return list;\r
119   }\r
120   \r
121   public Connection getDBConnection()\r
122   {\r
123           try {\r
124                         \r
125                         if(conn == null)\r
126                         {\r
127                                 Context ctx = new InitialContext();\r
128                             DataSource ds = (DataSource)ctx.lookup("java:jboss/datasources/ProcessEngine");//jboss\r
129                         conn =                  ds.getConnection();\r
130          \r
131                         }                        \r
132                         \r
133                 } catch (Exception e) \r
134                 {\r
135                         \r
136                         e.printStackTrace();\r
137                 }\r
138           \r
139           return conn;\r
140   }\r
141   \r
142   @PUT\r
143   public void insertNewRow(String temp) \r
144    {  \r
145          msoLogger.debug("AddNewRow: XXXXXXXXXXXXXXXXX ---> " + temp);\r
146          msoLogger.debug("AddNewRow: EngineName  ---> " + engineName);\r
147          \r
148          StringTokenizer st = new StringTokenizer(temp, "|");\r
149          String key_ = "";\r
150          String value_ = "";\r
151          \r
152          while(st.hasMoreTokens()) { \r
153                   key_ = st.nextToken(); \r
154                   value_ = st.nextToken(); \r
155                  msoLogger.debug(key_ + "\t" + value_); \r
156                  } \r
157                          \r
158        msoLogger.debug("AddNewRow: XXXXXXXXXXXXXXXXX ---> key: " + key_ + " , Value: " + value_);\r
159           final URNData nRow = new URNData();\r
160           nRow.setVer_("1");    \r
161           final String myKey = key_;\r
162           final String myValue = value_;\r
163            \r
164             PreparedStatement psData = null;\r
165                 msoLogger.debug("----------- START ----------------------");\r
166                 try {\r
167                         \r
168                     conn = getDBConnection();\r
169                                 psData = conn\r
170                                                 .prepareStatement("Insert into MSO_URN_MAPPING values ('" + key_ + "', '" + value_  + "', '1')");\r
171                             \r
172                             psData.executeUpdate();\r
173                             \r
174                         //}                      \r
175                         \r
176                 } catch (Exception e) \r
177                 {\r
178                         \r
179                         e.printStackTrace();\r
180                 } finally {\r
181                         try { psData.close(); } catch (Exception e) { /* ignored */ }\r
182                         try { conn.close(); } catch (Exception e) { /* ignored */ }\r
183                 }\r
184         // getQueryService().executeQuery("cockpit.urnMap.insertNewRow", nRow, URNData.class);\r
185    }\r
186   \r
187   @POST\r
188   public void getPersistData(URNData d) {  \r
189           \r
190                 //getQueryService().executeQuery("cockpit.urnMap.persistURNData", d, URNData.class);\r
191           PreparedStatement psData = null;\r
192           try {\r
193                         \r
194                     conn = getDBConnection();\r
195                                 psData = conn\r
196                                                 .prepareStatement("UPDATE MSO_URN_MAPPING set VALUE_ ='"+ d.getURNValue() + "' WHERE NAME_='" + d.getURNName() + "'");\r
197                             \r
198                             psData.executeUpdate();\r
199                             \r
200                 } catch (Exception e) \r
201                 {\r
202                         \r
203                         e.printStackTrace();\r
204                 } finally {\r
205                         try { psData.close(); } catch (Exception e) { /* ignored */ }\r
206                         try { conn.close(); } catch (Exception e) { /* ignored */ }\r
207                 }\r
208          \r
209         }\r
210 }\r