/* * Copyright 2004-2007 IDCA. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the * following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and * the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions * and the following disclaimer in the documentation and/or other materials provided with the * distribution. * * THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * The views and conclusions contained in the software and documentation are those of the authors and * should not be interpreted as representing official policies, either expressed or implied, of IDCA. */ package com.idcanet.vasc.backends.ldap; import java.util.HashMap; import java.util.List; import java.util.Map; import com.idcanet.vasc.core.AbstractVascBackend; import com.idcanet.vasc.core.VascEntry; import com.idcanet.vasc.core.VascEntryField; import com.idcanet.vasc.core.entry.VascEntryFieldValue; import com.idcanet.vasc.core.entry.VascEntryRecordCreator; import com.idcanet.x4o.element.ElementParameterException; import com.idcanet.x4o.element.ElementParameterNotFoundException; /** * * @author Willem Cazander * @version 1.0 Sep 4, 2008 */ public class LdapVascBackend extends AbstractVascBackend { private LdapConnectionProvider ldapConnectionProvider = null; /** * @return the ldapConnectionProvider */ public LdapConnectionProvider getLdapConnectionProvider() { return ldapConnectionProvider; } /** * @param ldapConnectionProvider the ldapConnectionProvider to set */ public void setLdapConnectionProvider(LdapConnectionProvider ldapConnectionProvider) { this.ldapConnectionProvider = ldapConnectionProvider; } /** * @see com.idcanet.vasc.core.VascBackend#execute() */ public List<Object> execute() throws Exception { return null; } /** * @see com.idcanet.vasc.core.VascBackend#merge(java.lang.Object) */ public Object merge(Object object) throws Exception { return object; } /** * @see com.idcanet.vasc.core.VascBackend#persist(java.lang.Object) */ public void persist(Object object) throws Exception { } /** * @see com.idcanet.vasc.core.VascBackend#delete(java.lang.Object) */ public void delete(Object object) throws Exception { } /** * @see com.idcanet.vasc.core.VascBackend#provideVascEntryRecordCreator(com.idcanet.vasc.core.VascEntry) */ public VascEntryRecordCreator provideVascEntryRecordCreator(VascEntry vascEntry) { return new VascEntryRecordCreator() { public Class<?> getObjectClass() { return Map.class; } public Object newRecord(VascEntry entry) throws Exception { return new HashMap<String,Object>(10); } }; } /** * @see com.idcanet.vasc.core.VascBackend#provideVascEntryFieldValue(com.idcanet.vasc.core.VascEntryField) */ public VascEntryFieldValue provideVascEntryFieldValue(VascEntryField field) { VascEntryFieldValue result = new VascEntryFieldValue() { /** * @see com.idcanet.vasc.core.entry.VascEntryFieldValue#getValue(com.idcanet.vasc.core.VascEntryField, java.lang.Object) */ public Object getValue(VascEntryField field, Object record) throws ElementParameterException,ElementParameterNotFoundException { Map<String,Object> map = (Map<String,Object>)record; return map.get(field.getBackendName()); } /** * @see com.idcanet.vasc.core.entry.VascEntryFieldValue#setValue(com.idcanet.vasc.core.VascEntryField, java.lang.Object, java.lang.Object) */ public void setValue(VascEntryField field, Object record,Object value) throws ElementParameterException,ElementParameterNotFoundException { Map<String,Object> map = (Map<String,Object>)record; map.put(field.getBackendName(), value); } }; return result; } }