Modify pom file
[nemo.git] / nemo-tools / eclipse-plugin-project / nemo-rest / org.opendaylight.nemo.tool.eclipse.plugin.rest / src / org / opendaylight / nemo / tool / eclipse / plugin / rest / actions / NemoClient.java
1 package org.opendaylight.nemo.tool.eclipse.plugin.rest.actions;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStreamReader;
6 import java.io.UnsupportedEncodingException;
7 import java.net.ConnectException;
8 import java.util.AbstractMap;
9 import java.util.ArrayList;
10 import java.util.List;
11 import java.util.Map;
12
13 import org.apache.http.HttpResponse;
14 import org.apache.http.NameValuePair;
15 import org.apache.http.NoHttpResponseException;
16 import org.apache.http.auth.AuthScope;
17 import org.apache.http.auth.UsernamePasswordCredentials;
18 import org.apache.http.client.ClientProtocolException;
19 import org.apache.http.client.CredentialsProvider;
20 import org.apache.http.client.HttpClient;
21 import org.apache.http.client.methods.HttpPost;
22 import org.apache.http.entity.ContentType;
23 import org.apache.http.entity.StringEntity;
24 import org.apache.http.impl.client.BasicCredentialsProvider;
25 import org.apache.http.impl.client.DefaultHttpClient;
26 import org.apache.http.impl.client.HttpClientBuilder;
27 import org.apache.http.message.BasicNameValuePair;
28 import org.json.JSONObject;
29
30 public class NemoClient {
31         private static final String COMMAND_PROMPT = "";
32         private static final String COMMAND_EXIT = "exit";
33
34         private static final String URI_PATH_USER = "user";
35         // private static final String URI_PATH_NEMO = "nemo";
36
37         private static final String JSON_KEY_USERNAME = "username";
38         private static final String JSON_KEY_PASSWORD = "password";
39         // private static final String JSON_KEY_USERROLE = "UserRole";
40         private static final String JSON_KEY_NEMO = "NEMO";
41
42         private static final String INFO_PROMPT_INFO = "Info: ";
43         private static final String INFO_PROMPT_ERROR = "Error: ";
44
45         private static final String RESPONSE_CONTENT_USER_SUCCEEDED = "User Creation Succeeded!";
46         private static final String RESPONSE_CONTENT_USER_NOT_EXIST = "User Does Not Exists!";
47         private static final String RESPONSE_CONTENT_USER_PWD_WRONG = "User Pwd Error!";
48         private static final String RESPONSE_CONTENT_NEMO_SUCCEEDED = "NEMO Executation Succeeded!";
49         private static final String RESPONSE_CONTENT_UNKNOWN_EXCEPTION = "<html>";
50
51         public static String generateBaseURIOfNEMOEngine(String ipAddrOfNEMOEngine) {
52                 return "http://" + ipAddrOfNEMOEngine + ":10081/hyp/vn";
53         }
54
55         private static HttpPost generateHttpPostRequest_User(
56                         String baseURIOfNEMOEngine, String username, String password,
57                         String userRole) {
58                 HttpPost httpPost = new HttpPost(baseURIOfNEMOEngine + URI_PATH_USER);
59                 JSONObject jsonObject = new JSONObject();
60
61                 jsonObject.put(JSON_KEY_USERNAME, username);
62                 jsonObject.put(JSON_KEY_PASSWORD, password);
63                 // jsonObject.put(JSON_KEY_USERROLE, userRole);
64
65                 try {
66                         httpPost.setHeader("Content-type", "application/json");
67                         httpPost.setEntity(new StringEntity(jsonObject.toString()));
68                 } catch (UnsupportedEncodingException exception) {
69
70                 }
71
72                 return httpPost;
73         }
74
75
76         public static String send(String url, String content) {
77                 
78                 DefaultHttpClient httpClient = new DefaultHttpClient();
79                 AuthScope authScope = new AuthScope(AuthScope.ANY_HOST,
80                                 AuthScope.ANY_PORT);
81                 UsernamePasswordCredentials usernamePasswordCredentials = new UsernamePasswordCredentials(
82                                 "admin", "admin");
83                 CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
84                 credentialsProvider.setCredentials(authScope,
85                                 usernamePasswordCredentials);
86                 httpClient.setCredentialsProvider(credentialsProvider);
87                 HttpPost post = new HttpPost(url);
88                 post.setHeader("Content-type", "application/json");
89                 try {
90                         post.setEntity(new StringEntity(content, ContentType
91                                         .create("application/json")));
92
93                         BufferedReader reader;
94
95                         HttpResponse response = httpClient.execute(post);
96
97                         reader = new BufferedReader(new InputStreamReader(response
98                                         .getEntity().getContent()));
99                         return reader.readLine();
100                 } catch (UnsupportedEncodingException e1) {
101                         // TODO Auto-generated catch block
102                         e1.printStackTrace();
103                 } catch (IllegalStateException e) {
104                         // TODO Auto-generated catch block
105                         e.printStackTrace();
106                 } catch (ClientProtocolException e) {
107                         // TODO Auto-generated catch block
108                         e.printStackTrace();
109                 } catch (IOException e) {
110                         // TODO Auto-generated catch block
111                         e.printStackTrace();
112                 }
113                 return "Exception while send : " + url + "\r\n" + content;
114         }
115
116 }