1 package org.openecomp.sdc.webseal.simulator;
3 import org.apache.commons.io.IOUtils;
4 import org.openecomp.sdc.webseal.simulator.conf.Conf;
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServlet;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
11 import java.net.HttpURLConnection;
13 import java.util.HashMap;
15 import java.util.Map.Entry;
17 public class RequestsClient extends HttpServlet {
19 private static final long serialVersionUID = 1L;
22 protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
24 String adminId = request.getParameter("adminId") != null ? request.getParameter("adminId") : "jh0003";
25 String createAll = request.getParameter("all");
26 String url = Conf.getInstance().getFeHost() + "/sdc1/feProxy/rest/v1/user";
28 PrintWriter writer = response.getWriter();
32 if ("true".equals(createAll)) {
33 Map<String, User> users = Conf.getInstance().getUsers();
34 for (User user : users.values()) {
35 resultCode = createUser(response, user.getUserId(), user.getRole().toUpperCase(), user.getFirstName(), user.getLastName(), user.getEmail(), url, adminId);
36 writer.println("User "+ user.getFirstName() + " " + user.getLastName() + getResultMessage(resultCode) + "<br>");
39 String userId = request.getParameter("userId");
40 String role = request.getParameter("role").toUpperCase();
41 String firstName = request.getParameter("firstName");
42 String lastName = request.getParameter("lastName");
43 String email = request.getParameter("email");
45 resultCode = createUser(response, userId, role, firstName, lastName, email, url, adminId);
47 writer.println("User "+ firstName + " " + lastName +getResultMessage(resultCode));
54 private String getResultMessage(int resultCode){
55 return 201 == resultCode? " created successfuly":" not created ("+ resultCode +")";
58 private int createUser(final HttpServletResponse response, String userId, String role, String firstName, String lastName, String email, String url, String adminId) throws IOException {
59 response.setContentType("text/html");
61 String body = "{\"firstName\":\"" + firstName + "\", \"lastName\":\"" + lastName + "\", \"userId\":\"" + userId + "\", \"email\":\"" + email + "\",\"role\":\"" + role + "\"}";
63 HashMap<String, String> headers = new HashMap<String, String>();
64 headers.put("Content-Type", "application/json");
65 headers.put("USER_ID", adminId);
66 return sendHttpPost(url, body, headers);
69 private int sendHttpPost(String url, String body, Map<String, String> headers) throws IOException {
71 String responseString = "";
72 URL obj = new URL(url);
73 HttpURLConnection con = (HttpURLConnection) obj.openConnection();
76 con.setRequestMethod("POST");
78 // add request headers
79 if (headers != null) {
80 for (Entry<String, String> header : headers.entrySet()) {
81 String key = header.getKey();
82 String value = header.getValue();
83 con.setRequestProperty(key, value);
89 con.setDoOutput(true);
90 DataOutputStream wr = new DataOutputStream(con.getOutputStream());
96 int responseCode = con.getResponseCode();
97 // logger.debug("Send POST http request, url: {}", url);
98 // logger.debug("Response Code: {}", responseCode);
100 StringBuffer response = new StringBuffer();
102 BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
104 while ((inputLine = in.readLine()) != null) {
105 response.append(inputLine);
108 } catch (Exception e) {
109 // logger.debug("response body is null");
115 result = IOUtils.toString(con.getErrorStream());
116 response.append(result);
118 } catch (Exception e2) {
121 // logger.debug("Response body: {}", response);
123 if (response != null) {
124 responseString = response.toString();
127 // Map<String, List<String>> headerFields = con.getHeaderFields();
128 // String responseMessage = con.getResponseMessage();