@Override public ServiceResponse<KieContainerResource> deactivateContainer(String id) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new DeactivateContainerCommand(id))); ServiceResponse<KieContainerResource> response = (ServiceResponse<KieContainerResource>) sendCommandToAllSessions(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieServerInfo> getServerInfo() { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new GetServerInfoCommand())); ServiceResponse<KieServerInfo> response = (ServiceResponse<KieServerInfo>) sendCommand(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieContainerResource> createContainer(String id, KieContainerResource resource) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new CreateContainerCommand(resource))); ServiceResponse<KieContainerResource> response = (ServiceResponse<KieContainerResource>) sendCommandToAllSessions(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<ReleaseId> updateReleaseId(String id, ReleaseId releaseId) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new UpdateReleaseIdCommand(id, releaseId))); ServiceResponse<ReleaseId> response = (ServiceResponse<ReleaseId>) sendCommandToAllSessions(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieContainerResourceList> listContainers(KieContainerResourceFilter containerFilter) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new ListContainersCommand(containerFilter))); ServiceResponse<KieContainerResourceList> response = (ServiceResponse<KieContainerResourceList>) sendCommand(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieContainerResource> getContainerInfo(String id) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new GetContainerInfoCommand(id))); ServiceResponse<KieContainerResource> response = (ServiceResponse<KieContainerResource>) sendCommand(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<ReleaseId> getReleaseId(String containerId) { CommandScript script = new CommandScript(Collections.singletonList(new GetReleaseIdCommand(containerId))); ServiceResponse<ReleaseId> response = (ServiceResponse<ReleaseId>) sendCommand(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieServerStateInfo> getServerState() { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new GetServerStateCommand())); ServiceResponse<KieServerStateInfo> response = (ServiceResponse<KieServerStateInfo>) sendCommand(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<Void> disposeContainer(String id) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new DisposeContainerCommand(id))); ServiceResponse<Void> response = (ServiceResponse<Void>) sendCommandToAllSessions(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieScannerResource> getScannerInfo(String id) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new GetScannerInfoCommand(id))); ServiceResponse<KieScannerResource> response = (ServiceResponse<KieScannerResource>) sendCommand(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieScannerResource> updateScanner(String id, KieScannerResource resource) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new UpdateScannerCommand(id, resource))); ServiceResponse<KieScannerResource> response = (ServiceResponse<KieScannerResource>) sendCommandToAllSessions(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieContainerResource> activateContainer(String id) { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new ActivateContainerCommand(id))); ServiceResponse<KieContainerResource> response = (ServiceResponse<KieContainerResource>) sendCommandToAllSessions(script, new WebSocketServiceResponse(true, (message) -> { ServiceResponsesList list = WebSocketUtils.unmarshal(message, ServiceResponsesList.class); return list.getResponses().get(0); })).getResponses().get(0); return response; }
@Override public ServiceResponse<KieContainerResourceList> listContainers() { if( config.isRest() ) { return makeHttpGetRequestAndCreateServiceResponse( baseURI + "/containers", KieContainerResourceList.class ); } else { CommandScript script = new CommandScript( Collections.singletonList( (KieServerCommand) new ListContainersCommand() ) ); return (ServiceResponse<KieContainerResourceList>) executeJmsCommand( script ).getResponses().get( 0 ); } }
@Override public void unregisterQuery(String queryName) { if (config.isRest()) { Map<String, Object> valuesMap = new HashMap<String, Object>(); valuesMap.put(QUERY_NAME, queryName); makeHttpDeleteRequestAndCreateCustomResponse(build(loadBalancer.getUrl(), QUERY_DEF_URI + "/" + DROP_QUERY_DEF_DELETE_URI, valuesMap), null); } else { CommandScript script = new CommandScript(Collections.singletonList((KieServerCommand) new DescriptorCommand("QueryDataService", "unregisterQuery", new Object[]{queryName}))); ServiceResponse<?> response = (ServiceResponse<?>) executeJmsCommand(script, DescriptorCommand.class.getName(), "BPM").getResponses().get(0); throwExceptionOnFailure(response); } }
@Override public ServiceResponse<KieContainerResource> getContainerInfo(String id) { if( config.isRest() ) { return makeHttpGetRequestAndCreateServiceResponse( baseURI + "/containers/" + id, KieContainerResource.class ); } else { CommandScript script = new CommandScript( Collections.singletonList( (KieServerCommand) new GetContainerInfoCommand( id ) ) ); return (ServiceResponse<KieContainerResource>) executeJmsCommand( script ).getResponses().get( 0 ); } }
@Override public ServiceResponse<KieScannerResource> updateScanner(String id, KieScannerResource resource) { if( config.isRest() ) { return makeHttpPostRequestAndCreateServiceResponse( baseURI + "/containers/" + id + "/scanner", resource, KieScannerResource.class ); } else { CommandScript script = new CommandScript( Collections.singletonList( (KieServerCommand) new UpdateScannerCommand( id, resource ) ) ); return (ServiceResponse<KieScannerResource>) executeJmsCommand( script ).getResponses().get( 0 ); } }
@Override public ServiceResponse<ReleaseId> updateReleaseId(String id, ReleaseId releaseId) { if( config.isRest() ) { return makeHttpPostRequestAndCreateServiceResponse( baseURI + "/containers/" + id + "/release-id", releaseId, ReleaseId.class ); } else { CommandScript script = new CommandScript( Collections.singletonList( (KieServerCommand) new UpdateReleaseIdCommand( id, releaseId ) ) ); return (ServiceResponse<ReleaseId>) executeJmsCommand( script ).getResponses().get( 0 ); } }
@Override public ServiceResponse<KieServerInfo> getServerInfo() { if( config.isRest() ) { return makeHttpGetRequestAndCreateServiceResponse( baseURI, KieServerInfo.class ); } else { CommandScript script = new CommandScript( Collections.singletonList( (KieServerCommand) new GetServerInfoCommand() ) ); return (ServiceResponse<KieServerInfo>) executeJmsCommand( script ).getResponses().get( 0 ); } }
@Override public ServiceResponse<KieContainerResource> createContainer(String id, KieContainerResource resource) { if( config.isRest() ) { return makeHttpPutRequestAndCreateServiceResponse( baseURI + "/containers/" + id, resource, KieContainerResource.class ); } else { CommandScript script = new CommandScript( Collections.singletonList( (KieServerCommand) new CreateContainerCommand( resource ) ) ); return (ServiceResponse<KieContainerResource>) executeJmsCommand( script ).getResponses().get( 0 ); } }
@Override public ServiceResponse<Void> disposeContainer(String id) { if( config.isRest() ) { return makeHttpDeleteRequestAndCreateServiceResponse( baseURI + "/containers/" + id, Void.class ); } else { CommandScript script = new CommandScript( Collections.singletonList( (KieServerCommand) new DisposeContainerCommand( id ) ) ); return (ServiceResponse<Void>) executeJmsCommand( script ).getResponses().get( 0 ); } }