1 package org.openecomp.sdc.webseal.simulator;
3 import java.io.BufferedReader;
4 import java.io.DataOutputStream;
5 import java.io.IOException;
6 import java.io.InputStreamReader;
7 import java.io.PrintWriter;
8 import java.net.HttpURLConnection;
10 import java.util.HashMap;
12 import java.util.Map.Entry;
14 import javax.servlet.ServletException;
15 import javax.servlet.http.HttpServlet;
16 import javax.servlet.http.HttpServletRequest;
17 import javax.servlet.http.HttpServletResponse;
19 import org.apache.commons.io.IOUtils;
20 import org.openecomp.sdc.webseal.simulator.conf.Conf;
22 public class RequestsClient extends HttpServlet {
24 private static final long serialVersionUID = 1L;
27 protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
29 String hostname = request.getParameter("hostname") != null ? request.getParameter("hostname") : "127.0.0.1";
30 String port = request.getParameter("port") != null ? request.getParameter("port") : "8080";
31 String adminId = request.getParameter("adminId") != null ? request.getParameter("adminId") : "jh0003";
33 String createAll = request.getParameter("all");
35 PrintWriter writer = response.getWriter();
39 if ("true".equals(createAll)) {
40 Map<String, User> users = Conf.getInstance().getUsers();
41 for (User user : users.values()) {
42 resultCode = createUser(response, user.getUserId(), user.getRole().toUpperCase(), user.getFirstName(), user.getLastName(), user.getEmail(), hostname, port, adminId);
43 writer.println("User "+ user.getFirstName() + " " + user.getLastName() + getResultMessage(resultCode) + "<br>");
46 String userId = request.getParameter("userId");
47 String role = request.getParameter("role").toUpperCase();
48 String firstName = request.getParameter("firstName");
49 String lastName = request.getParameter("lastName");
50 String email = request.getParameter("email");
51 resultCode = createUser(response, userId, role, firstName, lastName, email, hostname, port, adminId);
52 writer.println("User "+ firstName + " " + lastName +getResultMessage(resultCode));
59 private String getResultMessage(int resultCode){
60 return 201 == resultCode? " created successfuly":" not created ("+ resultCode +")";
63 private int createUser(final HttpServletResponse response, String userId, String role, String firstName, String lastName, String email, String hostname, String port, String adminId) throws IOException {
64 response.setContentType("text/html");
66 // Fill the data of the request
67 String url = "http://" + hostname + ":" + port + "/sdc2/rest/v1/user";
68 String body = "{'firstName':'" + firstName + "', 'lastName':'" + lastName + "', 'userId':'" + userId + "', 'email':'" + email + "','role':'" + role + "'}";
69 HashMap<String, String> headers = new HashMap<String, String>();
70 headers.put("Content-Type", "application/json");
71 headers.put("USER_ID", adminId);
72 return sendHttpPost(url, body, headers);
75 private int sendHttpPost(String url, String body, Map<String, String> headers) throws IOException {
77 String responseString = "";
78 URL obj = new URL(url);
79 HttpURLConnection con = (HttpURLConnection) obj.openConnection();
82 con.setRequestMethod("POST");
84 // add request headers
85 if (headers != null) {
86 for (Entry<String, String> header : headers.entrySet()) {
87 String key = header.getKey();
88 String value = header.getValue();
89 con.setRequestProperty(key, value);
95 con.setDoOutput(true);
96 DataOutputStream wr = new DataOutputStream(con.getOutputStream());
102 int responseCode = con.getResponseCode();
103 // logger.debug("Send POST http request, url: {}", url);
104 // logger.debug("Response Code: {}", responseCode);
106 StringBuffer response = new StringBuffer();
108 BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
110 while ((inputLine = in.readLine()) != null) {
111 response.append(inputLine);
114 } catch (Exception e) {
115 // logger.debug("response body is null");
121 result = IOUtils.toString(con.getErrorStream());
122 response.append(result);
124 } catch (Exception e2) {
127 // logger.debug("Response body: {}", response);
129 if (response != null) {
130 responseString = response.toString();
133 // Map<String, List<String>> headerFields = con.getHeaderFields();
134 // String responseMessage = con.getResponseMessage();