1 23 24 package com.sun.jndi.url.corbaname; 25 26 import javax.naming.Name ; 27 import javax.naming.NameParser ; 28 import javax.naming.NamingException ; 29 30 import java.net.MalformedURLException ; 31 import com.sun.jndi.toolkit.url.UrlUtil; 32 import com.sun.jndi.cosnaming.CNNameParser; 33 34 import java.util.logging.*; 36 import com.sun.logging.*; 37 39 40 73 74 public final class CorbanameUrl { 75 76 static Logger _logger=LogDomains.getLogger(LogDomains.JNDI_LOGGER); 78 80 private String stringName; 81 private String location; 82 83 private static final NameParser parser = new CNNameParser(); 84 85 89 public String getStringName() { 90 return stringName; 91 } 92 93 public Name getCosName() throws NamingException { 94 return parser.parse(stringName); 95 } 96 97 public String getLocation() { 98 return "corbaloc:" + location; 99 } 100 101 public CorbanameUrl(String url) throws MalformedURLException { 102 103 if (!url.startsWith("corbaname:")) { 104 throw new MalformedURLException ("Invalid corbaname URL: " + url); 105 } 106 107 int addrStart = 10; 109 int addrEnd = url.indexOf('#', addrStart); 110 if (addrEnd < 0) { 111 addrEnd = url.length(); 112 stringName = ""; 113 } else { 114 stringName = UrlUtil.decode(url.substring(addrEnd+1)); 115 } 116 location = url.substring(addrStart, addrEnd); 117 118 int keyStart = location.indexOf("/"); 119 if (keyStart >= 0) { 120 if (keyStart == (location.length() -1)) { 122 location += "NameService"; 123 } 124 } else { 125 location += "/NameService"; 126 } 127 } 128 154 } 155 | Popular Tags |