Repository: jclouds
Updated Branches:
  refs/heads/master 34b54ad16 -> d98348d50


Better predicate signature for node operations


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/d98348d5
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/d98348d5
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/d98348d5

Branch: refs/heads/master
Commit: d98348d503348a49dffd689093b27d7104d52279
Parents: 34b54ad
Author: Ignasi Barrera <[email protected]>
Authored: Wed Sep 21 12:50:15 2016 +0200
Committer: Ignasi Barrera <[email protected]>
Committed: Fri Sep 23 10:22:23 2016 +0200

----------------------------------------------------------------------
 .../compute/strategy/EC2ListNodesStrategy.java  |  2 +-
 .../org/jclouds/compute/ComputeService.java     | 20 +++++++++---------
 .../compute/internal/BaseComputeService.java    | 22 ++++++++++----------
 .../compute/strategy/ListNodesStrategy.java     |  2 +-
 .../impl/AdaptingComputeServiceStrategies.java  |  2 +-
 .../internal/BaseComputeServiceLiveTest.java    |  2 +-
 .../compute/GoogleComputeEngineService.java     |  2 +-
 7 files changed, 26 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/d98348d5/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2ListNodesStrategy.java
----------------------------------------------------------------------
diff --git 
a/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2ListNodesStrategy.java
 
b/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2ListNodesStrategy.java
index 2f0204a..1baec63 100644
--- 
a/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2ListNodesStrategy.java
+++ 
b/apis/ec2/src/main/java/org/jclouds/ec2/compute/strategy/EC2ListNodesStrategy.java
@@ -103,7 +103,7 @@ public class EC2ListNodesStrategy implements 
ListNodesStrategy {
    }
 
    @Override
-   public Set<? extends NodeMetadata> 
listDetailsOnNodesMatching(Predicate<ComputeMetadata> filter) {
+   public Set<? extends NodeMetadata> listDetailsOnNodesMatching(Predicate<? 
super NodeMetadata> filter) {
       Iterable<? extends RunningInstance> instances = pollRunningInstances();
       Iterable<? extends NodeMetadata> nodes = 
filter(transform(filter(instances, notNull()),
                runningInstanceToNodeMetadata), and(notNull(), filter));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d98348d5/compute/src/main/java/org/jclouds/compute/ComputeService.java
----------------------------------------------------------------------
diff --git a/compute/src/main/java/org/jclouds/compute/ComputeService.java 
b/compute/src/main/java/org/jclouds/compute/ComputeService.java
index 9a1c06a..7489c18 100644
--- a/compute/src/main/java/org/jclouds/compute/ComputeService.java
+++ b/compute/src/main/java/org/jclouds/compute/ComputeService.java
@@ -103,7 +103,7 @@ public interface ComputeService {
    /**
     * @return all nodes with one of the provided ids available to the current 
user.
     */
-   Set<? extends NodeMetadata> listNodesByIds(Iterable<String> ids);
+   Set<? extends ComputeMetadata> listNodesByIds(Iterable<String> ids);
 
    /**
     * The list locations command returns all the valid locations for nodes. A 
location has a scope,
@@ -197,7 +197,7 @@ public interface ComputeService {
     * @throws NoSuchElementException
     *            if no nodes matched the predicate specified
     */
-   Set<? extends NodeMetadata> resumeNodesMatching(Predicate<NodeMetadata> 
filter);
+   Set<? extends NodeMetadata> resumeNodesMatching(Predicate<? super 
NodeMetadata> filter);
 
    /**
     * suspend the node, given its id. This will result in
@@ -227,7 +227,7 @@ public interface ComputeService {
     * @throws NoSuchElementException
     *            if no nodes matched the predicate specified
     */
-   Set<? extends NodeMetadata> suspendNodesMatching(Predicate<NodeMetadata> 
filter);
+   Set<? extends NodeMetadata> suspendNodesMatching(Predicate<? super 
NodeMetadata> filter);
 
    /**
     * destroy the node, given its id. If it is the only node in a tag set, the 
dependent resources
@@ -242,7 +242,7 @@ public interface ComputeService {
     * 
     * @return list of nodes destroyed
     */
-   Set<? extends NodeMetadata> destroyNodesMatching(Predicate<NodeMetadata> 
filter);
+   Set<? extends NodeMetadata> destroyNodesMatching(Predicate<? super 
NodeMetadata> filter);
 
    /**
     * reboot the node, given its id.
@@ -258,7 +258,7 @@ public interface ComputeService {
     * @throws NoSuchElementException
     *            if no nodes matched the predicate specified
     */
-   Set<? extends NodeMetadata> rebootNodesMatching(Predicate<NodeMetadata> 
filter);
+   Set<? extends NodeMetadata> rebootNodesMatching(Predicate<? super 
NodeMetadata> filter);
 
    /**
     * Find a node by its id.
@@ -272,27 +272,27 @@ public interface ComputeService {
     * @param filter
     *           how to select the nodes you are interested in details on.
     */
-   Set<? extends NodeMetadata> 
listNodesDetailsMatching(Predicate<ComputeMetadata> filter);
+   Set<? extends NodeMetadata> listNodesDetailsMatching(Predicate<? super 
NodeMetadata> filter);
 
    /**
     * 
     * @see ComputeService#runScriptOnNodesMatching(Predicate, Statement, 
RunScriptOptions)
     */
-   Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<NodeMetadata> filter, String runScript)
+   Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<? super NodeMetadata> filter, String 
runScript)
             throws RunScriptOnNodesException;
 
    /**
     * 
     * @see ComputeService#runScriptOnNodesMatching(Predicate, Statement, 
RunScriptOptions)
     */
-   Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<NodeMetadata> filter,
+   Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<? super NodeMetadata> filter,
             Statement runScript) throws RunScriptOnNodesException;
 
    /**
     * 
     * @see ComputeService#runScriptOnNodesMatching(Predicate, Statement, 
RunScriptOptions)
     */
-   Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<NodeMetadata> filter, String runScript,
+   Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<? super NodeMetadata> filter, String 
runScript,
             RunScriptOptions options) throws RunScriptOnNodesException;
 
    /**
@@ -313,7 +313,7 @@ public interface ComputeService {
     * @see org.jclouds.compute.predicates.NodePredicates#runningInGroup(String)
     * @see org.jclouds.scriptbuilder.domain.Statements
     */
-   Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<NodeMetadata> filter,
+   Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<? super NodeMetadata> filter,
             Statement runScript, RunScriptOptions options) throws 
RunScriptOnNodesException;
 
    /**

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d98348d5/compute/src/main/java/org/jclouds/compute/internal/BaseComputeService.java
----------------------------------------------------------------------
diff --git 
a/compute/src/main/java/org/jclouds/compute/internal/BaseComputeService.java 
b/compute/src/main/java/org/jclouds/compute/internal/BaseComputeService.java
index 84b3b4d..8dc5c51 100644
--- a/compute/src/main/java/org/jclouds/compute/internal/BaseComputeService.java
+++ b/compute/src/main/java/org/jclouds/compute/internal/BaseComputeService.java
@@ -256,7 +256,7 @@ public class BaseComputeService implements ComputeService {
     * {@inheritDoc}
     */
    @Override
-   public Set<? extends NodeMetadata> 
destroyNodesMatching(Predicate<NodeMetadata> filter) {
+   public Set<? extends NodeMetadata> destroyNodesMatching(Predicate<? super 
NodeMetadata> filter) {
       logger.debug(">> destroying nodes matching(%s)", filter);
       Set<NodeMetadata> destroyNodes = 
ImmutableSet.copyOf(transformParallel(nodesMatchingFilterAndNotTerminated(filter),
             new Function<NodeMetadata, ListenableFuture<? extends 
NodeMetadata>>() {
@@ -317,7 +317,7 @@ public class BaseComputeService implements ComputeService {
       // no-op; to be overridden
    }
 
-   Iterable<? extends NodeMetadata> 
nodesMatchingFilterAndNotTerminated(Predicate<NodeMetadata> filter) {
+   Iterable<? extends NodeMetadata> 
nodesMatchingFilterAndNotTerminated(Predicate<? super NodeMetadata> filter) {
       return filter(detailsOnAllNodes(), and(checkNotNull(filter, "filter"), 
not(TERMINATED)));
    }
 
@@ -326,7 +326,7 @@ public class BaseComputeService implements ComputeService {
     *            if none found
     */
    Iterable<? extends NodeMetadata> 
nodesMatchingFilterAndNotTerminatedExceptionIfNotFound(
-         Predicate<NodeMetadata> filter) {
+         Predicate<? super NodeMetadata> filter) {
       Iterable<? extends NodeMetadata> nodes = 
nodesMatchingFilterAndNotTerminated(filter);
       if (Iterables.isEmpty(nodes))
          throw new NoSuchElementException("no nodes matched filter: " + 
filter);
@@ -360,7 +360,7 @@ public class BaseComputeService implements ComputeService {
     * {@inheritDoc}
     */
    @Override
-   public Set<? extends NodeMetadata> 
listNodesDetailsMatching(Predicate<ComputeMetadata> filter) {
+   public Set<? extends NodeMetadata> listNodesDetailsMatching(Predicate<? 
super NodeMetadata> filter) {
       checkNotNull(filter, "filter");
       logger.trace(">> listing node details matching(%s)", filter);
       Set<? extends NodeMetadata> set = 
newLinkedHashSet(listNodesStrategy.listDetailsOnNodesMatching(filter));
@@ -434,7 +434,7 @@ public class BaseComputeService implements ComputeService {
     * {@inheritDoc}
     */
    @Override
-   public Set<? extends NodeMetadata> 
rebootNodesMatching(Predicate<NodeMetadata> filter) {
+   public Set<? extends NodeMetadata> rebootNodesMatching(Predicate<? super 
NodeMetadata> filter) {
       logger.debug(">> rebooting nodes matching(%s)", filter);
       Set<NodeMetadata> rebootNodes = 
ImmutableSet.copyOf(transformParallel(nodesMatchingFilterAndNotTerminated(filter),
             new Function<NodeMetadata, ListenableFuture<? extends 
NodeMetadata>>() {
@@ -475,7 +475,7 @@ public class BaseComputeService implements ComputeService {
     * {@inheritDoc}
     */
    @Override
-   public Set<? extends NodeMetadata> 
resumeNodesMatching(Predicate<NodeMetadata> filter) {
+   public Set<? extends NodeMetadata> resumeNodesMatching(Predicate<? super 
NodeMetadata> filter) {
       logger.debug(">> resuming nodes matching(%s)", filter);
       Set<NodeMetadata> resumeNodes = 
ImmutableSet.copyOf(transformParallel(nodesMatchingFilterAndNotTerminated(filter),
             new Function<NodeMetadata, ListenableFuture<? extends 
NodeMetadata>>() {
@@ -516,7 +516,7 @@ public class BaseComputeService implements ComputeService {
     * {@inheritDoc}
     */
    @Override
-   public Set<? extends NodeMetadata> 
suspendNodesMatching(Predicate<NodeMetadata> filter) {
+   public Set<? extends NodeMetadata> suspendNodesMatching(Predicate<? super 
NodeMetadata> filter) {
       logger.debug(">> suspending nodes matching(%s)", filter);
       Set<NodeMetadata> suspendNodes = 
ImmutableSet.copyOf(transformParallel(nodesMatchingFilterAndNotTerminated(filter),
             new Function<NodeMetadata, ListenableFuture<? extends 
NodeMetadata>>() {
@@ -545,7 +545,7 @@ public class BaseComputeService implements ComputeService {
     * {@inheritDoc}
     */
    @Override
-   public Map<NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<NodeMetadata> filter, String runScript)
+   public Map<NodeMetadata, ExecResponse> runScriptOnNodesMatching(Predicate<? 
super NodeMetadata> filter, String runScript)
          throws RunScriptOnNodesException {
       return runScriptOnNodesMatching(filter, 
Statements.literal(checkNotNull(runScript, "runScript")));
    }
@@ -554,13 +554,13 @@ public class BaseComputeService implements ComputeService 
{
     * {@inheritDoc}
     */
    @Override
-   public Map<NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<NodeMetadata> filter, Statement runScript)
+   public Map<NodeMetadata, ExecResponse> runScriptOnNodesMatching(Predicate<? 
super NodeMetadata> filter, Statement runScript)
          throws RunScriptOnNodesException {
       return runScriptOnNodesMatching(filter, runScript, 
RunScriptOptions.NONE);
    }
 
    @Override
-   public Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<NodeMetadata> filter,
+   public Map<? extends NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<? super NodeMetadata> filter,
          String runScript, RunScriptOptions options) throws 
RunScriptOnNodesException {
       return runScriptOnNodesMatching(filter, 
Statements.literal(checkNotNull(runScript, "runScript")), options);
    }
@@ -569,7 +569,7 @@ public class BaseComputeService implements ComputeService {
     * {@inheritDoc}
     */
    @Override
-   public Map<NodeMetadata, ExecResponse> 
runScriptOnNodesMatching(Predicate<NodeMetadata> filter, Statement runScript,
+   public Map<NodeMetadata, ExecResponse> runScriptOnNodesMatching(Predicate<? 
super NodeMetadata> filter, Statement runScript,
          RunScriptOptions options) throws RunScriptOnNodesException {
 
       checkNotNull(filter, "filter");

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d98348d5/compute/src/main/java/org/jclouds/compute/strategy/ListNodesStrategy.java
----------------------------------------------------------------------
diff --git 
a/compute/src/main/java/org/jclouds/compute/strategy/ListNodesStrategy.java 
b/compute/src/main/java/org/jclouds/compute/strategy/ListNodesStrategy.java
index e6e5396..6b17476 100644
--- a/compute/src/main/java/org/jclouds/compute/strategy/ListNodesStrategy.java
+++ b/compute/src/main/java/org/jclouds/compute/strategy/ListNodesStrategy.java
@@ -25,7 +25,7 @@ public interface ListNodesStrategy {
 
    Iterable<? extends ComputeMetadata> listNodes();
 
-   Iterable<? extends NodeMetadata> 
listDetailsOnNodesMatching(Predicate<ComputeMetadata> filter);
+   Iterable<? extends NodeMetadata> listDetailsOnNodesMatching(Predicate<? 
super NodeMetadata> filter);
 
    Iterable<? extends NodeMetadata> listNodesByIds(Iterable<String> ids);
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d98348d5/compute/src/main/java/org/jclouds/compute/strategy/impl/AdaptingComputeServiceStrategies.java
----------------------------------------------------------------------
diff --git 
a/compute/src/main/java/org/jclouds/compute/strategy/impl/AdaptingComputeServiceStrategies.java
 
b/compute/src/main/java/org/jclouds/compute/strategy/impl/AdaptingComputeServiceStrategies.java
index da38747..c5be402 100644
--- 
a/compute/src/main/java/org/jclouds/compute/strategy/impl/AdaptingComputeServiceStrategies.java
+++ 
b/compute/src/main/java/org/jclouds/compute/strategy/impl/AdaptingComputeServiceStrategies.java
@@ -118,7 +118,7 @@ public class AdaptingComputeServiceStrategies<N, H, I, L> 
implements CreateNodeW
    }
 
    @Override
-   public Iterable<? extends NodeMetadata> 
listDetailsOnNodesMatching(Predicate<ComputeMetadata> filter) {
+   public Iterable<? extends NodeMetadata> 
listDetailsOnNodesMatching(Predicate<? super NodeMetadata> filter) {
       return filter(transform(client.listNodes(), nodeMetadataAdapter), 
filter);
    }
    

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d98348d5/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git 
a/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
 
b/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
index 61ed6b0..462300d 100644
--- 
a/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
+++ 
b/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
@@ -644,7 +644,7 @@ public abstract class BaseComputeServiceLiveTest extends 
BaseComputeServiceConte
 
          }));
 
-      SortedSet<? extends NodeMetadata> listedNodes = 
ImmutableSortedSet.copyOf(client.listNodesByIds(nodeIds));
+      SortedSet<? extends ComputeMetadata> listedNodes = 
ImmutableSortedSet.copyOf(client.listNodesByIds(nodeIds));
       // newTreeSet is here because elementsEqual cares about ordering.
       assertTrue(Iterables.elementsEqual(nodes, listedNodes),
               "nodes and listNodesByIds should be identical: was " + 
listedNodes + " but should be " + nodes);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d98348d5/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineService.java
----------------------------------------------------------------------
diff --git 
a/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineService.java
 
b/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineService.java
index 74c7c57..acf456a 100644
--- 
a/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineService.java
+++ 
b/providers/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineService.java
@@ -136,7 +136,7 @@ public final class GoogleComputeEngineService extends 
BaseComputeService {
    }
 
    @Override
-   public Set<? extends NodeMetadata> 
destroyNodesMatching(Predicate<NodeMetadata> filter) {
+   public Set<? extends NodeMetadata> destroyNodesMatching(Predicate<? super 
NodeMetadata> filter) {
       // GCE does not return TERMINATED nodes, so in practice no node will 
never reach the TERMINATED
       // state, and the deleted nodes will never be returned.
       // In order to be able to clean up the resources associated to the 
deleted nodes, we have to retrieve

Reply via email to