Fix ActivePartialRebindVersionTest breakage from previous change.
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/d26e705c Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/d26e705c Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/d26e705c Branch: refs/heads/master Commit: d26e705c2611049d8f60b7128fd2540fe13b97f7 Parents: 4c7ca74 Author: Geoff Macartney <[email protected]> Authored: Thu Sep 29 15:21:17 2016 +0100 Committer: Geoff Macartney <[email protected]> Committed: Thu Apr 20 11:20:35 2017 +0100 ---------------------------------------------------------------------- .../rebind/transformer/CompoundTransformer.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d26e705c/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java index 74b8bb0..59d7fe6 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java @@ -179,21 +179,31 @@ public class CompoundTransformer { } /** Changes the contents of an XML tag 'catalogItemId' where the * old text matches oldSymbolicName and optionally oldVersion - * to have newSymbolicName and newVersion. + * to have newSymbolicName and newVersion. * <p> + * Also changes contents of elements within a list of 'catalogItemSuperIds' e.g. + * <pre> + * <catalogItemSuperIds> + * <string>one</string> + * <string>two</string> + * </catalogItemSuperIds> + * </pre> + * </p><p> + * + * </p> * This provides a programmatic way to change the catalogItemID. */ public Builder changeCatalogItemId(String oldSymbolicName, String oldVersion, String newSymbolicName, String newVersion) { if (oldVersion==null) return changeCatalogItemId(oldSymbolicName, newSymbolicName, newVersion); // warnings use underscore notation because that's what CompoundTransformerLoader uses - return xmlReplaceItem("catalogItemId/text()[.='"+ + return xmlReplaceItem("*[self::catalogItemId|parent::catalogItemSuperIds]/text()[.='"+ Preconditions.checkNotNull(oldSymbolicName, "old_symbolic_name")+":"+Preconditions.checkNotNull(oldVersion, "old_version")+"']", Preconditions.checkNotNull(newSymbolicName, "new_symbolic_name")+":"+Preconditions.checkNotNull(newVersion, "new_version")); } /** As {@link #changeCatalogItemId(String, String, String, String)} matching any old version. */ public Builder changeCatalogItemId(String oldSymbolicName, String newSymbolicName, String newVersion) { - return xmlReplaceItem("catalogItemId/text()[starts-with(.,'"+Preconditions.checkNotNull(oldSymbolicName, "old_symbolic_name")+":')]", + return xmlReplaceItem("*[self::catalogItemId|parent::catalogItemSuperIds]/text()[starts-with(.,'"+Preconditions.checkNotNull(oldSymbolicName, "old_symbolic_name")+":')]", Preconditions.checkNotNull(newSymbolicName, "new_symbolic_name")+":"+Preconditions.checkNotNull(newVersion, "new_version")); }
