Upgraded backend api with generics.
This commit is contained in:
parent
9a6227be5b
commit
1b3e65fa83
53 changed files with 282 additions and 256 deletions
|
|
@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue