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);