public ServiceResponse<KieScannerResource> getScannerInfo(String id) { try { KieContainerInstanceImpl kci = context.getContainer(id); if (kci != null && kci.getKieContainer() != null) { KieScannerResource info = getScannerResource(kci); return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.SUCCESS, "Scanner info successfully retrieved", info); } else { return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.FAILURE, "Unknown container " + id + "."); } } catch (Exception e) { logger.error("Error retrieving scanner info for container '" + id + "'.", e); return new ServiceResponse<KieScannerResource>(ServiceResponse.ResponseType.FAILURE, "Error retrieving scanner info for container '" + id + "': " + e.getClass().getName() + ": " + e.getMessage()); } }
public ServiceResponse<DMNModelInfoList> getModels(String containerId) { try { KieContainerInstanceImpl kContainer = context.getContainer(containerId, ContainerLocatorProvider.get().getLocator()); KieSession kieSession = kContainer.getKieContainer().newKieSession(); DMNRuntime kieRuntime = kieSession.getKieRuntime(DMNRuntime.class); List<DMNModel> models = kieRuntime.getModels(); List<DMNModelInfo> result = models.stream().map(ModelEvaluatorServiceBase::modelToInfo).collect(Collectors.toList()); kieSession.dispose(); return new ServiceResponse<DMNModelInfoList>( ServiceResponse.ResponseType.SUCCESS, "OK models successfully retrieved from container '" + containerId + "'", new DMNModelInfoList( result ) ); } catch ( Exception e ) { LOG.error( "Error retrieving models from container '" + containerId + "'", e ); return new ServiceResponse<DMNModelInfoList>( ServiceResponse.ResponseType.FAILURE, "Error retrieving models from container '" + containerId + "'" + e.getMessage(), null ); } }
public ServiceResponse<DMNResultKS> evaluateDecisions(String containerId, String contextPayload, String marshallingType) { try { KieContainerInstanceImpl kContainer = context.getContainer(containerId, ContainerLocatorProvider.get().getLocator()); KieSession kieSession = kContainer.getKieContainer().newKieSession(); DMNRuntime dmnRuntime = kieSession.getKieRuntime(DMNRuntime.class);
eventSupport.fireBeforeContainerDeactivated(this, kci); Map<String, Object> parameters = getContainerParameters(kci.getKieContainer().getContainerReleaseId(), messages); logger.debug("Container {} (for release id {}) {} deactivation: DONE", containerId, kci.getKieContainer().getContainerReleaseId(), extension);
KieContainerInstanceImpl kci = (KieContainerInstanceImpl) context.getContainer( containerId, ContainerLocatorProvider.get().getLocator()); if (kci != null && kci.getKieContainer() != null) { type = (Class<? extends Command>) kci.getKieContainer().getClassLoader().loadClass(classType);
if (kci != null && kci.getKieContainer() != null) {
eventSupport.fireBeforeContainerActivated(this, kci); Map<String, Object> parameters = getContainerParameters(kci.getKieContainer().getContainerReleaseId(), messages); logger.debug("Container {} (for release id {}) {} activation: DONE", containerId, kci.getKieContainer().getContainerReleaseId(), extension);
if (kci != null && kci.getKieContainer() != null) { String sessionId = null; } else { ks = kci.getKieContainer().getKieSession(); type = (Class<? extends Command>) kci.getKieContainer().getClassLoader().loadClass(classType);
public String scheduleRequest(String containerId, String payload, String marshallingType) { ClassLoader classLoader = this.getClass().getClassLoader(); JobRequestInstance jobRequest = null; if (containerId != null && !containerId.isEmpty()) { logger.debug("About to unmarshal job request from payload: '{}' using container {} marshaller", payload, containerId); jobRequest = marshallerHelper.unmarshal(containerId, payload, marshallingType, JobRequestInstance.class); // set deployment id which is given by container id jobRequest.getData().put("deploymentId", containerId); classLoader = context.getContainer(containerId).getKieContainer().getClassLoader(); } else { logger.debug("About to unmarshal job request from payload: '{}' using server marshaller", payload); jobRequest = marshallerHelper.unmarshal(payload, marshallingType, JobRequestInstance.class); } Long requestId = null; if(!validateCommand(jobRequest.getCommand(), classLoader)){ throw new IllegalArgumentException("Invalid command type "+jobRequest.getCommand()); } if (jobRequest.getScheduledDate() != null) { logger.debug("Scheduling job at future date '{}' for request {}", jobRequest.getScheduledDate(), jobRequest); requestId = executorService.scheduleRequest(jobRequest.getCommand(), jobRequest.getScheduledDate(), new CommandContext(jobRequest.getData())); } else { logger.debug("Scheduling job at current date '{}' for request {}", new Date(), jobRequest); requestId = executorService.scheduleRequest(jobRequest.getCommand(), new CommandContext(jobRequest.getData())); } // return response String response = marshallerHelper.marshal(marshallingType, requestId); return response; }
eventSupport.fireBeforeContainerStopped(this, kci); if (kci.getKieContainer() != null) { org.kie.api.builder.ReleaseId releaseId = kci.getKieContainer().getReleaseId(); List<KieServerExtension> disposedExtensions = new ArrayList<KieServerExtension>(); try { kci.stopScanner(); InternalKieContainer kieContainer = kci.getKieContainer();
public ExecutionResults call(KieContainerInstance kci, BatchExecutionCommand executionCommand) { BatchExecutionCommandImpl command = (BatchExecutionCommandImpl) executionCommand; if (kci != null && kci.getKieContainer() != null) { // find the session CommandExecutor ks = null; if( command.getLookup() != null ) { ks = context.getKieSessionLookupManager().lookup(command.getLookup(), kci, context); } else { // if no session ID is defined, then the default is a stateful session ks = ((KieContainerInstanceImpl)kci).getKieContainer().getKieSession(); } if (ks != null) { applyListeners(ks); ExecutionResults results = ks.execute(command); return results; } else { throw new IllegalStateException("Session '" + command.getLookup() + "' not found on container '" + kci.getContainerId() + "'."); } } throw new IllegalStateException("Unable to execute command " + command); }
SolverFactory<Object> solverFactory = SolverFactory.createFromKieContainerXmlResource(ci.getKieContainer(), instance.getSolverConfigFile());
if (kci != null && kci.getKieContainer() != null) { if (containerId.equals(containerResource.getContainerId())) { containerResource.setReleaseId(releaseId); containerResource.setResolvedReleaseId(new ReleaseId(kci.getKieContainer().getContainerReleaseId()));
List<KieServerExtension> extensions = kieServer.getServerExtensions(); String containerId = kieContainerInstance.getContainerId(); ReleaseId releaseId = kieContainerInstance.getKieContainer().getContainerReleaseId();
private Message updateKieContainerToVersion(KieContainerInstanceImpl kci, ReleaseId releaseId) { String containerId = kci.getContainerId(); Message response = null; kci.clearExtraClasses(); kci.disposeMarshallers(); Results results = kci.getKieContainer().updateToVersion(releaseId); if (results.hasMessages(Level.ERROR)) { response = new Message(Severity.WARN, "Error updating releaseId for container " + containerId + " to version " + releaseId); for (org.kie.api.builder.Message builderMsg : results.getMessages()) { response.addMessage(builderMsg.getText()); } logger.error("Error updating releaseId for container " + containerId + " to version " + releaseId + "\nMessages: " + results.getMessages()); } else { kci.updateReleaseId(); response = new Message(Severity.INFO, "Kie container updated successfully to version " + releaseId); } return response; }
classLoader = containerInstance.getKieContainer().getClassLoader();