use of org.kie.server.controller.api.model.spec.RuleConfig in project kie-wb-common by kiegroup.
the class BuildExecutorTest method testMakeConfigsWhenServerTemplateHasProcessCapabilityWithDefaultStrategy.
@Test
public void testMakeConfigsWhenServerTemplateHasProcessCapabilityWithDefaultStrategy() {
final ServerTemplate serverTemplate = mock(ServerTemplate.class);
final RuleConfig ruleConfig = mock(RuleConfig.class);
doReturn(ruleConfig).when(buildExecutor).makeRuleConfig();
doReturn(true).when(buildExecutor).hasProcessCapability(any());
Map<String, String> params = new HashMap<>();
final Map<Capability, ContainerConfig> configs = buildExecutor.makeConfigs(serverTemplate, params);
assertTrue(configs.keySet().contains(Capability.RULE));
assertTrue(configs.keySet().contains(Capability.PROCESS));
assertTrue(configs.values().contains(ruleConfig));
assertEquals(2, configs.size());
ProcessConfig processConf = (ProcessConfig) configs.get(Capability.PROCESS);
assertEquals(RuntimeStrategy.SINGLETON.name(), processConf.getRuntimeStrategy());
}
use of org.kie.server.controller.api.model.spec.RuleConfig in project kie-wb-common by kiegroup.
the class BuildExecutorTest method testMakeConfigsWhenServerTemplateHasProcessCapability.
@Test
public void testMakeConfigsWhenServerTemplateHasProcessCapability() {
final ServerTemplate serverTemplate = mock(ServerTemplate.class);
final RuleConfig ruleConfig = mock(RuleConfig.class);
final ProcessConfig processConfig = mock(ProcessConfig.class);
doReturn(ruleConfig).when(buildExecutor).makeRuleConfig();
doReturn(processConfig).when(buildExecutor).makeProcessConfig(new HashMap<>());
doReturn(true).when(buildExecutor).hasProcessCapability(any());
final Map<Capability, ContainerConfig> configs = buildExecutor.makeConfigs(serverTemplate, new HashMap<>());
assertTrue(configs.keySet().contains(Capability.RULE));
assertTrue(configs.keySet().contains(Capability.PROCESS));
assertTrue(configs.values().contains(ruleConfig));
assertTrue(configs.values().contains(processConfig));
assertEquals(2, configs.size());
}
use of org.kie.server.controller.api.model.spec.RuleConfig in project kie-wb-common by kiegroup.
the class ServerTemplateVFSStorageTest method testStoreLoadAndUpdateServerTemplate.
@Test
public void testStoreLoadAndUpdateServerTemplate() {
templateStorage.store(serverTemplate);
ServerTemplate fromStorage = templateStorage.load(serverTemplate.getId());
assertNotNull(fromStorage);
assertEquals(serverTemplate.getId(), fromStorage.getId());
assertEquals(serverTemplate.getName(), fromStorage.getName());
// let's add new container
ContainerSpec newContainerSpec = new ContainerSpec();
newContainerSpec.setId("test container 2");
newContainerSpec.setServerTemplateKey(new ServerTemplateKey(serverTemplate.getId(), serverTemplate.getName()));
newContainerSpec.setReleasedId(new ReleaseId("org.kie", "kie-server-kjar", "3.0"));
newContainerSpec.setStatus(KieContainerStatus.STARTED);
fromStorage.addContainerSpec(newContainerSpec);
// now let's add server instance
fromStorage.addServerInstance(ModelFactory.newServerInstanceKey(serverTemplate.getId(), "http://localhost:8080/server"));
templateStorage.update(fromStorage);
ServerTemplate template = templateStorage.load(serverTemplate.getId());
assertNotNull(template);
assertEquals(serverTemplate.getId(), template.getId());
assertEquals(serverTemplate.getName(), template.getName());
Collection<ServerInstanceKey> instances = template.getServerInstanceKeys();
assertNotNull(instances);
assertEquals(1, instances.size());
ServerInstanceKey serverInstanceKey = instances.iterator().next();
assertNotNull(serverInstanceKey);
assertEquals(serverTemplate.getId(), serverInstanceKey.getServerTemplateId());
assertEquals(serverTemplate.getId() + "@localhost:8080", serverInstanceKey.getServerName());
assertEquals(serverTemplate.getId() + "@localhost:8080", serverInstanceKey.getServerInstanceId());
assertEquals("http://localhost:8080/server", serverInstanceKey.getUrl());
Collection<ContainerSpec> containerSpecs = template.getContainersSpec();
assertNotNull(containerSpecs);
assertEquals(2, containerSpecs.size());
Iterator<ContainerSpec> iterator = containerSpecs.iterator();
// first container spec...
ContainerSpec spec = iterator.next();
assertNotNull(spec);
assertEquals(containerSpec.getId(), spec.getId());
assertEquals(containerSpec.getReleasedId(), spec.getReleasedId());
assertEquals(containerSpec.getServerTemplateKey().getId(), spec.getServerTemplateKey().getId());
assertEquals(containerSpec.getServerTemplateKey().getName(), spec.getServerTemplateKey().getName());
assertEquals(containerSpec.getConfigs().size(), spec.getConfigs().size());
assertTrue(spec.getConfigs().containsKey(Capability.RULE));
assertTrue(spec.getConfigs().containsKey(Capability.PROCESS));
RuleConfig ruleConfig = (RuleConfig) spec.getConfigs().get(Capability.RULE);
assertNotNull(ruleConfig);
assertEquals(this.ruleConfig.getPollInterval(), ruleConfig.getPollInterval());
assertEquals(this.ruleConfig.getScannerStatus(), ruleConfig.getScannerStatus());
ProcessConfig processConfig = (ProcessConfig) spec.getConfigs().get(Capability.PROCESS);
assertNotNull(processConfig);
assertEquals(this.processConfig.getKBase(), processConfig.getKBase());
assertEquals(this.processConfig.getKSession(), processConfig.getKSession());
assertEquals(this.processConfig.getMergeMode(), processConfig.getMergeMode());
assertEquals(this.processConfig.getRuntimeStrategy(), processConfig.getRuntimeStrategy());
// second container spec
spec = iterator.next();
assertNotNull(spec);
assertEquals(newContainerSpec.getId(), spec.getId());
assertEquals(newContainerSpec.getReleasedId(), spec.getReleasedId());
assertEquals(newContainerSpec.getServerTemplateKey().getId(), spec.getServerTemplateKey().getId());
assertEquals(newContainerSpec.getServerTemplateKey().getName(), spec.getServerTemplateKey().getName());
assertEquals(newContainerSpec.getConfigs().size(), spec.getConfigs().size());
}
use of org.kie.server.controller.api.model.spec.RuleConfig in project kie-wb-common by kiegroup.
the class ServerTemplateVFSStorageTest method createServerTemplateWithContainer.
/*
* helper method to setup template container and container spec
*/
protected void createServerTemplateWithContainer() {
serverTemplate = new ServerTemplate();
serverTemplate.setName("test server");
serverTemplate.setId(UUID.randomUUID().toString());
Map<Capability, ContainerConfig> configs = new HashMap<Capability, ContainerConfig>();
ruleConfig = new RuleConfig();
ruleConfig.setPollInterval(1000l);
ruleConfig.setScannerStatus(KieScannerStatus.STARTED);
configs.put(Capability.RULE, ruleConfig);
processConfig = new ProcessConfig();
processConfig.setKBase("defaultKieBase");
processConfig.setKSession("defaultKieSession");
processConfig.setMergeMode("MERGE_COLLECTION");
processConfig.setRuntimeStrategy("PER_PROCESS_INSTANCE");
configs.put(Capability.PROCESS, processConfig);
containerSpec = new ContainerSpec();
containerSpec.setId("test container");
containerSpec.setServerTemplateKey(new ServerTemplateKey(serverTemplate.getId(), serverTemplate.getName()));
containerSpec.setReleasedId(new ReleaseId("org.kie", "kie-server-kjar", "1.0"));
containerSpec.setStatus(KieContainerStatus.STOPPED);
containerSpec.setConfigs(configs);
serverTemplate.addContainerSpec(containerSpec);
container = new Container();
container.setServerInstanceId(serverTemplate.getId());
container.setServerTemplateId(serverTemplate.getId());
container.setResolvedReleasedId(containerSpec.getReleasedId());
container.setContainerName(containerSpec.getContainerName());
container.setContainerSpecId(containerSpec.getId());
container.setUrl("http://fake.server.net/kie-server");
}
use of org.kie.server.controller.api.model.spec.RuleConfig in project kie-wb-common by kiegroup.
the class NewContainerWizard method complete.
@Override
public void complete() {
final Map<Capability, ContainerConfig> mapConfig = new HashMap<Capability, ContainerConfig>();
if (getPages().size() == 2) {
mapConfig.put(Capability.PROCESS, processConfigPagePresenter.buildProcessConfig());
}
mapConfig.put(Capability.RULE, new RuleConfig(null, KieScannerStatus.STOPPED));
final ContainerSpec newContainer = newContainerFormPresenter.buildContainerSpec(newContainerFormPresenter.getServerTemplate().getId(), mapConfig);
specManagementService.call(new RemoteCallback<Void>() {
@Override
public void callback(final Void o) {
notification.fire(new NotificationEvent(newContainerFormPresenter.getView().getNewContainerWizardSaveSuccess(), NotificationEvent.NotificationType.SUCCESS));
clear();
NewContainerWizard.super.complete();
serverTemplateSelectedEvent.fire(new ServerTemplateSelected(serverTemplate, newContainer.getId()));
}
}, new ErrorCallback<Object>() {
@Override
public boolean error(final Object o, final Throwable throwable) {
notification.fire(new NotificationEvent(newContainerFormPresenter.getView().getNewContainerWizardSaveError(), NotificationEvent.NotificationType.ERROR));
NewContainerWizard.this.pageSelected(0);
NewContainerWizard.this.start();
return false;
}
}).saveContainerSpec(newContainerFormPresenter.getServerTemplate().getId(), newContainer);
}
Aggregations