public CommandExecutor lookup(String kieSessionId, KieContainerInstance containerInstance, KieServerRegistry registry) { CommandExecutor commandExecutor = null; for (KieSessionLookupHandler handler : handlers) { commandExecutor = handler.lookupKieSession(kieSessionId, containerInstance, registry); if (commandExecutor != null) { break; } } return commandExecutor; } }
public List<KieServerExtension> getServerExtensions() { return this.context.getServerExtensions(); }
protected List<KieContainerInstanceImpl> getContainers() { return context.getContainers(); }
public String marshal(String containerId, String marshallingFormat, Object entity, ContainerLocator locator) { MarshallingFormat format = getFormat(marshallingFormat); if (format == null) { throw new IllegalArgumentException("Unknown marshalling format " + marshallingFormat); } KieContainerInstance containerInstance = registry.getContainer(containerId, locator); if (containerInstance == null) { throw new IllegalArgumentException("No container found for id " + containerId + " ."); } Marshaller marshaller = containerInstance.getMarshaller(format); if (marshaller == null) { throw new IllegalArgumentException("No marshaller found for format " + format); } return marshaller.marshall(entity); }
/** * Looks up container id for given alias that is associated with case instance * @param alias container alias * @param caseId unique case instance id * @return * @throws IllegalArgumentException in case there are no containers for given alias */ public String forCaseInstance(String alias, String caseId) { return registry.getContainerId(alias, new ByCaseIdContainerLocator(caseId)); }
public CaseManagementRuntimeDataServiceBase(CaseRuntimeDataService caseRuntimeDataService, KieServerRegistry context) { this.caseRuntimeDataService = caseRuntimeDataService; this.identityProvider = context.getIdentityProvider(); this.context = context; this.bypassAuthUser = Boolean.parseBoolean(context.getConfig().getConfigItemValue(KieServerConstants.CFG_BYPASS_AUTH_USER, "false")); }
protected KieServerInfo getInfoInternal() { Version version = KieServerEnvironment.getVersion(); String serverId = KieServerEnvironment.getServerId(); String serverName = KieServerEnvironment.getServerName(); String versionStr = version != null ? version.toString() : "Unknown-Version"; List<String> capabilities = new ArrayList<String>(); for (KieServerExtension extension : context.getServerExtensions()) { capabilities.add(extension.getImplementedCapability()); } return new KieServerInfo(serverId, serverName, versionStr, capabilities, kieServerLocation); }
public void markAsReady() { kieServerReady.set(true); logger.info("KieServer {} is ready to receive requests", KieServerEnvironment.getServerId()); for (KieServerExtension extension : context.getServerExtensions()) { try { extension.serverStarted(); } catch (Exception e) { logger.error("Error when destroying server extension of type {}", extension, e); } } }
private List<Message> updateExtensions(KieContainerInstanceImpl kci, ReleaseId releaseId, List<Message> messages) { String containerId = kci.getContainerId(); List<KieServerExtension> extensions = context.getServerExtensions(); Map<String, Object> parameters = getContainerParameters(releaseId, messages); // once the upgrade was successful, notify all extensions so they can be upgraded (if needed) for (KieServerExtension extension : extensions) { extension.updateContainer(containerId, kci, parameters); logger.debug("Container {} (for release id {}) on {} updated successfully", containerId, releaseId, extension); } return messages; }
private static Set<Class<?>> getExtraClasses(KieServerRegistry registry) { Set<Class<?>> extraClasses; if (registry != null) { extraClasses = registry.getExtraClasses(); } else { extraClasses = new HashSet<>(); } return extraClasses; }
@Override public int compare(KieServerExtension e1, KieServerExtension e2) { return e1.getStartOrder().compareTo(e2.getStartOrder()); } });
@Override public void registerServerExtension(KieServerExtension kieServerExtension) { this.serverExtensions.putIfAbsent(kieServerExtension.getExtensionName(), kieServerExtension); }
public void fireBeforeServerStopped(KieServer kieServer) { final Iterator<KieServerEventListener> iter = eventListeners.iterator(); if (iter.hasNext()) { do{ iter.next().beforeServerStopped(kieServer); } while (iter.hasNext()); } }
public void fireAfterServerStopped(KieServer kieServer) { final Iterator<KieServerEventListener> iter = eventListeners.iterator(); if (iter.hasNext()) { do{ iter.next().afterServerStopped(kieServer); } while (iter.hasNext()); } }
public void fireBeforeContainerDeactivated(KieServer kieServer, KieContainerInstance containerInstance) { final Iterator<KieServerEventListener> iter = eventListeners.iterator(); if (iter.hasNext()) { do{ iter.next().beforeContainerDeactivated(kieServer, containerInstance); } while (iter.hasNext()); } }
/** * Looks up container id for given alias that is associated with process instance * @param alias container alias * @param processInstanceId unique process instance id * @return * @throws IllegalArgumentException in case there are no containers for given alias */ public String forProcessInstance(String alias, long processInstanceId) { return registry.getContainerId(alias, new ByProcessInstanceIdContainerLocator(processInstanceId)); }
@Override public int compare(KieServerExtension e1, KieServerExtension e2) { return e1.getStartOrder().compareTo(e2.getStartOrder()); } });
@Override public void unregisterServerExtension(KieServerExtension kieServerExtension) { this.serverExtensions.remove(kieServerExtension.getExtensionName()); }
/** * Looks up container id for given alias that is associated with task instance * @param alias container alias * @param taskId unique task instance id * @return * @throws IllegalArgumentException in case there are no containers for given alias */ public String forTaskInstance(String alias, long taskId) { return registry.getContainerId(alias, new ByTaskIdContainerLocator(taskId)); } }
/** * Looks up latest container id for given alias. * @param alias container alias * @return resolved latest container id * @throws IllegalArgumentException in case there are no containers for given alias */ public String latest(String alias) { return registry.getContainerId(alias, ContainerLocatorProvider.get().getLocator()); }