Bläddra i källkod

AMBARI-11229 - Views: AmbariStreamProvider is encoding the url provided (tbeerbower)

tbeerbower 10 år sedan
förälder
incheckning
e3d5fd6186

+ 9 - 1
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java

@@ -323,7 +323,15 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
     uriBuilder.setScheme(masterProtocol);
     uriBuilder.setHost(masterHostname);
     uriBuilder.setPort(masterPort);
-    uriBuilder.setPath(path);
+
+    String[] parts = path.split("\\?");
+
+    if (parts.length > 1) {
+      uriBuilder.setPath(parts[0]);
+      uriBuilder.setQuery(parts[1]);
+    } else {
+      uriBuilder.setPath(path);
+    }
 
     return uriBuilder.toString();
   }

+ 3 - 0
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java

@@ -170,6 +170,9 @@ public class AmbariManagementControllerImplTest {
     ambariConfigsSetter.setConfigs(controller, "https", "othersecuredhost", 8443);
     assertEquals("https://othersecuredhost:8443/oracle/ojdbc/", controller.getAmbariServerURI("/oracle/ojdbc/"));
 
+    ambariConfigsSetter.setConfigs(controller, "http", "hostname", 8080);
+    assertEquals("http://hostname:8080/jdk_path?query", controller.getAmbariServerURI("/jdk_path?query"));
+
     verify(injector);
   }