Exemplo n.º 1
0
  private String modify_ldap(String dn, LDAPModification mod) {
    CMS.debug("UpdateDomainXML: modify_ldap: starting dn: " + dn);
    String status = SUCCESS;
    ILdapConnFactory connFactory = null;
    LDAPConnection conn = null;
    IConfigStore cs = CMS.getConfigStore();

    try {
      IConfigStore ldapConfig = cs.getSubStore("internaldb");
      connFactory = CMS.getLdapBoundConnFactory("UpdateDomainXML");
      connFactory.init(ldapConfig);
      conn = connFactory.getConn();
      conn.modify(dn, mod);
    } catch (LDAPException e) {
      int resultCode = e.getLDAPResultCode();
      if ((resultCode != LDAPException.NO_SUCH_OBJECT)
          && (resultCode != LDAPException.NO_SUCH_ATTRIBUTE)) {
        status = FAILED;
        CMS.debug("Failed to modify entry" + e.toString());
      }
    } catch (Exception e) {
      CMS.debug("Failed to modify entry" + e.toString());
    } finally {
      try {
        if ((conn != null) && (connFactory != null)) {
          CMS.debug("Releasing ldap connection");
          connFactory.returnConn(conn);
        }
      } catch (Exception e) {
        CMS.debug("Error releasing the ldap connection" + e.toString());
      }
    }
    return status;
  }