protected Object doExecute()

in commands/src/main/java/org/jclouds/karaf/commands/compute/NodeDestroyAllCommand.java [34:63]


   protected Object doExecute() throws Exception {
      ComputeService service = null;
      try {
         service = getComputeService();
      } catch (Throwable t) {
         System.err.println(t.getMessage());
         t.printStackTrace(System.err);
         return null;
      }
      Set<? extends NodeMetadata> nodeMetadatas = service.destroyNodesMatching(new Predicate<NodeMetadata>() {
         @Override
         public boolean apply(@Nullable NodeMetadata input) {
            return true;
         }
      });

      if (nodeMetadatas != null && !nodeMetadatas.isEmpty()) {
         System.out.println("Destroyed nodes:");
         printNodes(service, nodeMetadatas, System.out);
      }

      for (NodeMetadata node : nodeMetadatas) {
        for (String cacheKey : ServiceHelper.findCacheKeysForService(service)) {
          cacheProvider.getProviderCacheForType(Constants.ACTIVE_NODE_CACHE).remove(cacheKey, node.getId());
          cacheProvider.getProviderCacheForType(Constants.INACTIVE_NODE_CACHE).remove(cacheKey, node.getId());
          cacheProvider.getProviderCacheForType(Constants.SUSPENDED_NODE_CACHE).remove(cacheKey, node.getId());
        }
      }
      return null;
   }