Freeman,
Since we have URL objects, instead of calling toString on them and doing:
> if
> (!loadedCatalogs.contains(URI.create(replaceWhitespace(catalogURL.toString()))))
> {
can we just do something like
if (!loadedCatalogs.contains(catalogURL.toURI())
or similar? Would avoid some issues converting the URL to string, encoding
it, etc… If there are other characters in the URL that need encoding, that may
handle that as well.
Dan
On Nov 8, 2012, at 3:48 AM, [email protected] wrote:
> Author: ffang
> Date: Thu Nov 8 08:48:30 2012
> New Revision: 1406958
>
> URL: http://svn.apache.org/viewvc?rev=1406958&view=rev
> Log:
> [CXF-4620]Exception at compilation when a 'space' character is present in
> maven local repository path
>
> Modified:
>
> cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java
>
> Modified:
> cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java
> URL:
> http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java?rev=1406958&r1=1406957&r2=1406958&view=diff
> ==============================================================================
> ---
> cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java
> (original)
> +++
> cxf/trunk/rt/core/src/main/java/org/apache/cxf/catalog/OASISCatalogManager.java
> Thu Nov 8 08:48:30 2012
> @@ -144,15 +144,15 @@ public class OASISCatalogManager {
> Enumeration<URL> catalogs = classLoader.getResources(name);
> while (catalogs.hasMoreElements()) {
> URL catalogURL = catalogs.nextElement();
> - if (!loadedCatalogs.contains(URI.create(catalogURL.toString())))
> {
> + if
> (!loadedCatalogs.contains(URI.create(replaceWhitespace(catalogURL.toString()))))
> {
> ((Catalog)catalog).parseCatalog(catalogURL);
> - loadedCatalogs.add(URI.create(catalogURL.toString()));
> +
> loadedCatalogs.add(URI.create(replaceWhitespace(catalogURL.toString())));
> }
> }
> }
>
> public final void loadCatalog(URL catalogURL) throws IOException {
> - if (!loadedCatalogs.contains(URI.create(catalogURL.toString())) &&
> catalog != null) {
> + if
> (!loadedCatalogs.contains(URI.create(replaceWhitespace(catalogURL.toString())))
> && catalog != null) {
> if ("file".equals(catalogURL.getProtocol())) {
> try {
> File file = new File(catalogURL.toURI());
> @@ -166,9 +166,16 @@ public class OASISCatalogManager {
>
> ((Catalog)catalog).parseCatalog(catalogURL);
>
> - loadedCatalogs.add(URI.create(catalogURL.toString()));
> +
> loadedCatalogs.add(URI.create(replaceWhitespace(catalogURL.toString())));
> }
> }
> +
> + private String replaceWhitespace(String str) {
> + if (str.contains(" ")) {
> + str = str.replace(" ", "%20");
> + }
> + return str;
> + }
>
> private static OASISCatalogManager getContextCatalog() {
> try {
>
>
--
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com