You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2018/01/02 16:56:00 UTC
[09/37] ambari git commit: AMBARI-22680 Ambari web UI does not fail
an invalid repo base URL during cluster installation (dili)
AMBARI-22680 Ambari web UI does not fail an invalid repo base URL during cluster installation (dili)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a15fc7fc
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a15fc7fc
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a15fc7fc
Branch: refs/heads/branch-feature-AMBARI-21674
Commit: a15fc7fc1ac70d3399a1b4046c3124dcc8cdbb11
Parents: 6a37985
Author: Di Li <di...@apache.org>
Authored: Thu Dec 21 15:44:22 2017 -0500
Committer: Di Li <di...@apache.org>
Committed: Thu Dec 21 15:44:22 2017 -0500
----------------------------------------------------------------------
.../internal/RepositoryResourceProvider.java | 14 ++++++++++++--
.../internal/RepositoryResourceProviderTest.java | 2 ++
2 files changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/a15fc7fc/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
index edec1ee..60dff69 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
@@ -117,15 +117,25 @@ public class RepositoryResourceProvider extends AbstractControllerResourceProvid
throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
- final Set<RepositoryRequest> requests = new HashSet<>();
+ final Set<RepositoryRequest> requestsToVerifyBaseURLs = new HashSet<>();
Iterator<Map<String,Object>> iterator = request.getProperties().iterator();
if (iterator.hasNext()) {
for (Map<String, Object> propertyMap : getPropertyMaps(iterator.next(), predicate)) {
- requests.add(getRequest(propertyMap));
+ RepositoryRequest rr = getRequest(propertyMap);
+ if(rr.isVerifyBaseUrl()) {
+ requestsToVerifyBaseURLs.add(rr);
+ }
}
}
+ //Validation only - used by the cluster installation
+ try {
+ getManagementController().verifyRepositories(requestsToVerifyBaseURLs);
+ } catch (AmbariException e) {
+ throw new SystemException("", e);
+ }
+
return getRequestStatus(null);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/a15fc7fc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java
index abdef9b..0d7813a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryResourceProviderTest.java
@@ -30,6 +30,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.ambari.server.controller.AmbariManagementController;
+import org.apache.ambari.server.controller.RepositoryRequest;
import org.apache.ambari.server.controller.RepositoryResponse;
import org.apache.ambari.server.controller.spi.Predicate;
import org.apache.ambari.server.controller.spi.Request;
@@ -176,6 +177,7 @@ public class RepositoryResourceProviderTest {
// set expectations
expect(managementController.getRepositories(EasyMock.anyObject())).andReturn(allResponse).times(1);
+ managementController.verifyRepositories(EasyMock.<Set<RepositoryRequest>>anyObject());
// replay
replay(managementController);