Updated Branches: refs/heads/master c5d6f6b14 -> d9717a432
JCLOUDS-369: Added a new predicate to capture disk links Added a new predicate to capture disk links Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/d9717a43 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/d9717a43 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/d9717a43 Branch: refs/heads/master Commit: d9717a432fcd1a2512f4a5d121b9454822f928e7 Parents: c5d6f6b Author: Carlos Garcia <[email protected]> Authored: Tue Nov 5 10:48:23 2013 +0100 Committer: Andrew Phillips <[email protected]> Committed: Thu Nov 7 08:19:21 2013 -0500 ---------------------------------------------------------------------- .../abiquo/predicates/LinkPredicates.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/d9717a43/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java ---------------------------------------------------------------------- diff --git a/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java b/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java index 524fcfe..31f4907 100644 --- a/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java +++ b/abiquo/src/main/java/org/jclouds/abiquo/predicates/LinkPredicates.java @@ -18,7 +18,11 @@ package org.jclouds.abiquo.predicates; import static com.google.common.base.Preconditions.checkNotNull; +import java.util.regex.Pattern; + import com.abiquo.model.rest.RESTLink; +import com.abiquo.server.core.infrastructure.network.NicDto; +import com.abiquo.server.core.infrastructure.storage.VolumeManagementDto; import com.google.common.base.Predicate; /** @@ -27,6 +31,10 @@ import com.google.common.base.Predicate; * @author Ignasi Barrera */ public class LinkPredicates { + + private static final Pattern IS_NIC_REL_PATTERN = Pattern.compile("^" + NicDto.REL_PREFIX + "[0-9]+$"); + private static final Pattern IS_DISK_REL_PATTERN = Pattern.compile("^" + VolumeManagementDto.REL_PREFIX + "[0-9]+$"); + public static Predicate<RESTLink> rel(final String rel) { checkNotNull(rel, "rel must be defined"); return new Predicate<RESTLink>() { @@ -41,8 +49,18 @@ public class LinkPredicates { return new Predicate<RESTLink>() { @Override public boolean apply(final RESTLink link) { - return link.getRel().matches("^nic[0-9]+$"); + return IS_NIC_REL_PATTERN.matcher(link.getRel()).matches(); + } + }; + } + + public static Predicate<RESTLink> isDisk() { + return new Predicate<RESTLink>() { + @Override + public boolean apply(RESTLink link) { + return IS_DISK_REL_PATTERN.matcher(link.getRel()).matches(); } }; } + }
