protected void removeServerInstancesFromIndex(String serverTemplateId) { Iterator<Map.Entry<String, ServerInstanceKey>> iterator = serverInstancesById.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, ServerInstanceKey> entry = iterator.next(); if (entry.getValue().getServerTemplateId().equals(serverTemplateId)) { iterator.remove(); } } }
protected void removeServerInstancesFromIndex(String serverTemplateId) { Iterator<Map.Entry<String, ServerInstanceKey>> iterator = serverInstancesById.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, ServerInstanceKey> entry = iterator.next(); if (entry.getValue().getServerTemplateId().equals(serverTemplateId)) { iterator.remove(); } } }
public ContainerKey( final String containerSpecId, final String containerName, final ServerInstanceKey serverInstanceKey ) { this.serverTemplateId = serverInstanceKey.getServerTemplateId(); this.containerSpecId = containerSpecId; this.containerName = containerName; this.url = serverInstanceKey.getUrl(); }
public ContainerKey( final String containerSpecId, final String containerName, final ServerInstanceKey serverInstanceKey ) { this.serverTemplateId = serverInstanceKey.getServerTemplateId(); this.containerSpecId = containerSpecId; this.containerName = containerName; this.url = serverInstanceKey.getUrl(); }
@Override public ContainerList getContainers(ServerInstanceKey serverInstanceKey) { return makeGetRequestAndCreateCustomResponse(controllerBaseUrl + RUNTIME_URI_PART + serverInstanceKey.getServerTemplateId() + INSTANCES_URI_PART + serverInstanceKey.getServerInstanceId() + CONTAINERS_URI_PART, ContainerList.class); }
@Override public ContainerList getContainers(ServerInstanceKey serverInstanceKey) { return getServerInstanceContainers(serverInstanceKey.getServerTemplateId(), serverInstanceKey.getServerInstanceId()); }
public void onServerInstanceDisconnected(@Observes ServerInstanceDisconnected serverInstanceDisconnected) { ServerInstanceKey serverInstanceKey = serverInstancesById.get(serverInstanceDisconnected.getServerInstanceId()); if (serverInstanceKey != null) { Iterator<Map.Entry<String, KieServicesClient>> iterator = serverTemplatesClients.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, KieServicesClient> entry = iterator.next(); if (entry.getKey().startsWith(serverInstanceKey.getServerTemplateId())) { KieServicesClient client = entry.getValue(); if (client != null) { LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) client).getLoadBalancer(); loadBalancer.markAsFailed(serverInstanceKey.getUrl()); logger.debug("Server instance {} for server template {} removed from client thus won't be used for operations", serverInstanceKey.getUrl(), serverInstanceKey.getServerTemplateId()); } logger.debug("KieServerClient load balancer updated for server template {}", entry.getKey()); } } serverInstancesById.remove(serverInstanceKey.getServerInstanceId()); // update admin client KieServicesClient adminClient = adminClients.get(serverInstanceKey.getServerTemplateId()); if (adminClient != null) { LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) adminClient).getLoadBalancer(); loadBalancer.markAsFailed(serverInstanceKey.getUrl()); logger.debug("Server instance {} for server template {} removed from client thus won't be used for operations", serverInstanceKey.getUrl(), serverInstanceKey.getServerTemplateId()); } } }
public void onServerInstanceDisconnected(@Observes ServerInstanceDisconnected serverInstanceDisconnected) { ServerInstanceKey serverInstanceKey = serverInstancesById.get(serverInstanceDisconnected.getServerInstanceId()); if (serverInstanceKey != null) { serverTemplatesClients.computeIfPresent(serverInstanceKey.getServerTemplateId(), (serverTemplateId, clients) -> { clients.forEach((key, client) -> { LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) client).getLoadBalancer(); loadBalancer.markAsFailed(serverInstanceKey.getUrl()); logger.debug("Server instance '{}' for server template {} removed from client thus won't be used for operations", serverInstanceKey.getUrl(), serverInstanceKey.getServerTemplateId()); logger.debug("KieServerClient load balancer updated for server template {}", serverTemplateId.equals(SERVER_TEMPLATE_KEY) ? serverInstanceKey.getServerTemplateId() : serverTemplateId); }); return clients; }); serverInstancesById.remove(serverInstanceKey.getServerInstanceId()); // update admin client KieServicesClient adminClient = adminClients.get(serverInstanceKey.getServerTemplateId()); if (adminClient != null) { LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) adminClient).getLoadBalancer(); loadBalancer.markAsFailed(serverInstanceKey.getUrl()); logger.debug("Server instance {} for server template {} removed from client thus won't be used for operations", serverInstanceKey.getUrl(), serverInstanceKey.getServerTemplateId()); } } }
public void onServerInstanceSelect( @Observes final ServerInstanceSelected serverInstanceSelected ) { if ( serverInstanceSelected != null && serverInstanceSelected.getServerInstanceKey() != null && serverInstanceSelected.getServerInstanceKey().getServerTemplateId() != null && serverInstanceSelected.getServerInstanceKey().getServerInstanceId() != null ) { view.selectServerInstance( serverInstanceSelected.getServerInstanceKey().getServerTemplateId(), serverInstanceSelected.getServerInstanceKey().getServerInstanceId() ); } else { logger.warn( "Illegal event argument." ); } }
public void load( final ServerInstanceKey serverInstanceKey ) { runtimeManagementService.call( new RemoteCallback<Collection<Container>>() { @Override public void callback( final Collection<Container> containers ) { loadContent( containers ); } } ).getContainersByServerInstance( serverInstanceKey.getServerTemplateId(), serverInstanceKey.getServerInstanceId() ); }
private void addServerInstance( final ServerInstanceKey serverInstanceKey ) { serverInstances.add( serverInstanceKey.getServerInstanceId() ); view.addServerInstance( serverInstanceKey.getServerTemplateId(), serverInstanceKey.getServerInstanceId(), serverInstanceKey.getServerName(), new Command() { @Override public void execute() { serverInstanceSelectedEvent.fire( new ServerInstanceSelected( serverInstanceKey ) ); } } ); }
private ContainerSpecKey buildContainerSpecKey( final Container container ) { return new ContainerSpecKey( container.getContainerSpecId(), container.getContainerName(), new ServerTemplateKey( container.getServerInstanceKey().getServerTemplateId(), "" ) ); } }
@Override public void afterResponseSent() { ServerTemplate serverTemplate = controller.getTemplateStorage().load(serverInfo.getServerId()); ServerInstanceKey serverInstanceKey = serverTemplate.getServerInstanceKeys().stream() .filter(server -> server.getUrl().equals(serverInfo.getLocation())) .findFirst() .get(); ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerName(serverInstanceKey.getServerName()); serverInstance.setServerTemplateId(serverInstanceKey.getServerTemplateId()); serverInstance.setServerInstanceId(serverInstanceKey.getServerInstanceId()); serverInstance.setUrl(serverInstanceKey.getUrl()); controller.getNotificationService().notify(new ServerInstanceUpdated(serverInstance)); controller.getNotificationService().notify(new ServerInstanceConnected(serverInstance)); }
@Test public void testSelectAndRefreshEmptyContainers() { final ServerInstanceKey serverInstanceKey = new ServerInstanceKey( "templateId", "serverName", "serverInstanceId", "url" ); when( runtimeManagementService.getContainersByServerInstance( serverInstanceKey.getServerTemplateId(), serverInstanceKey.getServerInstanceId() ) ).thenReturn( Collections.<Container>emptyList() ); presenter.onSelect( new ServerInstanceSelected( serverInstanceKey ) ); verify( view ).clear(); verify( view ).setServerName( serverInstanceKey.getServerName() ); verify( view ).setServerURL( serverInstanceKey.getUrl() ); verify( view ).setEmptyView( remoteEmptyPresenter.getView() ); }
@Override public void deleteServerInstance(final ServerInstanceKey serverInstanceKey) { checkNotNull("serverInstanceKey", serverInstanceKey); if (getKieServerInstanceManager().isAlive(serverInstanceKey)) { throw new RuntimeException("Can't delete live instance."); } else { final String serverInstanceId = serverInstanceKey.getServerInstanceId(); final ServerTemplate serverTemplate = getServerTemplate(serverInstanceKey.getServerTemplateId()); if (serverTemplate != null) { serverTemplate.deleteServerInstance(serverInstanceId); getTemplateStorage().update(serverTemplate); getNotificationService().notify(new ServerInstanceDeleted(serverInstanceId)); } } }
@Test public void testSelectAndRefresh() { final ServerInstanceKey serverInstanceKey = new ServerInstanceKey( "templateId", "serverName", "serverInstanceId", "url" ); final Container container = new Container( "containerSpecId", "containerName", serverInstanceKey, Collections.<Message>emptyList(), null, null ); final List<Container> containers = Collections.singletonList( container ); when( runtimeManagementService.getContainersByServerInstance( serverInstanceKey.getServerTemplateId(), serverInstanceKey.getServerInstanceId() ) ).thenReturn( containers ); presenter.onSelect( new ServerInstanceSelected( serverInstanceKey ) ); verify( view ).clear(); verify( view ).setServerName( serverInstanceKey.getServerName() ); verify( view ).setServerURL( serverInstanceKey.getUrl() ); verify( remoteStatusPresenter ).setup( containers ); verify( view ).setStatusPresenter( remoteStatusPresenter.getView() ); }
@Test public void testToKey() { final String serverTemplateId = "serverTemplateId"; final String serverName = "serverName"; final String serverInstanceId = "serverInstanceId"; final String url = "url"; ServerInstance serverInstance = new ServerInstance( serverTemplateId, serverName, serverInstanceId, url, "version", new ArrayList<Message>(), new ArrayList<Container>() ); ServerInstanceKey key = Convert.toKey( serverInstance ); assertEquals( serverTemplateId, key.getServerTemplateId() ); assertEquals( serverName, key.getServerName() ); assertEquals( serverInstanceId, key.getServerInstanceId() ); assertEquals( url, key.getUrl() ); } }
@Test public void testOnServerInstanceSelect() { final ServerInstanceKey serverInstanceKey = new ServerInstanceKey( "serverInstanceKeyId", "serverName", "serverInstanceId", "url" ); presenter.onServerInstanceSelect( new ServerInstanceSelected( serverInstanceKey ) ); verify( view ).selectServerInstance( serverInstanceKey.getServerTemplateId(), serverInstanceKey.getServerInstanceId() ); }
new ServerTemplateKey( container.getServerInstanceKey().getServerTemplateId(), "" ) );
@Test public void testGetServerInstances() { ServerInstanceKeyList found = runtimeManagementService.getServerInstances(serverTemplate.getId()); assertNotNull(found); assertEquals(0, found.getServerInstanceKeys().length); serverTemplate.addServerInstance(new ServerInstanceKey(serverTemplate.getId(), "test server","instanceId" , "http://fake.url.org")); specManagementService.saveServerTemplate(serverTemplate); found = runtimeManagementService.getServerInstances(serverTemplate.getId()); assertNotNull(found); assertEquals(1, found.getServerInstanceKeys().length); org.kie.server.controller.api.model.runtime.ServerInstanceKey server = found.getServerInstanceKeys()[0]; assertNotNull(server); assertEquals(serverTemplate.getId(), server.getServerTemplateId()); assertEquals("instanceId", server.getServerInstanceId()); assertEquals("test server", server.getServerName()); assertEquals("http://fake.url.org", server.getUrl()); }