|
16 | 16 | // under the License. |
17 | 17 | package com.cloud.hypervisor.vmware.util; |
18 | 18 |
|
19 | | -import com.cloud.hypervisor.vmware.mo.DatacenterMO; |
20 | | -import com.cloud.hypervisor.vmware.mo.DatastoreFile; |
21 | | -import com.cloud.utils.ActionDelegate; |
22 | | -import com.cloud.utils.StringUtils; |
23 | | -import com.vmware.pbm.PbmPortType; |
24 | | -import com.vmware.pbm.PbmServiceInstanceContent; |
25 | | -import com.vmware.vim25.ManagedObjectReference; |
26 | | -import com.vmware.vim25.ObjectContent; |
27 | | -import com.vmware.vim25.ObjectSpec; |
28 | | -import com.vmware.vim25.PropertyFilterSpec; |
29 | | -import com.vmware.vim25.PropertySpec; |
30 | | -import com.vmware.vim25.ServiceContent; |
31 | | -import com.vmware.vim25.TaskInfo; |
32 | | -import com.vmware.vim25.TraversalSpec; |
33 | | -import com.vmware.vim25.VimPortType; |
34 | | -import org.apache.cloudstack.utils.security.SSLUtils; |
35 | | -import org.apache.cloudstack.utils.security.SecureSSLSocketFactory; |
36 | | -import org.apache.log4j.Logger; |
37 | | - |
38 | | -import javax.net.ssl.HostnameVerifier; |
39 | | -import javax.net.ssl.HttpsURLConnection; |
40 | | -import javax.net.ssl.SSLSession; |
41 | | -import javax.xml.ws.soap.SOAPFaultException; |
42 | 19 | import java.io.BufferedInputStream; |
43 | 20 | import java.io.BufferedOutputStream; |
44 | 21 | import java.io.BufferedReader; |
|
59 | 36 | import java.util.List; |
60 | 37 | import java.util.Map; |
61 | 38 |
|
| 39 | +import javax.net.ssl.HostnameVerifier; |
| 40 | +import javax.net.ssl.HttpsURLConnection; |
| 41 | +import javax.net.ssl.SSLSession; |
| 42 | +import javax.xml.ws.soap.SOAPFaultException; |
| 43 | + |
| 44 | +import org.apache.cloudstack.utils.security.SSLUtils; |
| 45 | +import org.apache.cloudstack.utils.security.SecureSSLSocketFactory; |
| 46 | +import org.apache.log4j.Logger; |
| 47 | + |
| 48 | +import com.cloud.hypervisor.vmware.mo.DatacenterMO; |
| 49 | +import com.cloud.hypervisor.vmware.mo.DatastoreFile; |
| 50 | +import com.cloud.utils.ActionDelegate; |
| 51 | +import com.cloud.utils.StringUtils; |
| 52 | +import com.vmware.pbm.PbmPortType; |
| 53 | +import com.vmware.pbm.PbmServiceInstanceContent; |
| 54 | +import com.vmware.vim25.ManagedObjectReference; |
| 55 | +import com.vmware.vim25.ObjectContent; |
| 56 | +import com.vmware.vim25.ObjectSpec; |
| 57 | +import com.vmware.vim25.PropertyFilterSpec; |
| 58 | +import com.vmware.vim25.PropertySpec; |
| 59 | +import com.vmware.vim25.ServiceContent; |
| 60 | +import com.vmware.vim25.TaskInfo; |
| 61 | +import com.vmware.vim25.TraversalSpec; |
| 62 | +import com.vmware.vim25.VimPortType; |
| 63 | + |
62 | 64 | public class VmwareContext { |
63 | 65 | private static final Logger s_logger = Logger.getLogger(VmwareContext.class); |
64 | 66 |
|
@@ -631,12 +633,12 @@ public String composeDatastoreBrowseUrl(String dcName, String datastoreName, Str |
631 | 633 | sb.append("https://"); |
632 | 634 | sb.append(_serverAddress); |
633 | 635 | sb.append("/folder/"); |
634 | | - sb.append(relativePath); |
635 | 636 | try { |
| 637 | + sb.append(URLEncoder.encode(relativePath, "UTF-8")); |
636 | 638 | sb.append("?dcPath=").append(URLEncoder.encode(dcName, "UTF-8")); |
637 | 639 | sb.append("&dsName=").append(URLEncoder.encode(datastoreName, "UTF-8")); |
638 | 640 | } catch (UnsupportedEncodingException e) { |
639 | | - s_logger.error("Unable to encode URL. dcPath : " + dcName + ", dsName :" + datastoreName, e); |
| 641 | + s_logger.error(String.format("Unable to encode URL. relativePath : %s, dcPath : %s, dsName : %s", relativePath, dcName, datastoreName), e); |
640 | 642 | } |
641 | 643 | return sb.toString(); |
642 | 644 | } |
|
0 commit comments