use of javax.naming.spi.ResolveResult in project jdk8u_jdk by JetBrains.
the class GenericURLContext method destroySubcontext.
public void destroySubcontext(String name) throws NamingException {
ResolveResult res = getRootURLContext(name, myEnv);
Context ctx = (Context) res.getResolvedObj();
try {
ctx.destroySubcontext(res.getRemainingName());
} finally {
ctx.close();
}
}
use of javax.naming.spi.ResolveResult in project jdk8u_jdk by JetBrains.
the class rmiURLContext method getRootURLContext.
/**
* Resolves the registry portion of "url" to the corresponding
* RMI registry, and returns the atomic object name as the
* remaining name.
*/
protected ResolveResult getRootURLContext(String url, Hashtable<?, ?> env) throws NamingException {
if (!url.startsWith("rmi:")) {
throw (new IllegalArgumentException("rmiURLContext: name is not an RMI URL: " + url));
}
// Parse the URL.
String host = null;
int port = -1;
String objName = null;
// index into url, following the "rmi:"
int i = 4;
if (url.startsWith("//", i)) {
// parse "//host:port"
// skip past "//"
i += 2;
int slash = url.indexOf('/', i);
if (slash < 0) {
slash = url.length();
}
if (url.startsWith("[", i)) {
// at IPv6 literal
int brac = url.indexOf(']', i + 1);
if (brac < 0 || brac > slash) {
throw new IllegalArgumentException("rmiURLContext: name is an Invalid URL: " + url);
}
// include brackets
host = url.substring(i, brac + 1);
// skip past "[...]"
i = brac + 1;
} else {
// at host name or IPv4
int colon = url.indexOf(':', i);
int hostEnd = (colon < 0 || colon > slash) ? slash : colon;
if (i < hostEnd) {
host = url.substring(i, hostEnd);
}
// skip past host
i = hostEnd;
}
if ((i + 1 < slash)) {
if (url.startsWith(":", i)) {
// parse port
// skip past ":"
i++;
port = Integer.parseInt(url.substring(i, slash));
} else {
throw new IllegalArgumentException("rmiURLContext: name is an Invalid URL: " + url);
}
}
i = slash;
}
if ("".equals(host)) {
host = null;
}
if (url.startsWith("/", i)) {
// skip "/" before object name
i++;
}
if (i < url.length()) {
objName = url.substring(i);
}
// Represent object name as empty or single-component composite name.
CompositeName remaining = new CompositeName();
if (objName != null) {
remaining.add(objName);
}
// Debug
//System.out.println("host=" + host + " port=" + port +
// " objName=" + remaining.toString() + "\n");
// Create a registry context.
Context regCtx = new RegistryContext(host, port, env);
return (new ResolveResult(regCtx, remaining));
}
use of javax.naming.spi.ResolveResult in project jdk8u_jdk by JetBrains.
the class GenericURLDirContext method getSchemaClassDefinition.
public DirContext getSchemaClassDefinition(String name) throws NamingException {
ResolveResult res = getRootURLContext(name, myEnv);
DirContext ctx = (DirContext) res.getResolvedObj();
try {
return ctx.getSchemaClassDefinition(res.getRemainingName());
} finally {
ctx.close();
}
}
use of javax.naming.spi.ResolveResult in project jdk8u_jdk by JetBrains.
the class GenericURLDirContext method createSubcontext.
public DirContext createSubcontext(String name, Attributes attrs) throws NamingException {
ResolveResult res = getRootURLContext(name, myEnv);
DirContext ctx = (DirContext) res.getResolvedObj();
try {
return ctx.createSubcontext(res.getRemainingName(), attrs);
} finally {
ctx.close();
}
}
use of javax.naming.spi.ResolveResult in project jdk8u_jdk by JetBrains.
the class GenericURLDirContext method getSchema.
public DirContext getSchema(String name) throws NamingException {
ResolveResult res = getRootURLContext(name, myEnv);
DirContext ctx = (DirContext) res.getResolvedObj();
return ctx.getSchema(res.getRemainingName());
}
Aggregations