Example usage for javax.naming NameNotFoundException NameNotFoundException

List of usage examples for javax.naming NameNotFoundException NameNotFoundException

Introduction

In this page you can find the example usage for javax.naming NameNotFoundException NameNotFoundException.

Prototype

public NameNotFoundException(String explanation) 

Source Link

Document

Constructs a new instance of NameNotFoundException using the explanation supplied.

Usage

From source file:org.apache.naming.NamingContext.java

/**
 * Enumerates the names bound in the named context, along with the class 
 * names of objects bound to them. The contents of any subcontexts are 
 * not included.//  w  w  w  .  j  a  v  a  2 s.  c o m
 * <p>
 * If a binding is added to or removed from this context, its effect on 
 * an enumeration previously returned is undefined.
 * 
 * @param name the name of the context to list
 * @return an enumeration of the names and class names of the bindings in 
 * this context. Each element of the enumeration is of type NameClassPair.
 * @exception NamingException if a naming exception is encountered
 */
public NamingEnumeration list(Name name) throws NamingException {
    // Removing empty parts
    while ((!name.isEmpty()) && (name.get(0).length() == 0))
        name = name.getSuffix(1);
    if (name.isEmpty()) {
        return new NamingContextEnumeration(bindings.elements());
    }

    NamingEntry entry = (NamingEntry) bindings.get(name.get(0));

    if (entry == null) {
        throw new NameNotFoundException(sm.getString("namingContext.nameNotBound", name.get(0)));
    }

    if (entry.type != NamingEntry.CONTEXT) {
        throw new NamingException(sm.getString("namingContext.contextExpected"));
    }
    return ((Context) entry.value).list(name.getSuffix(1));
}

From source file:org.apache.naming.NamingContext.java

/**
 * Enumerates the names bound in the named context, along with the 
 * objects bound to them. The contents of any subcontexts are not 
 * included.//from   ww w .j  a v  a  2s . com
 * <p>
 * If a binding is added to or removed from this context, its effect on 
 * an enumeration previously returned is undefined.
 * 
 * @param name the name of the context to list
 * @return an enumeration of the bindings in this context. 
 * Each element of the enumeration is of type Binding.
 * @exception NamingException if a naming exception is encountered
 */
public NamingEnumeration listBindings(Name name) throws NamingException {
    // Removing empty parts
    while ((!name.isEmpty()) && (name.get(0).length() == 0))
        name = name.getSuffix(1);
    if (name.isEmpty()) {
        return new NamingContextBindingsEnumeration(bindings.elements());
    }

    NamingEntry entry = (NamingEntry) bindings.get(name.get(0));

    if (entry == null) {
        throw new NameNotFoundException(sm.getString("namingContext.nameNotBound", name.get(0)));
    }

    if (entry.type != NamingEntry.CONTEXT) {
        throw new NamingException(sm.getString("namingContext.contextExpected"));
    }
    return ((Context) entry.value).listBindings(name.getSuffix(1));
}

From source file:org.apache.naming.NamingContext.java

/**
 * Destroys the named context and removes it from the namespace. Any 
 * attributes associated with the name are also removed. Intermediate 
 * contexts are not destroyed.//from   ww w.ja va2s.  co  m
 * <p>
 * This method is idempotent. It succeeds even if the terminal atomic 
 * name is not bound in the target context, but throws 
 * NameNotFoundException if any of the intermediate contexts do not exist. 
 * 
 * In a federated naming system, a context from one naming system may be 
 * bound to a name in another. One can subsequently look up and perform 
 * operations on the foreign context using a composite name. However, an 
 * attempt destroy the context using this composite name will fail with 
 * NotContextException, because the foreign context is not a "subcontext" 
 * of the context in which it is bound. Instead, use unbind() to remove 
 * the binding of the foreign context. Destroying the foreign context 
 * requires that the destroySubcontext() be performed on a context from 
 * the foreign context's "native" naming system.
 * 
 * @param name the name of the context to be destroyed; may not be empty
 * @exception NameNotFoundException if an intermediate context does not 
 * exist
 * @exception NotContextException if the name is bound but does not name 
 * a context, or does not name a context of the appropriate type
 */
public void destroySubcontext(Name name) throws NamingException {

    checkWritable();

    while ((!name.isEmpty()) && (name.get(0).length() == 0))
        name = name.getSuffix(1);
    if (name.isEmpty())
        throw new NamingException(sm.getString("namingContext.invalidName"));

    NamingEntry entry = (NamingEntry) bindings.get(name.get(0));

    if (entry == null) {
        throw new NameNotFoundException(sm.getString("namingContext.nameNotBound", name.get(0)));
    }

    if (name.size() > 1) {
        if (entry.type == NamingEntry.CONTEXT) {
            ((Context) entry.value).unbind(name.getSuffix(1));
        } else {
            throw new NamingException(sm.getString("namingContext.contextExpected"));
        }
    } else {
        if (entry.type == NamingEntry.CONTEXT) {
            ((Context) entry.value).close();
            bindings.remove(name.get(0));
        } else {
            throw new NotContextException(sm.getString("namingContext.contextExpected"));
        }
    }

}

From source file:org.apache.naming.NamingContext.java

/**
 * Retrieves the named object.//from  w  w w .  j a v a 2s. com
 * 
 * @param name the name of the object to look up
 * @param resolveLinks If true, the links will be resolved
 * @return the object bound to name
 * @exception NamingException if a naming exception is encountered
 */
protected Object lookup(Name name, boolean resolveLinks) throws NamingException {

    // Removing empty parts
    while ((!name.isEmpty()) && (name.get(0).length() == 0))
        name = name.getSuffix(1);
    if (name.isEmpty()) {
        // If name is empty, a newly allocated naming context is returned
        return new NamingContext(env, this.name, bindings);
    }

    NamingEntry entry = (NamingEntry) bindings.get(name.get(0));

    if (entry == null) {
        throw new NameNotFoundException(sm.getString("namingContext.nameNotBound", name.get(0)));
    }

    if (name.size() > 1) {
        // If the size of the name is greater that 1, then we go through a
        // number of subcontexts.
        if (entry.type != NamingEntry.CONTEXT) {
            throw new NamingException(sm.getString("namingContext.contextExpected"));
        }
        return ((Context) entry.value).lookup(name.getSuffix(1));
    } else {
        if ((resolveLinks) && (entry.type == NamingEntry.LINK_REF)) {
            String link = ((LinkRef) entry.value).getLinkName();
            if (link.startsWith(".")) {
                // Link relative to this context
                return lookup(link.substring(1));
            } else {
                return (new InitialContext(env)).lookup(link);
            }
        } else if (entry.type == NamingEntry.REFERENCE) {
            try {
                Object obj = NamingManager.getObjectInstance(entry.value, name, this, env);
                if (obj != null) {
                    entry.value = obj;
                    entry.type = NamingEntry.ENTRY;
                }
                return obj;
            } catch (NamingException e) {
                throw e;
            } catch (Exception e) {
                log.warn(sm.getString("namingContext.failResolvingReference"), e);
                throw new NamingException(e.getMessage());
            }
        } else {
            return entry.value;
        }
    }

}

From source file:org.apache.naming.NamingContext.java

/**
 * Binds a name to an object. All intermediate contexts and the target 
 * context (that named by all but terminal atomic component of the name) 
 * must already exist./*from   w w w  . j a va2  s .c  o  m*/
 * 
 * @param name the name to bind; may not be empty
 * @param object the object to bind; possibly null
 * @param rebind if true, then perform a rebind (ie, overwrite)
 * @exception NameAlreadyBoundException if name is already bound
 * @exception InvalidAttributesException if object did not supply all 
 * mandatory attributes
 * @exception NamingException if a naming exception is encountered
 */
protected void bind(Name name, Object obj, boolean rebind) throws NamingException {

    checkWritable();

    while ((!name.isEmpty()) && (name.get(0).length() == 0))
        name = name.getSuffix(1);
    if (name.isEmpty())
        throw new NamingException(sm.getString("namingContext.invalidName"));

    NamingEntry entry = (NamingEntry) bindings.get(name.get(0));

    if (name.size() > 1) {
        if (entry == null) {
            throw new NameNotFoundException(sm.getString("namingContext.nameNotBound", name.get(0)));
        }
        if (entry.type == NamingEntry.CONTEXT) {
            if (rebind) {
                ((Context) entry.value).rebind(name.getSuffix(1), obj);
            } else {
                ((Context) entry.value).bind(name.getSuffix(1), obj);
            }
        } else {
            throw new NamingException(sm.getString("namingContext.contextExpected"));
        }
    } else {
        if ((!rebind) && (entry != null)) {
            throw new NamingException(sm.getString("namingContext.alreadyBound", name.get(0)));
        } else {
            // Getting the type of the object and wrapping it within a new
            // NamingEntry
            Object toBind = NamingManager.getStateToBind(obj, name, this, env);
            if (toBind instanceof Context) {
                entry = new NamingEntry(name.get(0), toBind, NamingEntry.CONTEXT);
            } else if (toBind instanceof LinkRef) {
                entry = new NamingEntry(name.get(0), toBind, NamingEntry.LINK_REF);
            } else if (toBind instanceof Reference) {
                entry = new NamingEntry(name.get(0), toBind, NamingEntry.REFERENCE);
            } else if (toBind instanceof Referenceable) {
                toBind = ((Referenceable) toBind).getReference();
                entry = new NamingEntry(name.get(0), toBind, NamingEntry.REFERENCE);
            } else {
                entry = new NamingEntry(name.get(0), toBind, NamingEntry.ENTRY);
            }
            bindings.put(name.get(0), entry);
        }
    }

}

From source file:org.infoglue.deliver.portal.services.PortletWindowRegistryServiceImpl.java

public synchronized PortletWindow createPortletWindow(String windowID, String entityID)
        throws NameNotFoundException {
    PortletWindow window = (PortletWindow) wid2win.get(windowID);

    if (window == null) {
        log.debug("Found no portletwindow with id[" + windowID + "], registring new instance");

        PortletApplicationEntityList applicationList = PortletEntityRegistry.getPortletApplicationEntityList();
        Iterator portletApplicationEntityListIterator = applicationList.iterator();
        while (portletApplicationEntityListIterator.hasNext()) {
            PortletApplicationEntity pae = (PortletApplicationEntity) portletApplicationEntityListIterator
                    .next();/*from  ww  w.j  a  v a2 s  .c  o m*/
            log.debug("Available application: " + pae.getId());
        }

        PortletEntity entity = PortletEntityRegistry.getPortletEntity(ObjectID.createFromString(entityID));

        if (entity == null) {
            log.fatal("Couldn't find entity with id: " + entityID);
            throw new NameNotFoundException("Portlet entity not found: " + entityID);
        }

        window = new PortletWindowImpl(windowID, entity);

        ((PortletWindowListCtrl) entity.getPortletWindowList()).add(window);

        wid2win.put(windowID, window);
    }

    return window;
}

From source file:org.jsecurity.jndi.JndiTemplate.java

/**
 * Look up the object with the given name in the current JNDI context.
 *
 * @param name the JNDI name of the object
 * @return object found (cannot be <code>null</code>; if a not so well-behaved
 *         JNDI implementations returns null, a NamingException gets thrown)
 * @throws NamingException if there is no object with the given
 *                         name bound to JNDI
 *//*from ww w.  j av  a  2 s .  co  m*/
public Object lookup(final String name) throws NamingException {
    if (log.isDebugEnabled()) {
        log.debug("Looking up JNDI object with name [" + name + "]");
    }
    return execute(new JndiCallback() {
        public Object doInContext(Context ctx) throws NamingException {
            Object located = ctx.lookup(name);
            if (located == null) {
                throw new NameNotFoundException(
                        "JNDI object with [" + name + "] not found: JNDI implementation returned null");
            }
            return located;
        }
    });
}

From source file:org.springframework.jndi.JndiTemplate.java

/**
 * Look up the object with the given name in the current JNDI context.
 * @param name the JNDI name of the object
 * @return object found (cannot be {@code null}; if a not so well-behaved
 * JNDI implementations returns null, a NamingException gets thrown)
 * @throws NamingException if there is no object with the given
 * name bound to JNDI/*w w  w.j  av  a  2 s .c  o m*/
 */
public Object lookup(final String name) throws NamingException {
    if (logger.isDebugEnabled()) {
        logger.debug("Looking up JNDI object with name [" + name + "]");
    }
    Object result = execute(ctx -> ctx.lookup(name));
    if (result == null) {
        throw new NameNotFoundException(
                "JNDI object with [" + name + "] not found: JNDI implementation returned null");
    }
    return result;
}

From source file:org.springframework.jndi.support.SimpleNamingContext.java

/**
 * Look up the object with the given name.
 * Note: Not intended for direct use by applications.
 * Will be used by any standard InitialContext JNDI lookups.
 * @throws NameNotFoundException if the object could not be found
 *///from   ww w.java 2s  .  c  o m
public Object lookup(String pname) throws NameNotFoundException {
    String name = root + pname;
    logger.info("Static JNDI lookup: [" + name + "]");
    if ("".equals(name)) {
        return new SimpleNamingContext(root, boundObjects, environment);
    }
    Object found = boundObjects.get(name);
    if (found == null) {
        if (!name.endsWith("/")) {
            name = name + "/";
        }
        for (Iterator it = boundObjects.keySet().iterator(); it.hasNext();) {
            String boundName = (String) it.next();
            if (boundName.startsWith(name)) {
                return new SimpleNamingContext(name, boundObjects, environment);
            }
        }
        throw new NameNotFoundException("Name [" + root + pname + "] not bound: " + boundObjects.size()
                + " bindings -- [" + StringUtils.collectionToDelimitedString(boundObjects.keySet(), ",") + "]");
    }
    return found;
}