diff options
Diffstat (limited to 'sms-client/src/main')
4 files changed, 0 insertions, 521 deletions
diff --git a/sms-client/src/main/example/SmsClientExample.java b/sms-client/src/main/example/SmsClientExample.java deleted file mode 100644 index dc0e776..0000000 --- a/sms-client/src/main/example/SmsClientExample.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2018 Intel Corporation, Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.io.FileInputStream; -import java.lang.Boolean; -import java.lang.Integer; -import java.net.URL; -import javax.net.ssl.HttpsURLConnection; -import javax.net.ssl.KeyManagerFactory; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLSessionContext; -import javax.net.ssl.SSLSocketFactory; -import javax.net.ssl.TrustManagerFactory; -import java.security.KeyStore; -import java.security.Provider; -import java.security.SecureRandom; -import java.security.Security; -import java.util.HashMap; -import java.util.Map; -import org.onap.aaf.sms.SmsClient; -import org.onap.aaf.sms.SmsResponse; - -public class SmsClientExample { - public static void main(String[] args) throws Exception { - // Set up the Sun PKCS 11 provider - Provider p = Security.getProvider("SunPKCS11-pkcs11Test"); - if (p==null) { - throw new RuntimeException("could not get security provider"); - } - - // Load the key store - char[] pin = "45789654".toCharArray(); - KeyStore keyStore = KeyStore.getInstance("PKCS11", p); - keyStore.load(null, pin); - - // Load the CA certificate - FileInputStream tst = new FileInputStream("/ca.jks"); - KeyStore trustStore = KeyStore.getInstance("JKS"); - trustStore.load(tst, pin); - - KeyManagerFactory keyManagerFactory = - KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); - //Add to keystore to key manager - keyManagerFactory.init(keyStore, pin); - - TrustManagerFactory trustManagerFactory = - TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); - trustManagerFactory.init(trustStore); - - //Create the context - SSLContext context = SSLContext.getInstance("TLS"); - context.init(keyManagerFactory.getKeyManagers(), - trustManagerFactory.getTrustManagers(), new SecureRandom()); - //Create a socket factory - SSLSocketFactory ssf = context.getSocketFactory(); - SSLSessionContext sessCtx = context.getServerSessionContext(); - SmsClient sms = new SmsClient("onap.mydomain.com", 10443, ssf); - SmsResponse resp1 = sms.createDomain("onap.new.test.sms0"); - if ( resp1.getSuccess() ) { - System.out.println(resp1.getResponse()); - System.out.println(resp1.getResponseCode()); - } - Map<String, Object> m1 = new HashMap<String, Object>(); - m1.put("passwd", "gax6ChD0yft"); - SmsResponse resp2 = sms.storeSecret("onap.new.test.sms0", "testsec", m1); - if ( resp2.getSuccess() ) { - System.out.println(resp2.getResponse()); - System.out.println(resp2.getResponseCode()); - } - Map<String, Object> m2 = new HashMap<String, Object>(); - m2.put("username", "dbuser"); - m2.put("isadmin", new Boolean(true)); - m2.put("age", new Integer(40)); - m2.put("secretkey", "asjdhkuhioeukadfjsadnfkjhsdukfhaskdjhfasdf"); - m2.put("token", "2139084553458973452349230849234234908234342"); - SmsResponse resp3 = sms.storeSecret("onap.new.test.sms0","credentials", m2); - if ( resp3.getSuccess() ) { - System.out.println(resp3.getResponse()); - System.out.println(resp3.getResponseCode()); - } - SmsResponse resp4 = sms.getSecretNames("onap.new.test.sms0"); - if ( resp4.getSuccess() ) { - System.out.println(resp4.getResponse()); - System.out.println(resp4.getResponseCode()); - } - SmsResponse resp5= sms.getSecret("onap.new.test.sms0", "testsec"); - if ( resp5.getSuccess() ) { - System.out.println(resp5.getResponse()); - System.out.println(resp5.getResponseCode()); - } - SmsResponse resp6= sms.getSecret("onap.new.test.sms0", "credentials"); - if ( resp6.getSuccess() ) { - Boolean b = (Boolean)resp6.getResponse().get("isadmin"); - if ( b ) - System.out.println("Age=" + (Integer)resp6.getResponse().get("age")); - System.out.println(resp6.getResponse()); - System.out.println(resp6.getResponseCode()); - } - SmsResponse resp7=sms.deleteDomain("onap.new.test.sms0"); - if ( resp7.getSuccess() ) { - System.out.println(resp7.getResponse()); - System.out.println(resp7.getResponseCode()); - } - } -} diff --git a/sms-client/src/main/java/org/onap/aaf/sms/SmsClient.java b/sms-client/src/main/java/org/onap/aaf/sms/SmsClient.java deleted file mode 100644 index 17a9f16..0000000 --- a/sms-client/src/main/java/org/onap/aaf/sms/SmsClient.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Copyright 2018 Intel Corporation, Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.aaf.sms; - -import javax.net.ssl.SSLSocketFactory; -import java.net.URL; -import javax.net.ssl.HttpsURLConnection; -import org.onap.aaf.sms.SmsResponse; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.InputStreamReader; -import java.io.BufferedReader; -import java.io.OutputStreamWriter; -import java.util.Map; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.ArrayList; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -public class SmsClient implements SmsInterface { - - private String baset; - private SSLSocketFactory ssf; - - public SmsClient(String host, int port, SSLSocketFactory s) { - baset = "https://"+ host + ":" + port + "/v1/sms"; - ssf = s; - } - public SmsClient(String host, int port, String version, SSLSocketFactory s) { - baset = "https://"+ host + ":" + port + "/" + version + "/sms"; - ssf = s; - } - - private Map<String, Object> getSubmap(Map<String, Object> raw, String k) { - Object v = raw.get(k); - if ( v != null ) { - Map<String, Object> r = (Map<String, Object>)v; - return(r); - } - else { - return(null); - } - } - - private List<Object> jsontolist(JSONArray a) throws JSONException { - List<Object> l = new ArrayList<Object>(); - for(int i=0;i<a.length();i++) { - Object v = a.get(i); - if ( v instanceof JSONArray ) { - v = jsontolist((JSONArray) v); - } else if (v instanceof JSONObject) { - v = jsontomap((JSONObject) v); - } - l.add(v); - } - return(l); - } - - private Map<String, Object> jsontomap(JSONObject j) throws JSONException { - Map<String, Object> m = new HashMap<String, Object>(); - - Iterator<?> ks = j.keys(); - while( ks.hasNext() ) { - String k = (String)ks.next(); - Object v = j.get(k); - - if ( v instanceof JSONArray ) { - v = jsontolist((JSONArray) v); - } else if ( v instanceof JSONObject ) { - v = jsontomap((JSONObject) v); - } - m.put(k, v); - } - return(m); - } - - protected Map<String, Object> strtomap(String r) throws JSONException { - JSONObject jobj = null; - - jobj = new JSONObject(r); - return(jsontomap(jobj)); - - } - protected SmsResponse execute(String reqtype, String t, String ins, boolean input, boolean output) { - - HttpsURLConnection conn; - int errorcode = -1; - SmsResponse resp = new SmsResponse(); - - try { - URL url = new URL(t); - conn = (HttpsURLConnection)url.openConnection(); - conn.setSSLSocketFactory(ssf); - conn.setRequestMethod(reqtype); - conn.setDoOutput(true); - conn.setDoInput(true); - conn.setRequestProperty("Content-Type", "application/json"); - conn.setRequestProperty("Accept", "application/json"); - - if ( input ) { - OutputStream out = conn.getOutputStream(); - OutputStreamWriter wr = new OutputStreamWriter(out); - wr.write(ins); - wr.flush(); - wr.close(); - } - errorcode = conn.getResponseCode(); - if ( output && errorcode > 0 ) { - InputStream inputstream = conn.getInputStream(); - InputStreamReader inputstreamreader = new InputStreamReader(inputstream); - BufferedReader bufferedreader = new BufferedReader(inputstreamreader); - - String response; - String save = ""; - while ((response = bufferedreader.readLine()) != null) { - save = save + response; - } - if ( !save.isEmpty() ) { - if ( errorcode/100 == 2 ) { - resp.setResponse(strtomap(save)); - } else { - resp.setErrorMessage(save); - } - } - } - } catch ( Exception e ) { - e.printStackTrace(); - resp.setResponseCode(errorcode); - return(resp); - } - resp.setResponseCode(errorcode); - return resp; - } - @Override - public SmsResponse createDomain(String dname) { - - String t = baset + "/domain"; - String input = "{\"name\":\"" + dname + "\"}"; - - SmsResponse resp = execute("POST", t, input, true, true); - int errcode = resp.getResponseCode(); - - if ( errcode > 0 && errcode/100 == 2 ) - resp.setSuccess(true); - else - resp.setSuccess(false); - - return(resp); - } - @Override - public SmsResponse deleteDomain(String dname) { - - String t = baset + "/domain/" + dname; - - SmsResponse resp = execute("DELETE", t, null, false, true); - int errcode = resp.getResponseCode(); - - if ( errcode > 0 && errcode/100 == 2 ) - resp.setSuccess(true); - else - resp.setSuccess(false); - - return(resp); - } - @Override - public SmsResponse storeSecret(String dname, String sname, Map<String, Object> values) { - - String t = baset + "/domain/" + dname + "/secret"; - Map<String, Object> cm = new HashMap<String, Object>(); - cm.put("name", sname); - cm.put("values", values); - JSONObject jobj = new JSONObject(cm); - - SmsResponse resp = execute("POST", t, jobj.toString(), true, false); - int errcode = resp.getResponseCode(); - - if ( errcode > 0 && errcode/100 == 2 ) - resp.setSuccess(true); - else - resp.setSuccess(false); - - return(resp); - } - @Override - public SmsResponse getSecretNames(String dname) { - - String t = baset + "/domain/" + dname + "/secret"; - - SmsResponse resp = execute("GET", t, null, false, true); - int errcode = resp.getResponseCode(); - - if ( errcode > 0 && errcode/100 == 2 ) - resp.setSuccess(true); - else - resp.setSuccess(false); - - return(resp); - } - @Override - public SmsResponse getSecret(String dname, String sname) { - - String t = baset + "/domain/" + dname + "/secret/" + sname; - - SmsResponse resp = execute("GET", t, null, false, true); - int errcode = resp.getResponseCode(); - - if ( errcode > 0 && errcode/100 == 2 ) { - Map<String, Object> m = getSubmap(resp.getResponse(), "values"); - if ( m != null ) { - resp.setSuccess(true); - resp.setResponse(m); - } - else { - resp.setSuccess(false); - } - } - else { - resp.setSuccess(false); - } - - return(resp); - - } - @Override - public SmsResponse deleteSecret(String dname, String sname) { - - String t = baset + "/domain/" + dname + "/secret/" + sname; - - SmsResponse resp = execute("DELETE", t, null, false, true); - int errcode = resp.getResponseCode(); - - if ( errcode > 0 && errcode/100 == 2 ) - resp.setSuccess(true); - else - resp.setSuccess(false); - - return(resp); - } -} diff --git a/sms-client/src/main/java/org/onap/aaf/sms/SmsInterface.java b/sms-client/src/main/java/org/onap/aaf/sms/SmsInterface.java deleted file mode 100644 index 31875d7..0000000 --- a/sms-client/src/main/java/org/onap/aaf/sms/SmsInterface.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2018 Intel Corporation, Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.aaf.sms; - -import org.onap.aaf.sms.SmsResponse; -import java.util.Map; - -public interface SmsInterface { - /* - Inputs dname - domain name - Output - name and uuid - Return SmsResponse object - success or failure - response code if connection succeeded, otherwise -1 - response string if expected. - */ - public SmsResponse createDomain(String dname); - - /* - Inputs dname - domain name - Output - none - Return SmsResponse object - success or failure - response code if connection succeeded, otherwise -1 - response string if expected. - - */ - public SmsResponse deleteDomain(String dname); - - /* - Inputs dname - domain name - Output - list of secret names - Return SmsResponse object - success or failure - response code if connection succeeded, otherwise -1 - response string if expected. - - */ - public SmsResponse getSecretNames(String dname); - - /* - Inputs dname - domain name - sname - secret name - values - list of key value pairs - Output - none - Return SmsResponse object - success or failure - response code if connection succeeded, otherwise -1 - response string if expected. - - */ - public SmsResponse storeSecret(String dname, String sname, Map<String, Object> values); - - /* - Inputs dname - domain name - sname - secret name - Output values - list of value pairs - Return SmsResponse object - success or failure - response code if connection succeeded, otherwise -1 - response string if expected. - - */ - public SmsResponse getSecret(String dname, String sname); - - /* - Inputs dname - domain name - sname - secret name - Output - none - Return SmsResponse object - success or failure - response code if connection succeeded, otherwise -1 - response string if expected. - */ - public SmsResponse deleteSecret(String dname, String sname); -} diff --git a/sms-client/src/main/java/org/onap/aaf/sms/SmsResponse.java b/sms-client/src/main/java/org/onap/aaf/sms/SmsResponse.java deleted file mode 100644 index b7a9980..0000000 --- a/sms-client/src/main/java/org/onap/aaf/sms/SmsResponse.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2018 Intel Corporation, Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onap.aaf.sms; - -import java.util.Map; - -public class SmsResponse { - private boolean success; - private int responseCode; - private String errorMessage; - private Map<String, Object> response; - - public SmsResponse() { - success = false; - responseCode = -1; - errorMessage = ""; - response = null; - } - public void setResponseCode(int code) { - responseCode = code; - } - public void setResponse(Map<String, Object> res) { - response = res; - } - public void setSuccess(boolean val) { - success = val; - } - public int getResponseCode() { - return responseCode; - } - public void setErrorMessage(String em) { - errorMessage = em; - } - public String getErrorMessage() { - return errorMessage; - } - public Map<String, Object> getResponse() { - return response; - } - public boolean getSuccess() { - return success; - } -} |