/** * Change forward configuration. * * @param req HTTP request * @param id forward id to change * @return service response. */ @POST @Path("forward/update/{id}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public ServiceResponse updateForward( @Context HttpServletRequest req, @PathParam("id") String id, Forward forwardReq) { Configuration cfg = getEditConfiguration(req); for (SshSession sshClient : cfg.getSshSession()) { Iterator<Forward> iter = sshClient.getForward().iterator(); while (iter.hasNext()) { Forward fwd = iter.next(); if (fwd.getId().equals(id)) { Connection mAccount = getConnectionById((String) forwardReq.getConnection(), cfg); if (mAccount != null) { fwd.setDescription(forwardReq.getDescription()); fwd.setEnabled(forwardReq.isEnabled()); fwd.setType(forwardReq.getType()); fwd.setRHost(forwardReq.getRHost()); fwd.setSHost(forwardReq.getSHost()); fwd.setRPort(forwardReq.getRPort()); fwd.setSPort(forwardReq.getSPort()); fwd.setConnection(mAccount); fwd.setFilter(forwardReq.getFilter()); return ServiceUtils.createOKResponse("Forward changed"); } return ServiceUtils.createNOKResponse("Connection not found"); } } } return ServiceUtils.createOKResponse("Forward not found: " + id); }
/** * Add new forward to configuration. * * @param req HTTP request * @param forwardReq forward data * @return service response. */ @POST @Path("forward/add/{id}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public ServiceResponse addForward( @Context HttpServletRequest req, @PathParam("id") String sessionId, Forward forwardReq) { Configuration cfg = getEditConfiguration(req); for (SshSession sshClient : cfg.getSshSession()) { if (sshClient.getId().equals(sessionId)) { Connection mAccount = getConnectionById((String) forwardReq.getConnection(), cfg); if (mAccount != null) { Forward fwd = new Forward(); fwd.setConnection(mAccount); fwd.setId(StringUtils.createUUID()); fwd.setDescription(forwardReq.getDescription()); fwd.setEnabled(forwardReq.isEnabled()); fwd.setSHost(forwardReq.getSHost()); fwd.setSPort(forwardReq.getSPort()); fwd.setRHost(forwardReq.getRHost()); fwd.setRPort(forwardReq.getRPort()); fwd.setType(forwardReq.getType()); sshClient.getForward().add(fwd); return ServiceUtils.createOKResponse("SSH forward added"); } return ServiceUtils.createNOKResponse("SSH connection not found"); } } return ServiceUtils.createNOKResponse("SSH client not found"); }