This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 5699c79f251b6ac03034a9f127b9b556a08ba0fe Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Fri Sep 30 17:56:23 2016 +0200 ref #8173, continue export models --- .../atlantos/model/DataProcessingExportModel.java | 92 ++++++++++++++ .../atlantos/row/DataAcquisitionExportRow.java | 2 - .../atlantos/row/DataProcessingExportRow.java | 140 +++++++++++++++++++++ 3 files changed, 232 insertions(+), 2 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/model/DataProcessingExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/model/DataProcessingExportModel.java new file mode 100644 index 0000000..d5f52ea --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/model/DataProcessingExportModel.java @@ -0,0 +1,92 @@ +package fr.ifremer.echobase.services.service.atlantos.model; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2014 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ + +import fr.ifremer.echobase.entities.data.DataAcquisition; +import fr.ifremer.echobase.entities.data.DataProcessing; +import fr.ifremer.echobase.entities.data.Transect; +import fr.ifremer.echobase.entities.data.Transit; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.atlantos.row.DataProcessingExportRow; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import org.nuiton.csv.ext.AbstractExportModel; + +/** + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4 + */ +public class DataProcessingExportModel extends AbstractExportModel<DataProcessingExportRow> { + + public DataProcessingExportModel(char separator) { + super(separator); + newColumnForExport("DataProcessing", DataProcessingExportRow.PROPERTY_ENTITY); + newColumnForExport("Header", DataProcessingExportRow.PROPERTY_HEADER); + newColumnForExport("DataProcessingSoftwareName", DataProcessingExportRow.PROPERTY_SOFTWARE_NAME); + newColumnForExport("DataProcessingSoftwareVersion", DataProcessingExportRow.PROPERTY_SOFTWARE_VERSION); + newColumnForExport("DataProcessingTriwaveCorrection", DataProcessingExportRow.PROPERTY_TRIWAVE_CORRECTION); + newColumnForExport("DataProcessingChannelID", DataProcessingExportRow.PROPERTY_CHANNEL_ID); + newColumnForExport("DataProcessingBandwidth", DataProcessingExportRow.PROPERTY_BAND_WIDTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + newColumnForExport("DataProcessingFrequency", DataProcessingExportRow.PROPERTY_FREQUENCY, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + newColumnForExport("DataProcessingTransceiverPower", DataProcessingExportRow.PROPERTY_TRANSCEIVER_POWER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + newColumnForExport("DataProcessingTransmitPulseLength", DataProcessingExportRow.PROPERTY_TRANSMIT_PULSE_LENGTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + newColumnForExport("DataProcessingOnAxisGain", DataProcessingExportRow.PROPERTY_ON_AXIS_GAIN, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + newColumnForExport("DataProcessingOnAxisGainUnit", DataProcessingExportRow.PROPERTY_ON_AXIS_GAIN_UNIT); + newColumnForExport("DataProcessingSaCorrection", DataProcessingExportRow.PROPERTY_SA_CORRECTION, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + newColumnForExport("DataProcessingAbsorption", DataProcessingExportRow.PROPERTY_ABSORPTION, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + newColumnForExport("DataProcessingAbsorptionDescription", DataProcessingExportRow.PROPERTY_ABSORPTION_DESCRIPTION); + newColumnForExport("DataProcessingSoundSpeed", DataProcessingExportRow.PROPERTY_SOUND_SPEED); + newColumnForExport("DataProcessingSoundSpeedDescription", DataProcessingExportRow.PROPERTY_SOUND_SPEED_DESCRIPTION); + newColumnForExport("DataProcessingTransducerPSI", DataProcessingExportRow.PROPERTY_TRANSDUCER_PSI, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + newColumnForExport("DataProcessingComments", DataProcessingExportRow.PROPERTY_COMMENTS); + newColumnForExport("DataProcessingID", DataProcessingExportRow.PROPERTY_ID); + } + + public List<DataProcessingExportRow> prepareRows(Voyage voyage) { + List<DataProcessingExportRow> rows = new ArrayList<DataProcessingExportRow>(); + + Collection<Transit> transits = voyage.getTransit(); + for (Transit transit : transits) { + + Collection<Transect> transects = transit.getTransect(); + for (Transect transect : transects) { + + Collection<DataAcquisition> dataAcquisitions = transect.getDataAcquisition(); + for (DataAcquisition dataAcquisition : dataAcquisitions) { + + Collection<DataProcessing> dataProcessings = dataAcquisition.getDataProcessing(); + for (DataProcessing dataProcessing : dataProcessings) { + + DataProcessingExportRow row = new DataProcessingExportRow(); + row.setDataProcessing(dataProcessing); + rows.add(row); + } + } + } + } + + return rows; + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/row/DataAcquisitionExportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/row/DataAcquisitionExportRow.java index 8ec99ce..bf9738a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/row/DataAcquisitionExportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/row/DataAcquisitionExportRow.java @@ -1,8 +1,6 @@ package fr.ifremer.echobase.services.service.atlantos.row; import fr.ifremer.echobase.entities.data.DataAcquisition; -import fr.ifremer.echobase.entities.data.Voyage; -import java.util.Date; /* * #%L diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/row/DataProcessingExportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/row/DataProcessingExportRow.java new file mode 100644 index 0000000..1113c35 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/row/DataProcessingExportRow.java @@ -0,0 +1,140 @@ +package fr.ifremer.echobase.services.service.atlantos.row; + +import fr.ifremer.echobase.entities.data.DataAcquisition; +import fr.ifremer.echobase.entities.data.DataProcessing; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2014 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% + */ + +/** + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4 + */ +public class DataProcessingExportRow { + + public static final String PROPERTY_ENTITY = "entity"; + public static final String PROPERTY_HEADER = "header"; + public static final String PROPERTY_SOFTWARE_NAME = "softwareName"; + public static final String PROPERTY_SOFTWARE_VERSION = "softwareVersion"; + public static final String PROPERTY_TRIWAVE_CORRECTION = "triwaveCorrection"; + public static final String PROPERTY_CHANNEL_ID = "channelId"; + public static final String PROPERTY_BAND_WIDTH = "bandwidth"; + public static final String PROPERTY_FREQUENCY = "frequency"; + public static final String PROPERTY_TRANSCEIVER_POWER = "transceiverPower"; + public static final String PROPERTY_TRANSMIT_PULSE_LENGTH = "transmitPulseLength"; + public static final String PROPERTY_ON_AXIS_GAIN = "onAxisGain"; + public static final String PROPERTY_ON_AXIS_GAIN_UNIT = "onAxisGainUnit"; + public static final String PROPERTY_SA_CORRECTION = "saCorrection"; + public static final String PROPERTY_ABSORPTION = "absorption"; + public static final String PROPERTY_ABSORPTION_DESCRIPTION = "absorptionDescription"; + public static final String PROPERTY_SOUND_SPEED = "soundSpeed"; + public static final String PROPERTY_SOUND_SPEED_DESCRIPTION = "soundSpeedDescription"; + public static final String PROPERTY_TRANSDUCER_PSI = "transducerPSI"; + public static final String PROPERTY_COMMENTS = "comments"; + public static final String PROPERTY_ID = "id"; + + protected DataProcessing dataProcessing; + + public void setDataProcessing(DataProcessing dataProcessing) { + this.dataProcessing = dataProcessing; + } + + public String getEntity() { + return "DataProcessing"; + } + + public String getHeader() { + return "Record"; + } + + public String getSoftwareName() { + return this.dataProcessing.getSoftwareName(); + } + + public String getSoftwareVersion() { + return this.dataProcessing.getProcessingSoftwareVersion(); + } + + public String getTriwaveCorrection() { + return "NA"; + } + + public String getChannelId() { + return this.dataProcessing.getChannelId(); + } + + public float getBandwidth() { + return this.dataProcessing.getBandWith(); + } + + public float getFrequency() { + return this.dataProcessing.getFrequency(); + } + + public float getTransceiverPower() { + return this.dataProcessing.getTransceiverPower(); + } + + public float getTransmitPulseLength() { + return this.dataProcessing.getTransmitPulseLength(); + } + + public float getOnAxisGain() { + return this.dataProcessing.getTransceiverProcessingGain(); + } + + public String getOnAxisGainUnit() { + return this.dataProcessing.getTransceiverGainUnits(); + } + + public float getSaCorrection() { + return this.dataProcessing.getTransceiverProcessingSacorrection(); + } + + public float getAbsorption() { + return this.dataProcessing.getTransceiverProcessingAbsorption(); + } + + public String getAbsorptionDescription() { + return this.dataProcessing.getTransceiverProcessingAbsorptionDescription(); + } + + public String getSoundSpeed() { + return this.dataProcessing.getEchosounderSoundSpeed(); + } + + public String getSoundSpeedDescription() { + return this.dataProcessing.getSoundSpeedCalculations(); + } + + public float getTransducerPSI() { + return this.dataProcessing.getTransducerProcessingPsi(); + } + + public String getComments() { + return this.dataProcessing.getComments(); + } + + public String getId() { + return this.dataProcessing.getTopiaId(); + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.