Author: tchemit Date: 2012-01-05 11:42:31 +0100 (Thu, 05 Jan 2012) New Revision: 238 Url: http://forge.codelutin.com/repositories/revision/echobase/238 Log: last directories renames Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/AbstractEchobaseActionConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ExportDbConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDataConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDbConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationExportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityCsvModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ExportQueryCsvModel.java trunk/echobase-ui/src/main/webapp/WEB-INF/log4j.xml Removed: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationExportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/ExportQueryCsvModel.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AgeCategoryLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellMethodLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellTypeLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataQualityLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataTypeLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearMetadataLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationEventLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationMetadataLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumTypeLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleDataTypeLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleTypeLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SexCategoryLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SizeCategoryLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoader.java trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java trunk/echobase-ui/pom.xml trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Configure.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Download.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Download.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/Import.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Configure.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,104 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services; - -import org.nuiton.util.StringUtil; - -import java.io.IOException; -import java.io.Serializable; - -/** - * Abstract long action configuration. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public abstract class AbstractEchobaseActionConfiguration implements Serializable { - - private static final long serialVersionUID = 1L; - - private int nbSteps; - - private float stepIncrement; - - private float progression; - - private long startTime; - private long endTime; - - public final int getNbSteps() { - return nbSteps; - } - - public final float getProgression() { - return progression; - } - - public final void setProgression(float progression) { - this.progression = progression; - } - - public final void incrementsProgression() { - setProgression(progression + stepIncrement); - } - - public final void setNbSteps(int nbSteps) { - - this.nbSteps = nbSteps; - stepIncrement = 100f / nbSteps; - } - - public final long getStartTime() { - return startTime; - } - - public final void setStartTime(long startTime) { - this.startTime = startTime; - } - - public final long getEndTime() { - return endTime; - } - - public final void setEndTime(long endTime) { - this.endTime = endTime; - } - - public String getActionTime() { - long sTime = getStartTime(); - long eTime = getEndTime(); - return StringUtil.convertTime(eTime - sTime); - } - - public void beginAction() { - setStartTime(System.nanoTime()); - } - - public void endAction() { - setEndTime(System.nanoTime()); - } - - public void destroy() throws IOException { - } -} Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-01-05 10:42:31 UTC (rev 238) @@ -32,8 +32,8 @@ import fr.ifremer.echobase.entities.meta.ColumnMeta; import fr.ifremer.echobase.entities.meta.DbMeta; import fr.ifremer.echobase.entities.meta.TableMeta; -import fr.ifremer.echobase.services.models.CsvModelUtil; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.CsvModelUtil; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationConfiguration.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,102 +0,0 @@ -/* - * #%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% - */ -package fr.ifremer.echobase.services; - -import org.apache.commons.io.FileUtils; - -import java.io.File; -import java.io.IOException; - -/** - * Configuration of a embedded application creation. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class EmbeddedApplicationConfiguration extends AbstractEchobaseActionConfiguration { - - private static final long serialVersionUID = 1L; - - /** File name of the embedded application archive (without the zip extension). */ - private String fileName; - - /** Working directory where to generate the archive of embedded application. */ - private File workingDirectory; - - /** Embedded application archive file. */ - private File embeddedApplicationFile; - - /** Location of the war file to push in embedded application. */ - private File warLocation; - - /** Ids of voyages to push in embedded application (with all their datas). */ - private String[] voyageIds; - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public File getWorkingDirectory() { - return workingDirectory; - } - - public void setWorkingDirectory(File workingDirectory) { - this.workingDirectory = workingDirectory; - } - - public File getEmbeddedApplicationFile() { - return embeddedApplicationFile; - } - - public void setEmbeddedApplicationFile(File embeddedApplicationFile) { - this.embeddedApplicationFile = embeddedApplicationFile; - } - - public String[] getVoyageIds() { - return voyageIds; - } - - public void setVoyageIds(String[] voyageIds) { - this.voyageIds = voyageIds; - } - - public File getWarLocation() { - return warLocation; - } - - public void setWarLocation(File warLocation) { - this.warLocation = warLocation; - } - - @Override - public void destroy() throws IOException { - if (workingDirectory != null) { - FileUtils.deleteDirectory(workingDirectory); - } - } -} \ No newline at end of file Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-01-05 10:42:31 UTC (rev 238) @@ -33,6 +33,7 @@ import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.EntitiesUtil; import fr.ifremer.echobase.entities.ExportQuery; +import fr.ifremer.echobase.services.configurations.EmbeddedApplicationConfiguration; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbConfiguration.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,78 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services; - -import org.apache.commons.io.FileUtils; - -import java.io.File; -import java.io.IOException; - -/** - * Configuration of a complete db export. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class ExportDbConfiguration extends AbstractEchobaseActionConfiguration { - - private static final long serialVersionUID = 1L; - - private String fileName; - - private File workingDirectory; - - private File exportFile; - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public File getWorkingDirectory() { - return workingDirectory; - } - - public void setWorkingDirectory(File workingDirectory) { - this.workingDirectory = workingDirectory; - } - - public File getExportFile() { - return exportFile; - } - - public void setExportFile(File exportFile) { - this.exportFile = exportFile; - } - - @Override - public void destroy() throws IOException { - if (workingDirectory != null) { - FileUtils.deleteDirectory(workingDirectory); - } - } - -} \ No newline at end of file Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbService.java 2012-01-05 10:42:31 UTC (rev 238) @@ -28,6 +28,7 @@ import fr.ifremer.echobase.entities.meta.AssociationMeta; import fr.ifremer.echobase.entities.meta.MetaFilenameAware; import fr.ifremer.echobase.entities.meta.TableMeta; +import fr.ifremer.echobase.services.configurations.ExportDbConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.util.FileUtil; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportQueryService.java 2012-01-05 10:42:31 UTC (rev 238) @@ -27,7 +27,7 @@ import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.ExportQuery; import fr.ifremer.echobase.entities.ExportQueryImpl; -import fr.ifremer.echobase.services.models.ExportQueryCsvModel; +import fr.ifremer.echobase.services.csv.ExportQueryCsvModel; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportService.java 2012-01-05 10:42:31 UTC (rev 238) @@ -27,8 +27,8 @@ import fr.ifremer.echobase.entities.meta.AssociationMeta; import fr.ifremer.echobase.entities.meta.ColumnMeta; import fr.ifremer.echobase.entities.meta.TableMeta; -import fr.ifremer.echobase.services.models.EntityAssociationExportModel; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityAssociationExportModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaEntity; Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataConfiguration.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,140 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services; - -import fr.ifremer.echobase.InputFile; -import fr.ifremer.echobase.entities.references.Mission; -import org.apache.commons.io.FileUtils; - -import java.io.File; -import java.io.IOException; -import java.util.Locale; - -import static org.nuiton.i18n.I18n.l_; - -/** - * Configuration of an import data action. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class ImportDataConfiguration extends AbstractEchobaseActionConfiguration { - - private static final long serialVersionUID = 1L; - - /** Mission used for the import (may not be in db if needed to be created). */ - protected Mission mission; - - protected ImportDataMode importDataMode; - - protected File workingDirectory; - - protected InputFile acousticFile; - - protected InputFile captureFile; - - protected InputFile lectureAgeGenFile; - - protected InputFile eventsFile; - - protected InputFile typeEchoSpeciesFile; - - public ImportDataConfiguration(Locale locale) { - acousticFile = InputFile.newFile( - l_(locale, "echobase.common.acousticImport")); - captureFile = InputFile.newFile( - l_(locale, "echobase.common.captureImport")); - lectureAgeGenFile = InputFile.newFile( - l_(locale, "echobase.common.lectureAgeGenImport")); - eventsFile = InputFile.newFile( - l_(locale, "echobase.common.eventsImport")); - typeEchoSpeciesFile = InputFile.newFile( - l_(locale, "echobase.common.typeEchoSpeciesImport")); - } - - public ImportDataMode getImportDataMode() { - return importDataMode; - } - - public File getWorkingDirectory() { - return workingDirectory; - } - - public Mission getMission() { - return mission; - } - - public InputFile getAcousticFile() { - return acousticFile; - } - - public InputFile getCaptureFile() { - return captureFile; - } - - public InputFile getLectureAgeGenFile() { - return lectureAgeGenFile; - } - - public InputFile getEventsFile() { - return eventsFile; - } - - public InputFile getTypeEchoSpeciesFile() { - return typeEchoSpeciesFile; - } - - public void setImportDataMode(ImportDataMode importDataMode) { - this.importDataMode = importDataMode; - } - - public void setWorkingDirectory(File workingDirectory) { - this.workingDirectory = workingDirectory; - } - - public void setMission(Mission mission) { - this.mission = mission; - } - - public void computeSteps() { - int nbSteps = 0; - switch (importDataMode) { - case ALL: - nbSteps = 5; - break; - case ACOUSTIC: - nbSteps = 1; - break; - default: - } - setNbSteps(nbSteps); - } - - @Override - public void destroy() throws IOException { - if (workingDirectory != null) { - FileUtils.deleteDirectory(workingDirectory); - } - } -} Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataService.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataService.java 2012-01-05 10:42:31 UTC (rev 238) @@ -27,6 +27,7 @@ import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.InputFile; import fr.ifremer.echobase.entities.references.Mission; +import fr.ifremer.echobase.services.configurations.ImportDataConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbConfiguration.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,73 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services; - -import fr.ifremer.echobase.InputFile; -import org.apache.commons.io.FileUtils; - -import java.io.File; -import java.io.IOException; -import java.util.Locale; - -import static org.nuiton.i18n.I18n.l_; - -/** - * Configuration of a import db operation. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class ImportDbConfiguration extends AbstractEchobaseActionConfiguration { - - private static final long serialVersionUID = 1L; - - protected File workingDirectory; - - protected InputFile input; - - public ImportDbConfiguration(Locale locale) { - input = InputFile.newFile( - l_(locale, "echobase.common.importDbFile")); - } - - public File getWorkingDirectory() { - return workingDirectory; - } - - public InputFile getInput() { - return input; - } - - public void setWorkingDirectory(File workingDirectory) { - this.workingDirectory = workingDirectory; - } - - @Override - public void destroy() throws IOException { - if (workingDirectory != null) { - FileUtils.deleteDirectory(workingDirectory); - } - } - -} Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-01-05 10:42:31 UTC (rev 238) @@ -32,6 +32,7 @@ import fr.ifremer.echobase.entities.meta.AssociationMeta; import fr.ifremer.echobase.entities.meta.MetaFilenameAware; import fr.ifremer.echobase.entities.meta.TableMeta; +import fr.ifremer.echobase.services.configurations.ImportDbConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportService.java 2012-01-05 10:42:31 UTC (rev 238) @@ -29,8 +29,8 @@ import fr.ifremer.echobase.entities.meta.AssociationMeta; import fr.ifremer.echobase.entities.meta.ColumnMeta; import fr.ifremer.echobase.entities.meta.TableMeta; -import fr.ifremer.echobase.services.models.EntityAssociationImportModel; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityAssociationImportModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaEntity; Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/AbstractEchobaseActionConfiguration.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/AbstractEchobaseActionConfiguration.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/AbstractEchobaseActionConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,104 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.configurations; + +import org.nuiton.util.StringUtil; + +import java.io.IOException; +import java.io.Serializable; + +/** + * Abstract long action configuration. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public abstract class AbstractEchobaseActionConfiguration implements Serializable { + + private static final long serialVersionUID = 1L; + + private int nbSteps; + + private float stepIncrement; + + private float progression; + + private long startTime; + private long endTime; + + public final int getNbSteps() { + return nbSteps; + } + + public final float getProgression() { + return progression; + } + + public final void setProgression(float progression) { + this.progression = progression; + } + + public final void incrementsProgression() { + setProgression(progression + stepIncrement); + } + + public final void setNbSteps(int nbSteps) { + + this.nbSteps = nbSteps; + stepIncrement = 100f / nbSteps; + } + + public final long getStartTime() { + return startTime; + } + + public final void setStartTime(long startTime) { + this.startTime = startTime; + } + + public final long getEndTime() { + return endTime; + } + + public final void setEndTime(long endTime) { + this.endTime = endTime; + } + + public String getActionTime() { + long sTime = getStartTime(); + long eTime = getEndTime(); + return StringUtil.convertTime(eTime - sTime); + } + + public void beginAction() { + setStartTime(System.nanoTime()); + } + + public void endAction() { + setEndTime(System.nanoTime()); + } + + public void destroy() throws IOException { + } +} Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/AbstractEchobaseActionConfiguration.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationConfiguration.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,102 @@ +/* + * #%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% + */ +package fr.ifremer.echobase.services.configurations; + +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.io.IOException; + +/** + * Configuration of a embedded application creation. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class EmbeddedApplicationConfiguration extends AbstractEchobaseActionConfiguration { + + private static final long serialVersionUID = 1L; + + /** File name of the embedded application archive (without the zip extension). */ + private String fileName; + + /** Working directory where to generate the archive of embedded application. */ + private File workingDirectory; + + /** Embedded application archive file. */ + private File embeddedApplicationFile; + + /** Location of the war file to push in embedded application. */ + private File warLocation; + + /** Ids of voyages to push in embedded application (with all their datas). */ + private String[] voyageIds; + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public File getWorkingDirectory() { + return workingDirectory; + } + + public void setWorkingDirectory(File workingDirectory) { + this.workingDirectory = workingDirectory; + } + + public File getEmbeddedApplicationFile() { + return embeddedApplicationFile; + } + + public void setEmbeddedApplicationFile(File embeddedApplicationFile) { + this.embeddedApplicationFile = embeddedApplicationFile; + } + + public String[] getVoyageIds() { + return voyageIds; + } + + public void setVoyageIds(String[] voyageIds) { + this.voyageIds = voyageIds; + } + + public File getWarLocation() { + return warLocation; + } + + public void setWarLocation(File warLocation) { + this.warLocation = warLocation; + } + + @Override + public void destroy() throws IOException { + if (workingDirectory != null) { + FileUtils.deleteDirectory(workingDirectory); + } + } +} \ No newline at end of file Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/EmbeddedApplicationConfiguration.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ExportDbConfiguration.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ExportDbConfiguration.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ExportDbConfiguration.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ExportDbConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,78 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.configurations; + +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.io.IOException; + +/** + * Configuration of a complete db export. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class ExportDbConfiguration extends AbstractEchobaseActionConfiguration { + + private static final long serialVersionUID = 1L; + + private String fileName; + + private File workingDirectory; + + private File exportFile; + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public File getWorkingDirectory() { + return workingDirectory; + } + + public void setWorkingDirectory(File workingDirectory) { + this.workingDirectory = workingDirectory; + } + + public File getExportFile() { + return exportFile; + } + + public void setExportFile(File exportFile) { + this.exportFile = exportFile; + } + + @Override + public void destroy() throws IOException { + if (workingDirectory != null) { + FileUtils.deleteDirectory(workingDirectory); + } + } + +} \ No newline at end of file Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ExportDbConfiguration.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDataConfiguration.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDataConfiguration.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDataConfiguration.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDataConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,141 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.configurations; + +import fr.ifremer.echobase.InputFile; +import fr.ifremer.echobase.entities.references.Mission; +import fr.ifremer.echobase.services.ImportDataMode; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.io.IOException; +import java.util.Locale; + +import static org.nuiton.i18n.I18n.l_; + +/** + * Configuration of an import data action. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class ImportDataConfiguration extends AbstractEchobaseActionConfiguration { + + private static final long serialVersionUID = 1L; + + /** Mission used for the import (may not be in db if needed to be created). */ + protected Mission mission; + + protected ImportDataMode importDataMode; + + protected File workingDirectory; + + protected InputFile acousticFile; + + protected InputFile captureFile; + + protected InputFile lectureAgeGenFile; + + protected InputFile eventsFile; + + protected InputFile typeEchoSpeciesFile; + + public ImportDataConfiguration(Locale locale) { + acousticFile = InputFile.newFile( + l_(locale, "echobase.common.acousticImport")); + captureFile = InputFile.newFile( + l_(locale, "echobase.common.captureImport")); + lectureAgeGenFile = InputFile.newFile( + l_(locale, "echobase.common.lectureAgeGenImport")); + eventsFile = InputFile.newFile( + l_(locale, "echobase.common.eventsImport")); + typeEchoSpeciesFile = InputFile.newFile( + l_(locale, "echobase.common.typeEchoSpeciesImport")); + } + + public ImportDataMode getImportDataMode() { + return importDataMode; + } + + public File getWorkingDirectory() { + return workingDirectory; + } + + public Mission getMission() { + return mission; + } + + public InputFile getAcousticFile() { + return acousticFile; + } + + public InputFile getCaptureFile() { + return captureFile; + } + + public InputFile getLectureAgeGenFile() { + return lectureAgeGenFile; + } + + public InputFile getEventsFile() { + return eventsFile; + } + + public InputFile getTypeEchoSpeciesFile() { + return typeEchoSpeciesFile; + } + + public void setImportDataMode(ImportDataMode importDataMode) { + this.importDataMode = importDataMode; + } + + public void setWorkingDirectory(File workingDirectory) { + this.workingDirectory = workingDirectory; + } + + public void setMission(Mission mission) { + this.mission = mission; + } + + public void computeSteps() { + int nbSteps = 0; + switch (importDataMode) { + case ALL: + nbSteps = 5; + break; + case ACOUSTIC: + nbSteps = 1; + break; + default: + } + setNbSteps(nbSteps); + } + + @Override + public void destroy() throws IOException { + if (workingDirectory != null) { + FileUtils.deleteDirectory(workingDirectory); + } + } +} Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDataConfiguration.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDbConfiguration.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbConfiguration.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDbConfiguration.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDbConfiguration.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,73 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.configurations; + +import fr.ifremer.echobase.InputFile; +import org.apache.commons.io.FileUtils; + +import java.io.File; +import java.io.IOException; +import java.util.Locale; + +import static org.nuiton.i18n.I18n.l_; + +/** + * Configuration of a import db operation. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class ImportDbConfiguration extends AbstractEchobaseActionConfiguration { + + private static final long serialVersionUID = 1L; + + protected File workingDirectory; + + protected InputFile input; + + public ImportDbConfiguration(Locale locale) { + input = InputFile.newFile( + l_(locale, "echobase.common.importDbFile")); + } + + public File getWorkingDirectory() { + return workingDirectory; + } + + public InputFile getInput() { + return input; + } + + public void setWorkingDirectory(File workingDirectory) { + this.workingDirectory = workingDirectory; + } + + @Override + public void destroy() throws IOException { + if (workingDirectory != null) { + FileUtils.deleteDirectory(workingDirectory); + } + } + +} Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/configurations/ImportDbConfiguration.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,263 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.csv; + +import com.google.common.base.Function; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import fr.ifremer.echobase.EchoBaseFunctions; +import fr.ifremer.echobase.EchoBaseTechnicalException; +import fr.ifremer.echobase.services.DecoratorService; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.StringUtil; +import org.nuiton.util.csv.Common; +import org.nuiton.util.csv.ValueFormatter; +import org.nuiton.util.csv.ValueParser; +import org.nuiton.util.csv.ValueParserFormatter; + +import java.text.ParseException; +import java.util.Collection; +import java.util.Date; +import java.util.Locale; +import java.util.Map; + +/** + * Usefull class to build csv import-export models. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class CsvModelUtil extends Common { + + public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type) { + return new ForeignKeyValue<E>(type); + } + + public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type, Collection<E> entitites) { + Map<String, E> universe = Maps.uniqueIndex(entitites, EchoBaseFunctions.TO_TOPIAID); + return newForeignKeyValue(type, universe); + } + + public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type, Map<String, E> universe) { + return new ForeignKeyValue<E>(type, universe); + } + + public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type, Collection<E> entitites, Function<E, String> transform) { + Map<String, E> universe = Maps.uniqueIndex(entitites, transform); + return new ForeignKeyValue<E>(type, universe); + } + + public static <E extends TopiaEntity> ForeignKeyDecoratedValue<E> newForeignKeyDecoratedValue(Class<E> entityType, + DecoratorService decoratorService, Locale locale) { + return new ForeignKeyDecoratedValue<E>(entityType, decoratorService, locale); + } + + public static <E extends TopiaEntity> ValueFormatter<Collection<E>> newAssociationValueFormatter() { + return new AssociationValueParserFormatter<E>(null, null); + } + + public static <E extends TopiaEntity> AssociationValueParserFormatter<E> newAssociationValueParserFormatter(Class<E> entityType, + Map<String, E> universe) { + return new AssociationValueParserFormatter<E>(entityType, universe); + } + + public static final ValueParser<Date> IMPORT_DAY = new DateValue("dd/MM/yy"); + + public static class BooleanParserFormatter extends NullableParserFormatter<Boolean> { + + public BooleanParserFormatter(Boolean defaultValue, boolean nullAllowed) { + super(defaultValue, nullAllowed); + } + + @Override + public String format(Boolean bool) { + String value; + if (bool == null) { + if (nullAllowed) { + value = "?"; + } else { + throw new IllegalArgumentException(); + } + } else if (bool) { + value = "Y"; + } else { + value = "N"; + } + return value; + } + + @Override + protected Boolean parseNoneEmptyValue(String value) { + Boolean result; + if ("?".equals(value)) { + result = null; + } else if ("Y".equals(value)) { + result = true; + } else if ("N".equals(value)) { + result = false; + } else { + result = Boolean.parseBoolean(value); + } + return result; + } + } + + public static final ValueParser<Boolean> INT_TO_BOOLEAN_PARSER = new ValueParser<Boolean>() { + + @Override + public Boolean parse(String value) { + return "1".equals(value); + } + }; + + public static class AssociationValueParserFormatter<E extends TopiaEntity> implements ValueParserFormatter<Collection<E>> { + + protected final Class<E> entityType; + + protected final Map<String, E> universe; + + public AssociationValueParserFormatter( + Class<E> entityType, + Map<String, E> universe) { + this.entityType = entityType; + this.universe = universe; + } + + @Override + public Collection<E> parse(String value) throws ParseException { + Collection<E> result = Lists.newArrayList(); + if (StringUtils.isNotBlank(value)) { + + String[] ids = value.split("\\|"); + for (String id : ids) { + E association = universe.get(id); + association.setTopiaId(id); + result.add(association); + } + } + return result; + } + + @Override + public String format(Collection<E> e) { + if (CollectionUtils.isEmpty(e)) { + return ""; + } + Collection<String> ids = Lists.newArrayList(); + for (E e1 : e) { + ids.add(e1.getTopiaId()); + } + String value = StringUtil.join(ids, "|", true); + return value; + } + } + + public static final AssociationValueParser ASSOCIATION_VALUE_PARSER = new AssociationValueParser(); + + public static class AssociationValueParser implements ValueParser<String[]> { + + @Override + public String[] parse(String value) throws ParseException { + String[] ids = value.split("\\|"); + return ids; + } + } + + public static class ForeignKeyValue<E extends TopiaEntity> implements ValueParserFormatter<E> { + + protected final Class<E> entityType; + + protected final Map<String, E> universe; + + public ForeignKeyValue(Class<E> entityType, + Map<String, E> universe) { + this.entityType = entityType; + this.universe = universe; + } + + public ForeignKeyValue(Class<E> entityType) { + this.entityType = entityType; + universe = Maps.newHashMap(); + } + + @Override + public E parse(String value) throws ParseException { + E result = null; + if (StringUtils.isNotBlank(value)) { + + // get entity from universe + result = universe.get(value); + + if (result == null) { + + // can not find entity this is a big problem for us... + throw new EchoBaseTechnicalException( + "Could not find entity with name " + value); + } + } + return result; + } + + @Override + public String format(E e) { + String value = ""; + if (e != null) { + value = e.getTopiaId(); + } + return value; + } + } + + public static class ForeignKeyDecoratedValue<E extends TopiaEntity> implements ValueFormatter<E> { + + protected final Class<E> entityType; + + protected final DecoratorService decoratorService; + + protected final Locale locale; + + public ForeignKeyDecoratedValue(Class<E> entityType, DecoratorService decoratorService, Locale locale) { + this.entityType = entityType; + this.decoratorService = decoratorService; + this.locale = locale; + + } + + @Override + public String format(E e) { + String value = ""; + if (e != null) { + + value = decoratorService.decorate(locale, e, null); + } + return value; + } + } + + protected CsvModelUtil() { + // avoid instanciation on helper class + } +} Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/CsvModelUtil.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationExportModel.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationExportModel.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationExportModel.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationExportModel.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,87 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.csv; + +import fr.ifremer.echobase.entities.meta.AssociationMeta; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.csv.ExportModel; +import org.nuiton.util.csv.ExportableColumn; +import org.nuiton.util.csv.ModelBuilder; + +import java.util.Collection; + +/** + * A model to export associations of entities into csv files. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class EntityAssociationExportModel<E extends TopiaEntity> implements ExportModel<E> { + + protected final char separator; + + protected final AssociationMeta meta; + + protected ModelBuilder<E> modelBuilder; + + public static <E extends TopiaEntity> ExportModel<E> newExportModel(char separator, + AssociationMeta meta + ) { + EntityAssociationExportModel<E> model = new EntityAssociationExportModel<E>( + separator, + meta); + + // topiaId <-> topiaId + model.modelBuilder.newColumnForExport( + TopiaEntity.TOPIA_ID, + TopiaEntity.TOPIA_ID + ); + + model.modelBuilder.newColumnForExport( + meta.getName(), + meta.getName(), + CsvModelUtil.newAssociationValueFormatter() + ); + return model; + } + + @Override + public char getSeparator() { + return separator; + } + + @Override + public Iterable<ExportableColumn<E, Object>> getColumnsForExport() { + return (Collection) + modelBuilder.getColumnsForExport(); + } + + protected EntityAssociationExportModel(char separator, AssociationMeta meta) { + this.separator = separator; + this.meta = meta; + modelBuilder = new ModelBuilder<E>(); + } + + +} \ No newline at end of file Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationExportModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationImportModel.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationImportModel.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationImportModel.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationImportModel.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,102 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.csv; + +import fr.ifremer.echobase.entities.meta.AssociationMeta; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.csv.ImportModel; +import org.nuiton.util.csv.ImportableColumn; +import org.nuiton.util.csv.ModelBuilder; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * A model to import associations of entities into csv files. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class EntityAssociationImportModel implements ImportModel<Map<String, Object>> { + + protected final char separator; + + protected final AssociationMeta meta; + + protected ModelBuilder<Map<String, Object>> modelBuilder; + + public static ImportModel<Map<String, Object>> newImportModel(char separator, + AssociationMeta meta + ) { + EntityAssociationImportModel model = new EntityAssociationImportModel( + separator, meta); + + // topiaId <-> topiaId + model.modelBuilder.newMandatoryColumn( + TopiaEntity.TOPIA_ID, + CsvModelUtil.<Map<String, Object>, String>newMapProperty(TopiaEntity.TOPIA_ID) + ); + + // add association -> target +// Class<TopiaEntity> target = +// (Class<TopiaEntity>) meta.getTarget().getImplementation(); + + model.modelBuilder.newMandatoryColumn( + meta.getName(), + CsvModelUtil.ASSOCIATION_VALUE_PARSER, + CsvModelUtil.<Map<String, Object>, String[]>newMapProperty("target") + ); + + return model; + } + + @Override + public char getSeparator() { + return separator; + } + + @Override + public Iterable<ImportableColumn<Map<String, Object>, Object>> getColumnsForImport() { + return (Collection) + modelBuilder.getColumnsForImport(); + } + + @Override + public void pushCsvHeaderNames(List<String> headerNames) { + } + + @Override + public Map<String, Object> newEmptyInstance() { + return null; + } + + protected EntityAssociationImportModel(char separator, AssociationMeta meta) { + this.separator = separator; + this.meta = meta; + modelBuilder = new ModelBuilder<Map<String, Object>>(); + } + + +} \ No newline at end of file Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityAssociationImportModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityCsvModel.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityCsvModel.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityCsvModel.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,256 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.csv; + +import com.google.common.base.Function; +import fr.ifremer.echobase.entities.meta.TableMeta; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.csv.ExportableColumn; +import org.nuiton.util.csv.ImportExportModel; +import org.nuiton.util.csv.ImportableColumn; +import org.nuiton.util.csv.ModelBuilder; +import org.nuiton.util.csv.ValueParser; + +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * A model to import / export entities into csv files. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class EntityCsvModel<E extends TopiaEntity> implements ImportExportModel<E> { + + protected final char separator; + + protected final TableMeta tableMeta; + + protected ModelBuilder<E> modelBuilder; + + public static <E extends TopiaEntity> EntityCsvModel<E> newModel( + char separator, + TableMeta tableMeta + ) { + return new EntityCsvModel<E>(separator, tableMeta); + } + + public static <E extends TopiaEntity> EntityCsvModel<E> newModel( + char separator, + TableMeta tableMeta, + String idHeader + ) { + return new EntityCsvModel<E>(separator, tableMeta, idHeader); + } + + @Override + public char getSeparator() { + return separator; + } + + @Override + public Collection<ExportableColumn<E, Object>> getColumnsForExport() { + return (Collection) + modelBuilder.getColumnsForExport(); + } + + @Override + public Collection<ImportableColumn<E, Object>> getColumnsForImport() { + return (Collection) + modelBuilder.getColumnsForImport(); + } + + @Override + public void pushCsvHeaderNames(List<String> headerNames) { + } + + public <T> ImportableColumn<E, T> newIgnoredColumn(String headerName) { + return modelBuilder.newIgnoredColumn(headerName); + } + + @Override + public E newEmptyInstance() { + return (E) tableMeta.newEntity(); + } + + public void addForeignKeyForExport(String propertyName, + Class<TopiaEntity> entityType) { + + modelBuilder.newColumnForExport( + propertyName, + propertyName, + CsvModelUtil.newForeignKeyValue(entityType) + ); + } + + public <E extends TopiaEntity> void addForeignKeyForImport(String headerName, + String propertyName, + Class<E> entityType, + Collection<E> universe, + Function<E, String> transform) { + + modelBuilder.newMandatoryColumn( + headerName, + propertyName, + CsvModelUtil.newForeignKeyValue(entityType, universe, transform) + ); + } + + public <E extends TopiaEntity> void addForeignKeyForImport(String propertyName, + Class<E> entityType, + Collection<E> universe) { + + modelBuilder.newMandatoryColumn( + propertyName, + propertyName, + CsvModelUtil.newForeignKeyValue(entityType, universe) + ); + } + + public void addNewColumnForExport(String headerName, + String propertyName, + CsvModelUtil.ForeignKeyDecoratedValue<TopiaEntity> topiaEntityForeignKeyDecoratedValue) { + modelBuilder.newColumnForExport( + headerName, + propertyName, + topiaEntityForeignKeyDecoratedValue + ); + } + + public void addDefaultColumn(String propertyName, + Class<?> type) { + addDefaultColumn(propertyName, propertyName, type); + } + + public void addDefaultColumn(String headerName, + String propertyName, + Class<?> type) { + + if (Date.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.DAY_TIME_SECOND + ); + } else if (double.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.DOUBLE_PRIMITIVE + ); + } else if (Double.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.DOUBLE + ); + } else if (long.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.PRIMITIVE_LONG + ); + } else if (Long.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.LONG + ); + } else if (float.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.PRIMITIVE_FLOAT + ); + } else if (Float.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.FLOAT + ); + } else if (int.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.PRIMITIVE_INTEGER + ); + } else if (Integer.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.INTEGER + ); + } else if (boolean.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.PRIMITIVE_BOOLEAN + ); + } else if (Boolean.class.equals(type)) { + modelBuilder.newColumnForImportExport( + headerName, + propertyName, + CsvModelUtil.BOOLEAN + ); + } else { + + // string + modelBuilder.newColumnForImportExport( + headerName, + propertyName + ); + } + } + + public ImportableColumn<E, String> newMandatoryColumn(String headerName, + String propertyName) { + return modelBuilder.newMandatoryColumn(headerName, propertyName); + } + + public ImportableColumn<E, String> newMandatoryColumn(String headerName) { + return modelBuilder.newMandatoryColumn(headerName, headerName); + } + + public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, String propertyName, ValueParser<T> valueParser) { + return modelBuilder.newMandatoryColumn(headerName, valueParser, CsvModelUtil.<E, T>newBeanProperty(propertyName)); + } + + protected EntityCsvModel(char separator, + TableMeta tableMeta) { + this.separator = separator; + this.tableMeta = tableMeta; + modelBuilder = new ModelBuilder<E>(); + } + + protected EntityCsvModel(char separator, + TableMeta tableMeta, + String idHeader) { + this(separator, tableMeta); + modelBuilder.newColumnForImportExport( + idHeader, + TopiaEntity.TOPIA_ID + ); + } +} \ No newline at end of file Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EntityCsvModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ExportQueryCsvModel.java (from rev 235, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/ExportQueryCsvModel.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ExportQueryCsvModel.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ExportQueryCsvModel.java 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,86 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 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% + */ +package fr.ifremer.echobase.services.csv; + +import fr.ifremer.echobase.services.ExportQueryService; +import org.nuiton.util.csv.ExportableColumn; +import org.nuiton.util.csv.ImportExportModel; +import org.nuiton.util.csv.ImportableColumn; +import org.nuiton.util.csv.ModelBuilder; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * Csv model to export sql in {@link ExportQueryService}. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.2 + */ +public class ExportQueryCsvModel implements ImportExportModel<Map<String, Object>> { + + + protected final char separator; + + protected final ModelBuilder<?> modelBuilder; + + public ExportQueryCsvModel(char separator, String[] columnHeaders) { + this.separator = separator; + modelBuilder = new ModelBuilder<Object>(); + for (String columnHeader : columnHeaders) { + modelBuilder.newColumnForExport( + columnHeader, + columnHeader, + CsvModelUtil.TO_STRING_FORMATTER + ); + } + } + + @Override + public char getSeparator() { + return separator; + } + + @Override + public Collection<ExportableColumn<Map<String, Object>, Object>> getColumnsForExport() { + return (Collection) modelBuilder.getColumnsForExport(); + } + + @Override + public Collection<ImportableColumn<Map<String, Object>, Object>> getColumnsForImport() { + // never do import from this model + throw new UnsupportedOperationException(); + } + + @Override + public void pushCsvHeaderNames(List<String> headerNames) { + } + + @Override + public Map<String, Object> newEmptyInstance() { + // never do import from this model + throw new UnsupportedOperationException(); + } +} Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ExportQueryCsvModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/CsvModelUtil.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,263 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services.models; - -import com.google.common.base.Function; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import fr.ifremer.echobase.EchoBaseFunctions; -import fr.ifremer.echobase.EchoBaseTechnicalException; -import fr.ifremer.echobase.services.DecoratorService; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.StringUtil; -import org.nuiton.util.csv.Common; -import org.nuiton.util.csv.ValueFormatter; -import org.nuiton.util.csv.ValueParser; -import org.nuiton.util.csv.ValueParserFormatter; - -import java.text.ParseException; -import java.util.Collection; -import java.util.Date; -import java.util.Locale; -import java.util.Map; - -/** - * Usefull class to build csv import-export models. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class CsvModelUtil extends Common { - - public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type) { - return new ForeignKeyValue<E>(type); - } - - public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type, Collection<E> entitites) { - Map<String, E> universe = Maps.uniqueIndex(entitites, EchoBaseFunctions.TO_TOPIAID); - return newForeignKeyValue(type, universe); - } - - public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type, Map<String, E> universe) { - return new ForeignKeyValue<E>(type, universe); - } - - public static <E extends TopiaEntity> ForeignKeyValue<E> newForeignKeyValue(Class<E> type, Collection<E> entitites, Function<E, String> transform) { - Map<String, E> universe = Maps.uniqueIndex(entitites, transform); - return new ForeignKeyValue<E>(type, universe); - } - - public static <E extends TopiaEntity> ForeignKeyDecoratedValue<E> newForeignKeyDecoratedValue(Class<E> entityType, - DecoratorService decoratorService, Locale locale) { - return new ForeignKeyDecoratedValue<E>(entityType, decoratorService, locale); - } - - public static <E extends TopiaEntity> ValueFormatter<Collection<E>> newAssociationValueFormatter() { - return new AssociationValueParserFormatter<E>(null, null); - } - - public static <E extends TopiaEntity> AssociationValueParserFormatter<E> newAssociationValueParserFormatter(Class<E> entityType, - Map<String, E> universe) { - return new AssociationValueParserFormatter<E>(entityType, universe); - } - - public static final ValueParser<Date> IMPORT_DAY = new DateValue("dd/MM/yy"); - - public static class BooleanParserFormatter extends NullableParserFormatter<Boolean> { - - public BooleanParserFormatter(Boolean defaultValue, boolean nullAllowed) { - super(defaultValue, nullAllowed); - } - - @Override - public String format(Boolean bool) { - String value; - if (bool == null) { - if (nullAllowed) { - value = "?"; - } else { - throw new IllegalArgumentException(); - } - } else if (bool) { - value = "Y"; - } else { - value = "N"; - } - return value; - } - - @Override - protected Boolean parseNoneEmptyValue(String value) { - Boolean result; - if ("?".equals(value)) { - result = null; - } else if ("Y".equals(value)) { - result = true; - } else if ("N".equals(value)) { - result = false; - } else { - result = Boolean.parseBoolean(value); - } - return result; - } - } - - public static final ValueParser<Boolean> INT_TO_BOOLEAN_PARSER = new ValueParser<Boolean>() { - - @Override - public Boolean parse(String value) { - return "1".equals(value); - } - }; - - public static class AssociationValueParserFormatter<E extends TopiaEntity> implements ValueParserFormatter<Collection<E>> { - - protected final Class<E> entityType; - - protected final Map<String, E> universe; - - public AssociationValueParserFormatter( - Class<E> entityType, - Map<String, E> universe) { - this.entityType = entityType; - this.universe = universe; - } - - @Override - public Collection<E> parse(String value) throws ParseException { - Collection<E> result = Lists.newArrayList(); - if (StringUtils.isNotBlank(value)) { - - String[] ids = value.split("\\|"); - for (String id : ids) { - E association = universe.get(id); - association.setTopiaId(id); - result.add(association); - } - } - return result; - } - - @Override - public String format(Collection<E> e) { - if (CollectionUtils.isEmpty(e)) { - return ""; - } - Collection<String> ids = Lists.newArrayList(); - for (E e1 : e) { - ids.add(e1.getTopiaId()); - } - String value = StringUtil.join(ids, "|", true); - return value; - } - } - - public static final AssociationValueParser ASSOCIATION_VALUE_PARSER = new AssociationValueParser(); - - public static class AssociationValueParser implements ValueParser<String[]> { - - @Override - public String[] parse(String value) throws ParseException { - String[] ids = value.split("\\|"); - return ids; - } - } - - public static class ForeignKeyValue<E extends TopiaEntity> implements ValueParserFormatter<E> { - - protected final Class<E> entityType; - - protected final Map<String, E> universe; - - public ForeignKeyValue(Class<E> entityType, - Map<String, E> universe) { - this.entityType = entityType; - this.universe = universe; - } - - public ForeignKeyValue(Class<E> entityType) { - this.entityType = entityType; - universe = Maps.newHashMap(); - } - - @Override - public E parse(String value) throws ParseException { - E result = null; - if (StringUtils.isNotBlank(value)) { - - // get entity from universe - result = universe.get(value); - - if (result == null) { - - // can not find entity this is a big problem for us... - throw new EchoBaseTechnicalException( - "Could not find entity with name " + value); - } - } - return result; - } - - @Override - public String format(E e) { - String value = ""; - if (e != null) { - value = e.getTopiaId(); - } - return value; - } - } - - public static class ForeignKeyDecoratedValue<E extends TopiaEntity> implements ValueFormatter<E> { - - protected final Class<E> entityType; - - protected final DecoratorService decoratorService; - - protected final Locale locale; - - public ForeignKeyDecoratedValue(Class<E> entityType, DecoratorService decoratorService, Locale locale) { - this.entityType = entityType; - this.decoratorService = decoratorService; - this.locale = locale; - - } - - @Override - public String format(E e) { - String value = ""; - if (e != null) { - - value = decoratorService.decorate(locale, e, null); - } - return value; - } - } - - protected CsvModelUtil() { - // avoid instanciation on helper class - } -} Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationExportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationExportModel.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationExportModel.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,87 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services.models; - -import fr.ifremer.echobase.entities.meta.AssociationMeta; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.csv.ExportModel; -import org.nuiton.util.csv.ExportableColumn; -import org.nuiton.util.csv.ModelBuilder; - -import java.util.Collection; - -/** - * A model to export associations of entities into csv files. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class EntityAssociationExportModel<E extends TopiaEntity> implements ExportModel<E> { - - protected final char separator; - - protected final AssociationMeta meta; - - protected ModelBuilder<E> modelBuilder; - - public static <E extends TopiaEntity> ExportModel<E> newExportModel(char separator, - AssociationMeta meta - ) { - EntityAssociationExportModel<E> model = new EntityAssociationExportModel<E>( - separator, - meta); - - // topiaId <-> topiaId - model.modelBuilder.newColumnForExport( - TopiaEntity.TOPIA_ID, - TopiaEntity.TOPIA_ID - ); - - model.modelBuilder.newColumnForExport( - meta.getName(), - meta.getName(), - CsvModelUtil.newAssociationValueFormatter() - ); - return model; - } - - @Override - public char getSeparator() { - return separator; - } - - @Override - public Iterable<ExportableColumn<E, Object>> getColumnsForExport() { - return (Collection) - modelBuilder.getColumnsForExport(); - } - - protected EntityAssociationExportModel(char separator, AssociationMeta meta) { - this.separator = separator; - this.meta = meta; - modelBuilder = new ModelBuilder<E>(); - } - - -} \ No newline at end of file Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationImportModel.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityAssociationImportModel.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,102 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services.models; - -import fr.ifremer.echobase.entities.meta.AssociationMeta; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.csv.ImportModel; -import org.nuiton.util.csv.ImportableColumn; -import org.nuiton.util.csv.ModelBuilder; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -/** - * A model to import associations of entities into csv files. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class EntityAssociationImportModel implements ImportModel<Map<String, Object>> { - - protected final char separator; - - protected final AssociationMeta meta; - - protected ModelBuilder<Map<String, Object>> modelBuilder; - - public static ImportModel<Map<String, Object>> newImportModel(char separator, - AssociationMeta meta - ) { - EntityAssociationImportModel model = new EntityAssociationImportModel( - separator, meta); - - // topiaId <-> topiaId - model.modelBuilder.newMandatoryColumn( - TopiaEntity.TOPIA_ID, - CsvModelUtil.<Map<String, Object>, String>newMapProperty(TopiaEntity.TOPIA_ID) - ); - - // add association -> target -// Class<TopiaEntity> target = -// (Class<TopiaEntity>) meta.getTarget().getImplementation(); - - model.modelBuilder.newMandatoryColumn( - meta.getName(), - CsvModelUtil.ASSOCIATION_VALUE_PARSER, - CsvModelUtil.<Map<String, Object>, String[]>newMapProperty("target") - ); - - return model; - } - - @Override - public char getSeparator() { - return separator; - } - - @Override - public Iterable<ImportableColumn<Map<String, Object>, Object>> getColumnsForImport() { - return (Collection) - modelBuilder.getColumnsForImport(); - } - - @Override - public void pushCsvHeaderNames(List<String> headerNames) { - } - - @Override - public Map<String, Object> newEmptyInstance() { - return null; - } - - protected EntityAssociationImportModel(char separator, AssociationMeta meta) { - this.separator = separator; - this.meta = meta; - modelBuilder = new ModelBuilder<Map<String, Object>>(); - } - - -} \ No newline at end of file Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/EntityCsvModel.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,256 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services.models; - -import com.google.common.base.Function; -import fr.ifremer.echobase.entities.meta.TableMeta; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.csv.ExportableColumn; -import org.nuiton.util.csv.ImportExportModel; -import org.nuiton.util.csv.ImportableColumn; -import org.nuiton.util.csv.ModelBuilder; -import org.nuiton.util.csv.ValueParser; - -import java.util.Collection; -import java.util.Date; -import java.util.List; - -/** - * A model to import / export entities into csv files. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class EntityCsvModel<E extends TopiaEntity> implements ImportExportModel<E> { - - protected final char separator; - - protected final TableMeta tableMeta; - - protected ModelBuilder<E> modelBuilder; - - public static <E extends TopiaEntity> EntityCsvModel<E> newModel( - char separator, - TableMeta tableMeta - ) { - return new EntityCsvModel<E>(separator, tableMeta); - } - - public static <E extends TopiaEntity> EntityCsvModel<E> newModel( - char separator, - TableMeta tableMeta, - String idHeader - ) { - return new EntityCsvModel<E>(separator, tableMeta, idHeader); - } - - @Override - public char getSeparator() { - return separator; - } - - @Override - public Collection<ExportableColumn<E, Object>> getColumnsForExport() { - return (Collection) - modelBuilder.getColumnsForExport(); - } - - @Override - public Collection<ImportableColumn<E, Object>> getColumnsForImport() { - return (Collection) - modelBuilder.getColumnsForImport(); - } - - @Override - public void pushCsvHeaderNames(List<String> headerNames) { - } - - public <T> ImportableColumn<E, T> newIgnoredColumn(String headerName) { - return modelBuilder.newIgnoredColumn(headerName); - } - - @Override - public E newEmptyInstance() { - return (E) tableMeta.newEntity(); - } - - public void addForeignKeyForExport(String propertyName, - Class<TopiaEntity> entityType) { - - modelBuilder.newColumnForExport( - propertyName, - propertyName, - CsvModelUtil.newForeignKeyValue(entityType) - ); - } - - public <E extends TopiaEntity> void addForeignKeyForImport(String headerName, - String propertyName, - Class<E> entityType, - Collection<E> universe, - Function<E, String> transform) { - - modelBuilder.newMandatoryColumn( - headerName, - propertyName, - CsvModelUtil.newForeignKeyValue(entityType, universe, transform) - ); - } - - public <E extends TopiaEntity> void addForeignKeyForImport(String propertyName, - Class<E> entityType, - Collection<E> universe) { - - modelBuilder.newMandatoryColumn( - propertyName, - propertyName, - CsvModelUtil.newForeignKeyValue(entityType, universe) - ); - } - - public void addNewColumnForExport(String headerName, - String propertyName, - CsvModelUtil.ForeignKeyDecoratedValue<TopiaEntity> topiaEntityForeignKeyDecoratedValue) { - modelBuilder.newColumnForExport( - headerName, - propertyName, - topiaEntityForeignKeyDecoratedValue - ); - } - - public void addDefaultColumn(String propertyName, - Class<?> type) { - addDefaultColumn(propertyName, propertyName, type); - } - - public void addDefaultColumn(String headerName, - String propertyName, - Class<?> type) { - - if (Date.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.DAY_TIME_SECOND - ); - } else if (double.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.DOUBLE_PRIMITIVE - ); - } else if (Double.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.DOUBLE - ); - } else if (long.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.PRIMITIVE_LONG - ); - } else if (Long.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.LONG - ); - } else if (float.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.PRIMITIVE_FLOAT - ); - } else if (Float.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.FLOAT - ); - } else if (int.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.PRIMITIVE_INTEGER - ); - } else if (Integer.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.INTEGER - ); - } else if (boolean.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.PRIMITIVE_BOOLEAN - ); - } else if (Boolean.class.equals(type)) { - modelBuilder.newColumnForImportExport( - headerName, - propertyName, - CsvModelUtil.BOOLEAN - ); - } else { - - // string - modelBuilder.newColumnForImportExport( - headerName, - propertyName - ); - } - } - - public ImportableColumn<E, String> newMandatoryColumn(String headerName, - String propertyName) { - return modelBuilder.newMandatoryColumn(headerName, propertyName); - } - - public ImportableColumn<E, String> newMandatoryColumn(String headerName) { - return modelBuilder.newMandatoryColumn(headerName, headerName); - } - - public <T> ImportableColumn<E, T> newMandatoryColumn(String headerName, String propertyName, ValueParser<T> valueParser) { - return modelBuilder.newMandatoryColumn(headerName, valueParser, CsvModelUtil.<E, T>newBeanProperty(propertyName)); - } - - protected EntityCsvModel(char separator, - TableMeta tableMeta) { - this.separator = separator; - this.tableMeta = tableMeta; - modelBuilder = new ModelBuilder<E>(); - } - - protected EntityCsvModel(char separator, - TableMeta tableMeta, - String idHeader) { - this(separator, tableMeta); - modelBuilder.newColumnForImportExport( - idHeader, - TopiaEntity.TOPIA_ID - ); - } -} \ No newline at end of file Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/ExportQueryCsvModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/ExportQueryCsvModel.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/models/ExportQueryCsvModel.java 2012-01-05 10:42:31 UTC (rev 238) @@ -1,86 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 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% - */ -package fr.ifremer.echobase.services.models; - -import fr.ifremer.echobase.services.ExportQueryService; -import org.nuiton.util.csv.ExportableColumn; -import org.nuiton.util.csv.ImportExportModel; -import org.nuiton.util.csv.ImportableColumn; -import org.nuiton.util.csv.ModelBuilder; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -/** - * Csv model to export sql in {@link ExportQueryService}. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.2 - */ -public class ExportQueryCsvModel implements ImportExportModel<Map<String, Object>> { - - - protected final char separator; - - protected final ModelBuilder<?> modelBuilder; - - public ExportQueryCsvModel(char separator, String[] columnHeaders) { - this.separator = separator; - modelBuilder = new ModelBuilder<Object>(); - for (String columnHeader : columnHeaders) { - modelBuilder.newColumnForExport( - columnHeader, - columnHeader, - CsvModelUtil.TO_STRING_FORMATTER - ); - } - } - - @Override - public char getSeparator() { - return separator; - } - - @Override - public Collection<ExportableColumn<Map<String, Object>, Object>> getColumnsForExport() { - return (Collection) modelBuilder.getColumnsForExport(); - } - - @Override - public Collection<ImportableColumn<Map<String, Object>, Object>> getColumnsForImport() { - // never do import from this model - throw new UnsupportedOperationException(); - } - - @Override - public void pushCsvHeaderNames(List<String> headerNames) { - } - - @Override - public Map<String, Object> newEmptyInstance() { - // never do import from this model - throw new UnsupportedOperationException(); - } -} Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/EchoBaseDbCreator.java 2012-01-05 10:42:31 UTC (rev 238) @@ -31,7 +31,7 @@ import com.healthmarketscience.jackcess.Table; import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBaseIOUtil; -import fr.ifremer.echobase.services.models.CsvModelUtil; +import fr.ifremer.echobase.services.csv.CsvModelUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AgeCategoryLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AgeCategoryLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/AgeCategoryLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.AgeCategory; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellMethodLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellMethodLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellMethodLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.CellMethod; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellTypeLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellTypeLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/CellTypeLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.CellType; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataMetadataLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -33,7 +33,7 @@ import fr.ifremer.echobase.entities.references.DataMetadata; import fr.ifremer.echobase.entities.references.DataType; import fr.ifremer.echobase.entities.references.ReferenceDatum; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataQualityLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataQualityLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataQualityLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.DataQuality; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataTypeLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataTypeLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/DataTypeLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.DataType; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EchotypeLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -29,7 +29,7 @@ import fr.ifremer.echobase.entities.references.Echotype; import fr.ifremer.echobase.entities.references.EchotypeCategory; import fr.ifremer.echobase.entities.references.Species; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; import java.util.List; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/EntityLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -42,7 +42,7 @@ import fr.ifremer.echobase.services.EchoBaseServiceSupport; import fr.ifremer.echobase.services.ExportService; import fr.ifremer.echobase.services.ImportService; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,8 +25,8 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.Gear; -import fr.ifremer.echobase.services.models.CsvModelUtil; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.CsvModelUtil; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; import java.util.Date; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearMetadataLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearMetadataLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/GearMetadataLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -28,7 +28,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.GearMetadata; import fr.ifremer.echobase.entities.references.OperationEvent; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; import java.util.List; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationEventLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationEventLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationEventLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.OperationEvent; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationMetadataLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationMetadataLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/OperationMetadataLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -29,7 +29,7 @@ import fr.ifremer.echobase.entities.references.GearMetadata; import fr.ifremer.echobase.entities.references.OperationEvent; import fr.ifremer.echobase.entities.references.OperationMetadata; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; import java.util.List; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -30,7 +30,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.ReferenceDatum; import fr.ifremer.echobase.entities.references.ReferenceDatumType; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumTypeLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumTypeLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/ReferenceDatumTypeLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.ReferenceDatumType; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleDataTypeLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleDataTypeLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleDataTypeLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.SampleDataType; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleTypeLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleTypeLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SampleTypeLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -26,7 +26,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.entities.references.SampleType; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SexCategoryLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SexCategoryLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SexCategoryLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.SexCategory; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SizeCategoryLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SizeCategoryLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SizeCategoryLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -26,7 +26,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.SexCategory; import fr.ifremer.echobase.entities.references.SizeCategory; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/SpeciesLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.Species; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/StrataLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.Strata; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VesselTypeLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import fr.ifremer.echobase.entities.meta.TableMeta; import fr.ifremer.echobase.entities.references.VesselType; -import fr.ifremer.echobase.services.models.EntityCsvModel; +import fr.ifremer.echobase.services.csv.EntityCsvModel; import fr.ifremer.echobase.tools.FileType; /** Modified: trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java =================================================================== --- trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-tools/src/main/java/fr/ifremer/echobase/tools/loaders/VoyageLoader.java 2012-01-05 10:42:31 UTC (rev 238) @@ -37,7 +37,7 @@ import fr.ifremer.echobase.entities.references.Echotype; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.entities.references.Species; -import fr.ifremer.echobase.services.models.CsvModelUtil; +import fr.ifremer.echobase.services.csv.CsvModelUtil; import fr.ifremer.echobase.tools.FileType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/echobase-ui/pom.xml =================================================================== --- trunk/echobase-ui/pom.xml 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/pom.xml 2012-01-05 10:42:31 UTC (rev 238) @@ -289,6 +289,7 @@ <webAppConfig> <contextPath>/echobase</contextPath> </webAppConfig> + <jvmArgs>-Xms512m -Xmx1512m</jvmArgs> </configuration> </plugin> @@ -381,5 +382,38 @@ </profile> + <profile> + <id>add-log-to-jetty</id> + <activation> + <file> + <exists>/var/local/echobase</exists> + </file> + </activation> + + <build> + + <pluginManagement> + <plugins> + <plugin> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-maven-plugin</artifactId> + <configuration> + <stopKey>A</stopKey> + <stopPort>1269</stopPort> + <systemProperties> + <systemProperty> + <name>echobase.log.dir</name> + <value>/var/local/echobase/log</value> + </systemProperty> + </systemProperties> + </configuration> + </plugin> + </plugins> + </pluginManagement> + + </build> + + </profile> + </profiles> </project> Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseSession.java 2012-01-05 10:42:31 UTC (rev 238) @@ -24,10 +24,10 @@ package fr.ifremer.echobase.ui; import fr.ifremer.echobase.entities.EchoBaseUser; -import fr.ifremer.echobase.services.EmbeddedApplicationConfiguration; -import fr.ifremer.echobase.services.ExportDbConfiguration; -import fr.ifremer.echobase.services.ImportDataConfiguration; -import fr.ifremer.echobase.services.ImportDbConfiguration; +import fr.ifremer.echobase.services.configurations.EmbeddedApplicationConfiguration; +import fr.ifremer.echobase.services.configurations.ExportDbConfiguration; +import fr.ifremer.echobase.services.configurations.ImportDataConfiguration; +import fr.ifremer.echobase.services.configurations.ImportDbConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/AbstractWaitAndExecAction.java 2012-01-05 10:42:31 UTC (rev 238) @@ -25,7 +25,7 @@ import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.Preparable; -import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration; +import fr.ifremer.echobase.services.configurations.AbstractEchobaseActionConfiguration; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.framework.TopiaContextImplementor; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Build.java 2012-01-05 10:42:31 UTC (rev 238) @@ -23,7 +23,7 @@ */ package fr.ifremer.echobase.ui.actions.embeddedApplication; -import fr.ifremer.echobase.services.EmbeddedApplicationConfiguration; +import fr.ifremer.echobase.services.configurations.EmbeddedApplicationConfiguration; import fr.ifremer.echobase.services.EmbeddedApplicationService; import fr.ifremer.echobase.ui.actions.AbstractWaitAndExecAction; import org.apache.commons.logging.Log; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Configure.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Configure.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Configure.java 2012-01-05 10:42:31 UTC (rev 238) @@ -26,7 +26,7 @@ import fr.ifremer.echobase.EchoBaseConfiguration; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.services.EchoBaseServiceSupport; -import fr.ifremer.echobase.services.EmbeddedApplicationConfiguration; +import fr.ifremer.echobase.services.configurations.EmbeddedApplicationConfiguration; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.FileUtils; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Download.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Download.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/embeddedApplication/Download.java 2012-01-05 10:42:31 UTC (rev 238) @@ -23,7 +23,7 @@ */ package fr.ifremer.echobase.ui.actions.embeddedApplication; -import fr.ifremer.echobase.services.EmbeddedApplicationConfiguration; +import fr.ifremer.echobase.services.configurations.EmbeddedApplicationConfiguration; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import java.io.BufferedInputStream; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Configure.java 2012-01-05 10:42:31 UTC (rev 238) @@ -23,7 +23,7 @@ */ package fr.ifremer.echobase.ui.actions.exportDb; -import fr.ifremer.echobase.services.ExportDbConfiguration; +import fr.ifremer.echobase.services.configurations.ExportDbConfiguration; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Download.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Download.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Download.java 2012-01-05 10:42:31 UTC (rev 238) @@ -23,7 +23,7 @@ */ package fr.ifremer.echobase.ui.actions.exportDb; -import fr.ifremer.echobase.services.ExportDbConfiguration; +import fr.ifremer.echobase.services.configurations.ExportDbConfiguration; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import java.io.BufferedInputStream; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/Export.java 2012-01-05 10:42:31 UTC (rev 238) @@ -24,7 +24,7 @@ package fr.ifremer.echobase.ui.actions.exportDb; import fr.ifremer.echobase.services.ExportDbService; -import fr.ifremer.echobase.services.ExportDbConfiguration; +import fr.ifremer.echobase.services.configurations.ExportDbConfiguration; import fr.ifremer.echobase.ui.actions.AbstractWaitAndExecAction; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureFiles.java 2012-01-05 10:42:31 UTC (rev 238) @@ -27,7 +27,7 @@ import com.opensymphony.xwork2.Preparable; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.services.EchoBaseServiceSupport; -import fr.ifremer.echobase.services.ImportDataConfiguration; +import fr.ifremer.echobase.services.configurations.ImportDataConfiguration; import fr.ifremer.echobase.services.ImportDataMode; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import org.apache.commons.io.FileUtils; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/Import.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/Import.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/Import.java 2012-01-05 10:42:31 UTC (rev 238) @@ -26,7 +26,7 @@ import com.opensymphony.xwork2.Preparable; import fr.ifremer.echobase.InputFile; import fr.ifremer.echobase.services.CsvImportResult; -import fr.ifremer.echobase.services.ImportDataConfiguration; +import fr.ifremer.echobase.services.configurations.ImportDataConfiguration; import fr.ifremer.echobase.services.ImportDataService; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import org.apache.commons.logging.Log; Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Configure.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Configure.java 2012-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Configure.java 2012-01-05 10:42:31 UTC (rev 238) @@ -24,7 +24,7 @@ package fr.ifremer.echobase.ui.actions.importDb; import fr.ifremer.echobase.InputFile; -import fr.ifremer.echobase.services.ImportDbConfiguration; +import fr.ifremer.echobase.services.configurations.ImportDbConfiguration; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; 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-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/Import.java 2012-01-05 10:42:31 UTC (rev 238) @@ -24,7 +24,7 @@ package fr.ifremer.echobase.ui.actions.importDb; import fr.ifremer.echobase.services.ImportDbService; -import fr.ifremer.echobase.services.ImportDbConfiguration; +import fr.ifremer.echobase.services.configurations.ImportDbConfiguration; import fr.ifremer.echobase.ui.actions.AbstractWaitAndExecAction; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 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-01-04 22:49:50 UTC (rev 237) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-01-05 10:42:31 UTC (rev 238) @@ -138,10 +138,10 @@ echobase.title.importData.configuration=Configuration d'un import de données echobase.title.importDataProgress=Import de données en cours echobase.title.importDataResult=Résultats de l'import de données +echobase.title.importDb=Import de données historiques echobase.title.importDb.configuration=Configuration d'un import de base de données echobase.title.importDbProgress=Import de données en cours echobase.title.importDbResult=Résultats de l'import de données -echobase.title.importDb=Import de données historiques echobase.title.importTable=Importer une table echobase.title.login=Connexion echobase.title.modification.detail=Détail de la modification Added: trunk/echobase-ui/src/main/webapp/WEB-INF/log4j.xml =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/log4j.xml (rev 0) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/log4j.xml 2012-01-05 10:42:31 UTC (rev 238) @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> +<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> + + <!-- ================================= --> + <!-- Preserve messages in a local file --> + <!-- ================================= --> + + <!-- A time/date based rolling appender --> + <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender"> + <param name="File" value="${echobase.log.dir}/echobase.log"/> + <param name="Append" value="false"/> + <param name="DatePattern" value="'.'yyyy-MM-dd"/> + + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> + </layout> + </appender> + + <!-- ============================== --> + <!-- Append messages to the console --> + <!-- ============================== --> + + <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> + <param name="Target" value="System.out"/> + + <layout class="org.apache.log4j.PatternLayout"> + <!-- The default pattern: Date Priority [Category] Message\n --> + <param name="ConversionPattern" + value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> + </layout> + </appender> + + <logger name="org.apache.shiro.realm.AuthorizingRealm"> + <level value="WARN"/> + </logger> + + <root> + <priority value="INFO"/> + <appender-ref ref="FILE"/> + <appender-ref ref="CONSOLE"/> + </root> + +</log4j:configuration>