Tutti-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- 4130 discussions
Author: tchemit
Date: 2013-01-11 14:17:47 +0100 (Fri, 11 Jan 2013)
New Revision: 171
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/171
Log:
use tutti snapshot repository
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-01-11 11:07:18 UTC (rev 170)
+++ trunk/pom.xml 2013-01-11 13:17:47 UTC (rev 171)
@@ -105,6 +105,12 @@
<id>${platform}</id>
<url>${our.site.repository}/${projectId}</url>
</site>
+ <snapshotRepository>
+ <id>nuiton-nexus-deploy</id>
+ <url>
+ http://nexus.nuiton.org/nexus/content/repositories/tutti-snapshot
+ </url>
+ </snapshotRepository>
</distributionManagement>
<packaging>pom</packaging>
1
0
Author: tchemit
Date: 2013-01-11 12:07:18 +0100 (Fri, 11 Jan 2013)
New Revision: 170
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/170
Log:
use eugene snapshot
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-01-11 09:33:31 UTC (rev 169)
+++ trunk/pom.xml 2013-01-11 11:07:18 UTC (rev 170)
@@ -119,7 +119,7 @@
<nuitonUtilsVersion>2.7-SNAPSHOT</nuitonUtilsVersion>
<nuitonI18nVersion>2.5</nuitonI18nVersion>
- <eugenePluginVersion>2.6</eugenePluginVersion>
+ <eugenePluginVersion>2.6.1-SNAPSHOT</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
<h2Version>1.3.168</h2Version>
<postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion>
1
0
r169 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation
by kmorin@users.forge.codelutin.com 11 Jan '13
by kmorin@users.forge.codelutin.com 11 Jan '13
11 Jan '13
Author: kmorin
Date: 2013-01-11 10:33:31 +0100 (Fri, 11 Jan 2013)
New Revision: 169
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/169
Log:
debug saississeurs dans le trait
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-01-10 16:23:59 UTC (rev 168)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-01-11 09:33:31 UTC (rev 169)
@@ -43,30 +43,18 @@
import fr.ifremer.tutti.ui.swing.content.operation.fishing.hydrology.HydrologyTabUIModel;
import fr.ifremer.tutti.ui.swing.util.CustomTab;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
-import jaxx.runtime.swing.editor.bean.BeanDoubleListModel;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import javax.swing.JLabel;
-import javax.swing.JPanel;
import java.awt.BorderLayout;
-import java.awt.Component;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-import java.beans.PropertyVetoException;
-import java.beans.VetoableChangeListener;
import java.util.List;
import javax.swing.DefaultSingleSelectionModel;
-import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
import javax.swing.JTabbedPane;
-import javax.swing.SingleSelectionModel;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-import jaxx.runtime.validator.swing.SwingValidator;
-import org.nuiton.validator.bean.simple.SimpleBeanValidatorEvent;
-import org.nuiton.validator.bean.simple.SimpleBeanValidatorListener;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
@@ -117,8 +105,8 @@
EditFishingOperationUIModel.PROPERTY_DUREE,
EditFishingOperationUIModel.PROPERTY_FISHING_OPERATION_VALID,
EditFishingOperationUIModel.PROPERTY_LOCATION,
- EditFishingOperationUIModel.PROPERTY_COMMENT,
- EditFishingOperationUIModel.PROPERTY_SAISISSEUR);
+ EditFishingOperationUIModel.PROPERTY_SAISISSEUR,
+ EditFishingOperationUIModel.PROPERTY_COMMENT);
}
@Override
@@ -238,7 +226,7 @@
initBeanComboBox(ui.getSubStrataComboBox(), subStratas, subStrata);
initBeanComboBox(ui.getLocationComboBox(), locations, location);
-
+
model.setEmpty(true);
changeValidatorContext(model.getValidationContext(), ui.getValidator());
@@ -345,9 +333,6 @@
model.fromBean(bean);
- // to be sure saisisseurs are updated
-// model.setSaisisseur(Lists.newArrayList(bean.getSaisisseur()));
-
// to be sure combo list will be reloaded
model.setStrata(null);
model.setSubStrata(null);
@@ -370,10 +355,7 @@
// update saisissuer selection
List<Person> saisisseur = model.getSaisisseur();
- if (log.isInfoEnabled()) {
- log.info("Selected saisisseurs: " + (saisisseur == null ? 0 : saisisseur.size()));
- log.info(saisisseur);
- }
+ ui.getSaisisseurList().getModel().setSelected(saisisseur);
// update model empty property
model.setEmpty(empty);
@@ -441,7 +423,6 @@
getModel().setModify(false);
// persist current fishingOperation
-// persistenceService.saveFishingOperation(toSave);
parentUi.getHandler().saveFishingOperation(toSave);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-01-10 16:23:59 UTC (rev 168)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-01-11 09:33:31 UTC (rev 169)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
@@ -33,6 +34,8 @@
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import java.util.Date;
import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
@@ -44,6 +47,8 @@
*/
public class EditFishingOperationUIModel extends AbstractTuttiBeanUIModel<FishingOperation, EditFishingOperationUIModel> {
+ private static final Log log = LogFactory.getLog(EditFishingOperationUIModel.class);
+
private static final long serialVersionUID = 1L;
public static final String TITLE = "tutti.label.tab.fishingOperation.general";
@@ -173,7 +178,7 @@
protected String comment;
- protected List<Person> saisisseur;
+ protected List<Person> saisisseur = Lists.newArrayList();
protected FishingOperation fishingOperation;
@@ -575,8 +580,8 @@
}
public void setSaisisseur(List<Person> saisisseur) {
- Object oldValue = getSaisisseur();
- this.saisisseur = saisisseur;
+ Object oldValue = Lists.newArrayList(getSaisisseur());
+ this.saisisseur = Lists.newArrayList(saisisseur);
firePropertyChange(PROPERTY_SAISISSEUR, oldValue, saisisseur);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2013-01-10 16:23:59 UTC (rev 168)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2013-01-11 09:33:31 UTC (rev 169)
@@ -77,7 +77,7 @@
}
public void setSelectedFishingOperation(FishingOperation selectedFishingOperation) {
- Object oldValue = getSelectedFishingOperation();
+ Object oldValue = Lists.newArrayList(getSelectedFishingOperation());
this.selectedFishingOperation = selectedFishingOperation;
firePropertyChange(PROPERTY_SELECTED_FISHING_OPERATION, oldValue, selectedFishingOperation);
}
1
0
r168 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/content/operation resources/i18n
by kmorin@users.forge.codelutin.com 10 Jan '13
by kmorin@users.forge.codelutin.com 10 Jan '13
10 Jan '13
Author: kmorin
Date: 2013-01-10 17:23:59 +0100 (Thu, 10 Jan 2013)
New Revision: 168
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/168
Log:
refs #1908 [CONSOLIDATION] Mise en place des deux contextes de validation (pour les captures)
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-01-10 14:54:02 UTC (rev 167)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-01-10 16:23:59 UTC (rev 168)
@@ -52,6 +52,7 @@
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.BorderLayout;
+import java.awt.Component;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyVetoException;
@@ -63,6 +64,7 @@
import javax.swing.SingleSelectionModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
+import jaxx.runtime.validator.swing.SwingValidator;
import org.nuiton.validator.bean.simple.SimpleBeanValidatorEvent;
import org.nuiton.validator.bean.simple.SimpleBeanValidatorListener;
@@ -268,10 +270,9 @@
@Override
public void setSelectedIndex(int index) {
int currentIndex = tabPanel.getSelectedIndex();
- if (currentIndex < 0) {
- super.setSelectedIndex(index);
-
- } else {
+ boolean mustSelectIndex = true;
+
+ if (currentIndex >= 0) {
CustomTab currentTab = (CustomTab) tabPanel.getTabComponentAt(currentIndex);
AbstractTuttiBeanUIModel model = currentTab.getModel();
@@ -281,8 +282,15 @@
save();
}
super.setSelectedIndex(index);
+
+ } else {
+ mustSelectIndex = false;
}
}
+
+ if (mustSelectIndex) {
+ super.setSelectedIndex(index);
+ }
}
});
@@ -293,7 +301,6 @@
}
-
@Override
public void onCloseUI() {
@@ -397,15 +404,8 @@
boolean newBean = StringUtils.isBlank(id);
if (newBean) {
-
// cancel to create a new fishingOperation
- parentUi.getHandler().selectFishingOperation(null);
-
- } else {
-
- // reselect in ui the fishingOperation
- FishingOperation selectedFishingOperation = parentUi.getModel().getSelectedFishingOperation();
- parentUi.getHandler().selectFishingOperation(selectedFishingOperation);
+ parentUi.getHandler().closeCurrentFishingOperation();
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-01-10 14:54:02 UTC (rev 167)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-01-10 16:23:59 UTC (rev 168)
@@ -169,12 +169,14 @@
public void createNewFishingOperation() {
+ FishingOperationsUIModel model = getModel();
+
// deselect selected fishingOperation
- getModel().setSelectedFishingOperation(null);
+ model.setSelectedFishingOperation(null);
// use a new empty fishingOperation
FishingOperation newFishingOperation = new FishingOperation();
- newFishingOperation.setCruise(getModel().getCruise());
+ newFishingOperation.setCruise(model.getCruise());
// by default use the current day with no time information
Date currentDate = new Date();
@@ -184,6 +186,7 @@
newFishingOperation.setDate(currentDate);
newFishingOperation.setGearShootingStartDate(currentDate);
newFishingOperation.setGearShootingEndDate(currentDate);
+
selectFishingOperation(newFishingOperation);
}
@@ -200,56 +203,59 @@
String fishingOperationText;
- if (fishingOperation == null) {
- fishingOperationText = "";
- } else {
+ if (fishingOperation != null) {
Decorator<FishingOperation> decorator =
getDecorator(FishingOperation.class, null);
fishingOperationText =
_("tutti.label.traitReminder",
decorator.toString(fishingOperation));
- }
- // propagate fishingOperation to his tabs
- ui.getFishingOperationTabContent().getHandler().selectFishingOperation(fishingOperation);
+ // propagate fishingOperation to his tabs
+ ui.getFishingOperationTabContent().getHandler().selectFishingOperation(fishingOperation);
- ui.getCatchesTabContent().getHandler().selectFishingOperation(fishingOperation,
- fishingOperationText);
+ ui.getCatchesTabContent().getHandler().selectFishingOperation(fishingOperation,
+ fishingOperationText);
- // repaint tabs
- ui.getTabPane().repaint();
+ // repaint tabs
+ ui.getTabPane().repaint();
+ }
}
+
+ public void closeCurrentFishingOperation() {
+ ui.getFishingOperationTabContent().getHandler().selectFishingOperation(null);
+ ui.getCatchesTabContent().getHandler().selectFishingOperation(null, "");
+ }
public void saveFishingOperation(FishingOperation toSave) {
// persist the fishingOperation
boolean create = toSave.getId() == null;
+ FishingOperationsUIModel model = getModel();
+ FishingOperation savedFishingOperation;
- FishingOperation savedFishingOperation;
if (create) {
savedFishingOperation = persistenceService.createFishingOperation(toSave);
+ model.addFishingOperation(savedFishingOperation);
+
} else {
savedFishingOperation = persistenceService.saveFishingOperation(toSave);
- }
+
+ // add the saved fishingOperation to fishingOperation list
+ List<FishingOperation> data = model.getFishingOperation();
- FishingOperationsUIModel model = getModel();
+ FishingOperation existingFishingOperation =
+ TuttiEntities.findById(data, savedFishingOperation.getId());
+ if (existingFishingOperation != null) {
+ data.remove(existingFishingOperation);
+ }
+ data.add(savedFishingOperation);
- // add the saved fishingOperation to fishingOperation list
-
- List<FishingOperation> data = model.getFishingOperation();
-
- FishingOperation existingFishingOperation =
- TuttiEntities.findById(data, savedFishingOperation.getId());
- if (existingFishingOperation != null) {
- data.remove(existingFishingOperation);
+ // update model fishingOperation list
+ model.setFishingOperation(data);
}
- data.add(savedFishingOperation);
- // update model fishingOperation list
- model.setFishingOperation(data);
-
// update model selected fishingOperation
model.setSelectedFishingOperation(savedFishingOperation);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2013-01-10 14:54:02 UTC (rev 167)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIModel.java 2013-01-10 16:23:59 UTC (rev 168)
@@ -24,14 +24,14 @@
* #L%
*/
+import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.beans.AbstractSerializableBean;
-import java.util.List;
-
/**
* Model fo UI {@link FishingOperationsUI}.
*
@@ -66,6 +66,12 @@
firePropertyChange(PROPERTY_FISHING_OPERATION, oldValue, fishingOperation);
}
+ public void addFishingOperation(FishingOperation fishingOperation) {
+ Object oldValue = Lists.newArrayList(getFishingOperation());
+ this.fishingOperation.add(fishingOperation);
+ firePropertyChange(PROPERTY_FISHING_OPERATION, oldValue, this.fishingOperation);
+ }
+
public FishingOperation getSelectedFishingOperation() {
return selectedFishingOperation;
}
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-10 14:54:02 UTC (rev 167)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-10 16:23:59 UTC (rev 168)
@@ -145,6 +145,7 @@
tutti.label.tab.fishingOperation=Trait
tutti.label.tab.fishingOperation.environment=Environnement
tutti.label.tab.fishingOperation.gearShooting=Mise en oeuvre de l'engin
+tutti.label.tab.fishingOperation.general=Trait
tutti.label.tab.fishingOperation.hydrology=Paramètres hydrologiques
tutti.label.tab.macroDechet=Macro déchets
tutti.label.tab.observationIndividuel=Observations individuelles
1
0
10 Jan '13
Author: kmorin
Date: 2013-01-10 15:54:02 +0100 (Thu, 10 Jan 2013)
New Revision: 167
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/167
Log:
refs #1908 [CONSOLIDATION] Mise en place des deux contextes de validation (pour les captures)
Added:
trunk/tutti-ui-swing/src/main/resources/icons/action-table-error.png
Added: trunk/tutti-ui-swing/src/main/resources/icons/action-table-error.png
===================================================================
(Binary files differ)
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-table-error.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
r166 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing
by kmorin@users.forge.codelutin.com 10 Jan '13
by kmorin@users.forge.codelutin.com 10 Jan '13
10 Jan '13
Author: kmorin
Date: 2013-01-10 15:50:43 +0100 (Thu, 10 Jan 2013)
New Revision: 166
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/166
Log:
refs #1908 [CONSOLIDATION] Mise en place des deux contextes de validation (pour les captures)
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-01-10 13:42:09 UTC (rev 165)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-01-10 14:50:43 UTC (rev 166)
@@ -36,25 +36,21 @@
import fr.ifremer.tutti.ui.swing.content.program.EditProgramUI;
import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
-import jaxx.runtime.swing.AboutPanel;
-import jaxx.runtime.swing.ErrorDialogUI;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.widget.SwingSession;
-
-import javax.swing.JComponent;
import java.awt.Desktop;
-import java.awt.Insets;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.net.URL;
import java.util.Calendar;
+import javax.swing.JComponent;
import javax.swing.JToolBar;
+import jaxx.runtime.swing.AboutPanel;
+import jaxx.runtime.swing.ErrorDialogUI;
import jaxx.runtime.validator.swing.SwingValidator;
-import jaxx.runtime.validator.swing.SwingValidatorMessageWidget;
-
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import static org.nuiton.i18n.I18n._;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.widget.SwingSession;
/**
* @author tchemit <chemit(a)codelutin.com>
1
0
r165 - in trunk: . tutti-persistence/src/main/xmi tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence tutti-persistence-adagio/src/main/resources tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor
by tchemit@users.forge.codelutin.com 10 Jan '13
by tchemit@users.forge.codelutin.com 10 Jan '13
10 Jan '13
Author: tchemit
Date: 2013-01-10 14:42:09 +0100 (Thu, 10 Jan 2013)
New Revision: 165
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/165
Log:
continue queries + remove caracteristic booleanType and textType
Added:
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java
Modified:
trunk/pom.xml
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java
trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java
trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java
trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/HydrologicCaracteristicUtil.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/pom.xml 2013-01-10 13:42:09 UTC (rev 165)
@@ -124,7 +124,7 @@
<h2Version>1.3.168</h2Version>
<postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion>
- <jaxxVersion>2.5.10-SNAPSHOT</jaxxVersion>
+ <jaxxVersion>2.5.9</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.7</xworkVersion>
Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
===================================================================
(Binary files differ)
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -193,17 +193,22 @@
List<Vessel> result = Lists.newArrayList();
while (list.hasNext()) {
Object[] source = list.next();
- Vessel target = new Vessel();
- target.setId((String) source[0]);
- target.setRegistrationCode((String) source[1]);
- target.setInternalRegistrationCode((String) source[2]);
- target.setName((String) source[3]);
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
+ Vessel target = loadVessel(source);
result.add(target);
}
return result;
}
+ protected Vessel loadVessel(Object[] source) {
+ Vessel target = new Vessel();
+ target.setId((String) source[0]);
+ target.setRegistrationCode((String) source[1]);
+ target.setInternalRegistrationCode((String) source[2]);
+ target.setName((String) source[3]);
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
+ return target;
+ }
+
@Override
public List<Gear> getAllScientificGear() {
@@ -249,12 +254,7 @@
List<Person> result = Lists.newArrayList();
while (list.hasNext()) {
Object[] source = list.next();
- Person target = new Person();
- target.setId(String.valueOf(source[0]));
- target.setFirstName(String.valueOf(source[1]));
- target.setLastName(String.valueOf(source[2]));
- target.setDepartment(String.valueOf(source[3]));
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
+ Person target = loadPerson(source);
result.add(target);
}
return result;
@@ -540,12 +540,41 @@
public Cruise getCruise(String id) {
Object[] source = queryUnique(
"cruise",
- "cruiseId", StringType.INSTANCE, id);
+ "cruiseId", StringType.INSTANCE, id,
+ "locationLevelId", IntegerType.INSTANCE, getEnumerationIntegerCode("LocationLevelId.PAYS_ISO3"));
Cruise result = new Cruise();
- result.setId((String) source[0]);
- result.setName((String) source[1]);
+ result.setId(id);
+ String programCode = (String) source[0];
+ Program program = getProgram(programCode);
+ result.setProgram(program);
+
+ result.setYear((Integer) source[1]);
+ result.setName((String) source[2]);
+
+ String countryId = String.valueOf(source[3]);
+ String countryLabel = (String) source[4];
+ String countryName = (String) source[5];
+ Country c = new Country();
+ c.setId(countryId);
+ c.setName(countryName);
+ c.setLabel(countryLabel);
+ result.setCountry(c);
+
+ result.setBeginDate((Date) source[6]);
+ result.setEndDate((Date) source[7]);
+
+ String vesselCode = (String) source[8];
+ Vessel vessel = getVessel(vesselCode);
+ result.setVessel(Lists.newArrayList(vessel));
+
+ Integer managerId = (Integer) source[9];
+ Person manager = getPerson(managerId);
+ result.setHeadOfMission(Lists.newArrayList(manager));
+
+ result.setComment((String) source[10]);
+
// get secondary gears
Iterator<Object[]> list = queryList(
"allCruiseSecondaryGears",
@@ -561,11 +590,36 @@
gears.add(target);
}
result.setGear(gears);
+ return result;
+ }
+ protected Vessel getVessel(String vesselCode) {
+ Object[] source = queryUnique(
+ "vessel",
+ "vesselCode", StringType.INSTANCE, vesselCode,
+ "refDate", DateType.INSTANCE, new Date());
+ Vessel result = loadVessel(source);
+ return result;
+ }
+ protected Person getPerson(Integer personId) {
+ Object[] source = queryUnique(
+ "person",
+ "personId", IntegerType.INSTANCE, personId);
+ Person result = loadPerson(source);
return result;
}
+ protected Person loadPerson(Object[] source) {
+ Person target = new Person();
+ target.setId(String.valueOf(source[0]));
+ target.setFirstName((String) source[1]);
+ target.setLastName((String) source[2]);
+ target.setDepartment((String) source[3]);
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[4], target);
+ return target;
+ }
+
@Override
public Cruise createCruise(Cruise bean) {
throw new UnsupportedOperationException();
@@ -874,7 +928,8 @@
Integer pmfmId) {
Preconditions.checkNotNull(caracteristic, "Caracteristic can not be null");
Preconditions.checkNotNull(pmfmId, "pmfmId can not be null");
- Preconditions.checkArgument(caracteristic.isQualitativeType(), "Caracteristic must be a qualitativeValue type");
+ Preconditions.checkArgument(caracteristic.isQualitativeType(),
+ "Caracteristic must be a qualitativeValue type");
Iterator<Object[]> sources = queryList(
"pmfmQualitativeValues",
@@ -917,9 +972,11 @@
target.setMethodName(String.valueOf(source[4]));
target.setNumberType(Boolean.valueOf(source[5].toString()));
target.setQualitativeType(Boolean.valueOf(source[6].toString()));
-
- target.setUnit(String.valueOf(source[7]));
- setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[8], target);
+ target.setSignifFiguresNumber(Integer.valueOf(source[7].toString()));
+ target.setMaximumNumberDecimals(Integer.valueOf(source[8].toString()));
+ target.setPrecision(Float.valueOf(source[9].toString()));
+ target.setUnit(String.valueOf(source[10]));
+ setStatus((fr.ifremer.adagio.core.dao.referential.Status) source[11], target);
return target;
}
Modified: trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-10 13:42:09 UTC (rev 165)
@@ -86,30 +86,30 @@
<!-- Get a detail cruise [DAT-04] -->
<query cacheable="true" name="cruise">
<![CDATA[
- select
- sc.program.code as programCode,
- year(sc.departureDateTime) as year,
- -- partialSerie - pas stockée sous H2 ??
- sc.name,
- lh.locationHierarchyPk.parent.label as countryLabel,
- lh.locationHierarchyPk.parent.name as countryName,
- sc.departureDateTime,
- sc.returnDateTime,
- sc.vessel.code as vesselCode,
- mp.lastname as managerLastname,
- mp.firstname as managerFirstName,
- coalesce(sc.comments, ft.comments) as comments
-from
- ScientificCruiseImpl sc
- left outer join sc.fishingTrips ft
- left outer join sc.managerPerson mp,
- LocationHierarchyImpl lh
-where 1=1
- and sc.id = 100000 -- :scientificCruiseId
- and lh.locationHierarchyPk.location.id = ft.departureLocation.id
- and lh.locationHierarchyPk.parent.locationLevel.id = 21 -- locationLevel=Pays ISO 3
+ SELECT
+ sc.program.code AS programCode,
+ year(sc.departureDateTime) AS year,
+ sc.name,
+ lh.locationHierarchyPk.parent.location.id AS countryId,
+ lh.locationHierarchyPk.parent.location.label AS countryLabel,
+ lh.locationHierarchyPk.parent.location.name AS countryName,
+ sc.departureDateTime,
+ sc.returnDateTime,
+ sc.vessel.code as vesselCode,
+ mp.id as managerId,
+ coalesce(sc.comments, ft.comments) as comments
+ FROM
+ ScientificCruiseImpl sc
+ LEFT OUTER JOIN sc.fishingTrips ft
+ LEFT OUTER JOIN sc.managerPerson mp,
+ LocationHierarchyImpl lh
+ WHERE
+ sc.id = :cruiseId
+ AND lh.locationHierarchyPk.location.id = ft.departureLocation.id
+ AND lh.locationHierarchyPk.parent.locationLevel.id = :countryLocationLevel
]]>
- <query-param name="programCode" type="java.lang.String"/>
+ <query-param name="cruiseId" type="java.lang.String"/>
+ <query-param name="countryLocationLevel" type="java.lang.Integer"/>
</query>
<!-- Get all program zones [REF-01] -->
@@ -179,6 +179,41 @@
<query-param name="refDate" type="java.util.Date"/>
</query>
+ <!-- Get a vessel for a given vesselType [REF-03] et [REF-04]-->
+ <query cacheable="true" name="vessel">
+ <![CDATA[
+ SELECT
+ v.code AS vesselCode,
+ vrp.registrationCode AS nationalRegistrationCode,
+ vrp.internationalRegistrationCode as internationalRegistrationCode,
+ vf.name AS vesselName,
+ v.status AS status
+ FROM
+ VesselImpl v
+ INNER JOIN v.vesselRegistrationPeriods AS vrp
+ LEFT OUTER JOIN v.vesselFeatures AS vf
+ WHERE v.code = :vesselCode
+ AND v.status.code IN (1, 2)
+ AND vrp.vesselRegistrationPeriodPk.startDateTime =
+ (
+ SELECT MAX(vrp2.vesselRegistrationPeriodPk.startDateTime)
+ FROM VesselRegistrationPeriodImpl vrp2 WHERE
+ vrp2.vesselRegistrationPeriodPk.vessel.code = v.code
+ AND (vrp2.vesselRegistrationPeriodPk.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vrp2.vesselRegistrationPeriodPk.vessel.code
+ )
+ AND vf.startDateTime =
+ (
+ SELECT MAX(vf2.startDateTime)
+ FROM VesselFeaturesImpl vf2 WHERE
+ vf2.vessel.code = v.code
+ AND (vf2.startDateTime <= :refDate OR :refDate IS NULL)
+ GROUP BY vf2.vessel.code
+ )]]>
+ <query-param name="vesselCode" type="java.lang.String"/>
+ <query-param name="refDate" type="java.util.Date"/>
+ </query>
+
<!-- Get all gears [REF-05] and [REF-06] -->
<query cacheable="true" name="allGears">
<![CDATA[
@@ -210,6 +245,22 @@
]]>
</query>
+ <!-- Get one persons [REF-07] -->
+ <query cacheable="true" name="person">
+ <![CDATA[
+ SELECT DISTINCT
+ p.id,
+ p.firstname,
+ p.lastname,
+ p.department,
+ p.status
+ FROM
+ PersonImpl p
+ WHERE p.id = :personId
+ ]]>
+ <query-param name="personId" type="java.lang.Integer"/>
+ </query>
+
<!-- TODO Fix it! Get all species [REF-08] -->
<query cacheable="true" name="allSpecies">
<![CDATA[
@@ -461,6 +512,9 @@
p.method.name AS methodName,
p.parameter.isAlphanumeric AS isAlphanumeric,
p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
p.unit.symbol AS symbol,
p.status AS status
FROM PmfmImpl p
@@ -481,6 +535,9 @@
p.method.name AS methodName,
p.parameter.isAlphanumeric AS isAlphanumeric,
p.parameter.isQualitative AS isQualitative,
+ p.signifFiguresNumber,
+ p.maximumNumberDecimals,
+ p.precision,
p.unit.symbol AS symbol,
p.status AS status
FROM PmfmImpl p
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -24,11 +24,15 @@
* #L%
*/
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.Program;
+import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
+import java.util.List;
+
/**
* To test operations around {@link Program}.
*
@@ -43,12 +47,18 @@
@Test
public void getAllCruise(/*String programId*/) {
-
+ String programCode = dbResource.getFixtures().programCode();
+ List<Cruise> result = dbResource.getDriver().getAllCruise(programCode);
+ Assert.assertNotNull(result);
+ Assert.assertEquals(1, result.size());
}
@Test
public void getCruise(/*String id*/) {
+ String cruiseId = dbResource.getFixtures().cruiseId();
+ Cruise result = dbResource.getDriver().getCruise(cruiseId);
+ Assert.assertNotNull(result);
}
@Test
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -0,0 +1,42 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+/**
+ * Fixtures for the allegro db.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class DatabaseFixtures {
+
+ public String programCode() {
+ return "CAM-CGFS";
+ }
+
+ public String cruiseId() {
+ return "100000";
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseFixtures.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -60,6 +60,8 @@
protected TuttiPersistence driver;
+ protected DatabaseFixtures fixtures;
+
public TuttiPersistenceAdagioConfig getConfig() {
return config;
}
@@ -68,6 +70,10 @@
return driver;
}
+ public DatabaseFixtures getFixtures() {
+ return fixtures;
+ }
+
@Override
public Statement apply(final Statement base, final Description description) {
@@ -101,6 +107,7 @@
log.info("Prepare test " + testClass);
}
+ fixtures = new DatabaseFixtures();
config = createConfig(testClass, "");
if (log.isDebugEnabled()) {
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -52,7 +52,7 @@
@Test
public void getProgram(/*String id*/) {
- String programCode = "CAM-CGFS";
+ String programCode = dbResource.getFixtures().programCode();
Program actual = dbResource.getDriver().getProgram(programCode);
Assert.assertNotNull(actual);
Assert.assertNotNull(actual.getId());
Modified: trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java
===================================================================
--- trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-persistence-dev/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceDevFixtures.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -235,7 +235,7 @@
Caracteristic ca;
ca = createQualitativeCaracteristic("Vent Beaufort",
- CaracteristicEnum.FishingOperationEnvironment.name());
+ CaracteristicEnum.FishingOperationEnvironment.name());
createCaracteristicQualitativeValue(ca, "Calme");
createCaracteristicQualitativeValue(ca, "Très légère brise");
@@ -247,7 +247,7 @@
createCaracteristicQualitativeValue(ca, "Fort coup de vent");
ca = createQualitativeCaracteristic("État de la mer",
- CaracteristicEnum.FishingOperationEnvironment.name());
+ CaracteristicEnum.FishingOperationEnvironment.name());
createCaracteristicQualitativeValue(ca, "Mer calme");
createCaracteristicQualitativeValue(ca, "Mer agitée");
@@ -269,11 +269,17 @@
CaracteristicEnum.FishingOperationGear.name());
createNumberCaracteristic("Longueur bras",
CaracteristicEnum.FishingOperationGear.name());
- createBooleanCaracteristic("Systeme cul ferme",
- CaracteristicEnum.FishingOperationGear.name());
- createBooleanCaracteristic("Géométrie mesurée",
- CaracteristicEnum.FishingOperationGear.name());
+ ca = createQualitativeCaracteristic("Systeme cul ferme",
+ CaracteristicEnum.FishingOperationGear.name());
+ createCaracteristicQualitativeValue(ca, "Oui");
+ createCaracteristicQualitativeValue(ca, "Non");
+
+ ca = createQualitativeCaracteristic("Géométrie mesurée",
+ CaracteristicEnum.FishingOperationGear.name());
+ createCaracteristicQualitativeValue(ca, "Oui");
+ createCaracteristicQualitativeValue(ca, "Non");
+
createNumberCaracteristic("Température Surface_S",
CaracteristicEnum.FishingOperationHydrologic_surfaceTemperature.name());
createNumberCaracteristic("Température Surface_E",
@@ -372,7 +378,7 @@
createCaracteristicQualitativeValue(ca, "piece");
ca = createQualitativeCaracteristic("MacroWaste Size category",
- CaracteristicEnum.MacroWasteSizeCategory.name());
+ CaracteristicEnum.MacroWasteSizeCategory.name());
createCaracteristicQualitativeValue(ca, "<5*5cm = 25cm²");
createCaracteristicQualitativeValue(ca, "<10*10cm = 100cm²");
createCaracteristicQualitativeValue(ca, "<20*20cm = 400cm²");
@@ -423,16 +429,6 @@
return ca;
}
- protected Caracteristic createBooleanCaracteristic(String name, String category) {
- Caracteristic ca = new Caracteristic();
- ca.setId(UUID.randomUUID().toString());
- ca.setName(name);
- ca.setCategory(category);
- ca.setBooleanType(true);
- cache.put(Caracteristic.class, ca);
- return ca;
- }
-
protected Caracteristic createNumberCaracteristic(String name, String category) {
Caracteristic ca = new Caracteristic();
ca.setId(UUID.randomUUID().toString());
@@ -443,16 +439,6 @@
return ca;
}
- protected Caracteristic createTextCaracteristic(String name, String category) {
- Caracteristic ca = new Caracteristic();
- ca.setId(UUID.randomUUID().toString());
- ca.setName(name);
- ca.setCategory(category);
- ca.setTextType(true);
- cache.put(Caracteristic.class, ca);
- return ca;
- }
-
public <B extends IdAware> List<B> getData(Class<B> entityType) {
List<B> result = (List<B>) cache.get(entityType);
return result;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/HydrologicCaracteristicUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/HydrologicCaracteristicUtil.java 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/HydrologicCaracteristicUtil.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -52,11 +52,12 @@
caracteristic.setId(name);
if (toClone != null) {
caracteristic.setCategory(toClone.getCategory());
- caracteristic.setBooleanType(toClone.isBooleanType());
+ caracteristic.setPrecision(toClone.getPrecision());
+ caracteristic.setMaximumNumberDecimals(toClone.getMaximumNumberDecimals());
+ caracteristic.setSignifFiguresNumber(toClone.getSignifFiguresNumber());
caracteristic.setNumberType(toClone.isNumberType());
caracteristic.setQualitativeType(toClone.isQualitativeType());
caracteristic.setQualitativeValue(toClone.getQualitativeValue());
- caracteristic.setTextType(toClone.isTextType());
caracteristic.setUnit(toClone.getUnit());
}
return caracteristic;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -88,10 +88,7 @@
Caracteristic caracteristic = (Caracteristic) table.getModel().getValueAt(row, caracteristicColumn);
if (caracteristic != null) {
- if (caracteristic.isBooleanType()) {
- editor = table.getDefaultEditor(Boolean.class);
-
- } else if (caracteristic.isNumberType()) {
+ if (caracteristic.isNumberType()) {
NumberCellEditor<Float> editor =
JAXXWidgetUtil.newNumberTableCellEditor(Float.class, false);
editor.getNumberEditor().setSelectAllTextOnError(true);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java 2013-01-10 13:15:31 UTC (rev 164)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueRenderer.java 2013-01-10 13:42:09 UTC (rev 165)
@@ -64,10 +64,7 @@
TableCellRenderer renderer = table.getDefaultRenderer(Object.class);
Caracteristic caracteristic = (Caracteristic) table.getModel().getValueAt(row, caracteristicColumn);
if (caracteristic != null) {
- if (caracteristic.isBooleanType()) {
- renderer = table.getDefaultRenderer(Boolean.class);
-
- } else if (caracteristic.isQualitativeType()) {
+ if (caracteristic.isQualitativeType()) {
renderer = new DecoratorTableCellRenderer(decorator);
}
}
1
0
r164 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing: . content/operation content/operation/fishing/environment content/operation/fishing/gearshooting content/operation/fishing/hydrology util util/editor util/table
by kmorin@users.forge.codelutin.com 10 Jan '13
by kmorin@users.forge.codelutin.com 10 Jan '13
10 Jan '13
Author: kmorin
Date: 2013-01-10 14:15:31 +0100 (Thu, 10 Jan 2013)
New Revision: 164
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/164
Log:
refs #1908 [CONSOLIDATION] Mise en place des deux contextes de validation (pour les captures)
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/AbstractTuttiUIHandler.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -34,31 +34,6 @@
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier;
import fr.ifremer.tutti.ui.swing.util.editor.SimpleTimeEditor;
-import jaxx.runtime.JAXXUtil;
-import jaxx.runtime.SwingUtil;
-import jaxx.runtime.swing.editor.NumberEditor;
-import jaxx.runtime.swing.editor.bean.BeanComboBox;
-import jaxx.runtime.swing.editor.bean.BeanDoubleList;
-import jaxx.runtime.swing.renderer.DecoratorListCellRenderer;
-import jaxx.runtime.validator.swing.SwingValidator;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jdesktop.swingx.JXDatePicker;
-import org.nuiton.util.decorator.Decorator;
-import org.nuiton.util.decorator.JXPathDecorator;
-import org.nuiton.validator.bean.simple.SimpleBeanValidator;
-
-import javax.swing.AbstractAction;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JList;
-import javax.swing.JRootPane;
-import javax.swing.KeyStroke;
-import javax.swing.ListCellRenderer;
-import javax.swing.ListSelectionModel;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.text.JTextComponent;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Frame;
@@ -74,6 +49,30 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import javax.swing.AbstractAction;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JList;
+import javax.swing.JRootPane;
+import javax.swing.KeyStroke;
+import javax.swing.ListCellRenderer;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.text.JTextComponent;
+import jaxx.runtime.JAXXUtil;
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.swing.editor.NumberEditor;
+import jaxx.runtime.swing.editor.bean.BeanComboBox;
+import jaxx.runtime.swing.editor.bean.BeanDoubleList;
+import jaxx.runtime.swing.renderer.DecoratorListCellRenderer;
+import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jdesktop.swingx.JXDatePicker;
+import org.nuiton.util.decorator.Decorator;
+import org.nuiton.util.decorator.JXPathDecorator;
+import org.nuiton.validator.bean.simple.SimpleBeanValidator;
/**
* Contract of any UI handler.
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.css 2013-01-10 13:15:31 UTC (rev 164)
@@ -131,3 +131,13 @@
actionIcon: about;
mnemonic: A;
}
+
+#bottomBar {
+ floatable: false;
+ margin: {new java.awt.Insets(0, 0, 0, 5)};
+ borderPainted: false;
+}
+
+#validatorMessageWidget {
+ focusPainted: false;
+}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUI.jaxx 2013-01-10 13:15:31 UTC (rev 164)
@@ -29,6 +29,8 @@
java.awt.BorderLayout
javax.swing.JFrame
org.jdesktop.swingx.JXTitledPanel
+ jaxx.runtime.validator.swing.SwingValidator
+ fr.ifremer.tutti.ui.swing.util.SwingValidatorMessageWidget
</import>
<TuttiUIContext id='model'
@@ -48,6 +50,14 @@
protected void $afterCompleteSetup() {
getHandler().afterInitUI();
}
+
+ public void registerValidator(SwingValidator validator) {
+ handler.registerValidator(validator);
+ }
+
+ public void clearValidators() {
+ handler.clearValidators();
+ }
]]></script>
@@ -90,6 +100,10 @@
</JMenu>
</JMenuBar>
+ <JToolBar id='bottomBar'>
+ <SwingValidatorMessageWidget id='validatorMessageWidget'/>
+ </JToolBar>
+
<JXTitledPanel id='body' constraints='BorderLayout.CENTER' decorator='boxed'/>
<!-- status message bar -->
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/MainUIHandler.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -45,10 +45,14 @@
import javax.swing.JComponent;
import java.awt.Desktop;
+import java.awt.Insets;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.net.URL;
import java.util.Calendar;
+import javax.swing.JToolBar;
+import jaxx.runtime.validator.swing.SwingValidator;
+import jaxx.runtime.validator.swing.SwingValidatorMessageWidget;
import static org.nuiton.i18n.I18n._;
@@ -94,6 +98,7 @@
}
}
});
+ ui.setContextValue(ui, MainUI.class.getName());
}
@Override
@@ -110,6 +115,9 @@
//SwingUtil.getLayer(ui.getBody()).setUI(new BetaLayerUI());
changeTitle();
+
+ JToolBar bar = ui.getBottomBar();
+ ui.getStatus().addWidget(bar, 0);
TuttiScreen screen;
@@ -271,6 +279,14 @@
ui.getStatus().setStatus(message);
}
+ public void registerValidator(SwingValidator validator) {
+ ui.getValidatorMessageWidget().registerValidator(validator);
+ }
+
+ public void clearValidators() {
+ ui.getValidatorMessageWidget().clearValidators();
+ }
+
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
@@ -357,7 +373,7 @@
// validate catches
screenTitle = _("tutti.title.validate.operations", getSelectedCruiseTitle());
}
- screenUI = new FishingOperationsUI(context);
+ screenUI = new FishingOperationsUI(ui);
break;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUI.jaxx 2013-01-10 13:15:31 UTC (rev 164)
@@ -59,6 +59,7 @@
<script><![CDATA[
public EditFishingOperationUI(FishingOperationsUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
EditFishingOperationUIHandler handler = new EditFishingOperationUIHandler(parentUI, this);
setContextValue(handler);
handler.beforeInitUI();
@@ -361,7 +362,7 @@
<!-- Commentaire -->
<row weighty='0.3'>
- <cell columns='6'>
+ <cell columns='6' fill='both'>
<JScrollPane id='commentPane'
onFocusGained='commentField.requestFocus()'>
<JTextArea id='commentField'
@@ -372,21 +373,18 @@
</Table>
</tab>
- <tab id='traitGearShootingTab'
- title='tutti.label.tab.fishingOperation.gearShooting'>
+ <tab id='traitGearShootingTab'>
<GearShootingTabUI id='gearShootingTabContent'
constructorParams='this'/>
</tab>
- <tab id='environmentTab'
- title='tutti.label.tab.fishingOperation.environment'>
+ <tab id='environmentTab'>
<EnvironmentTabUI id='environmentTabContent' constructorParams='this'/>
</tab>
- <tab id='traitHydrologyTabContent'
- title='tutti.label.tab.fishingOperation.hydrology'>
+ <tab id='traitHydrologyTabContent'>
<HydrologyTabUI id='hydrologyTabContent' constructorParams='this'/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIHandler.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -31,7 +31,9 @@
import fr.ifremer.tutti.persistence.entities.referential.Person;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.MainUI;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentTabUI;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentTabUIModel;
@@ -56,6 +58,7 @@
import java.beans.VetoableChangeListener;
import java.util.List;
import javax.swing.DefaultSingleSelectionModel;
+import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import javax.swing.SingleSelectionModel;
import javax.swing.event.ChangeEvent;
@@ -179,7 +182,7 @@
@Override
public void afterInitUI() {
-
+
ui.getFishingOperationValidPanel().remove(
ui.getFishingOperationResetRadio());
@@ -239,7 +242,7 @@
changeValidatorContext(model.getValidationContext(), ui.getValidator());
listenValidatorValid(ui.getValidator(), model);
- JTabbedPane tabPanel = ui.getFishingOperationTabPane();
+ final JTabbedPane tabPanel = ui.getFishingOperationTabPane();
tabPanel.setTabComponentAt(0, new CustomTab(model));
listModelIsModify(model);
@@ -247,44 +250,60 @@
GearShootingTabUIModel gearShootingModel =
ui.getGearShootingTabContent().getModel();
gearShootingModel.setAvailableCaracteristics(persistenceService.getAllFishingOperationGearCaracteristic());
-// tabPanel.setTabComponentAt(1, new CustomTab(gearShootingModel));
+ tabPanel.setTabComponentAt(1, new CustomTab(gearShootingModel));
//init environment
EnvironmentTabUIModel environmentModel =
ui.getEnvironmentTabContent().getModel();
environmentModel.setAvailableCaracteristics(persistenceService.getAllFishingOperationEnvironmentCaracteristic());
-// tabPanel.setTabComponentAt(2, new CustomTab(environmentModel));
+ tabPanel.setTabComponentAt(2, new CustomTab(environmentModel));
//init hydrology
HydrologyTabUIModel hydrologyModel = ui.getHydrologyTabContent().getModel();
hydrologyModel.setAvailableCaracteristics(persistenceService.getAllFishingOperationHydrologicCaracteristic());
-// tabPanel.setTabComponentAt(3, new CustomTab(hydrologyModel));
+ tabPanel.setTabComponentAt(3, new CustomTab(hydrologyModel));
tabPanel.setModel(new DefaultSingleSelectionModel() {
@Override
public void setSelectedIndex(int index) {
- EditFishingOperationUIModel model = getModel();
-
- if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(model.getValidationContext())
- || model.isEmpty() || model.isValid()) {
- if (model.isModify()) {
- save();
+ int currentIndex = tabPanel.getSelectedIndex();
+ if (currentIndex < 0) {
+ super.setSelectedIndex(index);
+
+ } else {
+ CustomTab currentTab = (CustomTab) tabPanel.getTabComponentAt(currentIndex);
+ AbstractTuttiBeanUIModel model = currentTab.getModel();
+
+ if (TuttiUIContext.VALIDATION_CONTEXT_EDIT.equals(getModel().getValidationContext())
+ || model.isValid()) {
+ if (!model.isCreate() && model.isModify()) {
+ save();
+ }
+ super.setSelectedIndex(index);
}
- super.setSelectedIndex(index);
}
}
});
+
+ MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
+ main.clearValidators();
+ main.registerValidator(ui.getValidator());
+
}
-
+
+
@Override
public void onCloseUI() {
if (log.isInfoEnabled()) {
log.info("closing: " + ui);
}
-
+
+ MainUI main = ui.getContextValue(MainUI.class, MainUI.class.getName());
+ main.clearValidators();
+
closeUI(ui.getGearShootingTabContent());
closeUI(ui.getEnvironmentTabContent());
closeUI(ui.getHydrologyTabContent());
@@ -310,7 +329,6 @@
EditFishingOperationUIModel model = getModel();
if (empty) {
-
bean = new FishingOperation();
}
@@ -423,8 +441,8 @@
getModel().setModify(false);
// persist current fishingOperation
- persistenceService.saveFishingOperation(toSave);
- //parentUi.getHandler().saveFishingOperation(toSave);
+// persistenceService.saveFishingOperation(toSave);
+ parentUi.getHandler().saveFishingOperation(toSave);
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUI.jaxx 2013-01-10 13:15:31 UTC (rev 164)
@@ -27,6 +27,7 @@
<import>
fr.ifremer.tutti.persistence.entities.data.FishingOperation
+ fr.ifremer.tutti.ui.swing.TuttiUI
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI
@@ -36,8 +37,9 @@
</import>
<script><![CDATA[
-public FishingOperationsUI(TuttiUIContext context) {
- FishingOperationsUIHandler handler = new FishingOperationsUIHandler(context, this);
+public FishingOperationsUI(TuttiUI parentUI) {
+ JAXXUtil.initContext(this, parentUI);
+ FishingOperationsUIHandler handler = new FishingOperationsUIHandler(parentUI, this);
setContextValue(handler);
handler.beforeInitUI();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -30,7 +30,8 @@
import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.AbstractTuttiUIHandler;
-import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.MainUI;
+import fr.ifremer.tutti.ui.swing.TuttiUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.commons.logging.Log;
@@ -60,9 +61,9 @@
private final PersistenceService persistenceService;
- public FishingOperationsUIHandler(TuttiUIContext context,
+ public FishingOperationsUIHandler(TuttiUI parentUI,
FishingOperationsUI ui) {
- super(context);
+ super(parentUI.getHandler().getContext());
this.ui = ui;
persistenceService = context.getService(PersistenceService.class);
}
@@ -156,6 +157,9 @@
// when quitting ui, let's de-select fishingOperation (will save any changes)
selectFishingOperation(null);
+
+ closeUI(ui.getFishingOperationTabContent());
+ closeUI(ui.getCatchesTabContent());
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIHandler.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -35,7 +35,6 @@
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow;
import java.util.Collection;
import java.util.List;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
@@ -94,6 +93,7 @@
Object oldValue,
Object newValue) {
recomputeRowValidState(row);
+ super.onRowModified(rowIndex, row, propertyName, oldValue, newValue);
}
@Override
@@ -117,6 +117,7 @@
// clear modified flag on the monitor
rowMonitor.clearModified();
+ getModel().setModify(false);
}
}
}
@@ -209,6 +210,10 @@
keyCombo.removeItem(selectedItem);
selectFirstInCombo(keyCombo);
+
+ EnvironmentTabUIModel model = getModel();
+ model.setModify(true);
+ model.setValid(row.isValid());
}
/** Resets the table with the data from the database */
@@ -244,6 +249,7 @@
ui.getNewRowKey().setData(caracteristicList);
selectFirstInCombo(ui.getNewRowKey());
+ model.setModify(false);
}
public void removeCaracteristic() {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/environment/EnvironmentTabUIModel.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -43,6 +43,8 @@
private static final long serialVersionUID = 1L;
+ public static final String TITLE = "tutti.label.tab.fishingOperation.environment";
+
public static final String PROPERTY_REMOVE_CARACTERISTIC_ENABLED = "removeCaracteristicEnabled";
protected List<Caracteristic> availableCaracteristics;
@@ -70,6 +72,11 @@
public EnvironmentTabUIModel() {
super(FishingOperation.class, fromBeanBinder, toBeanBinder);
}
+
+ @Override
+ public String getTitle() {
+ return TITLE;
+ }
public List<Caracteristic> getAvailableCaracteristics() {
return availableCaracteristics;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIHandler.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -29,18 +29,12 @@
import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
-import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
-import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI;
-import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel;
-import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel;
-import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentRowModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -48,7 +42,6 @@
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
/**
@@ -101,6 +94,7 @@
Object oldValue,
Object newValue) {
recomputeRowValidState(row);
+ super.onRowModified(rowIndex, row, propertyName, oldValue, newValue);
}
@Override
@@ -125,6 +119,7 @@
// clear modified flag on the monitor
rowMonitor.clearModified();
+ getModel().setModify(false);
}
}
}
@@ -219,6 +214,10 @@
keyCombo.removeItem(selectedItem);
selectFirstInCombo(keyCombo);
+
+ GearShootingTabUIModel model = getModel();
+ model.setModify(true);
+ model.setValid(row.isValid());
}
/** Resets the table with the data from the database */
@@ -253,6 +252,7 @@
ui.getNewRowKey().setData(caracteristicList);
selectFirstInCombo(ui.getNewRowKey());
+ model.setModify(false);
}
public void removeCaracteristic() {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/gearshooting/GearShootingTabUIModel.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -49,6 +49,8 @@
private static final Log log = LogFactory.getLog(GearShootingTabUIModel.class);
+ public static final String TITLE = "tutti.label.tab.fishingOperation.gearShooting";
+
public static final String PROPERTY_REMOVE_CARACTERISTIC_ENABLED = "removeCaracteristicEnabled";
protected List<Caracteristic> availableCaracteristics;
@@ -77,6 +79,11 @@
super(FishingOperation.class, fromBeanBinder, toBeanBinder);
}
+ @Override
+ public String getTitle() {
+ return TITLE;
+ }
+
public List<Caracteristic> getAvailableCaracteristics() {
return availableCaracteristics;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIHandler.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -32,15 +32,12 @@
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI;
-import fr.ifremer.tutti.ui.swing.content.operation.fishing.environment.EnvironmentRowModel;
-import fr.ifremer.tutti.ui.swing.content.operation.fishing.gearshooting.GearShootingRowModel;
import fr.ifremer.tutti.ui.swing.util.HydrologicCaracteristicUtil;
import fr.ifremer.tutti.ui.swing.util.HydrologicCaracteristicUtil.Type;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueEditor;
import fr.ifremer.tutti.ui.swing.util.editor.CaracteristicValueRenderer;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
-import fr.ifremer.tutti.ui.swing.util.table.CaracteristicRow;
import jaxx.runtime.swing.editor.bean.BeanComboBox;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -113,6 +110,7 @@
Object oldValue,
Object newValue) {
recomputeRowValidState(row);
+ super.onRowModified(rowIndex, row, propertyName, oldValue, newValue);
}
@Override
@@ -137,6 +135,7 @@
// clear modified flag on the monitor
rowMonitor.clearModified();
+ getModel().setModify(false);
}
}
}
@@ -267,6 +266,10 @@
keyCombo.removeItem(selectedItem);
selectFirstInCombo(keyCombo);
+
+ HydrologyTabUIModel model = getModel();
+ model.setModify(true);
+ model.setValid(row.isValid());
}
/** Resets the table with the data from the database */
@@ -311,6 +314,7 @@
ui.getNewRowKey().setData(caracteristicList);
selectFirstInCombo(ui.getNewRowKey());
+ model.setModify(false);
}
public void removeCaracteristic() {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIModel.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/fishing/hydrology/HydrologyTabUIModel.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -44,6 +44,8 @@
private static final long serialVersionUID = 1L;
+ public static final String TITLE = "tutti.label.tab.fishingOperation.hydrology";
+
public static final String PROPERTY_REMOVE_CARACTERISTIC_ENABLED = "removeCaracteristicEnabled";
public static final String PROPERTY_AVAILABLE_CARACTERISTICS = "availableCaracteristics";
@@ -73,6 +75,11 @@
public HydrologyTabUIModel() {
super(FishingOperation.class, fromBeanBinder, toBeanBinder);
}
+
+ @Override
+ public String getTitle() {
+ return TITLE;
+ }
public List<Caracteristic> getAvailableCaracteristics() {
return availableCaracteristics;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -59,12 +59,10 @@
this.model.addPropertyChangeListener(AbstractTuttiBeanUIModel.PROPERTY_MODIFY, new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
- log.info(">>>>>>>> model modified ? evt " + evt.getNewValue());
- log.info(">>>>>>>> model modified ? model " + CustomTab.this.model.isModify());
Boolean modified = (Boolean) evt.getNewValue();
String title = _(CustomTab.this.model.getTitle());
if (modified) {
- title += "*";
+ title = "<html><strong>" + title + "*</strong></html>";
}
CustomTab.this.title.setText(title);
}
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/SwingValidatorMessageWidget.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -0,0 +1,109 @@
+
+package fr.ifremer.tutti.ui.swing.util;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import javax.swing.AbstractAction;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JRootPane;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.JToggleButton;
+import javax.swing.KeyStroke;
+import javax.swing.ListSelectionModel;
+import jaxx.runtime.SwingUtil;
+import jaxx.runtime.validator.swing.SwingValidator;
+import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel;
+import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer;
+import jaxx.runtime.validator.swing.SwingValidatorUtil;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Button which opens a popup containing a table with the errors found
+ * by registered validators.
+ *
+ * @author kmorin <kmorin(a)codelutin.com>
+ * @since 2.5.10
+ */
+public class SwingValidatorMessageWidget extends JToggleButton {
+
+ private static final Log log = LogFactory.getLog(SwingValidatorMessageWidget.class);
+
+ protected SwingValidatorMessageTableModel errorTableModel = new SwingValidatorMessageTableModel();
+
+ protected JDialog popup = new JDialog();
+
+ protected JTable errorTable = new JTable();
+
+ public SwingValidatorMessageWidget() {
+ super(SwingUtil.createActionIcon("table-error"));
+
+ errorTable.setModel(errorTableModel);
+ errorTable.setRowSelectionAllowed(true);
+ errorTable.setAutoCreateRowSorter(true);
+ errorTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
+ errorTable.setCellSelectionEnabled(false);
+ errorTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ errorTable.setFillsViewportHeight(true);
+
+ SwingValidatorUtil.installUI(errorTable,
+ new SwingValidatorMessageTableRenderer());
+
+ JScrollPane scrollPanel = new JScrollPane(errorTable);
+ scrollPanel.setColumnHeaderView(errorTable.getTableHeader());
+ popup.add(scrollPanel);
+ popup.setSize(800, 300);
+
+ addActionListener(new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if(isSelected()) {
+ popup.setVisible(true);
+ } else {
+ popup.dispose();
+ }
+ }
+ });
+ popup.addWindowListener(new WindowAdapter() {
+
+ @Override
+ public void windowClosing(WindowEvent e) {
+ setSelected(false);
+ }
+
+ });
+
+ // add a auto-close action
+ JRootPane rootPane = popup.getRootPane();
+
+ KeyStroke shortcutClosePopup = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
+
+ rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
+ shortcutClosePopup, "close");
+ rootPane.getActionMap().put("close", new AbstractAction() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ popup.dispose();
+ setSelected(false);
+ }
+ });
+ }
+
+ public void registerValidator(SwingValidator validator) {
+ errorTableModel.registerValidator(validator);
+ }
+
+ public void clearValidators() {
+ errorTableModel.clearValidators();
+ errorTableModel.clear();
+ }
+
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/CaracteristicValueEditor.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -46,6 +46,8 @@
import java.awt.Color;
import java.awt.Component;
import java.util.List;
+import javax.swing.event.CellEditorListener;
+import javax.swing.event.ChangeEvent;
/**
* Editor for the values of the caracteristics of the fishing operations.
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-01-10 09:10:19 UTC (rev 163)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-01-10 13:15:31 UTC (rev 164)
@@ -121,11 +121,13 @@
* @param newValue new value of the modified property
* @since 0.3
*/
- protected abstract void onRowModified(int rowIndex,
+ protected void onRowModified(int rowIndex,
R row,
String propertyName,
Object oldValue,
- Object newValue);
+ Object newValue) {
+ getModel().setModify(true);
+ }
/**
* Given the row monitor and his monitored row, try to save it if required.
@@ -617,6 +619,7 @@
// apply it to row
row.setValid(valid);
+ getModel().setValid(valid);
}
//------------------------------------------------------------------------//
1
0
r163 - in trunk: . tutti-persistence/src/main/xmi tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence tutti-persistence-adagio/src/main/resources tutti-persistence-adagio/src/test tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence
by tchemit@users.forge.codelutin.com 10 Jan '13
by tchemit@users.forge.codelutin.com 10 Jan '13
10 Jan '13
Author: tchemit
Date: 2013-01-10 10:10:19 +0100 (Thu, 10 Jan 2013)
New Revision: 163
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/163
Log:
refs #1807: [Persistence] Adagio r?\195?\169f?\195?\169rentiel
refs #1809: [Persistence] Adagio Donn?\195?\169es th?\195?\169matiques
Added:
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/AccidentalBatchTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BenthosBatchTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/FishingOperationTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/MacroWasteBatchTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/PlanktonBatchTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProtocolTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/SpeciesBatchTest.java
Removed:
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BaseDaoTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramDaoTest.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/TestUtil.java
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImplTest.java
Modified:
trunk/pom.xml
trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java
trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java
trunk/tutti-persistence-adagio/src/test/server.properties
trunk/tutti-persistence-adagio/src/test/startServer.sh
trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/pom.xml 2013-01-10 09:10:19 UTC (rev 163)
@@ -124,7 +124,7 @@
<h2Version>1.3.168</h2Version>
<postgresqlVersion>9.1-901-1.jdbc4</postgresqlVersion>
- <jaxxVersion>2.5.9</jaxxVersion>
+ <jaxxVersion>2.5.10-SNAPSHOT</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.7</xworkVersion>
Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
===================================================================
(Binary files differ)
Modified: trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java
===================================================================
--- trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/tutti-persistence-adagio/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImpl.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -26,6 +26,7 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
+import fr.ifremer.adagio.core.dao.administration.programStrategy.ProgramDao;
import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
import fr.ifremer.tutti.persistence.entities.data.BenthosBatch;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
@@ -53,9 +54,11 @@
import org.hibernate.SessionFactory;
import org.hibernate.type.DateType;
import org.hibernate.type.IntegerType;
+import org.hibernate.type.StringType;
import org.hibernate.type.Type;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.io.IOException;
import java.util.Date;
import java.util.Iterator;
@@ -81,6 +84,9 @@
*/
protected SessionFactory sessionFactory;
+ @Resource(name = "programDao")
+ protected ProgramDao programDao;
+
protected Properties enumerations;
public void setSessionFactory(SessionFactory sessionFactory) {
@@ -454,12 +460,48 @@
@Override
public List<Program> getAllProgram() {
- throw new UnsupportedOperationException();
+ Iterator<Object[]> list = queryList("allPrograms");
+
+ List<Program> result = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] source = list.next();
+ Program target = new Program();
+ target.setId((String) source[0]);
+ target.setName((String) source[1]);
+ result.add(target);
+ }
+ return result;
}
@Override
public Program getProgram(String id) {
- throw new UnsupportedOperationException();
+ Object[] source = queryUnique(
+ "program",
+ "programCode", StringType.INSTANCE, id);
+
+ Program result = new Program();
+ result.setId((String) source[0]);
+ result.setName((String) source[1]);
+
+ // get program locations
+ Iterator<Object[]> list = queryList(
+ "allProgramLocations",
+ "programCode", StringType.INSTANCE, id);
+
+ List<Zone> zones = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] zoneSource = list.next();
+ Zone target = new Zone();
+ target.setId(String.valueOf(zoneSource[0]));
+ target.setLabel((String) zoneSource[1]);
+ target.setName((String) zoneSource[2]);
+ zones.add(target);
+ }
+ if (!zones.isEmpty()) {
+ result.setZone(zones.get(0));
+ }
+
+ return result;
}
@Override
@@ -478,12 +520,50 @@
@Override
public List<Cruise> getAllCruise(String programId) {
- throw new UnsupportedOperationException();
+ Iterator<Object[]> list = queryList(
+ "allCruises",
+ "programCode", StringType.INSTANCE, programId);
+
+ List<Cruise> result = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] source = list.next();
+ Cruise target = new Cruise();
+ target.setId((String) source[0]);
+ target.setName((String) source[1]);
+ target.setBeginDate((Date) source[2]);
+ result.add(target);
+ }
+ return result;
}
@Override
public Cruise getCruise(String id) {
- throw new UnsupportedOperationException();
+ Object[] source = queryUnique(
+ "cruise",
+ "cruiseId", StringType.INSTANCE, id);
+
+ Cruise result = new Cruise();
+ result.setId((String) source[0]);
+ result.setName((String) source[1]);
+
+ // get secondary gears
+ Iterator<Object[]> list = queryList(
+ "allCruiseSecondaryGears",
+ "cruiseId", StringType.INSTANCE, id);
+
+ List<Gear> gears = Lists.newArrayList();
+ while (list.hasNext()) {
+ Object[] zoneSource = list.next();
+ Gear target = new Gear();
+ target.setId((String) zoneSource[0]);
+ target.setLabel((String) zoneSource[1]);
+ target.setName((String) zoneSource[2]);
+ gears.add(target);
+ }
+ result.setGear(gears);
+
+
+ return result;
}
@Override
Modified: trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/tutti-persistence-adagio/src/main/resources/queries-override.hbm.xml 2013-01-10 09:10:19 UTC (rev 163)
@@ -31,6 +31,87 @@
<!--TODO Create fetch profile to avoid eager loading -->
<!--</fetch-profile>-->
+ <!-- Get all programs (to list with no detail) [DAT-01] -->
+ <query cacheable="true" name="allPrograms">
+ <![CDATA[
+ SELECT
+ p.code,
+ p.name
+ FROM ProgramImpl p
+ WHERE p.code LIKE 'CAM-%'
+ ]]>
+ </query>
+
+ <!-- Get all cruises for a given program (to list with no detail) [DAT-02] -->
+ <query cacheable="true" name="allCruises">
+ <![CDATA[
+ SELECT
+ c.id,
+ c.name,
+ c.departureDateTime
+ FROM ScientificCruiseImpl c
+ WHERE c.program.code = :programCode
+ ORDER BY c.departureDateTime desc
+ ]]>
+ <query-param name="programCode" type="java.lang.String"/>
+ </query>
+
+ <!-- Get a detail program [DAT-03] -->
+ <query cacheable="true" name="program">
+ <![CDATA[
+ SELECT
+ p.code,
+ p.name,
+ p.description
+ FROM ProgramImpl p
+ WHERE p.code = :programCode
+ ]]>
+ <query-param name="programCode" type="java.lang.String"/>
+ </query>
+
+ <!-- Get a program locations [DAT-03-1] -->
+ <query cacheable="true" name="allProgramLocations">
+ <![CDATA[
+ SELECT
+ l.id,
+ l.label,
+ l.name
+ FROM ProgramImpl p
+ LEFT OUTER JOIN p.locations l
+ WHERE p.code = :programCode
+ ]]>
+ <query-param name="programCode" type="java.lang.String"/>
+ </query>
+
+ <!-- Get a detail cruise [DAT-04] -->
+ <query cacheable="true" name="cruise">
+ <![CDATA[
+ select
+ sc.program.code as programCode,
+ year(sc.departureDateTime) as year,
+ -- partialSerie - pas stockée sous H2 ??
+ sc.name,
+ lh.locationHierarchyPk.parent.label as countryLabel,
+ lh.locationHierarchyPk.parent.name as countryName,
+ sc.departureDateTime,
+ sc.returnDateTime,
+ sc.vessel.code as vesselCode,
+ mp.lastname as managerLastname,
+ mp.firstname as managerFirstName,
+ coalesce(sc.comments, ft.comments) as comments
+from
+ ScientificCruiseImpl sc
+ left outer join sc.fishingTrips ft
+ left outer join sc.managerPerson mp,
+ LocationHierarchyImpl lh
+where 1=1
+ and sc.id = 100000 -- :scientificCruiseId
+ and lh.locationHierarchyPk.location.id = ft.departureLocation.id
+ and lh.locationHierarchyPk.parent.locationLevel.id = 21 -- locationLevel=Pays ISO 3
+ ]]>
+ <query-param name="programCode" type="java.lang.String"/>
+ </query>
+
<!-- Get all program zones [REF-01] -->
<query cacheable="true" name="allProgramZones">
<![CDATA[
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/AccidentalBatchTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/AccidentalBatchTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/AccidentalBatchTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,67 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * To test operations around {@link Program}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Ignore
+public class AccidentalBatchTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllAccidentalBatch(/*String fishingOperationId*/) {
+
+ }
+
+ @Test
+ public void getAccidentalBatch(/*String id*/) {
+
+ }
+
+ @Test
+ public void createAccidentalBatch(/*AccidentalBatch bean*/) {
+
+ }
+
+ @Test
+ public void saveAccidentalBatch(/*AccidentalBatch bean*/) {
+
+ }
+
+ @Test
+ public void deleteAccidentalBatch(/*String id*/) {
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/AccidentalBatchTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BaseDaoTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BaseDaoTest.java 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BaseDaoTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -1,112 +0,0 @@
-package fr.ifremer.tutti.persistence;
-
-/*
- * #%L
- * Tutti :: Persistence Adagio (impl)
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfig;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hibernate.SessionFactory;
-import org.hibernate.classic.Session;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.rules.TestName;
-import org.springframework.context.ApplicationContext;
-
-//(a)RunWith(SpringJUnit4ClassRunner.class)
-// Skip bean definition for services, in the Spring context for DAO unit testing
-// This is need to increase test execution
-//@ContextConfiguration(locations = {"classpath:applicationContext-conf.xml",
-// "classpath:applicationContext-dataSource-local.xml",
-// "classpath:applicationContext-entities.xml"})
-//@TransactionConfiguration(transactionManager = "transactionManager")
-//@Transactional
-public abstract class BaseDaoTest {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(BaseDaoTest.class);
-
- // @Resource
- private SessionFactory sessionFactory;
-
- private Session session;
-
- @Rule
- public TestName name = new TestName();
-
- protected TuttiPersistenceAdagioConfig config;
-
- @BeforeClass
- public static void beforeClass() {
-
- TestUtil.checkDbExists();
- }
-
- @Before
- public void setUp() throws Exception {
-
- config = TestUtil.createConfig(getClass(), name.getMethodName());
-
- if (log.isDebugEnabled()) {
- log.debug("Use conf.properties at " + config.getDbConfigurationPath());
- }
-
- ApplicationContext context = TestUtil.createSpringContext();
-
- sessionFactory = (SessionFactory) context.getBean("sessionFactory");
- }
-
- @After
- public void tearDown() throws Exception {
-
- TestUtil.resetClassLoader();
-
- // close hibernate session if was used
- try {
- if (session != null) {
- session.close();
- }
- } finally {
-
- // close session factory
- sessionFactory.close();
- }
-
- }
-
- protected Session getSession() {
- if (session == null) {
- session = sessionFactory.openSession();
- }
- return session;
- }
-
- protected SessionFactory getSessionFactory() {
- return sessionFactory;
- }
-
-
-}
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BenthosBatchTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BenthosBatchTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BenthosBatchTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,67 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * To test operations around {@link Program}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Ignore
+public class BenthosBatchTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllBenthosBatch(/*String fishingOperationId*/) {
+
+ }
+
+ @Test
+ public void getBenthosBatch(/*String id*/) {
+
+ }
+
+ @Test
+ public void createBenthosBatch(/*BenthosBatch bean*/) {
+
+ }
+
+ @Test
+ public void saveBenthosBatch(/*BenthosBatch bean*/) {
+
+ }
+
+ @Test
+ public void deleteBenthosBatch(/*String id*/) {
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/BenthosBatchTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,63 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * To test operations around {@link Program}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Ignore
+public class CruiseTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllCruise(/*String programId*/) {
+
+ }
+
+ @Test
+ public void getCruise(/*String id*/) {
+
+ }
+
+ @Test
+ public void createCruise(/*Cruise bean*/) {
+
+ }
+
+ @Test
+ public void saveCruise(/*Cruise bean*/) {
+
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/CruiseTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,190 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfig;
+import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfigOption;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assume;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ArgumentsParserException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * To box the persistence service as a test resource.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class DatabaseResource implements TestRule {
+
+ /** Logger. */
+ private static final Log log = LogFactory.getLog(DatabaseResource.class);
+
+ public static long BUILD_TIMESTAMP = System.nanoTime();
+
+ private static ClassLoader oldClassLoader;
+
+ protected TuttiPersistenceAdagioConfig config;
+
+ protected TuttiPersistence driver;
+
+ public TuttiPersistenceAdagioConfig getConfig() {
+ return config;
+ }
+
+ public TuttiPersistence getDriver() {
+ return driver;
+ }
+
+ @Override
+ public Statement apply(final Statement base, final Description description) {
+
+ return new Statement() {
+ @Override
+ public void evaluate() throws Throwable {
+ before(description);
+ try {
+ base.evaluate();
+ } finally {
+ after(description);
+ }
+ }
+ };
+ }
+
+ protected void before(Description description) throws Throwable {
+ Class<?> testClass = description.getTestClass();
+
+ File db = new File("src/test/db");
+ if (!db.exists()) {
+
+ if (log.isWarnEnabled()) {
+ log.warn("Could not find db at " + db + ", test [" +
+ testClass + "] is skipped.");
+ }
+ Assume.assumeTrue(false);
+ }
+
+ if (log.isInfoEnabled()) {
+ log.info("Prepare test " + testClass);
+ }
+
+ config = createConfig(testClass, "");
+
+ if (log.isDebugEnabled()) {
+ log.debug("Use conf.properties at " + config.getDbConfigurationPath());
+ }
+ ApplicationContext context = new ClassPathXmlApplicationContext(
+ "applicationContext-conf.xml",
+ "applicationContext-dataSource-local.xml",
+ "applicationContext-entities.xml",
+ "applicationContext-service-tutti.xml");
+
+ driver = (TuttiPersistence) context.getBean("adagioPersistenceService");
+
+ driver.setEnumerations(config.getDbEnumerations());
+
+ driver.open();
+ }
+
+ protected void after(Description description) throws IOException {
+ Class<?> testClass = description.getTestClass();
+ if (log.isInfoEnabled()) {
+ log.info("After test " + testClass);
+ }
+ // push back old classLoader
+ if (oldClassLoader != null) {
+ Thread.currentThread().setContextClassLoader(oldClassLoader);
+ }
+
+ // close hibernate session if was used
+ if (driver != null) {
+ driver.close();
+ }
+ }
+
+
+ public static TuttiPersistenceAdagioConfig createConfig(Class<?> testClass,
+ String name) throws ArgumentsParserException, IOException {
+
+ File resourceDirectory = getTestSpecificDirectory(testClass, name);
+
+ RessourceClassLoader loader =
+ new RessourceClassLoader(testClass.getClassLoader());
+
+ oldClassLoader = Thread.currentThread().getContextClassLoader();
+ Thread.currentThread().setContextClassLoader(loader);
+
+ ApplicationConfig applicationConfig =
+ new ApplicationConfig("tutti-test.properties");
+ applicationConfig.loadDefaultOptions(
+ TuttiPersistenceAdagioConfigOption.values());
+ applicationConfig.setDefaultOption("tutti.data.directory",
+ resourceDirectory.getAbsolutePath());
+ applicationConfig.parse();
+
+ TuttiPersistenceAdagioConfig result =
+ new TuttiPersistenceAdagioConfig(applicationConfig);
+
+ result.initConfig(loader);
+ return result;
+ }
+
+ public static File getTestSpecificDirectory(Class<?> testClass,
+ String name) throws IOException {
+ // Trying to look for the temporary folder to store data for the test
+ String tempDirPath = System.getProperty("java.io.tmpdir");
+ if (tempDirPath == null) {
+ // can this really occur ?
+ tempDirPath = "";
+ if (log.isWarnEnabled()) {
+ log.warn("'\"java.io.tmpdir\" not defined");
+ }
+ }
+ File tempDirFile = new File(tempDirPath);
+
+ // create the directory to store database data
+ String dataBasePath = testClass.getName()
+ + File.separator // a directory with the test class name
+ + name // a sub-directory with the method name
+ + '_'
+ + BUILD_TIMESTAMP; // and a timestamp
+ File databaseFile = new File(tempDirFile, dataBasePath);
+ FileUtils.forceMkdir(databaseFile);
+
+ return databaseFile;
+ }
+
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/DatabaseResource.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/FishingOperationTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/FishingOperationTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/FishingOperationTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,63 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * To test operations around {@link FishingOperation}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Ignore
+public class FishingOperationTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllFishingOperation(/*String cruiseId*/) {
+
+ }
+
+ @Test
+ public void getFishingOperation(/*String id*/) {
+
+ }
+
+ @Test
+ public void createFishingOperation(/*FishingOperation bean*/) {
+
+ }
+
+ @Test
+ public void saveFishingOperation(/*FishingOperation bean*/) {
+
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/FishingOperationTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/MacroWasteBatchTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/MacroWasteBatchTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/MacroWasteBatchTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,67 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * To test operations around {@link Program}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Ignore
+public class MacroWasteBatchTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllMacroWasteBatch(/*String fishingOperationId*/) {
+
+ }
+
+ @Test
+ public void getMacroWasteBatch(/*String id*/) {
+
+ }
+
+ @Test
+ public void createMacroWasteBatch(/*MacroWasteBatch bean*/) {
+
+ }
+
+ @Test
+ public void saveMacroWasteBatch(/*MacroWasteBatch bean*/) {
+
+ }
+
+ @Test
+ public void deleteMacroWasteBatch(/*String id*/) {
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/MacroWasteBatchTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/PlanktonBatchTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/PlanktonBatchTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/PlanktonBatchTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,67 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * To test operations around {@link Program}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Ignore
+public class PlanktonBatchTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllPlanktonBatch(/*String fishingOperationId*/) {
+
+ }
+
+ @Test
+ public void getPlanktonBatch(/*String id*/) {
+
+ }
+
+ @Test
+ public void createPlanktonBatch(/*PlanktonBatch bean*/) {
+
+ }
+
+ @Test
+ public void savePlanktonBatch(/*PlanktonBatch bean*/) {
+
+ }
+
+ @Test
+ public void deletePlanktonBatch(/*String id*/) {
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/PlanktonBatchTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramDaoTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramDaoTest.java 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramDaoTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -1,67 +0,0 @@
-package fr.ifremer.tutti.persistence;
-
-/*
- * #%L
- * Tutti :: Persistence Adagio (impl)
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import fr.ifremer.adagio.core.dao.administration.programStrategy.Program;
-import fr.ifremer.adagio.core.dao.administration.programStrategy.ProgramDao;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hibernate.Query;
-import org.hibernate.classic.Session;
-import org.junit.Assert;
-import org.junit.Test;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-
-public class ProgramDaoTest extends BaseDaoTest {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(ProgramDaoTest.class);
-
- @Resource(name = "programDao")
- private ProgramDao dao;
-
- @Test
- public void getAllProgramFromHibernate() {
- Session sess = getSession();
- Query query = sess.createQuery("from ProgramImpl");
- List actual = query.list();
- Assert.assertNotNull(actual);
-
- if (log.isInfoEnabled()) {
- log.info("Nb program: " + actual.size());
- }
- }
-
- public void getProgram() {
- String programCode = "OTB";
- Program actual = dao.load(programCode);
- Assert.assertNotNull(actual);
- Assert.assertEquals(programCode, actual.getCode());
- }
-
-}
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,75 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import org.junit.Assert;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import java.util.List;
+
+/**
+ * To test operations around {@link Program}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+public class ProgramTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllProgram() {
+ List<Program> result = dbResource.getDriver().getAllProgram();
+ Assert.assertNotNull(result);
+ Assert.assertEquals(1, result.size());
+ }
+
+ @Test
+ public void getProgram(/*String id*/) {
+ String programCode = "CAM-CGFS";
+ Program actual = dbResource.getDriver().getProgram(programCode);
+ Assert.assertNotNull(actual);
+ Assert.assertNotNull(actual.getId());
+ Assert.assertNotNull(actual.getName());
+ Assert.assertNotNull(actual.getZone());
+ Assert.assertEquals(programCode, actual.getId());
+ }
+
+ @Test
+ @Ignore
+ public void createProgram(/*Program bean*/) {
+
+ }
+
+ @Test
+ @Ignore
+ public void saveProgram(/*Program bean*/) {
+
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProgramTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProtocolTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProtocolTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProtocolTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,63 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * To test operations around {@link TuttiProtocol}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Ignore
+public class ProtocolTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllProtocol() {
+
+ }
+
+ @Test
+ public void getProtocol(/*String id*/) {
+
+ }
+
+ @Test
+ public void createProtocol(/*TuttiProtocol bean*/) {
+
+ }
+
+ @Test
+ public void saveProtocol(/*TuttiProtocol bean*/) {
+
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ProtocolTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -1,6 +1,30 @@
package fr.ifremer.tutti.persistence;
-import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfig;
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Country;
import fr.ifremer.tutti.persistence.entities.referential.Gear;
@@ -8,17 +32,11 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.persistence.entities.referential.Zone;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.AfterClass;
import org.junit.Assert;
-import org.junit.BeforeClass;
+import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
-import org.nuiton.util.ArgumentsParserException;
-import org.springframework.context.ApplicationContext;
-import java.io.IOException;
import java.util.List;
/**
@@ -29,61 +47,28 @@
*/
public class ReferentialTest {
- /** Logger. */
- private static final Log log = LogFactory.getLog(ReferentialTest.class);
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
- protected static TuttiPersistenceAdagioConfig config;
- protected static TuttiPersistence driver;
- @BeforeClass
- public static void beforeClass() throws IOException, ArgumentsParserException {
-
- TestUtil.checkDbExists();
-
- config = TestUtil.createConfig(ReferentialTest.class, "");
-
- if (log.isDebugEnabled()) {
- log.debug("Use conf.properties at " + config.getDbConfigurationPath());
- }
- ApplicationContext context = TestUtil.createSpringContext();
-
- driver = (TuttiPersistence) context.getBean("adagioPersistenceService");
-
- driver.setEnumerations(config.getDbEnumerations());
-
- driver.open();
- }
-
- @AfterClass
- public static void afterClass() throws Exception {
-
- // push back old classLoader
- TestUtil.resetClassLoader();
-
- // close hibernate session if was used
- if (driver != null) {
- driver.close();
- }
- }
-
@Test
public void getAllProgramZone() {
- List<Zone> result = driver.getAllProgramZone();
+ List<Zone> result = dbResource.getDriver().getAllProgramZone();
Assert.assertNotNull(result);
Assert.assertEquals(0, result.size());
}
@Test
public void getAllCountry() {
- List<Country> result = driver.getAllCountry();
+ List<Country> result = dbResource.getDriver().getAllCountry();
Assert.assertNotNull(result);
Assert.assertEquals(240, result.size());
}
@Test
public void getAllScientificVessel() {
- List<Vessel> result = driver.getAllScientificVessel();
+ List<Vessel> result = dbResource.getDriver().getAllScientificVessel();
Assert.assertNotNull(result);
Assert.assertEquals(1, result.size());
}
@@ -92,28 +77,28 @@
@Test
@Ignore
public void getAllFishingVessel() {
- List<Vessel> result = driver.getAllFishingVessel();
+ List<Vessel> result = dbResource.getDriver().getAllFishingVessel();
Assert.assertNotNull(result);
Assert.assertEquals(187, result.size());
}
@Test
public void getAllScientificGear() {
- List<Gear> result = driver.getAllScientificGear();
+ List<Gear> result = dbResource.getDriver().getAllScientificGear();
Assert.assertNotNull(result);
Assert.assertEquals(2, result.size());
}
@Test
public void getAllFishingGear() {
- List<Gear> result = driver.getAllFishingGear();
+ List<Gear> result = dbResource.getDriver().getAllFishingGear();
Assert.assertNotNull(result);
Assert.assertEquals(75, result.size());
}
@Test
public void getAllPerson() {
- List<Person> result = driver.getAllPerson();
+ List<Person> result = dbResource.getDriver().getAllPerson();
Assert.assertNotNull(result);
Assert.assertEquals(226, result.size());
}
@@ -121,21 +106,21 @@
@Test
public void getAllSpecies() {
- List<Species> result = driver.getAllSpecies();
+ List<Species> result = dbResource.getDriver().getAllSpecies();
Assert.assertNotNull(result);
Assert.assertEquals(156, result.size());
}
@Test
public void getAllBenthosSpecies() {
- List<Species> result = driver.getAllBenthosSpecies();
+ List<Species> result = dbResource.getDriver().getAllBenthosSpecies();
Assert.assertNotNull(result);
Assert.assertEquals(156, result.size());
}
@Test
public void getAllPlanktonSpecies() {
- List<Species> result = driver.getAllPlanktonSpecies();
+ List<Species> result = dbResource.getDriver().getAllPlanktonSpecies();
Assert.assertNotNull(result);
Assert.assertEquals(156, result.size());
}
@@ -158,35 +143,35 @@
@Test
public void getAllFishingOperationEnvironmentCaracteristic() {
- List<Caracteristic> result = driver.getAllFishingOperationEnvironmentCaracteristic();
+ List<Caracteristic> result = dbResource.getDriver().getAllFishingOperationEnvironmentCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(40, result.size());
}
@Test
public void getAllFishingOperationGearCaracteristic() {
- List<Caracteristic> result = driver.getAllFishingOperationGearCaracteristic();
+ List<Caracteristic> result = dbResource.getDriver().getAllFishingOperationGearCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(155, result.size());
}
@Test
public void getAllFishingOperationHydrologicCaracteristic() {
- List<Caracteristic> result = driver.getAllFishingOperationHydrologicCaracteristic();
+ List<Caracteristic> result = dbResource.getDriver().getAllFishingOperationHydrologicCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(40, result.size());
}
@Test
public void getAllSpeciesLengthStepCaracteristic() {
- List<Caracteristic> result = driver.getAllSpeciesLengthStepCaracteristic();
+ List<Caracteristic> result = dbResource.getDriver().getAllSpeciesLengthStepCaracteristic();
Assert.assertNotNull(result);
Assert.assertEquals(0, result.size());
}
@Test
public void getSizeCategoryCaracteristic() {
- Caracteristic result = driver.getSizeCategoryCaracteristic();
+ Caracteristic result = dbResource.getDriver().getSizeCategoryCaracteristic();
Assert.assertNotNull(result);
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
@@ -195,7 +180,7 @@
@Test
public void getSexCaracteristic() {
- Caracteristic result = driver.getSexCaracteristic();
+ Caracteristic result = dbResource.getDriver().getSexCaracteristic();
Assert.assertNotNull(result);
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
@@ -204,7 +189,7 @@
@Test
public void getSortedUnsortedCaracteristic() {
- Caracteristic result = driver.getSortedUnsortedCaracteristic();
+ Caracteristic result = dbResource.getDriver().getSortedUnsortedCaracteristic();
Assert.assertNotNull(result);
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
@@ -213,7 +198,7 @@
@Test
public void getMaturityCaracteristic() {
- Caracteristic result = driver.getMaturityCaracteristic();
+ Caracteristic result = dbResource.getDriver().getMaturityCaracteristic();
Assert.assertNotNull(result);
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
@@ -222,7 +207,7 @@
@Test
public void getMacroWasteCategoryCaracteristic() {
- Caracteristic result = driver.getMacroWasteCategoryCaracteristic();
+ Caracteristic result = dbResource.getDriver().getMacroWasteCategoryCaracteristic();
Assert.assertNotNull(result);
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
@@ -231,7 +216,7 @@
@Test
public void getMacroWasteSizeCategoryCaracteristic() {
- Caracteristic result = driver.getMacroWasteSizeCategoryCaracteristic();
+ Caracteristic result = dbResource.getDriver().getMacroWasteSizeCategoryCaracteristic();
Assert.assertNotNull(result);
Assert.assertTrue(result.isQualitativeType());
Assert.assertNotNull(result.getQualitativeValue());
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/ReferentialTest.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Added: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/SpeciesBatchTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/SpeciesBatchTest.java (rev 0)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/SpeciesBatchTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -0,0 +1,82 @@
+package fr.ifremer.tutti.persistence;
+
+/*
+ * #%L
+ * Tutti :: Persistence Adagio (impl)
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * To test operations around {@link SpeciesBatch}.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 0.3
+ */
+@Ignore
+public class SpeciesBatchTest {
+
+ @ClassRule
+ public static final DatabaseResource dbResource = new DatabaseResource();
+
+ @Test
+ public void getAllRootSpeciesBatch(/*String fishingOperationId*/) {
+
+ }
+
+ @Test
+ public void getAllSpeciesBatch(/*String fishingOperationId*/) {
+
+ }
+
+ @Test
+ public void getSpeciesBatch(/*String id*/) {
+
+ }
+
+ @Test
+ public void createSpeciesBatch(/*SpeciesBatch bean, String parentBatchId*/) {
+
+ }
+
+ @Test
+ public void saveSpeciesBatch(/*SpeciesBatch bean*/) {
+
+ }
+
+ @Test
+ public void deleteSpeciesBatch(/*String id*/) {
+ }
+
+ @Test
+ public void deleteSpeciesSubBatch(/*String id*/) {
+ }
+
+ @Test
+ public void getAllSpeciesBatchFrequency(/*String speciesBatchId*/) {
+
+ }
+}
Property changes on: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/SpeciesBatchTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Deleted: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/TestUtil.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/TestUtil.java 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/TestUtil.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -1,136 +0,0 @@
-package fr.ifremer.tutti.persistence;
-
-/*
- * #%L
- * Tutti :: Persistence Adagio (impl)
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 - 2013 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfig;
-import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfigOption;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.Assume;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.ArgumentsParserException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * TODO
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-public final class TestUtil {
-
- /** Logger. */
- private static final Log log = LogFactory.getLog(TestUtil.class);
-
- public static long BUILD_TIMESTAMP = System.nanoTime();
-
- private static ClassLoader oldClassLoader;
-
- public static TuttiPersistenceAdagioConfig createConfig(Class<?> klass,
- String name) throws ArgumentsParserException, IOException {
-
- File resourceDirectory = TestUtil.getTestSpecificDirectory(klass, name);
-
- RessourceClassLoader loader =
- new RessourceClassLoader(klass.getClassLoader());
-
- oldClassLoader = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(loader);
-
- ApplicationConfig applicationConfig =
- new ApplicationConfig("tutti-test.properties");
- applicationConfig.loadDefaultOptions(
- TuttiPersistenceAdagioConfigOption.values());
- applicationConfig.setDefaultOption("tutti.data.directory",
- resourceDirectory.getAbsolutePath());
- applicationConfig.parse();
-
- TuttiPersistenceAdagioConfig config =
- new TuttiPersistenceAdagioConfig(applicationConfig);
-
- config.initConfig(loader);
- return config;
- }
-
- public static void resetClassLoader() {
- if (oldClassLoader != null) {
- Thread.currentThread().setContextClassLoader(oldClassLoader);
- }
- }
-
- public static void checkDbExists() {
- File db = new File("src/test/db");
- if (!db.exists()) {
-
- if (log.isWarnEnabled()) {
- log.warn("Could not find db at " + db + ", test is skipped.");
- }
- Assume.assumeTrue(false);
- }
- }
-
- public static File getTestSpecificDirectory(Class<?> klass,
- String name) throws IOException {
- // Trying to look for the temporary folder to store data for the test
- String tempDirPath = System.getProperty("java.io.tmpdir");
- if (tempDirPath == null) {
- // can this really occur ?
- tempDirPath = "";
- if (log.isWarnEnabled()) {
- log.warn("'\"java.io.tmpdir\" not defined");
- }
- }
- File tempDirFile = new File(tempDirPath);
-
- // create the directory to store database data
- String dataBasePath = klass.getName()
- + File.separator // a directory with the test class name
- + name // a sub-directory with the method name
- + '_'
- + BUILD_TIMESTAMP; // and a timestamp
- File databaseFile = new File(tempDirFile, dataBasePath);
- FileUtils.forceMkdir(databaseFile);
-
- return databaseFile;
- }
-
- public static ApplicationContext createSpringContext() {
- return new ClassPathXmlApplicationContext(
- "applicationContext-conf.xml",
- "applicationContext-dataSource-local.xml",
- "applicationContext-entities.xml",
- "applicationContext-service-tutti.xml");
- }
-
- private TestUtil() {
- }
-
-
-}
Deleted: trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImplTest.java
===================================================================
--- trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImplTest.java 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/tutti-persistence-adagio/src/test/java/fr/ifremer/tutti/persistence/TuttiPersistenceAdagioImplTest.java 2013-01-10 09:10:19 UTC (rev 163)
@@ -1,357 +0,0 @@
-package fr.ifremer.tutti.persistence;
-
-/*
- * #%L
- * Tutti :: Persistence Adagio (impl)
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2012 - 2013 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/gpl-3.0.html>.
- * #L%
- */
-
-import fr.ifremer.tutti.persistence.config.TuttiPersistenceAdagioConfig;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TestName;
-import org.springframework.context.ApplicationContext;
-
-/**
- * To test the {@link TuttiPersistenceAdagioImpl} service.
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 0.3
- */
-@Ignore
-public class TuttiPersistenceAdagioImplTest {
-
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(TuttiPersistenceAdagioImplTest.class);
-
- @Rule
- public TestName name = new TestName();
-
- protected TuttiPersistenceAdagioConfig config;
-
- protected TuttiPersistence driver;
-
- @BeforeClass
- public static void beforeClass() {
-
- TestUtil.checkDbExists();
- }
-
- @Before
- public void setUp() throws Exception {
-
- config = TestUtil.createConfig(getClass(), name.getMethodName());
-
- if (log.isDebugEnabled()) {
- log.debug("Use conf.properties at " + config.getDbConfigurationPath());
- }
- ApplicationContext context = TestUtil.createSpringContext();
-
- driver = (TuttiPersistence) context.getBean("adagioPersistenceService");
-
- driver.setEnumerations(config.getDbEnumerations());
-
- driver.open();
- }
-
- @After
- public void tearDown() throws Exception {
-
- // push back old classLoader
- TestUtil.resetClassLoader();
-
- // close hibernate session if was used
- if (driver != null) {
- driver.close();
- }
- }
-
- //------------------------------------------------------------------------//
- //-- Referential methods --//
- //------------------------------------------------------------------------//
-
-
- @Test
- @Ignore
- public void getAllProgram() {
-
- }
-
- @Test
- @Ignore
- public void getProgram(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createProgram(/*Program bean*/) {
-
- }
-
- @Test
- @Ignore
- public void saveProgram(/*Program bean*/) {
-
- }
-
- @Test
- @Ignore
- public void getAllCruise(/*String programId*/) {
-
- }
-
- @Test
- @Ignore
- public void getCruise(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createCruise(/*Cruise bean*/) {
-
- }
-
- @Test
- @Ignore
- public void saveCruise(/*Cruise bean*/) {
-
- }
-
- @Test
- @Ignore
- public void getAllProtocol() {
-
- }
-
- @Test
- @Ignore
- public void getProtocol(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createProtocol(/*TuttiProtocol bean*/) {
-
- }
-
- @Test
- @Ignore
- public void saveProtocol(/*TuttiProtocol bean*/) {
-
- }
-
- @Test
- @Ignore
- public void getAllFishingOperation(/*String cruiseId*/) {
-
- }
-
- @Test
- @Ignore
- public void getFishingOperation(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createFishingOperation(/*FishingOperation bean*/) {
-
- }
-
- @Test
- @Ignore
- public void saveFishingOperation(/*FishingOperation bean*/) {
-
- }
-
- @Test
- @Ignore
- public void getAllRootSpeciesBatch(/*String fishingOperationId*/) {
-
- }
-
- @Test
- @Ignore
- public void getAllSpeciesBatch(/*String fishingOperationId*/) {
-
- }
-
- @Test
- @Ignore
- public void getSpeciesBatch(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createSpeciesBatch(/*SpeciesBatch bean, String parentBatchId*/) {
-
- }
-
- @Test
- @Ignore
- public void saveSpeciesBatch(/*SpeciesBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void deleteSpeciesBatch(/*String id*/) {
- }
-
- @Test
- @Ignore
- public void deleteSpeciesSubBatch(/*String id*/) {
- }
-
- @Test
- @Ignore
- public void getAllSpeciesBatchFrequency(/*String speciesBatchId*/) {
-
- }
-
- @Test
- @Ignore
- public void getAllBenthosBatch(/*String fishingOperationId*/) {
-
- }
-
- @Test
- @Ignore
- public void getBenthosBatch(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createBenthosBatch(/*BenthosBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void saveBenthosBatch(/*BenthosBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void deleteBenthosBatch(/*String id*/) {
- }
-
- @Test
- @Ignore
- public void getAllPlanktonBatch(/*String fishingOperationId*/) {
-
- }
-
- @Test
- @Ignore
- public void getPlanktonBatch(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createPlanktonBatch(/*PlanktonBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void savePlanktonBatch(/*PlanktonBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void deletePlanktonBatch(/*String id*/) {
- }
-
- @Test
- @Ignore
- public void getAllMacroWasteBatch(/*String fishingOperationId*/) {
-
- }
-
- @Test
- @Ignore
- public void getMacroWasteBatch(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createMacroWasteBatch(/*MacroWasteBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void saveMacroWasteBatch(/*MacroWasteBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void deleteMacroWasteBatch(/*String id*/) {
- }
-
- @Test
- @Ignore
- public void getAllAccidentalBatch(/*String fishingOperationId*/) {
-
- }
-
- @Test
- @Ignore
- public void getAccidentalBatch(/*String id*/) {
-
- }
-
- @Test
- @Ignore
- public void createAccidentalBatch(/*AccidentalBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void saveAccidentalBatch(/*AccidentalBatch bean*/) {
-
- }
-
- @Test
- @Ignore
- public void deleteAccidentalBatch(/*String id*/) {
- }
-
-}
Modified: trunk/tutti-persistence-adagio/src/test/server.properties
===================================================================
--- trunk/tutti-persistence-adagio/src/test/server.properties 2013-01-09 20:38:38 UTC (rev 162)
+++ trunk/tutti-persistence-adagio/src/test/server.properties 2013-01-10 09:10:19 UTC (rev 163)
@@ -1,2 +1,25 @@
+###
+# #%L
+# Tutti :: Persistence Adagio (impl)
+# $Id$
+# $HeadURL$
+# %%
+# Copyright (C) 2012 - 2013 Ifremer
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/gpl-3.0.html>.
+# #L%
+###
server.database.0=file:db/allegro
server.dbname.0=allegro
\ No newline at end of file
Property changes on: trunk/tutti-persistence-adagio/src/test/server.properties
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Property changes on: trunk/tutti-persistence-adagio/src/test/startServer.sh
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
1
0
r162 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/content/cruise java/fr/ifremer/tutti/ui/swing/util resources/fr/ifremer/tutti/ui/swing/content/operation resources/i18n
by tchemit@users.forge.codelutin.com 09 Jan '13
by tchemit@users.forge.codelutin.com 09 Jan '13
09 Jan '13
Author: tchemit
Date: 2013-01-09 21:38:38 +0100 (Wed, 09 Jan 2013)
New Revision: 162
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/162
Log:
refs #1911: [CAMPAGNE] - Gestion des campagnes (filtrage des navires)
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/VesselTypeEnum.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2013-01-09 18:34:01 UTC (rev 161)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.css 2013-01-09 20:38:38 UTC (rev 162)
@@ -134,9 +134,41 @@
#vesselList {
property: vessel;
+}
+
+#vesselListPane {
border: {BorderFactory.createTitledBorder(_("tutti.label.list.vessel"))};
}
+#filterVesselLabel {
+ text: "tutti.label.filterVesselType";
+}
+
+
+#filterVesselAllButton {
+ text: "tutti.label.filterVesselType.all";
+ toolTipText: "tutti.label.filterVesselType.all.tip";
+ value: "all";
+ selected: {model.isVesselTypeAll()};
+ buttonGroup: "filterVesselType";
+}
+
+#filterVesselScientificButton {
+ text: "tutti.label.filterVesselType.scientific";
+ toolTipText: "tutti.label.filterVesselType.scientific.tip";
+ value: "scientific";
+ selected: {model.isVesselTypeScientific()};
+ buttonGroup: "filterVesselType";
+}
+
+#filterVesselFishingButton {
+ text: "tutti.label.filterVesselType.fishing";
+ toolTipText: "tutti.label.filterVesselType.fishing.tip";
+ value: "fishing";
+ selected: {model.isVesselTypeFishing()};
+ buttonGroup: "filterVesselType";
+}
+
#gearList {
property: gear;
border: {BorderFactory.createTitledBorder(_("tutti.label.list.gear"))};
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-01-09 18:34:01 UTC (rev 161)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUI.jaxx 2013-01-09 20:38:38 UTC (rev 162)
@@ -89,10 +89,11 @@
<field name='comment' component='commentField'/>
</BeanValidator>
+
<JSplitPane id='splitPane' constraints='BorderLayout.CENTER'>
<Table fill='both'>
- <!-- cruise program / year /program part / name -->
+ <!-- cruise program / year / program part / name -->
<row>
<cell anchor='west'>
<JLabel id='programLabel'/>
@@ -166,7 +167,18 @@
<row weighty='0.3'>
<cell columns='6'>
<JPanel layout='{new GridLayout(1, 0)}'>
- <BeanDoubleList id='vesselList' genericType='Vessel'/>
+ <JPanel id='vesselListPane' layout="{new BorderLayout()}">
+ <JPanel id='vesselFilterPane' constraints='BorderLayout.NORTH'>
+ <JLabel id='filterVesselLabel'/>
+ <JRadioButton id='filterVesselAllButton'
+ onActionPerformed='model.setVesselType(VesselTypeEnum.ALL)'/>
+ <JRadioButton id='filterVesselScientificButton'
+ onActionPerformed='model.setVesselType(VesselTypeEnum.SCIENTIFIC)'/>
+ <JRadioButton id='filterVesselFishingButton'
+ onActionPerformed='model.setVesselType(VesselTypeEnum.FISHING)'/>
+ </JPanel>
+ <BeanDoubleList id='vesselList' genericType='Vessel' constraints='BorderLayout.CENTER'/>
+ </JPanel>
<BeanDoubleList id='gearList' genericType='Gear'/>
</JPanel>
</cell>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-01-09 18:34:01 UTC (rev 161)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIHandler.java 2013-01-09 20:38:38 UTC (rev 162)
@@ -126,13 +126,13 @@
ui.setContextValue(model);
}
- JAXXContextEntryDef<List<Vessel>> SCIENTIFIC_VESSELS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef();
+ JAXXContextEntryDef<List<Vessel>> SCIENTIFIC_VESSELS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef("scientificVessel");
- JAXXContextEntryDef<List<Vessel>> FISHING_VESSELS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef();
+ JAXXContextEntryDef<List<Vessel>> FISHING_VESSELS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef("fishingVessel");
- JAXXContextEntryDef<List<Gear>> SCIENTIFIC_GEARS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef();
+ JAXXContextEntryDef<List<Gear>> SCIENTIFIC_GEARS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef("scientificGear");
- JAXXContextEntryDef<List<Gear>> FISHING_GEARS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef();
+ JAXXContextEntryDef<List<Gear>> FISHING_GEARS_CONTEXT_ENTRY = JAXXUtil.newListContextEntryDef("fishingGear");
protected List<Vessel> getVesselList(VesselTypeEnum vesselType) {
List<Vessel> result = Lists.newArrayList();
@@ -213,8 +213,6 @@
}
});
- model.setVesselType(VesselTypeEnum.ALL);
-
initBeanComboBox(ui.getSurveyComboBox(),
persistenceService.getAllProgram(),
model.getProgram());
@@ -244,6 +242,8 @@
listenValidatorValid(ui.getValidator(), model);
+ model.setVesselType(VesselTypeEnum.ALL);
+
// if new fishingOperation can already cancel his creation
model.setModify(model.isCreate());
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIModel.java 2013-01-09 18:34:01 UTC (rev 161)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/EditCruiseUIModel.java 2013-01-09 20:38:38 UTC (rev 162)
@@ -249,11 +249,30 @@
}
public void setVesselType(VesselTypeEnum vesselType) {
+ boolean oldAll = isVesselTypeAll();
+ boolean oldScientific = isVesselTypeScientific();
+ boolean oldFishing = isVesselTypeFishing();
Object oldValue = getVesselType();
this.vesselType = vesselType;
firePropertyChange(PROPERTY_VESSEL_TYPE, oldValue, vesselType);
+ firePropertyChange("vesselTypeAll", oldAll, isVesselTypeAll());
+ firePropertyChange("vesselTypeScientific", oldScientific, isVesselTypeScientific());
+ firePropertyChange("vesselTypeFishing", oldFishing, isVesselTypeFishing());
+
}
+ public boolean isVesselTypeAll() {
+ return VesselTypeEnum.ALL.equals(vesselType);
+ }
+
+ public boolean isVesselTypeScientific() {
+ return VesselTypeEnum.SCIENTIFIC.equals(vesselType);
+ }
+
+ public boolean isVesselTypeFishing() {
+ return VesselTypeEnum.FISHING.equals(vesselType);
+ }
+
public boolean isCanGenerateName() {
return program != null && year != null;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/VesselTypeEnum.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/VesselTypeEnum.java 2013-01-09 18:34:01 UTC (rev 161)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/VesselTypeEnum.java 2013-01-09 20:38:38 UTC (rev 162)
@@ -1,7 +1,28 @@
package fr.ifremer.tutti.ui.swing.content.cruise;
-import static org.nuiton.i18n.I18n._;
-import static org.nuiton.i18n.I18n.n_;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
/**
* To select which vessel types we can see (All - Scientific, Fishing)
@@ -10,18 +31,7 @@
* @since 0.3
*/
public enum VesselTypeEnum {
-
- ALL(n_("tutti.label.vesselType.all")),
- SCIENTIFIC(n_("tutti.label.vesselType.scientific")),
- FISHING(n_("tutti.label.vesselType.fishing"));
-
- private final String i18nKey;
-
- private VesselTypeEnum(String i18nKey) {
- this.i18nKey = i18nKey;
- }
-
- public String getLabel() {
- return _(i18nKey);
- }
+ ALL,
+ SCIENTIFIC,
+ FISHING
}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/VesselTypeEnum.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java 2013-01-09 18:34:01 UTC (rev 161)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java 2013-01-09 20:38:38 UTC (rev 162)
@@ -1,6 +1,30 @@
package fr.ifremer.tutti.ui.swing.util;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import fr.ifremer.tutti.ui.swing.AbstractTuttiBeanUIModel;
import java.awt.Color;
import java.awt.Transparency;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/CustomTab.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml 2013-01-09 18:34:01 UTC (rev 161)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel-edit-warning-validation.xml 2013-01-09 20:38:38 UTC (rev 162)
@@ -17,10 +17,10 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-You should have received a copy of the GNU General Public
-License along with this program. If not, see
-<http://www.gnu.org/licenses/gpl-3.0.html>.
-#L%
+ You should have received a copy of the GNU General Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
+ #L%
-->
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-09 18:34:01 UTC (rev 161)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-01-09 20:38:38 UTC (rev 162)
@@ -85,6 +85,13 @@
tutti.label.filterSpeciesBatchMode.mode.all=Tout voir
tutti.label.filterSpeciesBatchMode.mode.leaf=Voir les feuilles
tutti.label.filterSpeciesBatchMode.mode.root=Voir les parents
+tutti.label.filterVesselType=Filtre \:
+tutti.label.filterVesselType.all=Tout
+tutti.label.filterVesselType.all.tip=Tout les navires
+tutti.label.filterVesselType.fishing=Pro
+tutti.label.filterVesselType.fishing.tip=Uniquement les navires pro
+tutti.label.filterVesselType.scientific=Scientifique
+tutti.label.filterVesselType.scientific.tip=Uniquement les navires scientifiques
tutti.label.fishingOperation.date=Date
tutti.label.fishingOperation.distanceChalutee=Distance chalutée
tutti.label.fishingOperation.duree=Durée
@@ -138,7 +145,6 @@
tutti.label.tab.fishingOperation=Trait
tutti.label.tab.fishingOperation.environment=Environnement
tutti.label.tab.fishingOperation.gearShooting=Mise en oeuvre de l'engin
-tutti.label.tab.fishingOperation.general=Caractéristiques générales
tutti.label.tab.fishingOperation.hydrology=Paramètres hydrologiques
tutti.label.tab.macroDechet=Macro déchets
tutti.label.tab.observationIndividuel=Observations individuelles
@@ -148,9 +154,6 @@
tutti.label.tab.protocol.species=Espèces
tutti.label.tab.species=Espèces
tutti.label.traitReminder=Trait \: %s
-tutti.label.vesselType.all=
-tutti.label.vesselType.fishing=
-tutti.label.vesselType.scientific=
tutti.legend.catch.benthos=Benthos
tutti.legend.catch.macroWaste=Macro déchets
tutti.legend.catch.species=Espèces
1
0