Author: jsdelfino
Date: Mon Apr 10 13:40:41 2006
New Revision: 393052

URL: http://svn.apache.org/viewcvs?rev=393052&view=rev
Log:
Fix for TUSCANY-166, removed dependency on the EMF URI class

Modified:
    
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java

Modified: 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java?rev=393052&r1=393051&r2=393052&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java
 (original)
+++ 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java
 Mon Apr 10 13:40:41 2006
@@ -16,13 +16,13 @@
  */
 package org.apache.tuscany.model.util;
 
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
-import org.eclipse.emf.common.util.URI;
-
 /**
  * A utility class that converts between XML names and Java names.
  */
@@ -45,10 +45,15 @@
      */
     public static String getPackageNameFromNamespace(String namespace) {
 
-        URI uri = URI.createURI(namespace);
+        URI uri;
+        try {
+            uri = new URI(namespace);
+        } catch (URISyntaxException e) {
+            throw new IllegalArgumentException(e.getMessage(), e);
+        }
         List<String> parsedName;
-        if (uri.isHierarchical()) {
-            String host = uri.host();
+        if (uri.isAbsolute()) {
+            String host = uri.getHost();
             if (host != null && host.startsWith("www.")) {
                 host = host.substring(4);
             }
@@ -58,12 +63,12 @@
                 parsedName.set(0, parsedName.get(0).toLowerCase());
             }
 
-            parsedName.addAll(parseName(uri.trimFileExtension().path(), '/'));
+            parsedName.addAll(parseName(trimFileExtension(uri.getPath()), 
'/'));
 
         } else {
-            String opaquePart = uri.opaquePart();
+            String opaquePart = uri.getAuthority();
             int index = opaquePart.indexOf(":");
-            if (index != -1 && "urn".equalsIgnoreCase(uri.scheme())) {
+            if (index != -1 && "urn".equalsIgnoreCase(uri.getScheme())) {
                 parsedName = parseName(opaquePart.substring(0, index), '-');
                 if (parsedName.size() > 0 && 
DOMAINS.contains(parsedName.get(parsedName.size() - 1))) {
                     Collections.reverse(parsedName);
@@ -90,6 +95,21 @@
     }
 
     /**
+     * Trim the file extension from a path.
+     * @param path
+     * @return
+     */
+    private static String trimFileExtension(String path) {
+        int s=path.lastIndexOf('/');
+        int d=path.lastIndexOf('.');
+        if (d>s) {
+            return path.substring(0,d);
+        } else {
+            return path;
+        }
+    }
+
+    /**
      * Returns a namespace prefix for the given package Name.
      *
      * @param packageName
@@ -233,4 +253,4 @@
         }
     }
 
-}
\ No newline at end of file
+}


Reply via email to