/** * Creates and returns a JSON Node for a JPA Node Entity Used for GET Requests for NodeResource * * @param nodeEntity * @return */ public Node getNodeJSONFromNodeEntity(org.nikhil.webapp.nodeadmin.entity.Node nodeEntity) { Node nodeJson = new Node(); nodeJson.setName(nodeEntity.getName()); nodeJson.setDescription(nodeEntity.getDescription()); nodeJson.setIpAddress(nodeEntity.getIpAddress()); nodeJson.setMaster(nodeEntity.isMaster()); nodeJson.setUserName(nodeEntity.getUserName()); nodeJson.setPassword(nodeEntity.getPassword()); nodeJson.setShutdownTimer(nodeEntity.getShutdownTimer()); nodeJson.setRestartTimer(nodeEntity.getRestartTimer()); nodeJson.setStatus(nodeEntity.getStatus()); for (NodeAndService nodeAndService : nodeEntity.getNodeServices()) { Service service = new Service(); org.nikhil.webapp.nodeadmin.entity.Service serviceToCopyFrom = nodeAndService.getCompositePK().getService(); service.setName(serviceToCopyFrom.getName()); service.setDescription(serviceToCopyFrom.getDescription()); service.setRunAlwaysInBackground(serviceToCopyFrom.isRunAlwaysInBackground()); service.setStartCommand(serviceToCopyFrom.getStartCommand()); service.setStopCommand(serviceToCopyFrom.getStopCommand()); service.setStatusWildCard(serviceToCopyFrom.getStatusWildCard()); // composite info flattened service.setAdditionalRunParamsStart(nodeAndService.getAdditionalRunParamsStart()); service.setAdditionalRunParamsStop(nodeAndService.getAdditionalRunParamsStop()); service.setStatusWildCardOverride(nodeAndService.getStatusWildCardOverride()); service.setStatusCommandOverride(nodeAndService.getStatusCommandOverride()); service.setRundir(nodeAndService.getRundir()); // TODOne put this one on the composite/join table service.setRunning(nodeAndService.isRunning()); nodeJson.getServices().add(service); } for (NodeAndCommand nodeAndCommand : nodeEntity.getNodeCommands()) { Command command = new Command(); org.nikhil.webapp.nodeadmin.entity.Command commandToCopyFrom = nodeAndCommand.getCompositePK().getCommand(); command.setName(commandToCopyFrom.getName()); command.setDescription(commandToCopyFrom.getDescription()); command.setCommand(commandToCopyFrom.getCommand()); // composite info flattened command.setAdditionalRunParams(nodeAndCommand.getAdditionalRunParams()); command.setAlwaysRunInBackground(nodeAndCommand.isAlwaysRunInBackground()); command.setRundir(nodeAndCommand.getRundir()); nodeJson.getCommands().add(command); } return nodeJson; }