r292 - in trunk: faxtomail-persistence/src/main/java/com/franciaflex/faxtomail faxtomail-service/src/main/java/com/franciaflex/faxtomail/services faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap
Author: echatellier Date: 2014-06-30 09:47:30 +0200 (Mon, 30 Jun 2014) New Revision: 292 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/292 Log: Add fake ldap service Added: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceContext.java Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java 2014-06-29 18:47:40 UTC (rev 291) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java 2014-06-30 07:47:30 UTC (rev 292) @@ -247,6 +247,10 @@ return applicationConfig.getOptionAsBoolean(FaxToMailConfigurationOption.MAIL_EXPUNGE.getKey()); } + public boolean isLdapMock() { + return applicationConfig.getOptionAsBoolean(FaxToMailConfigurationOption.LDAP_MOCK.getKey()); + } + public String getLdapHost() { return applicationConfig.getOption(FaxToMailConfigurationOption.LDAP_HOST.getKey()); } Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java 2014-06-29 18:47:40 UTC (rev 291) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java 2014-06-30 07:47:30 UTC (rev 292) @@ -92,6 +92,10 @@ "Chemin vers le fichier de configuration des journaux", null, String.class), + LDAP_MOCK( + "faxtomail.ldap.mock", + "Utilisation d'un service ldap mock", "false", Boolean.class), + LDAP_HOST( "faxtomail.ldap.host", "Adresse du serveur LDAP", null, String.class), Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceContext.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceContext.java 2014-06-29 18:47:40 UTC (rev 291) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceContext.java 2014-06-30 07:47:30 UTC (rev 292) @@ -24,21 +24,23 @@ * #L% */ -import com.franciaflex.faxtomail.FaxToMailConfiguration; -import com.franciaflex.faxtomail.persistence.entities.FaxToMailTopiaPersistenceContext; -import com.franciaflex.faxtomail.services.service.FaxToMailWebApplicationContext; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.Date; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.application.ApplicationTechnicalException; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.util.Date; +import com.franciaflex.faxtomail.FaxToMailConfiguration; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailTopiaPersistenceContext; +import com.franciaflex.faxtomail.services.service.FaxToMailWebApplicationContext; +import com.franciaflex.faxtomail.services.service.LdapService; +import com.franciaflex.faxtomail.services.service.ldap.LdapServiceMock; public class FaxToMailServiceContext { - private static final Log log = - LogFactory.getLog(FaxToMailServiceContext.class); + private static final Log log = LogFactory.getLog(FaxToMailServiceContext.class); protected FaxToMailConfiguration applicationConfig; @@ -64,6 +66,11 @@ public <E extends FaxToMailService> E newService(Class<E> serviceClass) { + // special case for mock services + if (serviceClass.equals(LdapService.class) && applicationConfig.isLdapMock()) { + serviceClass = (Class<E>)LdapServiceMock.class; + } + E service; try { Added: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java (rev 0) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java 2014-06-30 07:47:30 UTC (rev 292) @@ -0,0 +1,77 @@ +package com.franciaflex.faxtomail.services.service.ldap; + +/* + * #%L + * FaxToMail :: Service + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2014 Franciaflex, Code Lutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserImpl; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUserTopiaDao; +import com.franciaflex.faxtomail.services.service.LdapService; + +/** + * Surcharge les methodes qui utilisent le serveur ldap pour pouvoir fonctionner sans serveur ldap. + * + * @author Eric Chatellier + */ +public class LdapServiceMock extends LdapService { + + protected FaxToMailUser fakeUser; + + protected FaxToMailUser getFakeFaxToMailUser() { + if (fakeUser == null) { + FaxToMailUserTopiaDao dao = getPersistenceContext().getFaxToMailUserDao(); + + fakeUser = dao.forAll().findAnyOrNull(); + if (fakeUser == null) { + fakeUser = new FaxToMailUserImpl(); + fakeUser.setTrigraph("fkr"); + fakeUser.setFirstName("Test ldap"); + fakeUser.setLastName("Test ldap"); + fakeUser.setLogin("test"); + dao.create(fakeUser); + } + } + return fakeUser; + } + + @Override + public void updateLdapData() { + // do nothing here + } + + @Override + public FaxToMailUser getUserBean(String userTopiaId) { + return getFakeFaxToMailUser(); + } + + @Override + public FaxToMailUser authenticateUser(String login, String password) throws AuthenticationException { + return getFakeFaxToMailUser(); + } + + @Override + public FaxToMailUser getUserFromPrincipal(String principal) throws AuthenticationException { + return getFakeFaxToMailUser(); + } +} Property changes on: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ldap/LdapServiceMock.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native
participants (1)
-
echatellier@users.forge.codelutin.com