[01/19] ambari git commit: AMBARI-21693. Can't register multiple PATCH versions (ncole)
Repository: ambari Updated Branches: refs/heads/branch-feature-logsearch-ui f50c17b98 -> 01bcae93a AMBARI-21693. Can't register multiple PATCH versions (ncole) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7a3ffea9 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7a3ffea9 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7a3ffea9 Branch: refs/heads/branch-feature-logsearch-ui Commit: 7a3ffea9e4236c2ad58b05ff7af8a31691c96ce6 Parents: 1433ecf Author: Nate Cole Authored: Thu Aug 10 07:42:00 2017 -0400 Committer: Nate Cole Committed: Thu Aug 10 07:42:00 2017 -0400 -- .../VersionDefinitionResourceProvider.java | 51 -- .../server/orm/dao/RepositoryVersionDAO.java| 15 +- .../orm/entities/RepositoryVersionEntity.java | 25 ++- .../VersionDefinitionResourceProviderTest.java | 170 ++- 4 files changed, 238 insertions(+), 23 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/7a3ffea9/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java index 5d65f35..4696c70 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java @@ -21,6 +21,7 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URI; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; @@ -71,6 +72,8 @@ import org.codehaus.jackson.node.ArrayNode; import org.codehaus.jackson.node.JsonNodeFactory; import org.codehaus.jackson.node.ObjectNode; +import com.google.common.base.Function; +import com.google.common.collect.Collections2; import com.google.common.collect.ListMultimap; import com.google.common.collect.Sets; import com.google.inject.Inject; @@ -442,39 +445,67 @@ public class VersionDefinitionResourceProvider extends AbstractAuthorizedResourc boolean emptyCompatible = StringUtils.isBlank(holder.xml.release.compatibleWith); -for (RepositoryVersionEntity candidate : entities) { - String baseVersion = candidate.getVersion(); +for (RepositoryVersionEntity version : entities) { + String baseVersion = version.getVersion(); if (baseVersion.lastIndexOf('-') > -1) { baseVersion = baseVersion.substring(0, baseVersion.lastIndexOf('-')); } if (emptyCompatible) { if (baseVersion.equals(holder.xml.release.version)) { - matching.add(candidate); + matching.add(version); } } else { if (baseVersion.matches(holder.xml.release.compatibleWith)) { - matching.add(candidate); + matching.add(version); } } } +RepositoryVersionEntity parent = null; + if (matching.isEmpty()) { String format = "No versions matched pattern %s"; throw new IllegalArgumentException(String.format(format, emptyCompatible ? holder.xml.release.version : holder.xml.release.compatibleWith)); } else if (matching.size() > 1) { - Set versions= new HashSet<>(); - for (RepositoryVersionEntity match : matching) { -versions.add(match.getVersion()); - } - throw new IllegalArgumentException(String.format("More than one repository matches patch %s: %s", + Function function = new Function() { +@Override +public String apply(RepositoryVersionEntity input) { + return input.getVersion(); +} + }; + + Collection versions = Collections2.transform(matching, function); + + List used = s_repoVersionDAO.findByServiceDesiredVersion(matching); + + if (used.isEmpty()) { +throw new IllegalArgumentException(String.format("Could not determine which version " + + "to associate patch %s. Remove one of %s and try again.", entity.getVersion(), StringUtils.join(versions, ", "))); + } else if (used.size() > 1) { +Collection usedVersions = Collections2.transform(used, function); + +throw new IllegalArgumentException(String.format("Patch %s was found to match more " + +"than one repository in use: %s. Move all services to a common version and try again.", +entity.getVersion(), StringUtils.join(usedVersions, ", "))); +
[13/32] ambari git commit: AMBARI-21693. Can't register multiple PATCH versions (ncole)
AMBARI-21693. Can't register multiple PATCH versions (ncole) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7a3ffea9 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7a3ffea9 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7a3ffea9 Branch: refs/heads/feature-branch-AMBARI-21307 Commit: 7a3ffea9e4236c2ad58b05ff7af8a31691c96ce6 Parents: 1433ecf Author: Nate Cole Authored: Thu Aug 10 07:42:00 2017 -0400 Committer: Nate Cole Committed: Thu Aug 10 07:42:00 2017 -0400 -- .../VersionDefinitionResourceProvider.java | 51 -- .../server/orm/dao/RepositoryVersionDAO.java| 15 +- .../orm/entities/RepositoryVersionEntity.java | 25 ++- .../VersionDefinitionResourceProviderTest.java | 170 ++- 4 files changed, 238 insertions(+), 23 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/7a3ffea9/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java index 5d65f35..4696c70 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java @@ -21,6 +21,7 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URI; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; @@ -71,6 +72,8 @@ import org.codehaus.jackson.node.ArrayNode; import org.codehaus.jackson.node.JsonNodeFactory; import org.codehaus.jackson.node.ObjectNode; +import com.google.common.base.Function; +import com.google.common.collect.Collections2; import com.google.common.collect.ListMultimap; import com.google.common.collect.Sets; import com.google.inject.Inject; @@ -442,39 +445,67 @@ public class VersionDefinitionResourceProvider extends AbstractAuthorizedResourc boolean emptyCompatible = StringUtils.isBlank(holder.xml.release.compatibleWith); -for (RepositoryVersionEntity candidate : entities) { - String baseVersion = candidate.getVersion(); +for (RepositoryVersionEntity version : entities) { + String baseVersion = version.getVersion(); if (baseVersion.lastIndexOf('-') > -1) { baseVersion = baseVersion.substring(0, baseVersion.lastIndexOf('-')); } if (emptyCompatible) { if (baseVersion.equals(holder.xml.release.version)) { - matching.add(candidate); + matching.add(version); } } else { if (baseVersion.matches(holder.xml.release.compatibleWith)) { - matching.add(candidate); + matching.add(version); } } } +RepositoryVersionEntity parent = null; + if (matching.isEmpty()) { String format = "No versions matched pattern %s"; throw new IllegalArgumentException(String.format(format, emptyCompatible ? holder.xml.release.version : holder.xml.release.compatibleWith)); } else if (matching.size() > 1) { - Set versions= new HashSet<>(); - for (RepositoryVersionEntity match : matching) { -versions.add(match.getVersion()); - } - throw new IllegalArgumentException(String.format("More than one repository matches patch %s: %s", + Function function = new Function() { +@Override +public String apply(RepositoryVersionEntity input) { + return input.getVersion(); +} + }; + + Collection versions = Collections2.transform(matching, function); + + List used = s_repoVersionDAO.findByServiceDesiredVersion(matching); + + if (used.isEmpty()) { +throw new IllegalArgumentException(String.format("Could not determine which version " + + "to associate patch %s. Remove one of %s and try again.", entity.getVersion(), StringUtils.join(versions, ", "))); + } else if (used.size() > 1) { +Collection usedVersions = Collections2.transform(used, function); + +throw new IllegalArgumentException(String.format("Patch %s was found to match more " + +"than one repository in use: %s. Move all services to a common version and try again.", +entity.getVersion(), StringUtils.join(usedVersions, ", "))); + } else { +parent = used.get(0); +LOG.warn("Patch {} was found to match more than one r
[47/50] [abbrv] ambari git commit: AMBARI-21693. Can't register multiple PATCH versions (ncole)
AMBARI-21693. Can't register multiple PATCH versions (ncole) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/aaf2110d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/aaf2110d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/aaf2110d Branch: refs/heads/branch-2.6 Commit: aaf2110d246632ae734ab54c0ecad9bdfd7b Parents: 7c5a7be Author: Nate Cole Authored: Wed Aug 9 16:02:20 2017 -0400 Committer: Nate Cole Committed: Thu Aug 10 09:00:44 2017 -0400 -- .../VersionDefinitionResourceProvider.java | 51 +- .../server/orm/dao/RepositoryVersionDAO.java| 15 ++ .../orm/entities/RepositoryVersionEntity.java | 5 +- .../VersionDefinitionResourceProviderTest.java | 182 +-- 4 files changed, 231 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/aaf2110d/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java index 77c09d4..ea592e5 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java @@ -21,6 +21,7 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URI; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; @@ -71,6 +72,8 @@ import org.codehaus.jackson.node.ArrayNode; import org.codehaus.jackson.node.JsonNodeFactory; import org.codehaus.jackson.node.ObjectNode; +import com.google.common.base.Function; +import com.google.common.collect.Collections2; import com.google.common.collect.ListMultimap; import com.google.common.collect.Sets; import com.google.inject.Inject; @@ -440,39 +443,67 @@ public class VersionDefinitionResourceProvider extends AbstractAuthorizedResourc boolean emptyCompatible = StringUtils.isBlank(holder.xml.release.compatibleWith); -for (RepositoryVersionEntity candidate : entities) { - String baseVersion = candidate.getVersion(); +for (RepositoryVersionEntity version : entities) { + String baseVersion = version.getVersion(); if (baseVersion.lastIndexOf('-') > -1) { baseVersion = baseVersion.substring(0, baseVersion.lastIndexOf('-')); } if (emptyCompatible) { if (baseVersion.equals(holder.xml.release.version)) { - matching.add(candidate); + matching.add(version); } } else { if (baseVersion.matches(holder.xml.release.compatibleWith)) { - matching.add(candidate); + matching.add(version); } } } +RepositoryVersionEntity parent = null; + if (matching.isEmpty()) { String format = "No versions matched pattern %s"; throw new IllegalArgumentException(String.format(format, emptyCompatible ? holder.xml.release.version : holder.xml.release.compatibleWith)); } else if (matching.size() > 1) { - Set versions= new HashSet<>(); - for (RepositoryVersionEntity match : matching) { -versions.add(match.getVersion()); - } - throw new IllegalArgumentException(String.format("More than one repository matches patch %s: %s", + Function function = new Function() { +@Override +public String apply(RepositoryVersionEntity input) { + return input.getVersion(); +} + }; + + Collection versions = Collections2.transform(matching, function); + + List used = s_repoVersionDAO.findByServiceDesiredVersion(matching); + + if (used.isEmpty()) { +throw new IllegalArgumentException(String.format("Could not determine which version " + + "to associate patch %s. Remove one of %s and try again.", entity.getVersion(), StringUtils.join(versions, ", "))); + } else if (used.size() > 1) { +Collection usedVersions = Collections2.transform(used, function); + +throw new IllegalArgumentException(String.format("Patch %s was found to match more " + +"than one repository in use: %s. Move all services to a common version and try again.", +entity.getVersion(), StringUtils.join(usedVersions, ", "))); + } else { +parent = used.get(0); +LOG.warn("Patch {} was found to match more than one repository in {}. "
ambari git commit: AMBARI-21693. Can't register multiple PATCH versions (ncole)
Repository: ambari Updated Branches: refs/heads/branch-feature-AMBARI-21450 7c5a7bec9 -> aaf2110d2 AMBARI-21693. Can't register multiple PATCH versions (ncole) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/aaf2110d Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/aaf2110d Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/aaf2110d Branch: refs/heads/branch-feature-AMBARI-21450 Commit: aaf2110d246632ae734ab54c0ecad9bdfd7b Parents: 7c5a7be Author: Nate Cole Authored: Wed Aug 9 16:02:20 2017 -0400 Committer: Nate Cole Committed: Thu Aug 10 09:00:44 2017 -0400 -- .../VersionDefinitionResourceProvider.java | 51 +- .../server/orm/dao/RepositoryVersionDAO.java| 15 ++ .../orm/entities/RepositoryVersionEntity.java | 5 +- .../VersionDefinitionResourceProviderTest.java | 182 +-- 4 files changed, 231 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/aaf2110d/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java index 77c09d4..ea592e5 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java @@ -21,6 +21,7 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URI; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; @@ -71,6 +72,8 @@ import org.codehaus.jackson.node.ArrayNode; import org.codehaus.jackson.node.JsonNodeFactory; import org.codehaus.jackson.node.ObjectNode; +import com.google.common.base.Function; +import com.google.common.collect.Collections2; import com.google.common.collect.ListMultimap; import com.google.common.collect.Sets; import com.google.inject.Inject; @@ -440,39 +443,67 @@ public class VersionDefinitionResourceProvider extends AbstractAuthorizedResourc boolean emptyCompatible = StringUtils.isBlank(holder.xml.release.compatibleWith); -for (RepositoryVersionEntity candidate : entities) { - String baseVersion = candidate.getVersion(); +for (RepositoryVersionEntity version : entities) { + String baseVersion = version.getVersion(); if (baseVersion.lastIndexOf('-') > -1) { baseVersion = baseVersion.substring(0, baseVersion.lastIndexOf('-')); } if (emptyCompatible) { if (baseVersion.equals(holder.xml.release.version)) { - matching.add(candidate); + matching.add(version); } } else { if (baseVersion.matches(holder.xml.release.compatibleWith)) { - matching.add(candidate); + matching.add(version); } } } +RepositoryVersionEntity parent = null; + if (matching.isEmpty()) { String format = "No versions matched pattern %s"; throw new IllegalArgumentException(String.format(format, emptyCompatible ? holder.xml.release.version : holder.xml.release.compatibleWith)); } else if (matching.size() > 1) { - Set versions= new HashSet<>(); - for (RepositoryVersionEntity match : matching) { -versions.add(match.getVersion()); - } - throw new IllegalArgumentException(String.format("More than one repository matches patch %s: %s", + Function function = new Function() { +@Override +public String apply(RepositoryVersionEntity input) { + return input.getVersion(); +} + }; + + Collection versions = Collections2.transform(matching, function); + + List used = s_repoVersionDAO.findByServiceDesiredVersion(matching); + + if (used.isEmpty()) { +throw new IllegalArgumentException(String.format("Could not determine which version " + + "to associate patch %s. Remove one of %s and try again.", entity.getVersion(), StringUtils.join(versions, ", "))); + } else if (used.size() > 1) { +Collection usedVersions = Collections2.transform(used, function); + +throw new IllegalArgumentException(String.format("Patch %s was found to match more " + +"than one repository in use: %s. Move all services to a common version and try again.", +entity.getVersion(), StringUtils.join(usedVersions, ", "))); + }
ambari git commit: AMBARI-21693. Can't register multiple PATCH versions (ncole)
Repository: ambari Updated Branches: refs/heads/trunk 1433ecff1 -> 7a3ffea9e AMBARI-21693. Can't register multiple PATCH versions (ncole) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7a3ffea9 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7a3ffea9 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7a3ffea9 Branch: refs/heads/trunk Commit: 7a3ffea9e4236c2ad58b05ff7af8a31691c96ce6 Parents: 1433ecf Author: Nate Cole Authored: Thu Aug 10 07:42:00 2017 -0400 Committer: Nate Cole Committed: Thu Aug 10 07:42:00 2017 -0400 -- .../VersionDefinitionResourceProvider.java | 51 -- .../server/orm/dao/RepositoryVersionDAO.java| 15 +- .../orm/entities/RepositoryVersionEntity.java | 25 ++- .../VersionDefinitionResourceProviderTest.java | 170 ++- 4 files changed, 238 insertions(+), 23 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/7a3ffea9/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java index 5d65f35..4696c70 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProvider.java @@ -21,6 +21,7 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URI; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumSet; import java.util.HashSet; @@ -71,6 +72,8 @@ import org.codehaus.jackson.node.ArrayNode; import org.codehaus.jackson.node.JsonNodeFactory; import org.codehaus.jackson.node.ObjectNode; +import com.google.common.base.Function; +import com.google.common.collect.Collections2; import com.google.common.collect.ListMultimap; import com.google.common.collect.Sets; import com.google.inject.Inject; @@ -442,39 +445,67 @@ public class VersionDefinitionResourceProvider extends AbstractAuthorizedResourc boolean emptyCompatible = StringUtils.isBlank(holder.xml.release.compatibleWith); -for (RepositoryVersionEntity candidate : entities) { - String baseVersion = candidate.getVersion(); +for (RepositoryVersionEntity version : entities) { + String baseVersion = version.getVersion(); if (baseVersion.lastIndexOf('-') > -1) { baseVersion = baseVersion.substring(0, baseVersion.lastIndexOf('-')); } if (emptyCompatible) { if (baseVersion.equals(holder.xml.release.version)) { - matching.add(candidate); + matching.add(version); } } else { if (baseVersion.matches(holder.xml.release.compatibleWith)) { - matching.add(candidate); + matching.add(version); } } } +RepositoryVersionEntity parent = null; + if (matching.isEmpty()) { String format = "No versions matched pattern %s"; throw new IllegalArgumentException(String.format(format, emptyCompatible ? holder.xml.release.version : holder.xml.release.compatibleWith)); } else if (matching.size() > 1) { - Set versions= new HashSet<>(); - for (RepositoryVersionEntity match : matching) { -versions.add(match.getVersion()); - } - throw new IllegalArgumentException(String.format("More than one repository matches patch %s: %s", + Function function = new Function() { +@Override +public String apply(RepositoryVersionEntity input) { + return input.getVersion(); +} + }; + + Collection versions = Collections2.transform(matching, function); + + List used = s_repoVersionDAO.findByServiceDesiredVersion(matching); + + if (used.isEmpty()) { +throw new IllegalArgumentException(String.format("Could not determine which version " + + "to associate patch %s. Remove one of %s and try again.", entity.getVersion(), StringUtils.join(versions, ", "))); + } else if (used.size() > 1) { +Collection usedVersions = Collections2.transform(used, function); + +throw new IllegalArgumentException(String.format("Patch %s was found to match more " + +"than one repository in use: %s. Move all services to a common version and try again.", +entity.getVersion(), StringUtils.join(usedVersions, ", "))); + } else { +parent = used.get(0); +