Skip to content
Snippets Groups Projects
Delete.java 1.92 KiB
Newer Older
Kurt Zeilenga's avatar
Kurt Zeilenga committed
/* **************************************************************************
 *
 * Copyright (C) 2002-2005 Octet String, Inc. All Rights Reserved.
Kurt Zeilenga's avatar
Kurt Zeilenga committed
 *
 * THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND
 * TREATIES. USE, MODIFICATION, AND REDISTRIBUTION OF THIS WORK IS SUBJECT
 * TO VERSION 2.0.1 OF THE OPENLDAP PUBLIC LICENSE, A COPY OF WHICH IS
 * AVAILABLE AT HTTP://WWW.OPENLDAP.ORG/LICENSE.HTML OR IN THE FILE "LICENSE"
 * IN THE TOP-LEVEL DIRECTORY OF THE DISTRIBUTION. ANY USE OR EXPLOITATION
 * OF THIS WORK OTHER THAN AS AUTHORIZED IN VERSION 2.0.1 OF THE OPENLDAP
 * PUBLIC LICENSE, OR OTHER PRIOR WRITTEN CONSENT FROM OCTET STRING, INC., 
 * COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND CIVIL LIABILITY.
 ******************************************************************************/

/*
 * Delete.java
 *
 * Created on March 13, 2002, 5:50 PM
 */

package com.octetstring.jdbcLdap.jndi;

Kurt Zeilenga's avatar
Kurt Zeilenga committed
import com.octetstring.jdbcLdap.sql.statements.*;
import com.octetstring.jdbcLdap.sql.*;
import java.sql.*;
import com.novell.ldap.*;
Kurt Zeilenga's avatar
Kurt Zeilenga committed
/**
 *Deletes an entry
 *@author Marc Boorshtein, OctetString
 */
public class Delete {
	RetrieveResults res = new RetrieveResults();


	
	public int doDeleteJldap(JdbcLdapDelete del) throws SQLException {
		LDAPConnection con = del.getConnection();
		
Kurt Zeilenga's avatar
Kurt Zeilenga committed
		StringBuffer buf = new StringBuffer();
		SqlStore store = del.getSqlStore();
		int count = 0;
Clayton Donley's avatar
Clayton Donley committed
		//System.out.println("from : " + store.getFrom());
Kurt Zeilenga's avatar
Kurt Zeilenga committed
		if (store.getSimple()) {
			try {
				con.delete(JndiLdapConnection.getRealBase(del));
Kurt Zeilenga's avatar
Kurt Zeilenga committed
			}
			catch (LDAPException ne) {
Kurt Zeilenga's avatar
Kurt Zeilenga committed
				throw new SQLNamingException(ne);
			}
			
			return 1;
		}
		else {
			try {
				
				LDAPSearchResults entries = res.searchUpInsJldap(del);
				while (entries.hasMore()) {
					LDAPEntry entry = entries.next();
					con.delete(entry.getDN());
Kurt Zeilenga's avatar
Kurt Zeilenga committed
					count++;
				}
Kurt Zeilenga's avatar
Kurt Zeilenga committed
				return count;
			}
			catch (LDAPException ne) {
Kurt Zeilenga's avatar
Kurt Zeilenga committed
				throw new SQLNamingException(ne);
			}
		}
	}
}