|
42 | 42 | /*-------------------------------------------------------------------*/ |
43 | 43 | package com.ibm.bluemix.samples; |
44 | 44 |
|
| 45 | +import java.net.URI; |
45 | 46 | import java.sql.Connection; |
46 | 47 | import java.sql.DriverManager; |
47 | 48 | import java.sql.PreparedStatement; |
@@ -183,23 +184,19 @@ private static Connection getConnection() throws Exception { |
183 | 184 | // We don't know exactly what the service is called, but it will contain "postgresql" |
184 | 185 | for (Object key : vcap.keySet()) { |
185 | 186 | String keyStr = (String) key; |
186 | | - if (keyStr.toLowerCase().contains("postgresql")) { |
| 187 | + if (keyStr.toLowerCase().contains("elephantsql")) { |
187 | 188 | service = (JSONObject) ((JSONArray) vcap.get(keyStr)).get(0); |
188 | 189 | break; |
189 | 190 | } |
190 | 191 | } |
191 | 192 |
|
192 | 193 | if (service != null) { |
193 | 194 | JSONObject creds = (JSONObject) service.get("credentials"); |
194 | | - String name = (String) creds.get("name"); |
195 | | - String host = (String) creds.get("host"); |
196 | | - Long port = (Long) creds.get("port"); |
197 | | - String user = (String) creds.get("user"); |
198 | | - String password = (String) creds.get("password"); |
199 | | - |
200 | | - String url = "jdbc:postgresql://" + host + ":" + port + "/" + name; |
201 | | - |
202 | | - return DriverManager.getConnection(url, user, password); |
| 195 | + URI uri = URI.create((String) creds.get("uri")); |
| 196 | + String url = "jdbc:postgresql://" + uri.getHost() + ":" + uri.getPort() + uri.getPath(); |
| 197 | + String username = uri.getUserInfo().split(":")[0]; |
| 198 | + String password = uri.getUserInfo().split(":")[1]; |
| 199 | + return DriverManager.getConnection(url, username, password); |
203 | 200 | } |
204 | 201 | } |
205 | 202 |
|
|
0 commit comments