2
0
Fork 0

Upgraded backend api with generics.

This commit is contained in:
Willem Cazander 2014-05-28 14:16:03 +02:00
parent 9a6227be5b
commit 1b3e65fa83
53 changed files with 282 additions and 256 deletions

View file

@ -34,8 +34,8 @@ import net.forwardfire.vasc.backend.VascBackendException;
import net.forwardfire.vasc.backend.VascBackendState;
import net.forwardfire.vasc.backend.VascEntryFieldValue;
import net.forwardfire.vasc.backend.VascEntryRecordCreator;
import net.forwardfire.vasc.backend.data.MapVascEntryFieldValue;
import net.forwardfire.vasc.backend.data.MapVascEntryRecordCreator;
import net.forwardfire.vasc.backend.data.HashMapVascEntryFieldValue;
import net.forwardfire.vasc.backend.data.HashMapVascEntryRecordCreator;
import com.novell.ldap.LDAPAttribute;
import com.novell.ldap.LDAPAttributeSet;
@ -52,7 +52,7 @@ import com.novell.ldap.LDAPSearchResults;
* @author Willem Cazander
* @version 1.0 Sep 4, 2008
*/
public class LdapVascBackend extends AbstractVascBackend {
public class LdapVascBackend extends AbstractVascBackend<HashMap<String,Object>> {
private Logger logger = Logger.getLogger(LdapVascBackend.class.getName());
private LdapConnectionProvider ldapConnectionProvider = null;
@ -80,10 +80,10 @@ public class LdapVascBackend extends AbstractVascBackend {
/**
* @see net.forwardfire.vasc.backend.VascBackend#execute()
*/
public List<Object> execute(VascBackendState state) throws VascBackendException {
public List<HashMap<String,Object>> execute(VascBackendState state) throws VascBackendException {
LdapConnectionProvider prov = getLdapConnectionProvider();
LDAPConnection connection = prov.getLdapConnection();
List<Object> result = new ArrayList<Object>(50);
List<HashMap<String,Object>> result = new ArrayList<HashMap<String,Object>>(50);
try {
LDAPSearchConstraints cons = new LDAPSearchConstraints();
@ -104,7 +104,7 @@ public class LdapVascBackend extends AbstractVascBackend {
while (searchResults.hasMore()) {
LDAPEntry entry = searchResults.next();
Map<String,Object> map = new HashMap<String,Object>(10);
HashMap<String,Object> map = new HashMap<String,Object>(10);
LDAPAttributeSet attributeSet = entry.getAttributeSet();
Iterator<LDAPAttribute> i = attributeSet.iterator();
@ -134,11 +134,10 @@ public class LdapVascBackend extends AbstractVascBackend {
/**
* @see net.forwardfire.vasc.backend.VascBackend#merge(java.lang.Object)
*/
public Object merge(Object object) throws VascBackendException {
public HashMap<String,Object> merge(HashMap<String,Object> map) throws VascBackendException {
LdapConnectionProvider prov = getLdapConnectionProvider();
LDAPConnection connection = prov.getLdapConnection();
try {
Map<String,Object> map = (Map)object;
String keyValue = (String)map.get(keyAttribute);
LDAPSearchConstraints cons = new LDAPSearchConstraints();
cons.setBatchSize( 0 );
@ -157,7 +156,7 @@ public class LdapVascBackend extends AbstractVascBackend {
if (searchResults.hasMore()==false) {
// no result to mod
return object;
return map;
}
LDAPEntry entry = searchResults.next();
List<LDAPModification> mods = new ArrayList<LDAPModification>(20);
@ -204,7 +203,7 @@ public class LdapVascBackend extends AbstractVascBackend {
m = mods.toArray(m);
connection.modify(entry.getDN(), m);
return object;
return map;
} catch (LDAPException e) {
throw new VascBackendException(e);
} finally {
@ -215,8 +214,7 @@ public class LdapVascBackend extends AbstractVascBackend {
/**
* @see net.forwardfire.vasc.backend.VascBackend#persist(java.lang.Object)
*/
public void persist(Object object) throws VascBackendException {
Map<String,Object> map = (Map)object;
public void persist(HashMap<String,Object> map) throws VascBackendException {
LdapConnectionProvider prov = getLdapConnectionProvider();
LDAPConnection connection = prov.getLdapConnection();
try {
@ -250,11 +248,10 @@ public class LdapVascBackend extends AbstractVascBackend {
/**
* @see net.forwardfire.vasc.backend.VascBackend#delete(java.lang.Object)
*/
public void delete(Object object) throws VascBackendException {
public void delete(HashMap<String,Object> map) throws VascBackendException {
LdapConnectionProvider prov = getLdapConnectionProvider();
LDAPConnection connection = prov.getLdapConnection();
try {
Map<String,Object> map = (Map)object;
String keyValue = (String)map.get(keyAttribute);
int searchScope = LDAPConnection.SCOPE_ONE;
String searchBase = baseDN;
@ -294,14 +291,14 @@ public class LdapVascBackend extends AbstractVascBackend {
* @see net.forwardfire.vasc.backend.VascBackend#provideVascEntryRecordCreator()
*/
public VascEntryRecordCreator provideVascEntryRecordCreator() {
return new MapVascEntryRecordCreator();
return new HashMapVascEntryRecordCreator();
}
/**
* @see net.forwardfire.vasc.backend.VascBackend#provideVascEntryFieldValue()
*/
public VascEntryFieldValue provideVascEntryFieldValue() {
return new MapVascEntryFieldValue();
return new HashMapVascEntryFieldValue();
}
/**