Author: tchemit Date: 2013-02-15 00:55:47 +0100 (Fri, 15 Feb 2013) New Revision: 417 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/417 Log: add synchro service Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialSynchronizeService.java Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialSynchronizeService.java =================================================================== --- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialSynchronizeService.java (rev 0) +++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialSynchronizeService.java 2013-02-14 23:55:47 UTC (rev 417) @@ -0,0 +1,83 @@ +package fr.ifremer.tutti.service.referential; + +/* + * #%L + * Tutti :: Service + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * 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 fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig; +import fr.ifremer.tutti.persistence.entities.TuttiEntities; +import fr.ifremer.tutti.persistence.service.TuttiPersistenceServiceLocator; +import fr.ifremer.tutti.persistence.service.synchro.ReferentialSynchronizeResult; +import fr.ifremer.tutti.persistence.service.synchro.ReferentialSynchronizeService; +import fr.ifremer.tutti.service.AbstractTuttiService; +import fr.ifremer.tutti.service.PersistenceService; +import fr.ifremer.tutti.service.TuttiServiceContext; + +import java.io.File; +import java.util.Properties; + +/** + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class TuttiReferentialSynchronizeService extends AbstractTuttiService { + + protected PersistenceService persistenceService; + + protected ReferentialSynchronizeService synchroService; + + @Override + public void setServiceContext(TuttiServiceContext context) { + super.setServiceContext(context); + synchroService = TuttiPersistenceServiceLocator.getReferentialSynchronizeService(); + persistenceService = getService(PersistenceService.class); + } + + public void prepare(File dbDirectory, ReferentialSynchronizeResult result) { + Properties remoteConnectionProperties = getRemoteProperties(dbDirectory); + synchroService.prepare(remoteConnectionProperties, result); + } + + public void synchronize(File dbDirectory, + ReferentialSynchronizeResult result) { + Properties remoteConnectionProperties = getRemoteProperties(dbDirectory); + synchroService.synchronize(remoteConnectionProperties, result); + } + + protected Properties getRemoteProperties(File dbDirectory) { + Properties remoteConnectionProperties = new Properties(); + TuttiPersistenceConfig persistenceConfig = + context.getConfig().getPersistenceConfig(); + + String jdbcUrl = TuttiEntities.getJdbcUrl(dbDirectory, + persistenceConfig.getDbName()); + + TuttiEntities.fillConnectionProperties(remoteConnectionProperties, + jdbcUrl, + persistenceConfig.getJdbcUsername(), + persistenceConfig.getJdbcPassword()); + return remoteConnectionProperties; + } + + +} Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/TuttiReferentialSynchronizeService.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native