private ServiceResponse<KieScannerResource> scanNow(String id, KieContainerInstanceImpl kci) { List<Message> messages = getMessagesForContainer(id); messages.clear(); if (kci.getScanner() == null) { createScanner(id, kci); } KieScannerStatus scannerStatus = mapScannerStatus(kci); if (KieScannerStatus.STOPPED.equals(scannerStatus) || KieScannerStatus.CREATED.equals(scannerStatus) || KieScannerStatus.STARTED.equals(scannerStatus)) { kci.scanNow(); messages.add(new Message(Severity.INFO, "Kie scanner successfully invoked.")); return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.SUCCESS, "Scan successfully executed.", getScannerResource(kci)); } else { messages.add(new Message(Severity.WARN, "Invalid kie scanner status: " + scannerStatus)); return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.FAILURE, "Invalid kie scanner status: " + scannerStatus, getScannerResource(kci)); } }
case CREATED: result = createScanner(id, kci); break; case STARTED:
messages.clear(); if (kci.getScanner() == null) { ServiceResponse<KieScannerResource> response = createScanner(id, kci); if (ResponseType.FAILURE.equals(response.getType())) { return response;
private ServiceResponse<KieScannerResource> configureScanner(String containerId, KieContainerInstanceImpl kci, KieScannerResource scannerResource) { KieScannerStatus scannerStatus = scannerResource.getStatus(); ServiceResponse<KieScannerResource> result; switch (scannerStatus) { case CREATED: result = createScanner(containerId, kci); break; case STARTED: result = startScanner(containerId, scannerResource.getPollInterval(), kci); break; case STOPPED: result = stopScanner(containerId, kci); break; case SCANNING: result = scanNow(containerId, kci); break; case DISPOSED: result = disposeScanner(containerId, kci); break; default: // error result = new ServiceResponse<KieScannerResource>(ResponseType.FAILURE, "Unknown status '" + scannerStatus + "' for scanner on container " + containerId + "."); break; } kci.getResource().setScanner(result.getResult()); return result; }
private ServiceResponse<KieScannerResource> scanNow(String id, KieScannerResource resource, KieContainerInstance kci) { if (kci.getScanner() == null) { createScanner( id, kci ); } KieScannerStatus kss = mapStatus( kci.getScanner().getStatus() ); if (KieScannerStatus.STOPPED.equals( kss ) || KieScannerStatus.CREATED.equals( kss ) || KieScannerStatus.STARTED.equals( kss )) { kci.getScanner().scanNow(); return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.SUCCESS, "Scan successfully executed.", getScannerResource(kci)); } else { return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.FAILURE, "Invalid kie scanner status: " + kss, getScannerResource(kci)); } }
private ServiceResponse<KieScannerResource> startScanner(String id, KieScannerResource resource, KieContainerInstance kci) { if (kci.getScanner() == null) { ServiceResponse<KieScannerResource> response = createScanner(id, kci); if (ResponseType.FAILURE.equals(response.getType())) { return response; } } if (KieScannerStatus.STOPPED.equals(mapStatus(kci.getScanner().getStatus())) && resource.getPollInterval() != null) { kci.getScanner().start(resource.getPollInterval()); return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.SUCCESS, "Kie scanner successfully created.", getScannerResource(kci)); } else if (!KieScannerStatus.STOPPED.equals(mapStatus(kci.getScanner().getStatus()))) { return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.FAILURE, "Invalid kie scanner status: " + mapStatus(kci.getScanner().getStatus()), getScannerResource(kci)); } else if (resource.getPollInterval() == null) { return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.FAILURE, "Invalid polling interval: " + resource.getPollInterval(), getScannerResource(kci)); } return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.FAILURE, "Unknown error starting scanner. Scanner was not started." + resource, getScannerResource(kci)); }