Search in sources :

Example 6 with ResolveResult

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();
    }
}
Also used : ResolveResult(javax.naming.spi.ResolveResult)

Example 7 with ResolveResult

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));
}
Also used : RegistryContext(com.sun.jndi.rmi.registry.RegistryContext) GenericURLContext(com.sun.jndi.toolkit.url.GenericURLContext) RegistryContext(com.sun.jndi.rmi.registry.RegistryContext) ResolveResult(javax.naming.spi.ResolveResult)

Example 8 with ResolveResult

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();
    }
}
Also used : ResolveResult(javax.naming.spi.ResolveResult)

Example 9 with ResolveResult

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();
    }
}
Also used : ResolveResult(javax.naming.spi.ResolveResult)

Example 10 with ResolveResult

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());
}
Also used : ResolveResult(javax.naming.spi.ResolveResult)

Aggregations

ResolveResult (javax.naming.spi.ResolveResult)31 CompositeName (javax.naming.CompositeName)2 Context (javax.naming.Context)2 Name (javax.naming.Name)2 Reference (javax.naming.Reference)2 LdapURL (com.sun.jndi.ldap.LdapURL)1 RegistryContext (com.sun.jndi.rmi.registry.RegistryContext)1 GenericURLContext (com.sun.jndi.toolkit.url.GenericURLContext)1 CannotProceedException (javax.naming.CannotProceedException)1 InitialContext (javax.naming.InitialContext)1 LinkRef (javax.naming.LinkRef)1 NameNotFoundException (javax.naming.NameNotFoundException)1 EventContext (javax.naming.event.EventContext)1 Resolver (javax.naming.spi.Resolver)1 ServiceName (org.jboss.msc.service.ServiceName)1 Test (org.junit.Test)1