Author: tchemit Date: 2012-09-24 22:40:29 +0200 (Mon, 24 Sep 2012) New Revision: 706 Url: http://forge.codelutin.com/repositories/revision/echobase/706 Log: remove data only import/export Removed: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/DataImportDbStrategy.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbMode.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbMode.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/FreeImportDbStrategy.java trunk/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties trunk/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/exportdb/ExportDbServiceTest.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/configure.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/configure.jsp Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbMode.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbMode.java 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportdb/ExportDbMode.java 2012-09-24 20:40:29 UTC (rev 706) @@ -38,9 +38,6 @@ /** Export only referential. */ REFERENTIAL(n_("echobase.common.exportDbMode.referential"), true, false), - /** Export only selected data. */ - DATA(n_("echobase.common.exportDbMode.data"), false, true), - /** Export selected data + referential. */ REFERENTIAL_AND_DATA(n_("echobase.common.exportDbMode.referentialAndData"), true, true), Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbMode.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbMode.java 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbMode.java 2012-09-24 20:40:29 UTC (rev 706) @@ -24,7 +24,6 @@ */ import fr.ifremer.echobase.I18nAble; -import fr.ifremer.echobase.entities.ImportType; import static org.nuiton.i18n.I18n.n_; @@ -39,9 +38,6 @@ /** Import only referential. */ REFERENTIAL(n_("echobase.common.importDbMode.referential")), - /** Import only data. */ - DATA(n_("echobase.common.importDbMode.data")), - /** Import what you want. */ FREE(n_("echobase.common.importDbMode.free")); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbService.java 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/ImportDbService.java 2012-09-24 20:40:29 UTC (rev 706) @@ -28,7 +28,6 @@ import fr.ifremer.echobase.services.EchoBaseServiceSupport; import fr.ifremer.echobase.services.importdata.ImportException; import fr.ifremer.echobase.services.importdb.strategy.AbstractImportDbStrategy; -import fr.ifremer.echobase.services.importdb.strategy.DataImportDbStrategy; import fr.ifremer.echobase.services.importdb.strategy.FreeImportDbStrategy; import fr.ifremer.echobase.services.importdb.strategy.ReferentialImportDbStrategy; import org.nuiton.topia.TopiaException; @@ -54,9 +53,6 @@ case REFERENTIAL: strategy = getService(ReferentialImportDbStrategy.class); break; - case DATA: - strategy = getService(DataImportDbStrategy.class); - break; case FREE: strategy = getService(FreeImportDbStrategy.class); break; Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/DataImportDbStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/DataImportDbStrategy.java 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/DataImportDbStrategy.java 2012-09-24 20:40:29 UTC (rev 706) @@ -1,127 +0,0 @@ -package fr.ifremer.echobase.services.importdb.strategy; - -/* - * #%L - * EchoBase :: Services - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 - 2012 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ - -import com.google.common.collect.Lists; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import fr.ifremer.echobase.entities.EchoBaseUser; -import fr.ifremer.echobase.entities.EntityModificationLog; -import fr.ifremer.echobase.entities.ImportLog; -import fr.ifremer.echobase.entities.ImportType; -import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.persistence.EchoBaseDbMeta; -import fr.ifremer.echobase.services.DecoratorService; -import fr.ifremer.echobase.services.importdata.ImportException; -import org.nuiton.topia.TopiaException; -import org.nuiton.topia.persistence.TopiaDAO; -import org.nuiton.topia.persistence.metadata.AssociationMeta; -import org.nuiton.topia.persistence.metadata.TableMeta; -import org.nuiton.util.decorator.Decorator; - -import java.io.File; -import java.util.List; -import java.util.Map; -import java.util.zip.ZipEntry; - -/** - * Data only import db strategy. - * - * @author tchemit <chemit@codelutin.com> - * @since 1.2 - */ -public class DataImportDbStrategy extends AbstractImportDbStrategy { - - @Override - protected void validateTableEntries(EchoBaseDbMeta dbMeta, - Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables) throws ImportException { - - // check that contains only referential entries - List<EchoBaseEntityEnum> badTableTypes = Lists.newArrayList(); - List<TableMeta<EchoBaseEntityEnum>> dataTables = dbMeta.getReferenceTables(); - for (TableMeta<EchoBaseEntityEnum> tableMetas : tables.keySet()) { - if (dataTables.contains(tableMetas)) { - badTableTypes.add(tableMetas.getSource()); - } - } - - if (!badTableTypes.isEmpty()) { - throw new ImportException( - "In data import, can not accept " + - "referential type, but found some referential files: " + badTableTypes); - } - } - - @Override - protected void validateAssociationEntries(EchoBaseDbMeta dbMeta, - Map<AssociationMeta<EchoBaseEntityEnum>, ZipEntry> associations) throws ImportException { - List<EchoBaseEntityEnum> badAssociationTypes = Lists.newArrayList(); - List<AssociationMeta<EchoBaseEntityEnum>> associationTables = dbMeta.getReferenceAssociations(); - for (AssociationMeta<EchoBaseEntityEnum> tableMetas : associations.keySet()) { - if (associationTables.contains(tableMetas)) { - badAssociationTypes.add(tableMetas.getSource()); - } - } - if (!badAssociationTypes.isEmpty()) { - throw new ImportException( - "In data import, can not accept " + - "referential type, but found some referential associations files: " + - badAssociationTypes); - } - } - - @Override - protected void createImportLogEntry(TopiaDAO<ImportLog> dao, - EchoBaseUser user, - File file, - Iterable<Voyage> importedVoyages) throws TopiaException { - - Decorator<Voyage> decorator = getService(DecoratorService.class).getDecorator(getLocale(), Voyage.class, null); - for (Voyage importedVoyage : importedVoyages) { - - // create a importLog entry - ImportLog importLog = dao.create( - ImportLog.PROPERTY_VOYAGE_ID, importedVoyage.getTopiaId(), - ImportLog.PROPERTY_IMPORT_TYPE, ImportType.VOYAGE, - ImportLog.PROPERTY_IMPORT_USER, user.getEmail(), - ImportLog.PROPERTY_IMPORT_DATE, newDate(), - ImportLog.PROPERTY_IMPORT_TEXT, "import voyage " + decorator.toString(importedVoyage) + " from file " + file.getName() - ); - importLog.addImportId(importedVoyage.getTopiaId()); - } - } - - @Override - protected void createLogBookEntry(TopiaDAO<EntityModificationLog> dao, - EchoBaseUser user, - File file, - Iterable<Voyage> importedVoyages) throws TopiaException { - dao.create( - EntityModificationLog.PROPERTY_ENTITY_TYPE, "Import data only db", - EntityModificationLog.PROPERTY_ENTITY_ID, "Data only EchoBase db", - EntityModificationLog.PROPERTY_MODIFICATION_USER, user.getEmail(), - EntityModificationLog.PROPERTY_MODIFICATION_DATE, newDate(), - EntityModificationLog.PROPERTY_MODIFICATION_TEXT, "import db from file " + file.getName() - ); - } -} Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/FreeImportDbStrategy.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/FreeImportDbStrategy.java 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdb/strategy/FreeImportDbStrategy.java 2012-09-24 20:40:29 UTC (rev 706) @@ -79,7 +79,7 @@ ImportLog.PROPERTY_IMPORT_TYPE, ImportType.VOYAGE, ImportLog.PROPERTY_IMPORT_USER, user.getEmail(), ImportLog.PROPERTY_IMPORT_DATE, date, - ImportLog.PROPERTY_IMPORT_TEXT, "import voyage " + decorator.toString(importedVoyage) + " from file " + file.getName() + ImportLog.PROPERTY_IMPORT_TEXT, "Import voyage " + decorator.toString(importedVoyage) + " from file " + file.getName() ); importLog.addImportId(importedVoyage.getTopiaId()); } @@ -92,8 +92,8 @@ Iterable<Voyage> importedVoyages) throws TopiaException { dao.create( - EntityModificationLog.PROPERTY_ENTITY_TYPE, "Import free db", - EntityModificationLog.PROPERTY_ENTITY_ID, "Free EchoBase db", + EntityModificationLog.PROPERTY_ENTITY_TYPE, "Import db", + EntityModificationLog.PROPERTY_ENTITY_ID, "EchoBase (referential + data) db", EntityModificationLog.PROPERTY_MODIFICATION_USER, user.getEmail(), EntityModificationLog.PROPERTY_MODIFICATION_DATE, newDate(), EntityModificationLog.PROPERTY_MODIFICATION_TEXT, "import db from file " + file.getName() Modified: trunk/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties =================================================================== --- trunk/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties 2012-09-24 20:40:29 UTC (rev 706) @@ -12,12 +12,10 @@ echobase.common.esduBySpeciesAndAgeCategoryFile=Results per ESDU / species / age file echobase.common.esduBySpeciesAndSizeCategoryFile=Results per ESDU / species / size file echobase.common.exportDbMode.all=Export complete database -echobase.common.exportDbMode.data=Export only data echobase.common.exportDbMode.referential=Export only referential echobase.common.exportDbMode.referentialAndData=Export referential and some data echobase.common.gearMetadataFile=Gear metadata file echobase.common.importDbFile=Import file (.echobase) -echobase.common.importDbMode.data=Data import echobase.common.importDbMode.free=Free import echobase.common.importDbMode.referential=Referential import echobase.common.lengthAgeKeyFile=Size-age equations file Modified: trunk/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties =================================================================== --- trunk/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties 2012-09-24 20:40:29 UTC (rev 706) @@ -12,12 +12,10 @@ echobase.common.esduBySpeciesAndAgeCategoryFile=Fichier de résultats par ESDU / espèce / âge echobase.common.esduBySpeciesAndSizeCategoryFile=Fichier de résultats par ESDU / espèce / taille echobase.common.exportDbMode.all=Exporter toute la base -echobase.common.exportDbMode.data=Exporter uniquement des données echobase.common.exportDbMode.referential=Exporter uniquement le référentiel echobase.common.exportDbMode.referentialAndData=Exporter le référentiel et des données echobase.common.gearMetadataFile=Fichier de méta-données d'engin echobase.common.importDbFile=Fichier d'import (.echobase) -echobase.common.importDbMode.data=Import Données echobase.common.importDbMode.free=Import libre echobase.common.importDbMode.referential=Import Référentiel echobase.common.lengthAgeKeyFile=Fichier des relations taille-âge Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/exportdb/ExportDbServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/exportdb/ExportDbServiceTest.java 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/exportdb/ExportDbServiceTest.java 2012-09-24 20:40:29 UTC (rev 706) @@ -226,37 +226,6 @@ } @Test - public void exportData() throws IOException, TopiaException { - - ExportDbService service = getService(ExportDbService.class); - - ExportDbConfiguration conf = new ExportDbConfiguration(); - - conf.setVoyageIds(new String[]{getVoyageId()}); - - File workingDirectory = new File(getTestDir(), "work-dir"); - FileUtil.createDirectoryIfNecessary(workingDirectory); - conf.setWorkingDirectory(workingDirectory); - conf.setFileName("echobase-data"); - conf.setComputeSteps(true); - conf.setExportDbMode(ExportDbMode.DATA); - service.doExport(conf); - File exportFile = conf.getExportFile(); - Assert.assertNotNull(exportFile); - Assert.assertTrue(exportFile.exists()); - - // check all tables (referential + data) where exported - ZipFile zipFile = new ZipFile(exportFile); - - Map<TableMeta<EchoBaseEntityEnum>, ZipEntry> tables = - TopiaCsvImports.discoverEntries( - "echobase/", getDbMeta().getAllTables(), - zipFile, Lists.<String>newArrayList()); - - checkAllTablesExported(zipFile, tables); - } - - @Test public void exportReferentialAndData() throws IOException { ExportDbService service = getService(ExportDbService.class); Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java 2012-09-24 20:40:29 UTC (rev 706) @@ -68,11 +68,6 @@ model.getActionTime()); break; - case DATA: - message = _("echobase.importDb.dataResult", - model.getActionTime()); - - break; case FREE: message = _("echobase.importDb.freeResult", model.getActionTime()); Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties =================================================================== --- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-24 20:40:29 UTC (rev 706) @@ -221,7 +221,6 @@ echobase.error.workingDbConfiguration.url.already.exists=A configuration with same url already exists echobase.error.workingDbConfiguration.url.required=Mandatory jdbc url echobase.header.request.result=SQL query result -echobase.importDb.dataResult=Data db import was sucessful in %s. echobase.importDb.freeResult=Free db import was succesful in %s. echobase.importDb.referentialResult=Referential db import was succesul in %s. echobase.info.click.to.select=You can select value with a simple click then copy it (Ctrl-C) Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties =================================================================== --- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-24 20:40:29 UTC (rev 706) @@ -221,7 +221,6 @@ echobase.error.workingDbConfiguration.url.already.exists=Une configuration existe déjà avec cette url echobase.error.workingDbConfiguration.url.required=Url jdbc obligatoire echobase.header.request.result=Résultat de la requête SQL -echobase.importDb.dataResult=L'import de type données s'est déroulé avec succès en %s. echobase.importDb.freeResult=L'import de type libre s'est déroulé avec succès en %s. echobase.importDb.referentialResult=L'import de type référentiel s'est déroulé avec succès en %s. echobase.info.click.to.select=Vous pouvez sélectionner la valeur en un simple click puis la copier (Ctrl-C) Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/configure.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/configure.jsp 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/exportDb/configure.jsp 2012-09-24 20:40:29 UTC (rev 706) @@ -31,8 +31,11 @@ jQuery(document).ready(function () { function reload(value) { - $('#extraInfos').hide(); - $('[class~="' + value + '"]').show(); + if (this.value = "REFERENTIAL_AND_DATA") { + $('#extraInfos').show(); + } else { + $('#extraInfos').hide(); + } } // to change form when mode is changed @@ -52,17 +55,15 @@ </legend> <div class="cleanBoth help"> - <s:a href="%{getDocumentation('exportDb.html', null)}" - target="doc"> + <s:a href="%{getDocumentation('exportDb.html', null)}" target="doc"> <s:text name="echobase.action.show.exportDb.documentation"/> </s:a> </div> <br/> <s:radio id='mode' key='model.exportDbMode' list="modes" - cssClass="cleanBoth" - label='%{getText("echobase.common.exportDbMode")}' - required="true" template="myradiomap"/> + cssClass="cleanBoth" required="true" template="myradiomap" + label='%{getText("echobase.common.exportDbMode")}'/> <div class="cleanBoth"></div> <br/> @@ -72,7 +73,7 @@ <div class="cleanBoth"></div> <br/> - <div id='extraInfos' class="DATA REFERENTIAL_AND_DATA"> + <div id='extraInfos'> <s:checkboxlist list="voyages" key="model.voyageIds" id='voyages' template="mycheckboxlist" label="%{getText('echobase.label.voyageToSelect')}"/> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/configure.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/configure.jsp 2012-09-24 20:09:52 UTC (rev 705) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importDb/configure.jsp 2012-09-24 20:40:29 UTC (rev 706) @@ -26,11 +26,6 @@ <title><s:text name="echobase.title.importDb"/></title> -<script type="text/javascript"> - -</script> - - <s:form namespace="/importDb" method="POST" enctype="multipart/form-data"> <fieldset> <legend> @@ -43,9 +38,9 @@ </s:a> </div> <br/> - <s:radio id='mode' key='model.importDbMode' list="modes" cssClass="cleanBoth" - label='%{getText("echobase.common.importDbMode")}' - required="true" template="myradiomap"/> + <s:radio id='mode' key='model.importDbMode' list="modes" + cssClass="cleanBoth" required="true" template="myradiomap" + label='%{getText("echobase.common.importDbMode")}'/> <div class="cleanBoth"></div> <br/> <s:file name="input" required="true" key="echobase.common.importDbFile"/>