protected void collectContainerInfo(ContainerSpec containerSpec, KieServicesClient client, Container container) { // collect up to date information ServiceResponse<KieContainerResource> serviceResponse = client.getContainerInfo(containerSpec.getId()); if (serviceResponse.getType().equals(ServiceResponse.ResponseType.SUCCESS)) { KieContainerResource containerResource = serviceResponse.getResult(); container.setResolvedReleasedId(containerResource.getResolvedReleaseId() == null ? containerResource.getReleaseId() : containerResource.getResolvedReleaseId()); container.setMessages(containerResource.getMessages()); } }
public boolean accept(KieContainerResource kieContainerResource) { if (kieContainerResource == null) { throw new IllegalArgumentException("KieContainerResource can not be null!"); } // in case resolved release id exists, check against that ReleaseId resolvedReleaseId = kieContainerResource.getResolvedReleaseId(); if (resolvedReleaseId != null) { if (!releaseIdFilter.accept(resolvedReleaseId)) { return false; } } else { if (!releaseIdFilter.accept(kieContainerResource.getReleaseId())) { return false; } } KieContainerStatus status = kieContainerResource.getStatus(); if (status != null && !statusFilter.accept(status)) { return false; } // all sub-filters accepted the container, so it is a match return true; }
protected boolean updateReleaseId() { ReleaseId oldReleaseId = this.resource.getReleaseId(); ReleaseId oldResolvedReleaseId = this.resource.getResolvedReleaseId(); if ( kieContainer != null ) { this.resource.setReleaseId( new ReleaseId( kieContainer.getContainerReleaseId() ) ); this.resource.setResolvedReleaseId( new ReleaseId( kieContainer.getReleaseId() ) ); } if (releaseIdUpdated(oldReleaseId, this.resource.getReleaseId()) || releaseIdUpdated(oldResolvedReleaseId, this.resource.getResolvedReleaseId())) { disposeMarshallers(); return true; } return false; }
@Test public void testMakeContainerResourceWhenConfigsIsNull() { final String id = "id"; final ReleaseId releaseId = mock(ReleaseId.class); final ReleaseId resolvedReleasedId = mock(ReleaseId.class); final KieContainerStatus status = KieContainerStatus.CREATING; final String containerName = "containerName"; final Collection<Message> messages = new ArrayList<>(); doReturn(id).when(containerSpec).getId(); doReturn(releaseId).when(containerSpec).getReleasedId(); doReturn(resolvedReleasedId).when(container).getResolvedReleasedId(); doReturn(status).when(container).getStatus(); doReturn(containerName).when(containerSpec).getContainerName(); doReturn(messages).when(container).getMessages(); doReturn(null).when(containerSpec).getConfigs(); final KieContainerResource resource = instanceManager.makeContainerResource(container, containerSpec); assertEquals(id, resource.getContainerId()); assertEquals(releaseId, resource.getReleaseId()); assertEquals(resolvedReleasedId, resource.getResolvedReleaseId()); assertEquals(status, resource.getStatus()); assertEquals(containerName, resource.getContainerAlias()); assertEquals(messages, resource.getMessages()); verify(instanceManager, never()).setRuleConfigAttributes(any(), any()); verify(instanceManager, never()).setProcessConfigAttributes(any(), any()); }
@Override public Void doOperation(KieServicesClient client, Container container) { final ServiceResponse<KieContainerResource> response = client.getContainerInfo(containerSpec.getId()); final KieContainerResource containerResource = response.getResult(); if (response.getType().equals(ServiceResponse.ResponseType.SUCCESS)) { container.setContainerSpecId(containerResource.getContainerId()); container.setContainerName(containerResource.getContainerAlias()); container.setResolvedReleasedId(containerResource.getResolvedReleaseId() == null ? containerResource.getReleaseId() : containerResource.getResolvedReleaseId()); container.setServerTemplateId(serverTemplate.getId()); container.setStatus(containerResource.getStatus()); container.setMessages(containerResource.getMessages()); } return null; } };
@Test public void testMakeContainerResourceWhenConfigsIsNotNull() { final String id = "id"; final ReleaseId releaseId = mock(ReleaseId.class); final ReleaseId resolvedReleasedId = mock(ReleaseId.class); final KieContainerStatus status = KieContainerStatus.CREATING; final String containerName = "containerName"; final Collection<Message> messages = new ArrayList<>(); final Map<?, ?> configs = mock(Map.class); doReturn(id).when(containerSpec).getId(); doReturn(releaseId).when(containerSpec).getReleasedId(); doReturn(resolvedReleasedId).when(container).getResolvedReleasedId(); doReturn(status).when(container).getStatus(); doReturn(containerName).when(containerSpec).getContainerName(); doReturn(messages).when(container).getMessages(); doReturn(configs).when(containerSpec).getConfigs(); final KieContainerResource resource = instanceManager.makeContainerResource(container, containerSpec); assertEquals(id, resource.getContainerId()); assertEquals(releaseId, resource.getReleaseId()); assertEquals(resolvedReleasedId, resource.getResolvedReleaseId()); assertEquals(status, resource.getStatus()); assertEquals(containerName, resource.getContainerAlias()); assertEquals(messages, resource.getMessages()); verify(instanceManager).setRuleConfigAttributes(containerSpec, resource); verify(instanceManager).setProcessConfigAttributes(containerSpec, resource); }
container.setServerInstanceId(serverInstanceKey.getServerInstanceId()); container.setUrl(serverInstanceKey.getUrl() + CONTAINERS_URI_PART + containerResource.getContainerId()); container.setResolvedReleasedId(containerResource.getResolvedReleaseId() == null ? containerResource.getReleaseId() : containerResource.getResolvedReleaseId()); container.setServerTemplateId(serverInstanceKey.getServerTemplateId()); container.setStatus(containerResource.getStatus());
assertEquals("Container id", "kie1", container.getContainerId()); assertEquals("Release id", releaseId, container.getReleaseId()); assertEquals("Resolved release Id", releaseId, container.getResolvedReleaseId());