This is an automated email from the git hooks/post-receive script. New commit to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 173d055ffba26644a4c36d694e3a375f7f1b7ed4 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 13 17:32:45 2016 +0200 Add form to import accoustics data for mooring --- .../MooringAcousticsImportConfiguration.java | 228 +++++++++++++++++++++ .../importData/AbstractConfigureImport.java | 4 +- .../importData/ConfigureAcousticImport.java | 1 - ...rt.java => ConfigureMooringAcousticImport.java} | 33 ++- .../ConfigureMooringAcousticImport-validation.xml | 126 ++++++++++++ .../CreateMooring-createMooring-validation.xml | 41 ++++ .../resources/i18n/echobase-ui_en_GB.properties | 5 +- .../resources/i18n/echobase-ui_fr_FR.properties | 3 + .../importData/configureMooringAcousticImport.jsp | 120 +++++++++++ 9 files changed, 540 insertions(+), 21 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/MooringAcousticsImportConfiguration.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/MooringAcousticsImportConfiguration.java new file mode 100644 index 0000000..6033166 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/MooringAcousticsImportConfiguration.java @@ -0,0 +1,228 @@ +/* + * #%L + * EchoBase :: Services + * %% + * 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.service.importdata.configurations; + +import fr.ifremer.echobase.entities.ImportType; +import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.importdata.CellPositionReference; + +import java.util.Locale; + +import static org.nuiton.i18n.I18n.l; + +/** + * Configuration of a "accoustic datas" import for mooring. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 0.5 + */ +public class MooringAcousticsImportConfiguration extends ImportDataConfigurationSupport { + + private static final long serialVersionUID = 1L; + /** Movies file to import. */ + protected final InputFile moviesFile; + /** Selected mooring id to find where to import datas. */ + protected String mooringId; + /** Flag to always add new dataAcquisition when a new instrument is found in movies file. */ + protected boolean addDataAcquisition = true; + /** Manual transceiverAcquisitionAbsorptionDescription. */ + protected String transceiverAcquisitionAbsorptionDescription = "(i) Equation: Francois and garrison 1982,(ii) CTD, (iii) nominal value for entire data set"; + /** Manual acquisitionSoftwareVersion (ER60 instrument). */ + protected String acquisitionSoftwareVersionER60; + /** Manual acquisitionSoftwareVersion (ME70 instrument). */ + protected String acquisitionSoftwareVersionME70; + /** Manual loggedDataFormat. */ + protected String loggedDataFormat = ".hac and .raw formats"; + /** Manual loggedDataDatatype. */ + protected String loggedDataDatatype = "‘raw’ digitisation samples"; + /** Manual pingDutyCycle. */ + protected String pingDutyCycle = "Ifremer's standard ping duty cycle"; + /** Manual soundSpeedCalculations (ER60 instrument). */ + protected String soundSpeedCalculationsER60 = "(i) Equation: Mackenzie (1980), (ii) CTD, (iii) nominal value for entire data set"; + /** Manual soundSpeedCalculations (ME70 instrument). */ + protected String soundSpeedCalculationsME70 = "(i) Equation: Mackenzie (1980), (ii) Hull-mounted thermosalinometer, (iii) surface absorption value recomputed every 30s and applied to the entire data set"; + /** Manual sounderConstant. */ + protected String sounderConstant = EchoBaseCsvUtil.NA; + /** Manual processingTemplate. */ + protected String processingTemplate; + /** Manual processingDescription. */ + protected String processingDescription; + /** Manual digitThreshold. */ + protected float digitThreshold = -100f; + /** Manual acousticDensityUnit. */ + protected String acousticDensityUnit = "sA"; + /** Manual notes. */ + protected String notes; + /** Cell position reference for esdu cell datas. */ + protected CellPositionReference cellPositionReference; + + + public MooringAcousticsImportConfiguration(Locale locale) { + moviesFile = InputFile.newFile(l(locale, "echobase.common.moviesFile")); + importType = ImportType.ACOUSTIC; + } + + public String getMooringId() { + return mooringId; + } + + public void setMooringId(String mooringId) { + this.mooringId = mooringId; + } + + public boolean isAddDataAcquisition() { + return addDataAcquisition; + } + + public void setAddDataAcquisition(boolean addDataAcquisition) { + this.addDataAcquisition = addDataAcquisition; + } + + public String getTransceiverAcquisitionAbsorptionDescription() { + return transceiverAcquisitionAbsorptionDescription; + } + + public void setTransceiverAcquisitionAbsorptionDescription(String transceiverAcquisitionAbsorptionDescription) { + this.transceiverAcquisitionAbsorptionDescription = transceiverAcquisitionAbsorptionDescription; + } + + public String getAcquisitionSoftwareVersionER60() { + return acquisitionSoftwareVersionER60; + } + + public void setAcquisitionSoftwareVersionER60(String acquisitionSoftwareVersionER60) { + this.acquisitionSoftwareVersionER60 = acquisitionSoftwareVersionER60; + } + + public String getAcquisitionSoftwareVersionME70() { + return acquisitionSoftwareVersionME70; + } + + public void setAcquisitionSoftwareVersionME70(String acquisitionSoftwareVersionME70) { + this.acquisitionSoftwareVersionME70 = acquisitionSoftwareVersionME70; + } + + public String getLoggedDataFormat() { + return loggedDataFormat; + } + + public void setLoggedDataFormat(String loggedDataFormat) { + this.loggedDataFormat = loggedDataFormat; + } + + public String getLoggedDataDatatype() { + return loggedDataDatatype; + } + + public void setLoggedDataDatatype(String loggedDataDatatype) { + this.loggedDataDatatype = loggedDataDatatype; + } + + public String getPingDutyCycle() { + return pingDutyCycle; + } + + public void setPingDutyCycle(String pingDutyCycle) { + this.pingDutyCycle = pingDutyCycle; + } + + public String getSoundSpeedCalculationsER60() { + return soundSpeedCalculationsER60; + } + + public void setSoundSpeedCalculationsER60(String soundSpeedCalculationsER60) { + this.soundSpeedCalculationsER60 = soundSpeedCalculationsER60; + } + + public String getSoundSpeedCalculationsME70() { + return soundSpeedCalculationsME70; + } + + public void setSoundSpeedCalculationsME70(String soundSpeedCalculationsME70) { + this.soundSpeedCalculationsME70 = soundSpeedCalculationsME70; + } + + public String getSounderConstant() { + return sounderConstant; + } + + public void setSounderConstant(String sounderConstant) { + this.sounderConstant = sounderConstant; + } + + public float getDigitThreshold() { + return digitThreshold; + } + + public void setDigitThreshold(float digitThreshold) { + this.digitThreshold = digitThreshold; + } + + public String getAcousticDensityUnit() { + return acousticDensityUnit; + } + + public void setAcousticDensityUnit(String acousticDensityUnit) { + this.acousticDensityUnit = acousticDensityUnit; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public InputFile getMoviesFile() { + return moviesFile; + } + + public String getProcessingTemplate() { + return processingTemplate; + } + + public void setProcessingTemplate(String processingTemplate) { + this.processingTemplate = processingTemplate; + } + + public String getProcessingDescription() { + return processingDescription; + } + + public void setProcessingDescription(String processingDescription) { + this.processingDescription = processingDescription; + } + + public CellPositionReference getCellPositionReference() { + return cellPositionReference; + } + + public void setCellPositionReference(CellPositionReference cellPositionReference) { + this.cellPositionReference = cellPositionReference; + } + + @Override + public InputFile[] getInputFiles() { + return new InputFile[]{moviesFile}; + } +} diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java index 49d1218..d1567ed 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/AbstractConfigureImport.java @@ -22,7 +22,7 @@ package fr.ifremer.echobase.ui.actions.importData; import fr.ifremer.echobase.io.EchoBaseIOUtil; import fr.ifremer.echobase.io.InputFile; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageImportDataConfigurationSupport; +import fr.ifremer.echobase.services.service.importdata.configurations.ImportDataConfigurationSupport; import fr.ifremer.echobase.ui.actions.AbstractConfigureAction; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; @@ -38,7 +38,7 @@ import java.io.IOException; * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public abstract class AbstractConfigureImport<M extends VoyageImportDataConfigurationSupport> extends AbstractConfigureAction<M> { +public abstract class AbstractConfigureImport<M extends ImportDataConfigurationSupport> extends AbstractConfigureAction<M> { private static final long serialVersionUID = 1L; diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java index 71c1d61..48efac2 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java @@ -57,7 +57,6 @@ public class ConfigureAcousticImport extends AbstractConfigureImport<VoyageAcous cellPositionReferences = decoratorService.decorateEnums(CellPositionReference.values()); if (model.getCellPositionReference() == null) { - model.setCellPositionReference(CellPositionReference.START); } } diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport.java similarity index 68% copy from echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java copy to echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport.java index 71c1d61..163875f 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureAcousticImport.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport.java @@ -20,50 +20,49 @@ */ package fr.ifremer.echobase.ui.actions.importData; -import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageAcousticsImportConfiguration; +import fr.ifremer.echobase.entities.data.Mooring; import fr.ifremer.echobase.services.service.importdata.CellPositionReference; +import fr.ifremer.echobase.services.service.importdata.configurations.MooringAcousticsImportConfiguration; import java.io.File; import java.util.Map; /** - * Configure a accoustic data import. + * Configure a accoustic data import for mooring. * - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 0.5 */ -public class ConfigureAcousticImport extends AbstractConfigureImport<VoyageAcousticsImportConfiguration> { +public class ConfigureMooringAcousticImport extends AbstractConfigureImport<MooringAcousticsImportConfiguration> { private static final long serialVersionUID = 1L; - /** Universe of existing voyages. */ - protected Map<String, String> voyages; + /** Universe of existing moorings. */ + protected Map<String, String> moorings; protected Map<String, String> cellPositionReferences; - public ConfigureAcousticImport() { - super(VoyageAcousticsImportConfiguration.class); + public ConfigureMooringAcousticImport() { + super(MooringAcousticsImportConfiguration.class); } @Override - protected VoyageAcousticsImportConfiguration createModel() { - return new VoyageAcousticsImportConfiguration(getLocale()); + protected MooringAcousticsImportConfiguration createModel() { + return new MooringAcousticsImportConfiguration(getLocale()); } @Override - protected void prepareInputAction(VoyageAcousticsImportConfiguration model) { - voyages = userDbPersistenceService.loadSortAndDecorate(Voyage.class); + protected void prepareInputAction(MooringAcousticsImportConfiguration model) { + moorings = userDbPersistenceService.loadSortAndDecorate(Mooring.class); cellPositionReferences = decoratorService.decorateEnums(CellPositionReference.values()); if (model.getCellPositionReference() == null) { - model.setCellPositionReference(CellPositionReference.START); } } - public Map<String, String> getVoyages() { - return voyages; + public Map<String, String> getMoorings() { + return moorings; } public Map<String, String> getCellPositionReferences() { diff --git a/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport-validation.xml b/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport-validation.xml new file mode 100644 index 0000000..7f74b8a --- /dev/null +++ b/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/ConfigureMooringAcousticImport-validation.xml @@ -0,0 +1,126 @@ +<!-- + #%L + EchoBase :: UI + %% + 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% + --> +<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="model.mooringId"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.mooring.required"/> + </field-validator> + </field> + + <field name="model.cellPositionReference"> + <field-validator type="nrequired"> + <message key="echobase.error.import.cellPositionReference.required"/> + </field-validator> + </field> + + <field name="model.transceiverAcquisitionAbsorptionDescription"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.transceiverAcquisitionAbsorptionDescription.required"/> + </field-validator> + </field> + + <field name="model.acquisitionSoftwareVersionER60"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.acquisitionSoftwareVersionER60.required"/> + </field-validator> + </field> + + <field name="model.acquisitionSoftwareVersionME70"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.acquisitionSoftwareVersionME70.required"/> + </field-validator> + </field> + + <field name="model.loggedDataFormat"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.loggedDataFormat.required"/> + </field-validator> + </field> + + <field name="model.loggedDataDatatype"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.loggedDataDatatype.required"/> + </field-validator> + </field> + + <field name="model.pingDutyCycle"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.pingDutyCycle.required"/> + </field-validator> + </field> + + <field name="model.soundSpeedCalculationsER60"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.soundSpeedCalculationsER60.required"/> + </field-validator> + </field> + + <field name="model.soundSpeedCalculationsME70"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.soundSpeedCalculationsME70.required"/> + </field-validator> + </field> + + <field name="model.sounderConstant"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.sounderConstant.required"/> + </field-validator> + </field> + + <field name="model.processingTemplate"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.processingTemplate.required"/> + </field-validator> + </field> + + <field name="model.processingDescription"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.processingDescription.required"/> + </field-validator> + </field> + + <field name="model.acousticDensityUnit"> + <field-validator type="nrequiredstring"> + <message + key="echobase.error.import.acousticDensityUnit.required"/> + </field-validator> + </field> + + <field name="model.notes"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.notes.required"/> + </field-validator> + </field> + + <field name="moviesFile"> + <field-validator type="nfieldexpression"> + <param name="expression">model.moviesFile.file!=null</param> + <message key="echobase.error.import.moviesFile.required"/> + </field-validator> + </field> + +</validators> diff --git a/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/CreateMooring-createMooring-validation.xml b/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/CreateMooring-createMooring-validation.xml new file mode 100644 index 0000000..87c9300 --- /dev/null +++ b/echobase-ui/src/main/resources/fr/ifremer/echobase/ui/actions/importData/CreateMooring-createMooring-validation.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + EchoBase :: UI + %% + 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% + --> + + +<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> + +<validators> + + <field name="mooring.code"> + <field-validator type="requiredstring"> + <message key="echobase.error.import.mooringCode.required"/> + </field-validator> + </field> + + <field name="missionId"> + <field-validator type="nrequiredstring"> + <message key="echobase.error.import.missionAbstract.required"/> + </field-validator> + </field> + +</validators> diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index 2614147..ff9d18a 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -137,6 +137,7 @@ echobase.common.missionAbstract=Mission abstract echobase.common.modificationDate=Last modified date echobase.common.modificationText=Last modification echobase.common.modificationUser=User +echobase.common.mooring=Mooring echobase.common.moviesFile= echobase.common.name=Name echobase.common.northLimit=North limit @@ -181,7 +182,7 @@ echobase.common.transectLicence=Data license (transect) echobase.common.transitFile= echobase.common.transitRelatedActivity=Transit related activities echobase.common.units=Units -echobase.common.upLimit= +echobase.common.upLimit=Up limit echobase.common.user=User echobase.common.userName=User name echobase.common.vessel=Vessel @@ -224,6 +225,8 @@ echobase.error.import.mapsFile.required=La sélection d'un fichier Carte est obl echobase.error.import.mission.required=La sélection d'une mission est obligatoire echobase.error.import.missionAbstract.required=Le résumé de la mission est obligatoire echobase.error.import.missionName.required=Le nom de la mission est obligatoire +echobase.error.import.mooring.required= +echobase.error.import.mooringCode.required= echobase.error.import.moviesFile.required=La sélection d'un fichier Movies est obligatoire echobase.error.import.notes.required=Note des DataProcessing non renseigné echobase.error.import.oneImportFile.required=La sélection d'un fichier d'import est obligatoire diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index a2f1e80..21aa861 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -137,6 +137,7 @@ echobase.common.missionAbstract=Résumé de la mission echobase.common.modificationDate=Date de modification echobase.common.modificationText=Modification echobase.common.modificationUser=Utilisateur +echobase.common.mooring=Bouée echobase.common.moviesFile= echobase.common.name=Nom echobase.common.northLimit=Limite Nord @@ -225,6 +226,8 @@ echobase.error.import.mapsFile.required=La sélection d'un fichier Carte est obl echobase.error.import.mission.required=La sélection d'une mission est obligatoire echobase.error.import.missionAbstract.required=Le résumé de la mission est obligatoire echobase.error.import.missionName.required=Le nom de la mission est obligatoire +echobase.error.import.mooring.required= +echobase.error.import.mooringCode.required= echobase.error.import.moviesFile.required=La sélection d'un fichier Movies est obligatoire echobase.error.import.notes.required=Note des DataProcessing non renseigné echobase.error.import.oneImportFile.required=La sélection d'un fichier d'import est obligatoire diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMooringAcousticImport.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMooringAcousticImport.jsp new file mode 100644 index 0000000..cd7322c --- /dev/null +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureMooringAcousticImport.jsp @@ -0,0 +1,120 @@ +<%-- + #%L + EchoBase :: UI + %% + 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% + --%> +<%@page contentType="text/html" pageEncoding="UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> +<%@ taglib prefix="sj" uri="/struts-jquery-tags" %> +<title> + Configuration <s:text name="echobase.common.importType.acoustic"/> +</title> + +<script type="text/javascript" + src="<s:url value='/js/gridHelper.js' />"></script> + +<script type="text/javascript"> + + jQuery(document).ready(function () { + $.addCheckFileSize(<s:property value="uploadFileMaxLength"/>); + }); +</script> + +<s:form namespace="/importData" method="POST" enctype="multipart/form-data"> + + <fieldset> + <legend> + <s:text name="echobase.legend.importData.configure"/> + </legend> + + <div class="cleanBoth help"> + <s:a href="%{getDocumentation('importData.html', null)}" target="doc"> + <s:text name="echobase.action.show.import.documentation"/> + </s:a> + </div> + <br/> + + <s:select key="model.mooringId" requiredLabel="true" + label='%{getText("echobase.common.mooring")}' + list="moorings" headerKey="" headerValue=""/> + + <s:select key="model.cellPositionReference" requiredLabel="true" + label='%{getText("echobase.common.cellPositionReference")}' + list="cellPositionReferences" headerKey="" headerValue=""/> + + <s:checkbox key="model.addDataAcquisition" + label='%{getText("echobase.common.addDataAcquisition")}'/> + + <s:textfield key="model.transceiverAcquisitionAbsorptionDescription" + size="80" requiredLabel="true" + label='%{getText("echobase.common.transceiverAcquisitionAbsorptionDescription")}'/> + + <s:textfield key="model.acquisitionSoftwareVersionER60" size="80" + requiredLabel="true" + label='%{getText("echobase.common.acquisitionSoftwareVersionER60")}'/> + + <s:textfield key="model.acquisitionSoftwareVersionME70" size="80" + requiredLabel="true" + label='%{getText("echobase.common.acquisitionSoftwareVersionME70")}'/> + + <s:textfield key="model.loggedDataFormat" size="80" requiredLabel="true" + label='%{getText("echobase.common.loggedDataFormat")}'/> + + <s:textfield key="model.loggedDataDatatype" size="80" requiredLabel="true" + label='%{getText("echobase.common.loggedDataDatatype")}'/> + + <s:textfield key="model.pingDutyCycle" size="80" requiredLabel="true" + label='%{getText("echobase.common.pingDutyCycle")}'/> + + <s:textfield key="model.soundSpeedCalculationsER60" size="80" + requiredLabel="true" + label='%{getText("echobase.common.soundSpeedCalculationsER60")}'/> + + <s:textfield key="model.soundSpeedCalculationsME70" size="80" + requiredLabel="true" + label='%{getText("echobase.common.soundSpeedCalculationsME70")}'/> + + <s:textfield key="model.sounderConstant" size="80" requiredLabel="true" + label='%{getText("echobase.common.sounderConstant")}'/> + + <s:textfield key="model.processingTemplate" size="80" requiredLabel="true" + label='%{getText("echobase.common.processingTemplate")}'/> + + <s:textfield key="model.processingDescription" size="80" requiredLabel="true" + label='%{getText("echobase.common.processingDescription")}'/> + + <s:textfield key="model.digitThreshold" size="80" requiredLabel="true" + label='%{getText("echobase.common.digitThreshold")}'/> + + <s:textfield key="model.acousticDensityUnit" size="80" requiredLabel="true" + label='%{getText("echobase.common.acousticDensityUnit")}'/> + + <s:textfield key="model.notes" size="80" requiredLabel="true" + label='%{getText("echobase.common.dataProcessingNotes")}'/> + + <s:file key="moviesFile" requiredLabel="true" + label='%{getText("echobase.common.moviesFile")}'/> + + <s:textarea key="model.importNotes" cols="80" rows="5" + label='%{getText("echobase.common.importNotes")}'/> + </fieldset> + <br/> + <s:submit action="configureMooringAcoustic-execute" key='echobase.action.import'/> + +</s:form> + -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.