Remove the framework specific authority from the url on a toExternalForm as otherwise its going to override the host and port info (FELIX-1973).

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@905833 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java b/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
index 2fcb18e..190e835 100644
--- a/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
@@ -1104,9 +1104,9 @@
 
          try
          {
-             return m_secureAction.createURL(
-                 FelixConstants.BUNDLE_URL_PROTOCOL,
-                 m_id, port, path, m_streamHandler);
+             return m_secureAction.createURL(null, 
+                 FelixConstants.BUNDLE_URL_PROTOCOL + "://" +  
+                 m_id + ":" + port + path, m_streamHandler);
          }
          catch (MalformedURLException ex)
          {
diff --git a/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java b/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java
index 0f6a5d7..7e856a7 100644
--- a/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java
+++ b/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java
@@ -91,6 +91,31 @@
             super.setURL(u, u.getProtocol(), u.getHost(), u.getPort(), "felix", u.getUserInfo(), u.getPath(), u.getQuery(), u.getRef());
         }
     }
+
+    protected String toExternalForm(URL u) 
+    {
+        StringBuffer result = new StringBuffer();
+        result.append(u.getProtocol());
+        result.append("://");
+        result.append(u.getHost());
+        result.append(':');
+        result.append(u.getPort());
+        if (u.getPath() != null) 
+        {
+            result.append(u.getPath());
+        }
+        if (u.getQuery() != null) 
+        {
+            result.append('?');
+            result.append(u.getQuery());
+        }
+        if (u.getRef() != null) 
+        {
+            result.append("#");
+            result.append(u.getRef());
+        }
+        return result.toString();
+    }
     
     private boolean checkPermission(URL u)
     {