Merge "Reorder modifiers"
[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                         msoLogger.error("Exception while executing query", e);\r
86                 } finally {\r
87                         try { r.close(); } catch (Exception e) { /* ignored */ }\r
88                         try { psData.close(); } catch (Exception e) { /* ignored */ }\r
89                         try { conn.close(); } catch (Exception e) { /* ignored */ }\r
90                 }\r
91      \r
92     for(URNData d: list)\r
93     {\r
94         msoLogger.debug(  d.getURNName() + "            "  + d.getURNValue());\r
95         //msoLogger.debug("Started Executing " + getTaskName());\r
96         msoLogger.debug("Started Executing " + d.getURNName() + " " + d.getURNValue());\r
97     }\r
98    \r
99     return list;\r
100   }\r
101   \r
102   public List<URNData> getUrnDataMapOLD() \r
103   {  \r
104           \r
105     List<URNData> list = getQueryService()\r
106             .executeQuery("cockpit.urnMap.retrieveUrnKeyValuePair", new QueryParameters<URNData>());\r
107     \r
108     msoLogger.debug("urnmap-plugin project - Results Retrieved: ");\r
109     msoLogger.debug("URNName: " + "             " + "URNValue: " );\r
110     \r
111     for(URNData d: list)\r
112     {\r
113         //msoLogger.debug(  d.getURNName() + "          "  + d.getURNValue());\r
114         msoLogger.debug( d.getURNName() + "             "  + d.getURNValue());\r
115     }\r
116    \r
117     return list;\r
118   }\r
119   \r
120   public Connection getDBConnection()\r
121   {\r
122           try {\r
123                         \r
124                         if(conn == null)\r
125                         {\r
126                                 Context ctx = new InitialContext();\r
127                             DataSource ds = (DataSource)ctx.lookup("java:jboss/datasources/ProcessEngine");//jboss\r
128                         conn =                  ds.getConnection();\r
129          \r
130                         }                        \r
131                         \r
132                 } catch (Exception e) \r
133           {\r
134                         msoLogger.error("Exception while performing JNDI lookup", e);\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             PreparedStatement psData = null;\r
163                 msoLogger.debug("----------- START ----------------------");\r
164                 try {\r
165                         \r
166                     conn = getDBConnection();\r
167                                 psData = conn\r
168                                                 .prepareStatement("Insert into MSO_URN_MAPPING values ('" + key_ + "', '" + value_  + "', '1')");\r
169                             \r
170                             psData.executeUpdate();\r
171                             \r
172                         //}                      \r
173                         \r
174                 } catch (Exception e) \r
175                 {\r
176                         msoLogger.error("Exception while executing query", e);\r
177                 } finally {\r
178                         try { psData.close(); } catch (Exception e) { /* ignored */ }\r
179                         try { conn.close(); } catch (Exception e) { /* ignored */ }\r
180                 }\r
181         // getQueryService().executeQuery("cockpit.urnMap.insertNewRow", nRow, URNData.class);\r
182    }\r
183   \r
184   @POST\r
185   public void getPersistData(URNData d) {  \r
186           \r
187                 //getQueryService().executeQuery("cockpit.urnMap.persistURNData", d, URNData.class);\r
188           PreparedStatement psData = null;\r
189           try {\r
190                         \r
191                     conn = getDBConnection();\r
192                                 psData = conn\r
193                                                 .prepareStatement("UPDATE MSO_URN_MAPPING set VALUE_ ='"+ d.getURNValue() + "' WHERE NAME_='" + d.getURNName() + "'");\r
194                             \r
195                             psData.executeUpdate();\r
196                             \r
197                 } catch (Exception e) \r
198                 {\r
199                         msoLogger.error("Exception while executing query", e);\r
200                 } finally {\r
201                         try { psData.close(); } catch (Exception e) { /* ignored */ }\r
202                         try { conn.close(); } catch (Exception e) { /* ignored */ }\r
203                 }\r
204          \r
205         }\r
206 }\r