Search in sources :

Example 1 with InvalidNameException

use of javax.naming.InvalidNameException in project OpenAttestation by OpenAttestation.

the class DN method parseLdapName.

private void parseLdapName(String distinguishedName) {
    try {
        LdapName dn = new LdapName(distinguishedName);
        for (int i = 0; i < dn.size(); i++) {
            Rdn rdn = dn.getRdn(i);
            map.put(rdn.getType(), rdn.getValue().toString());
        }
    } catch (InvalidNameException e) {
        log.error("Cannot extract Common Name from Distinguished Name", e);
    }
}
Also used : InvalidNameException(javax.naming.InvalidNameException) Rdn(javax.naming.ldap.Rdn) LdapName(javax.naming.ldap.LdapName)

Example 2 with InvalidNameException

use of javax.naming.InvalidNameException in project midpoint by Evolveum.

the class DistinguishedNameMatchingRule method match.

/* (non-Javadoc)
	 * @see com.evolveum.midpoint.model.match.MatchingRule#match(java.lang.Object, java.lang.Object)
	 */
@Override
public boolean match(String a, String b) throws SchemaException {
    if (StringUtils.isBlank(a) && StringUtils.isBlank(b)) {
        return true;
    }
    if (StringUtils.isBlank(a) || StringUtils.isBlank(b)) {
        return false;
    }
    LdapName dnA;
    try {
        dnA = new LdapName(a);
    } catch (InvalidNameException e) {
        throw new SchemaException("String '" + a + "' is not a DN: " + e.getMessage(), e);
    }
    LdapName dnB;
    try {
        dnB = new LdapName(b);
    } catch (InvalidNameException e) {
        throw new SchemaException("String '" + b + "' is not a DN: " + e.getMessage(), e);
    }
    return dnA.equals(dnB);
}
Also used : SchemaException(com.evolveum.midpoint.util.exception.SchemaException) InvalidNameException(javax.naming.InvalidNameException) LdapName(javax.naming.ldap.LdapName)

Example 3 with InvalidNameException

use of javax.naming.InvalidNameException in project geode by apache.

the class ContextImpl method destroySubcontext.

/**
   * Destroys subcontext with name name. The subcontext must be empty otherwise
   * ContextNotEmptyException is thrown. Once a context is destroyed, the instance should not be
   * used.
   * 
   * @param name subcontext to destroy
   * @throws NoPermissionException if this context has been destroyed.
   * @throws InvalidNameException if name is empty or is CompositeName that spans more than one
   *         naming system.
   * @throws ContextNotEmptyException if Context name is not empty.
   * @throws NameNotFoundException if subcontext with name name can not be found.
   * @throws NotContextException if name is not bound to instance of ContextImpl.
   * 
   */
public void destroySubcontext(Name name) throws NamingException {
    checkIsDestroyed();
    Name parsedName = getParsedName(name);
    if (parsedName.size() == 0 || parsedName.get(0).length() == 0) {
        throw new InvalidNameException(LocalizedStrings.ContextImpl_NAME_CAN_NOT_BE_EMPTY.toLocalizedString());
    }
    String subContextName = parsedName.get(0);
    Object boundObject = ctxMaps.get(subContextName);
    if (boundObject == null) {
        throw new NameNotFoundException(LocalizedStrings.ContextImpl_NAME_0_NOT_FOUND_IN_THE_CONTEXT.toLocalizedString(subContextName));
    }
    if (!(boundObject instanceof ContextImpl)) {
        throw new NotContextException();
    }
    ContextImpl contextToDestroy = (ContextImpl) boundObject;
    if (parsedName.size() == 1) {
        // non-empty Context.
        if (contextToDestroy.ctxMaps.size() == 0) {
            ctxMaps.remove(subContextName);
            contextToDestroy.destroyInternal();
        } else {
            throw new ContextNotEmptyException(LocalizedStrings.ContextImpl_CAN_NOT_DESTROY_NONEMPTY_CONTEXT.toLocalizedString());
        }
    } else {
        // Let the subcontext destroy the context
        ((ContextImpl) boundObject).destroySubcontext(parsedName.getSuffix(1));
    }
}
Also used : NotContextException(javax.naming.NotContextException) InvalidNameException(javax.naming.InvalidNameException) NameNotFoundException(javax.naming.NameNotFoundException) ContextNotEmptyException(javax.naming.ContextNotEmptyException) CompositeName(javax.naming.CompositeName) Name(javax.naming.Name)

Example 4 with InvalidNameException

use of javax.naming.InvalidNameException in project geode by apache.

the class ContextImpl method unbind.

/**
   * Removes name and its associated object from the context.
   * 
   * @param name name to remove
   * @throws NoPermissionException if this context has been destroyed.
   * @throws InvalidNameException if name is empty or is CompositeName that spans more than one
   *         naming system
   * @throws NameNotFoundException if intermediate context can not be found
   * @throws NotContextException if name has more than one atomic name and intermediate context is
   *         not found.
   * @throws NamingException if any other naming exception occurs
   * 
   */
public void unbind(Name name) throws NamingException {
    checkIsDestroyed();
    Name parsedName = getParsedName(name);
    if (parsedName.size() == 0 || parsedName.get(0).length() == 0) {
        throw new InvalidNameException(LocalizedStrings.ContextImpl_NAME_CAN_NOT_BE_EMPTY.toLocalizedString());
    }
    String nameToRemove = parsedName.get(0);
    // remove a and its associated object
    if (parsedName.size() == 1) {
        ctxMaps.remove(nameToRemove);
    } else {
        // scenerio unbind a/b or a/b/c
        // remove b and its associated object
        Object boundObject = ctxMaps.get(nameToRemove);
        if (boundObject instanceof Context) {
            // remove b and its associated object
            ((Context) boundObject).unbind(parsedName.getSuffix(1));
        } else {
            // if the name is not found then throw exception
            if (!ctxMaps.containsKey(nameToRemove)) {
                throw new NameNotFoundException(LocalizedStrings.ContextImpl_CAN_NOT_FIND_0.toLocalizedString(name));
            }
            throw new NotContextException(LocalizedStrings.ContextImpl_EXPECTED_CONTEXT_BUT_FOUND_0.toLocalizedString(boundObject));
        }
    }
}
Also used : Context(javax.naming.Context) NotContextException(javax.naming.NotContextException) InvalidNameException(javax.naming.InvalidNameException) NameNotFoundException(javax.naming.NameNotFoundException) CompositeName(javax.naming.CompositeName) Name(javax.naming.Name)

Example 5 with InvalidNameException

use of javax.naming.InvalidNameException in project geode by apache.

the class ContextImpl method rebind.

/**
   * Rebinds object obj to name name . If there is existing binding it will be overwritten.
   * 
   * @param name name of the object to rebind.
   * @param obj object to add. Can be null.
   * @throws NoPermissionException if this context has been destroyed
   * @throws InvalidNameException if name is empty or is CompositeName that spans more than one
   *         naming system
   * @throws NotContextException if name has more than one atomic name and intermediate context is
   *         not found
   * @throws NamingException if any other naming error occurs
   * 
   */
public void rebind(Name name, Object obj) throws NamingException {
    checkIsDestroyed();
    Name parsedName = getParsedName(name);
    if (parsedName.size() == 0 || parsedName.get(0).length() == 0) {
        throw new InvalidNameException(LocalizedStrings.ContextImpl_NAME_CAN_NOT_BE_EMPTY.toLocalizedString());
    }
    String nameToBind = parsedName.get(0);
    if (parsedName.size() == 1) {
        ctxMaps.put(nameToBind, obj);
    } else {
        Object boundObject = ctxMaps.get(nameToBind);
        if (boundObject instanceof Context) {
            /*
         * Let the subcontext bind the object.
         */
            ((Context) boundObject).bind(parsedName.getSuffix(1), obj);
        } else {
            if (boundObject == null) {
                // Create new subcontext and let it do the binding
                Context sub = createSubcontext(nameToBind);
                sub.bind(parsedName.getSuffix(1), obj);
            } else {
                throw new NotContextException(LocalizedStrings.ContextImpl_EXPECTED_CONTEXT_BUT_FOUND_0.toLocalizedString(boundObject));
            }
        }
    }
}
Also used : Context(javax.naming.Context) NotContextException(javax.naming.NotContextException) InvalidNameException(javax.naming.InvalidNameException) CompositeName(javax.naming.CompositeName) Name(javax.naming.Name)

Aggregations

InvalidNameException (javax.naming.InvalidNameException)68 LdapName (javax.naming.ldap.LdapName)30 Rdn (javax.naming.ldap.Rdn)24 CompositeName (javax.naming.CompositeName)12 NamingException (javax.naming.NamingException)11 ArrayList (java.util.ArrayList)9 Name (javax.naming.Name)8 NameNotFoundException (javax.naming.NameNotFoundException)8 Context (javax.naming.Context)7 NameAlreadyBoundException (javax.naming.NameAlreadyBoundException)6 NotContextException (javax.naming.NotContextException)6 Attribute (javax.naming.directory.Attribute)6 X509Certificate (java.security.cert.X509Certificate)5 NoSuchElementException (java.util.NoSuchElementException)5 OperationNotSupportedException (javax.naming.OperationNotSupportedException)5 Attributes (javax.naming.directory.Attributes)5 IOException (java.io.IOException)4 URISyntaxException (java.net.URISyntaxException)4 SSLException (javax.net.ssl.SSLException)4 HashMap (java.util.HashMap)3