protected PostMethod buildPostMethod(String url, HttpParameters parameters) { final PostMethod postMethod; postMethod = new PostMethod(url); postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; ; charset=UTF-8"); for (String name : parameters.names()) { postMethod.setParameter(name, parameters.get(name)); } return postMethod; }
@SuppressWarnings({"unchecked"}) protected HttpParameters requestParameters(HttpServletRequest request) { final HttpParameters parameters; parameters = new HttpParameters(request.getParameterMap()); return parameters; }
protected String retrieveSessionId(HttpParameters parameters) { final String sessionId = parameters.get("sessionId"); if (null == sessionId) { throw new CommandParsingException("ERROR: No sessionId provided. Most likely your original newBrowserSession command failed."); } return sessionId; } }
public SeleneseCommand parse(EnvironmentManager environmentManager) { final String command = parameters.get("cmd"); if (command.equals(NEW_BROWSER_SESSION)) { final Environment environment; final String environmentName; environmentName = parameters.get("1"); environment = environmentManager.environment(environmentName); if (null == environment) { throw new CommandParsingException("ERROR: Unknown environment '" + environmentName + "'"); } parameters.put("1", environment.browser()); return new NewBrowserSessionCommand(environment, parameters); } else if (command.equals(TEST_COMPLETE)) { return new TestCompleteCommand(retrieveSessionId(parameters), parameters); } else { return new SeleneseCommand(retrieveSessionId(parameters), parameters); } }
protected Response forward(HttpParameters parameters, DynamicRemoteControlPool pool, EnvironmentManager environmentManager) throws IOException { final SeleneseCommand command; final Response response; LOGGER.info("Processing '" + parameters.toString() + "'"); try { command = new HttpCommandParser(parameters).parse(environmentManager); response = command.execute(pool); } catch (CommandParsingException e) { LOGGER.error("Failed to parse '" + parameters.toString() + "' : " + e.getMessage()); return new Response(e.getMessage()); } catch (NoSuchEnvironmentException e) { LOGGER.error("Could not find any remote control providing the '" + e.environment() + "' environment. Please make sure you started some remote controls which registered as offering this environment."); return new Response(e.getMessage()); } LOGGER.info("Responding with " + response.statusCode() + "/ '" + response.body() + "'"); return response; }
protected String retrieveSessionId(HttpParameters parameters) { final String sessionId = parameters.get("sessionId"); if (null == sessionId) { throw new CommandParsingException("ERROR: No sessionId provided. Most likely your original newBrowserSession command failed."); } return sessionId; } }
public SeleneseCommand parse(EnvironmentManager environmentManager) { final String command = parameters.get("cmd"); if (command.equals(NEW_BROWSER_SESSION)) { final Environment environment; final String environmentName; environmentName = parameters.get("1"); environment = environmentManager.environment(environmentName); if (null == environment) { throw new CommandParsingException("ERROR: Unknown environment '" + environmentName + "'"); } parameters.put("1", environment.browser()); return new NewBrowserSessionCommand(environment, parameters); } else if (command.equals(TEST_COMPLETE)) { return new TestCompleteCommand(retrieveSessionId(parameters), parameters); } else { return new SeleneseCommand(retrieveSessionId(parameters), parameters); } }
protected Response forward(HttpParameters parameters, DynamicRemoteControlPool pool, EnvironmentManager environmentManager) throws IOException { final SeleneseCommand command; final Response response; LOGGER.info("Processing '" + parameters.toString() + "'"); try { command = new HttpCommandParser(parameters).parse(environmentManager); response = command.execute(pool); } catch (CommandParsingException e) { LOGGER.error("Failed to parse '" + parameters.toString() + "' : " + e.getMessage()); return new Response(e.getMessage()); } catch (NoSuchEnvironmentException e) { LOGGER.error("Could not find any remote control providing the '" + e.environment() + "' environment. Please make sure you started some remote controls which registered as offering this environment."); return new Response(e.getMessage()); } catch (NoSuchSessionException e) { LOGGER.error(e.getMessage()); return new Response(e.getMessage()); } final String responseBody = response.body(); if (responseBody.length() > 128) { final int truncated = responseBody.length() - 128; LOGGER.info(String.format("Responding with %d / %s...[%d characters truncated]", response.statusCode(), responseBody.substring(0, 128), truncated)); } else { LOGGER.info(String.format("Responding with %d / %s", response.statusCode(), responseBody)); } return response; }
protected PostMethod buildPostMethod(String url, HttpParameters parameters) { final PostMethod postMethod; postMethod = new PostMethod(url); postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; ; charset=UTF-8"); for (String name : parameters.names()) { postMethod.setParameter(name, parameters.get(name)); } return postMethod; }
public String toString() { final TreeSet<String> orderedNames; final StringBuilder builder; builder = new StringBuilder(150); orderedNames = new TreeSet<String>(); orderedNames.addAll(parameterMap.keySet()); for (String name : orderedNames) { builder.append(name); builder.append(" => \""); builder.append(get((String) name)); builder.append("\", "); } if (!parameterMap.isEmpty()) { builder.deleteCharAt(builder.length() - 1); builder.deleteCharAt(builder.length() - 1); } return builder.toString(); }
@SuppressWarnings({"unchecked"}) protected HttpParameters requestParameters(HttpServletRequest request) { final HttpParameters parameters; parameters = new HttpParameters(request.getParameterMap()); return parameters; }
public Response execute(RemoteControlPool pool) throws IOException { final RemoteControlProxy remoteControl; final Response response; if (null == sessionId) { return new Response("Selenium Driver error: No sessionId provided for command '" + parameters.toString() + "'"); } remoteControl = pool.retrieve(sessionId()); pool.updateSessionLastActiveAt(sessionId); response = remoteControl.forward(parameters()); pool.updateSessionLastActiveAt(sessionId); return response; }
protected PostMethod buildPostMethod(String url, HttpParameters parameters) { final PostMethod postMethod; postMethod = new PostMethod(url); postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; ; charset=UTF-8"); for (String name : parameters.names()) { postMethod.setParameter(name, parameters.get(name)); } return postMethod; }
public String toString() { final TreeSet<String> orderedNames; final StringBuilder builder; builder = new StringBuilder(150); orderedNames = new TreeSet<String>(); orderedNames.addAll(parameterMap.keySet()); for (String name : orderedNames) { builder.append(name); builder.append(" => \""); builder.append(get(name)); builder.append("\", "); } if (!parameterMap.isEmpty()) { builder.deleteCharAt(builder.length() - 1); builder.deleteCharAt(builder.length() - 1); } return builder.toString(); }
public void terminateSession(String sessionId) { try { Map<String, String[]> params = new HashMap<String, String[]>(); params.put("cmd", new String[] { "testComplete" }); params.put("sessionId", new String[] { sessionId }); forward(new HttpParameters(params)); } catch (IOException e) { LOGGER.warn("Exception telling remote control to kill its session:" + e.getMessage()); } }
public Response execute(RemoteControlPool pool) throws IOException { final RemoteControlProxy remoteControl; final Response response; if (null == sessionId) { return new Response("Selenium Driver error: No sessionId provided for command '" + parameters.toString() + "'"); } remoteControl = pool.retrieve(sessionId()); pool.updateSessionLastActiveAt(sessionId); response = remoteControl.forward(parameters()); pool.updateSessionLastActiveAt(sessionId); return response; }
public String toString() { final TreeSet<String> orderedNames; final StringBuilder builder; builder = new StringBuilder(150); orderedNames = new TreeSet<String>(); orderedNames.addAll(parameterMap.keySet()); for (String name : orderedNames) { builder.append(name); builder.append(" => \""); builder.append(get(name)); builder.append("\", "); } if (!parameterMap.isEmpty()) { builder.deleteCharAt(builder.length() - 1); builder.deleteCharAt(builder.length() - 1); } return builder.toString(); }
@SuppressWarnings({"unchecked"}) public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { final Resource resource; final String page; resource = routeResolver().resolve(request); page = resource.process(new HttpParameters(request.getParameterMap())); render(page, response); }