3dc6c249f50dbd31c1a876d689f1e3ed03f42de7
[so.git] / bpmn / MSOURN-plugin / src / main / java / org / openecomp / camunda / bpmn / plugin / urnmap / resources / URNResource.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * OPENECOMP - MSO\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           \r
64           try {\r
65                         \r
66                     conn = getDBConnection();\r
67                             PreparedStatement psData = conn\r
68                                                 .prepareStatement("select * from MSO_URN_MAPPING order by NAME_");\r
69                             \r
70                             ResultSet r = psData.executeQuery();\r
71                             \r
72                                 while(r.next()) \r
73                                 {\r
74                                         URNData d = new URNData();\r
75                                         d.setURNName(r.getString("NAME_"));\r
76                                         d.setURNValue(r.getString("VALUE_"));\r
77                                         d.setVer_( r.getString("REV_"));\r
78                                         \r
79                                         list.add(d);                                    \r
80                                 }\r
81                                 \r
82                             psData.close();\r
83                                 conn.close();\r
84                         \r
85                 } catch (Exception e) \r
86                 {\r
87                         \r
88                         e.printStackTrace();\r
89                 }\r
90      \r
91     for(URNData d: list)\r
92     {\r
93         msoLogger.debug(  d.getURNName() + "            "  + d.getURNValue());\r
94         //msoLogger.debug("Started Executing " + getTaskName());\r
95         msoLogger.debug("Started Executing " + d.getURNName() + " " + d.getURNValue());\r
96     }\r
97    \r
98     return list;\r
99   }\r
100   \r
101   public List<URNData> getUrnDataMapOLD() \r
102   {  \r
103           \r
104     List<URNData> list = getQueryService()\r
105             .executeQuery("cockpit.urnMap.retrieveUrnKeyValuePair", new QueryParameters<URNData>());\r
106     \r
107     msoLogger.debug("urnmap-plugin project - Results Retrieved: ");\r
108     msoLogger.debug("URNName: " + "             " + "URNValue: " );\r
109     \r
110     for(URNData d: list)\r
111     {\r
112         //msoLogger.debug(  d.getURNName() + "          "  + d.getURNValue());\r
113         msoLogger.debug( d.getURNName() + "             "  + d.getURNValue());\r
114     }\r
115    \r
116     return list;\r
117   }\r
118   \r
119   public Connection getDBConnection()\r
120   {\r
121           try {\r
122                         \r
123                         if(conn == null)\r
124                         {\r
125                                 Context ctx = new InitialContext();\r
126                             DataSource ds = (DataSource)ctx.lookup("java:jboss/datasources/ProcessEngine");//jboss\r
127                         conn =                  ds.getConnection();\r
128          \r
129                         }                        \r
130                         \r
131                 } catch (Exception e) \r
132                 {\r
133                         \r
134                         e.printStackTrace();\r
135                 }\r
136           \r
137           return conn;\r
138   }\r
139   \r
140   @PUT\r
141   public void insertNewRow(String temp) \r
142    {  \r
143          msoLogger.debug("AddNewRow: XXXXXXXXXXXXXXXXX ---> " + temp);\r
144          msoLogger.debug("AddNewRow: EngineName  ---> " + engineName);\r
145          \r
146          StringTokenizer st = new StringTokenizer(temp, "|");\r
147          String key_ = "";\r
148          String value_ = "";\r
149          \r
150          while(st.hasMoreTokens()) { \r
151                   key_ = st.nextToken(); \r
152                   value_ = st.nextToken(); \r
153                  msoLogger.debug(key_ + "\t" + value_); \r
154                  } \r
155                          \r
156        msoLogger.debug("AddNewRow: XXXXXXXXXXXXXXXXX ---> key: " + key_ + " , Value: " + value_);\r
157           final URNData nRow = new URNData();\r
158           nRow.setVer_("1");    \r
159           final String myKey = key_;\r
160           final String myValue = value_;\r
161           \r
162                 msoLogger.debug("----------- START ----------------------");\r
163                 try {\r
164                         \r
165                     conn = getDBConnection();\r
166                             PreparedStatement psData = conn\r
167                                                 .prepareStatement("Insert into MSO_URN_MAPPING values ('" + key_ + "', '" + value_  + "', '1')");\r
168                             \r
169                             psData.executeUpdate();\r
170                             \r
171                             psData.close();\r
172                                 conn.close();\r
173                         //}                      \r
174                         \r
175                 } catch (Exception e) \r
176                 {\r
177                         \r
178                         e.printStackTrace();\r
179                 }\r
180         // getQueryService().executeQuery("cockpit.urnMap.insertNewRow", nRow, URNData.class);\r
181    }\r
182   \r
183   @POST\r
184   public void getPersistData(URNData d) {  \r
185           \r
186                 //getQueryService().executeQuery("cockpit.urnMap.persistURNData", d, URNData.class);\r
187             \r
188           try {\r
189                         \r
190                     conn = getDBConnection();\r
191                         PreparedStatement psData = conn\r
192                                                 .prepareStatement("UPDATE MSO_URN_MAPPING set VALUE_ ='"+ d.getURNValue() + "' WHERE NAME_='" + d.getURNName() + "'");\r
193                             \r
194                             psData.executeUpdate();\r
195                             \r
196                             psData.close();\r
197                                 conn.close();\r
198                 } catch (Exception e) \r
199                 {\r
200                         \r
201                         e.printStackTrace();\r
202                 }\r
203          \r
204         }\r
205 }\r