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
- 4058 discussions
r611 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol
by tchemit@users.forge.codelutin.com 14 Mar '13
by tchemit@users.forge.codelutin.com 14 Mar '13
14 Mar '13
Author: tchemit
Date: 2013-03-14 07:45:16 +0100 (Thu, 14 Mar 2013)
New Revision: 611
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/611
Log:
fix remove speies action in protocol screen
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-03-13 19:39:30 UTC (rev 610)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-03-14 06:45:16 UTC (rev 611)
@@ -78,7 +78,7 @@
</BeanValidator>
<JPopupMenu id='tablePopup'>
- <JMenuItem id='removeSpeciesProtocol'/>
+ <JMenuItem id='removeSpeciesProtocolButton'/>
</JPopupMenu>
<JTabbedPane constraints='BorderLayout.CENTER'>
1
0
13 Mar '13
Author: tchemit
Date: 2013-03-13 20:39:30 +0100 (Wed, 13 Mar 2013)
New Revision: 610
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/610
Log:
fixes #2025: [CAPTURE] - Tableau Esp?\195?\168ce - Probl?\195?\168me lorsqu'on masque une colonne
Removed:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MyIdentifierHighlightPredicate.java
Modified:
trunk/tutti-ui-swing/pom.xml
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiColorHighlighter.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentCellRenderer.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/comment/CommentCellRenderer.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/pom.xml 2013-03-13 19:39:30 UTC (rev 610)
@@ -249,11 +249,11 @@
<version>${project.version}</version>
</dependency>
- <!--dependency>
+ <dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-profiling</artifactId>
<version>2.7-SNAPSHOT</version>
- </dependency-->
+ </dependency>
<dependency>
<groupId>org.nuiton</groupId>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -30,8 +30,6 @@
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
import jaxx.runtime.SwingUtil;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.sort.TableSortController;
@@ -48,10 +46,6 @@
*/
public abstract class AbstractTuttiBatchTableUIHandler<R extends AbstractTuttiBeanUIModel, M extends AbstractTuttiBatchUIModel<R, M>, UI extends TuttiUI<M, ?>> extends AbstractTuttiTableUIHandler<R, M, UI> {
- /** Logger. */
- private static final Log log =
- LogFactory.getLog(AbstractTuttiBatchTableUIHandler.class);
-
public abstract void selectFishingOperation(FishingOperation bean);
protected AbstractTuttiBatchTableUIHandler(TuttiUI<?, ?> parentUi,
@@ -110,28 +104,6 @@
installTableKeyListener(columnModel, table);
-// JTableFilter tableFilter = new JTableFilter(table);
-// TableRowFilterSupport.forFilter(tableFilter).searchable(true).useTableRenderers(true).actions(true).apply();
-//
-// tableFilter.addChangeListener(new IFilterChangeListener() {
-// @Override
-// public void filterChanged(ITableFilter<?> filter) {
-// if (log.isInfoEnabled()) {
-// log.info("Filter changed " + filter);
-// }
-// TableModel model = filter.getTable().getModel();
-// int columnCount = model.getColumnCount();
-// for (int i = 0; i < columnCount; i++) {
-// if (filter.isFiltered(i)) {
-// Collection<DistinctColumnItem> filterState = filter.getFilterState(i);
-// if (log.isInfoEnabled()) {
-// log.info("Column " + i + " is filtered: " + filterState);
-// }
-// }
-// }
-// }
-// });
-
TableSortController<TableModel> sorter = new TableSortController<TableModel>(tableModel);
sorter.setSortable(false);
table.setRowSorter(sorter);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -93,23 +93,4 @@
return result;
}
- @Override
- public void setValueAt(Object aValue,
- int rowIndex,
- int columnIndex,
- ColumnIdentifier<BenthosBatchRowModel> propertyName,
- BenthosBatchRowModel entry) {
- super.setValueAt(aValue, rowIndex, columnIndex, propertyName, entry);
-
- if (propertyName == SPECIES_BY_CODE) {
-
- // update also other columns
- fireTableCellUpdated(rowIndex, SPECIES_BY_GENUS_CODE);
-
- } else if (propertyName == SPECIES_BY_GENUS_CODE) {
-
- // update also other columns
- fireTableCellUpdated(rowIndex, SPECIES_BY_CODE);
- }
- }
}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -645,9 +645,44 @@
table.setModel(tableModel);
table.setColumnModel(columnModel);
+ initBatchTable(table, columnModel, tableModel);
+
+ getModel().addPropertyChangeListener(SpeciesBatchUIModel.PROPERTY_TABLE_VIEW_MODE, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ TableViewMode tableViewMode = (TableViewMode) evt.getNewValue();
+
+ if (tableViewMode == null) {
+ tableViewMode = TableViewMode.ALL;
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("Will use rowfilter for viewMode: " + tableViewMode);
+ }
+ RowFilter<SpeciesBatchTableModel, Integer> filter = tableFilters.get(tableViewMode);
+ getTable().setRowFilter(filter);
+ }
+ });
+
+ }
+
+ @Override
+ public void onCloseUI() {
+ if (log.isDebugEnabled()) {
+ log.debug("Closing: " + ui);
+ }
+ ui.getSpeciesBatchAttachmentsButton().onCloseUI();
+ }
+
+ @Override
+ protected void addHighlighters(JXTable table) {
+
+ super.addHighlighters(table);
+
Color toConfirmColor = getConfig().getColorRowToConfirm();
+
// paint the cell in orange if the row is to confirm
- Highlighter attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
+ Highlighter confirmHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate() {
public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
@@ -656,10 +691,8 @@
}
}, toConfirmColor);
- table.addHighlighter(attachmentHighlighter);
+ table.addHighlighter(confirmHighlighter);
- initBatchTable(table, columnModel, tableModel);
-
// highlight only the species column if the row is selected
Highlighter selectedHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate.AndHighlightPredicate(
@@ -670,7 +703,7 @@
table.addHighlighter(selectedHighlighter);
// paint the cell in dark orange if the row is to confirm and the cell is not editable
- attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
+ Highlighter confirmNotEditableHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate() {
public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
@@ -679,35 +712,10 @@
}
}, toConfirmColor.darker());
- table.addHighlighter(attachmentHighlighter);
+ table.addHighlighter(confirmNotEditableHighlighter);
- getModel().addPropertyChangeListener(SpeciesBatchUIModel.PROPERTY_TABLE_VIEW_MODE, new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- TableViewMode tableViewMode = (TableViewMode) evt.getNewValue();
-
- if (tableViewMode == null) {
- tableViewMode = TableViewMode.ALL;
- }
-
- if (log.isDebugEnabled()) {
- log.debug("Will use rowfilter for viewMode: " + tableViewMode);
- }
- RowFilter<SpeciesBatchTableModel, Integer> filter = tableFilters.get(tableViewMode);
- getTable().setRowFilter(filter);
- }
- });
-
}
- @Override
- public void onCloseUI() {
- if (log.isDebugEnabled()) {
- log.debug("Closing: " + ui);
- }
- ui.getSpeciesBatchAttachmentsButton().onCloseUI();
- }
-
//------------------------------------------------------------------------//
//-- Public methods --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/FrequencyCellComponent.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -222,9 +222,9 @@
int column) {
tableModel = (SpeciesBatchTableModel) table.getModel();
this.table = table;
- columnIdentifier = tableModel.getPropertyName(column);
- if (log.isInfoEnabled()) {
- log.info("Set columnIdentifier (" + column + ") :: " + columnIdentifier.getPropertyName());
+ columnIdentifier = SpeciesBatchTableModel.COMPUTED_NUMBER;
+ if (log.isDebugEnabled()) {
+ log.debug("Set columnIdentifier (" + column + ") :: " + columnIdentifier.getPropertyName());
}
TuttiComputedOrNotData<Integer> data = (TuttiComputedOrNotData<Integer>) value;
component.setComputedOrNotText(data);
@@ -246,8 +246,8 @@
if (columnIdentifier == SpeciesBatchTableModel.COMPUTED_NUMBER) {
result = editRow.getComputedOrNotNumber();
}
- if (log.isInfoEnabled()) {
- log.info("editor value (" + columnIdentifier + "): " + result);
+ if (log.isDebugEnabled()) {
+ log.debug("editor value (" + columnIdentifier + "): " + result);
}
return result;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiColorHighlighter.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiColorHighlighter.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiColorHighlighter.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -29,7 +29,6 @@
import org.jdesktop.swingx.decorator.HighlightPredicate;
import org.jdesktop.swingx.util.PaintUtils;
-import javax.swing.JButton;
import java.awt.Color;
import java.awt.Component;
@@ -51,20 +50,17 @@
@Override
protected Component doHighlight(Component component, ComponentAdapter adapter) {
- if (component instanceof JButton) {
- // do nothing
- } else {
- if (foreground) {
- component.setForeground(color);
+ if (foreground) {
+ component.setForeground(color);
- } else {
- component.setBackground(color);
- if (adapter.isSelected()) {
- component.setForeground(PaintUtils.computeForeground(color));
- }
+ } else {
+ component.setBackground(color);
+ if (adapter.isSelected()) {
+ component.setForeground(PaintUtils.computeForeground(color));
}
}
+
return component;
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentCellRenderer.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentCellRenderer.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentCellRenderer.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -103,6 +103,7 @@
setEnabled(editable);
setText(textValue);
setToolTipText(toolTipTextValue);
+ setBackground(null);
return this;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/comment/CommentCellRenderer.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/comment/CommentCellRenderer.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/comment/CommentCellRenderer.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -91,6 +91,7 @@
toolTipTextValue = String.format(TEXT_PATTERN, toolTipTextValue);
setEnabled(editable);
setToolTipText(toolTipTextValue);
+ setBackground(null);
return this;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableModel.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableModel.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -25,20 +25,15 @@
*/
import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import jaxx.runtime.SwingUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.jdesktop.swingx.event.TableColumnModelExtListener;
-import org.jdesktop.swingx.table.TableColumnExt;
import org.jdesktop.swingx.table.TableColumnModelExt;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.TableColumnModelEvent;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;
-import java.beans.PropertyChangeEvent;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
@@ -57,13 +52,6 @@
LogFactory.getLog(AbstractTuttiTableModel.class);
/**
- * Column model.
- *
- * @since 1.0.2
- */
- protected final TableColumnModelExt columnModel;
-
- /**
* Data in the model.
*
* @since 0.2
@@ -91,49 +79,24 @@
*/
protected final boolean createEmptyRowIsEmpty;
+ /**
+ * Identifiers of columns (in initial order).
+ *
+ * @since 1.1
+ */
+ protected final List<ColumnIdentifier<R>> identifiers;
+
public abstract R createNewRow();
protected AbstractTuttiTableModel(TableColumnModelExt columnModel,
boolean createNewRow,
boolean createEmptyRowIsEmpty) {
- this.columnModel = columnModel;
+ this.identifiers = Lists.newArrayListWithCapacity(columnModel.getColumnCount());
+ for (TableColumn tc : columnModel.getColumns(true)) {
+ this.identifiers.add((ColumnIdentifier<R>) tc.getIdentifier());
+ }
this.createNewRow = createNewRow;
this.createEmptyRowIsEmpty = createEmptyRowIsEmpty;
- columnModel.addColumnModelListener(new TableColumnModelExtListener() {
- @Override
- public void columnPropertyChange(PropertyChangeEvent event) {
- TableColumnExt column = (TableColumnExt) event.getSource();
- if (log.isInfoEnabled()) {
- log.info("Property [" + event.getPropertyName() + "] changed on coloumn [" + column.getTitle() + "] :: " + event.getNewValue());
- }
- }
-
- @Override
- public void columnAdded(TableColumnModelEvent e) {
- if (log.isInfoEnabled()) {
- log.info("Column added [" + e.getFromIndex() + "] :: " + e.getToIndex());
- }
- }
-
- @Override
- public void columnRemoved(TableColumnModelEvent e) {
- if (log.isInfoEnabled()) {
- log.info("Column removed [" + e.getFromIndex() + "] :: " + e.getToIndex());
- }
- }
-
- @Override
- public void columnMoved(TableColumnModelEvent e) {
- }
-
- @Override
- public void columnMarginChanged(ChangeEvent e) {
- }
-
- @Override
- public void columnSelectionChanged(ListSelectionEvent e) {
- }
- });
}
public final List<R> getRows() {
@@ -224,11 +187,6 @@
// by default do nothing
}
- public final ColumnIdentifier<R> getPropertyName(int columnIndex) {
- TableColumn column = getColumn(columnIndex);
- return (ColumnIdentifier<R>) column.getIdentifier();
- }
-
public final int getRowIndex(R row) {
int result = rows == null ? -1 : rows.indexOf(row);
return result;
@@ -252,18 +210,17 @@
@Override
public final int getColumnCount() {
-// return columns.length;
- return columnModel.getColumnCount();
+ return identifiers.size();
}
@Override
public final Object getValueAt(int rowIndex, int columnIndex) {
R entry = getEntry(rowIndex);
- ColumnIdentifier<R> propertyName = getPropertyName(columnIndex);
+ ColumnIdentifier<R> identifier = getIdentifier(columnIndex);
if (log.isInfoEnabled()) {
- log.info("columnIndex: " + columnIndex + " :: " + propertyName.getPropertyName());
+ log.info("columnIndex: " + columnIndex + " :: " + identifier.getPropertyName());
}
- Object result = getValueAt(rowIndex, columnIndex, propertyName, entry);
+ Object result = identifier.getValue(entry);
return result;
}
@@ -273,25 +230,17 @@
log.debug("setValueAt " + aValue);
}
R entry = getEntry(rowIndex);
- ColumnIdentifier<R> propertyName = getPropertyName(columnIndex);
- setValueAt(aValue, rowIndex, columnIndex, propertyName, entry);
+ ColumnIdentifier<R> identifier = getIdentifier(columnIndex);
+ setValueAt(aValue, rowIndex, columnIndex, identifier, entry);
}
@Override
public final boolean isCellEditable(int rowIndex, int columnIndex) {
- ColumnIdentifier<R> identifier = getPropertyName(columnIndex);
+ ColumnIdentifier<R> identifier = getIdentifier(columnIndex);
boolean result = isCellEditable(rowIndex, columnIndex, identifier);
return result;
}
- protected Object getValueAt(int rowIndex,
- int columnIndex,
- ColumnIdentifier<R> propertyName,
- R entry) {
- Object result = propertyName.getValue(entry);
- return result;
- }
-
protected void setValueAt(Object aValue,
int rowIndex,
int columnIndex,
@@ -311,21 +260,15 @@
}
protected final void fireTableCellUpdated(int rowIndex,
- ColumnIdentifier... identifiers) {
- for (ColumnIdentifier<?> identifier : identifiers) {
- int columnIndex = getColumnIndex(identifier);
+ ColumnIdentifier<R>... identifiers) {
+ for (ColumnIdentifier<R> identifier : identifiers) {
+ int columnIndex = this.identifiers.indexOf(identifier);
fireTableCellUpdated(rowIndex, columnIndex);
}
}
- protected final TableColumn getColumn(int columnIndex) {
-// SwingUtil.ensureColumnIndex(this, columnIndex);
-// return columns[columnIndex];
- return columnModel.getColumns(true).get(columnIndex);
+ protected ColumnIdentifier<R> getIdentifier(int columnIndex) {
+ ColumnIdentifier<R> identifier = identifiers.get(columnIndex);
+ return identifier;
}
-
- protected final int getColumnIndex(ColumnIdentifier<?> property) {
- int result = columnModel.getColumnIndex(property);
- return result;
- }
}
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-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -293,6 +293,27 @@
// by default do not authorize to change column orders
table.getTableHeader().setReorderingAllowed(false);
+ addHighlighters(table);
+
+ // when model data change let's propagate it table model
+ getModel().addPropertyChangeListener(AbstractTuttiTableUIModel.PROPERTY_ROWS, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ onModelRowsChanged((List<R>) evt.getNewValue());
+ }
+ });
+
+ // always scroll to selected row
+ SwingUtil.scrollToTableSelection(getTable());
+
+ // always force to uninstall listener
+ uninstallTableSaveOnRowChangedSelectionListener();
+
+ // save when row chaged and was modified
+ installTableSaveOnRowChangedSelectionListener();
+ }
+
+ protected void addHighlighters(JXTable table){
// paint in a special color for read only cells
Highlighter readOnlyHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
HighlightPredicate.READ_ONLY, getConfig().getColorRowReadOnly());
@@ -300,9 +321,10 @@
// paint in a special color for comment cell (with not null value)
Color cellWithValueColor = getConfig().getColorCellWithValue();
+
Highlighter commentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate.AndHighlightPredicate(
- new MyIdentifierHighlightPredicate(SpeciesBatchTableModel.COMMENT),
+ new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.COMMENT),
// for not null value
new HighlightPredicate() {
@Override
@@ -314,9 +336,10 @@
table.addHighlighter(commentHighlighter);
// paint in a special color for attachment cell (when some attachments)
+
Highlighter attachmentHighlighter = TuttiUIUtil.newBackgroundColorHighlighter(
new HighlightPredicate.AndHighlightPredicate(
- new MyIdentifierHighlightPredicate(SpeciesBatchTableModel.ATTACHMENT),
+ new HighlightPredicate.IdentifierHighlightPredicate(SpeciesBatchTableModel.ATTACHMENT),
// for not null value
new HighlightPredicate() {
@Override
@@ -343,23 +366,6 @@
}
}), getConfig().getColorRowInvalid());
table.addHighlighter(validHighlighter);
-
- // when model data change let's propagate it table model
- getModel().addPropertyChangeListener(AbstractTuttiTableUIModel.PROPERTY_ROWS, new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- onModelRowsChanged((List<R>) evt.getNewValue());
- }
- });
-
- // always scroll to selected row
- SwingUtil.scrollToTableSelection(getTable());
-
- // always force to uninstall listener
- uninstallTableSaveOnRowChangedSelectionListener();
-
- // save when row chaged and was modified
- installTableSaveOnRowChangedSelectionListener();
}
protected void addColumnToModel(TableColumnModel model,
Deleted: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MyIdentifierHighlightPredicate.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MyIdentifierHighlightPredicate.java 2013-03-13 15:44:23 UTC (rev 609)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MyIdentifierHighlightPredicate.java 2013-03-13 19:39:30 UTC (rev 610)
@@ -1,77 +0,0 @@
-package fr.ifremer.tutti.ui.swing.util.table;
-
-/*
- * #%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 org.jdesktop.swingx.decorator.ComponentAdapter;
-import org.jdesktop.swingx.decorator.HighlightPredicate;
-
-import java.awt.Component;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * While using the swingX HighlightPredicate.IdentifierHighlightPredicate, it does not works very well with
- *
- * @author tchemit <chemit(a)codelutin.com>
- * @since 1.0.2
- */
-public class MyIdentifierHighlightPredicate implements HighlightPredicate {
- protected List<Object> columnList;
-
- /**
- * Instantiates a predicate which returns true for the
- * given column identifiers.
- *
- * @param columns the identitiers of the columns to highlight.
- */
- public MyIdentifierHighlightPredicate(Object... columns) {
- columnList = new ArrayList<Object>();
- Collections.addAll(columnList, columns);
- }
-
- /**
- * {@inheritDoc}
- * <p/>
- * This implementation returns true if the adapter's column
- * is contained in this predicates list.
- */
- @Override
- public boolean isHighlighted(Component renderer, ComponentAdapter adapter) {
-// int modelIndex = adapter.convertColumnIndexToModel(adapter.column);
- Object identifier = adapter.getColumnIdentifierAt(adapter.column);
- return identifier != null && columnList.contains(identifier);
- }
-
- /** @return the identifiers */
- public Object[] getIdentifiers() {
- if (columnList.isEmpty()) {
- return EMPTY_OBJECT_ARRAY;
- } else {
- return columnList.toArray(new Object[0]);
- }
- }
-
-}
\ No newline at end of file
1
0
r609 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/util/attachment resources/i18n resources/icons
by kmorin@users.forge.codelutin.com 13 Mar '13
by kmorin@users.forge.codelutin.com 13 Mar '13
13 Mar '13
Author: kmorin
Date: 2013-03-13 16:44:23 +0100 (Wed, 13 Mar 2013)
New Revision: 609
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/609
Log:
fixes #2130 [ERGO] Pi?\195?\168ces-jointes - avoir 3 boutons pour supprimer, voir ou sauver la pi?\195?\168ce jointe
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentItem.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentItem.jaxx
trunk/tutti-ui-swing/src/main/resources/icons/action-open-file.png
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
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/util/attachment/AttachmentEditorUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUI.jaxx 2013-03-13 15:09:25 UTC (rev 608)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUI.jaxx 2013-03-13 15:44:23 UTC (rev 609)
@@ -70,7 +70,7 @@
<row fill='both'>
<cell fill='both' weightx='1' columns='3'>
- <VBox id='attachments'></VBox>
+ <JPanel id='attachments' layout='{new GridLayout(0, 1)}'></JPanel>
</cell>
</row>
<row fill='both'>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2013-03-13 15:09:25 UTC (rev 608)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2013-03-13 15:44:23 UTC (rev 609)
@@ -27,6 +27,9 @@
import fr.ifremer.tutti.persistence.entities.data.Attachment;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
+import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import java.awt.BorderLayout;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.swing.ComponentMover;
import jaxx.runtime.swing.ComponentResizer;
@@ -53,7 +56,13 @@
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
+import java.io.IOException;
import java.util.List;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.UIManager;
+import org.apache.commons.io.FileUtils;
import static org.nuiton.i18n.I18n._;
@@ -229,59 +238,101 @@
}
protected void addAttachment(final Attachment attachment) {
- final HBox hbox = new HBox();
- hbox.setVerticalAlignment(SwingConstants.CENTER);
+ AttachmentItem item = new AttachmentItem();
+ item.setAttachment(attachment);
+ item.setHandler(this);
+ ui.getAttachments().add(item);
+ }
- JButton deleteButton = new JButton(SwingUtil.createActionIcon("delete"));
- deleteButton.addActionListener(new ActionListener() {
+ protected void resetFields() {
+ ui.getFile().setSelectedFile((File) null);
+ ui.getFile().setSelectedFile((String) null);
+ ui.getFileName().setText("");
+ ui.getFileComment().setText("");
+ }
- @Override
- public void actionPerformed(ActionEvent e) {
- AttachmentModelAware bean = ui.getBean();
+ public void openAttachment(Attachment attachment) {
+ File file = persistenceService.getAttachmentFile(attachment.getId());
+ SwingUtil.openLink("file://" + file.getAbsolutePath());
+ }
- persistenceService.deleteAttachment(attachment.getId());
+ public void saveAttachment(Attachment attachment) {
+ boolean hackDialog = ui.isAlwaysOnTop();
+ if (hackDialog) {
+ ui.setAlwaysOnTop(false);
+ }
+ try {
+ File attachmentFile = persistenceService.getAttachmentFile(attachment.getId());
+ File file = TuttiUIUtil.chooseFile(ui,
+ _("tutti.dialog.saveAttachment.title"),
+ _("tutti.dialog.saveAttachment.button"));
+
+ if (file != null) {
+ if (file.exists()) {
+ String htmlMessage = String.format(
+ AbstractTuttiUIHandler.CONFIRMATION_FORMAT,
+ _("tutti.dialog.saveAttachment.warning.message"),
+ _("tutti.dialog.saveAttachment.warning.help"));
- bean.removeAttachment(attachment);
+ int answer = JOptionPane.showConfirmDialog(ui,
+ htmlMessage,
+ _("tutti.dialog.saveAttachment.warning.title"),
+ JOptionPane.YES_NO_OPTION,
+ JOptionPane.WARNING_MESSAGE);
- ui.getAttachments().remove(hbox);
-
- ui.pack();
+ if (answer == JOptionPane.NO_OPTION) {
+ return;
+ }
+ }
+ FileUtils.copyFile(attachmentFile, file);
+ TuttiUIUtil.showSuccessMessage(ui,
+ _("tutti.dialog.saveAttachment.success.title"),
+ _("tutti.dialog.saveAttachment.success.message", file.getName()));
}
- });
- hbox.add(deleteButton);
-
- final JLabel label = new JLabel("<html><body><a href=''>"
- + attachment.getName() + "</a></body></html>");
- label.setToolTipText(attachment.getComment());
- label.addMouseListener(new MouseAdapter() {
-
- @Override
- public void mouseClicked(MouseEvent e) {
- File file = persistenceService.getAttachmentFile(attachment.getId());
- SwingUtil.openLink("file://" + file.getAbsolutePath());
+ if (hackDialog) {
+ ui.setAlwaysOnTop(true);
}
-
- @Override
- public void mouseEntered(MouseEvent e) {
- label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+
+ } catch(IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Error while saving attachment", e);
}
+ JOptionPane.showMessageDialog(
+ ui,
+ _("tutti.dialog.saveAttachment.fail.message"),
+ _("tutti.dialog.saveAttachment.fail.title"),
+ JOptionPane.ERROR_MESSAGE
+ );
- @Override
- public void mouseExited(MouseEvent e) {
- label.setCursor(Cursor.getDefaultCursor());
+ } finally {
+ if (hackDialog) {
+ ui.setAlwaysOnTop(true);
}
+ }
+ }
- });
- hbox.add(label);
+ public void removeAttachment(AttachmentItem attachmentItem) {
+ Attachment attachment = attachmentItem.getAttachment();
+ boolean hackDialog = ui.isAlwaysOnTop();
+ if (hackDialog) {
+ ui.setAlwaysOnTop(false);
+ }
+ int answer = JOptionPane.showConfirmDialog(ui,
+ _("tutti.dialog.deleteAttachment.message", attachment.getName()),
+ _("tutti.dialog.deleteAttachment.title"),
+ JOptionPane.YES_NO_OPTION);
+ if (hackDialog) {
+ ui.setAlwaysOnTop(true);
+ }
+
+ if (answer == JOptionPane.YES_OPTION) {
+ AttachmentModelAware bean = ui.getBean();
- ui.getAttachments().add(hbox);
- }
+ persistenceService.deleteAttachment(attachment.getId());
+ bean.removeAttachment(attachment);
+ ui.getAttachments().remove(attachmentItem);
- protected void resetFields() {
- ui.getFile().setSelectedFile((File) null);
- ui.getFile().setSelectedFile((String) null);
- ui.getFileName().setText("");
- ui.getFileComment().setText("");
+ ui.pack();
+ }
}
-
}
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentItem.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentItem.css (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentItem.css 2013-03-13 15:44:23 UTC (rev 609)
@@ -0,0 +1,28 @@
+#attachmentPanel {
+ toolTipText: {attachment != null ? getAttachment().getComment() : null};
+}
+
+#attachmentNameLabel {
+ text: {attachment != null ? getAttachment().getName() : null};
+ toolTipText: {attachment != null ? getAttachment().getComment() : null};
+}
+
+#toolbar {
+ borderPainted: false;
+ floatable: false;
+}
+
+#openAttachmentButton {
+ actionIcon: "open-file";
+ toolTipText: "tutti.tooltip.attachment.button.open";
+}
+
+#saveAttachmentButton {
+ actionIcon: "import";
+ toolTipText: "tutti.tooltip.attachment.button.save";
+}
+
+#removeAttachmentButton {
+ actionIcon: "delete";
+ toolTipText: "tutti.tooltip.attachment.button.remove";
+}
\ No newline at end of file
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentItem.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentItem.jaxx (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentItem.jaxx 2013-03-13 15:44:23 UTC (rev 609)
@@ -0,0 +1,32 @@
+<JPanel id='attachmentPanel' layout='{new BorderLayout()}'>
+
+ <import>
+ fr.ifremer.tutti.persistence.entities.data.Attachment
+ static org.nuiton.i18n.I18n._
+ static jaxx.runtime.JAXXUtil.getStringValue
+ </import>
+
+ <Attachment id='attachment' javaBean='null'/>
+
+ <AttachmentEditorUIHandler id='handler' javaBean='null'/>
+
+ <script><![CDATA[
+public AttachmentItem(Attachment attachment, AttachmentEditorUIHandler handler) {
+ this.attachment = attachment;
+ this.handler = handler;
+}
+
+ ]]></script>
+
+ <JLabel id='attachmentNameLabel' constraints='BorderLayout.CENTER'/>
+
+ <JToolBar id='toolbar' constraints='BorderLayout.EAST'>
+ <JButton id='openAttachmentButton'
+ onActionPerformed='handler.openAttachment(attachment)'/>
+ <JButton id='saveAttachmentButton'
+ onActionPerformed='handler.saveAttachment(attachment)'/>
+ <JButton id='removeAttachmentButton'
+ onActionPerformed='handler.removeAttachment(this)'/>
+ </JToolBar>
+
+</JPanel>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-03-13 15:09:25 UTC (rev 608)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-03-13 15:44:23 UTC (rev 609)
@@ -145,6 +145,12 @@
tutti.dialog.createMelag.error.title=
tutti.dialog.createMelag.message=
tutti.dialog.createMelag.title=
+tutti.dialog.saveAttachment.button=
+tutti.dialog.saveAttachment.fail.message=
+tutti.dialog.saveAttachment.fail.title=
+tutti.dialog.saveAttachment.success.message=
+tutti.dialog.saveAttachment.success.title=
+tutti.dialog.saveAttachment.title=
tutti.dialog.warnUser.title=
tutti.duration.format=
tutti.error.errorpane.htmlmessage=
@@ -467,6 +473,9 @@
tutti.title.splitBatch=
tutti.title.validate.operations=
tutti.to.be.done=
+tutti.tooltip.attachment.button.open=
+tutti.tooltip.attachment.button.remove=
+tutti.tooltip.attachment.button.save=
tutti.tooltip.attachment.none=
tutti.tooltip.comment.none=
tutti.tooltip.distanceInMilles=
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-03-13 15:09:25 UTC (rev 608)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-13 15:44:23 UTC (rev 609)
@@ -152,6 +152,17 @@
tutti.dialog.createMelag.error.title=Erreur
tutti.dialog.createMelag.message=Combien pesait le MELAG (kg) ?
tutti.dialog.createMelag.title=Poids du MELAG (kg)
+tutti.dialog.deleteAttachment.message=Êtes-vous sûr de vouloir supprimer la pièce-jointe %s ?
+tutti.dialog.deleteAttachment.title=Suppression de pièce-jointe
+tutti.dialog.saveAttachment.button=Choisir
+tutti.dialog.saveAttachment.fail.message=Une erreur est survenue lors de la sauvegarde du fichier.
+tutti.dialog.saveAttachment.fail.title=Erreur de sauvegarde.
+tutti.dialog.saveAttachment.success.message=Le fichier %s a été sauvegardé sur votre machine.
+tutti.dialog.saveAttachment.success.title=Sauvegarde réussie.
+tutti.dialog.saveAttachment.title=Choisir un fichier
+tutti.dialog.saveAttachment.warning.help=Que voulez-vous faire ?<ul><li><strong>Non</strong> pour annuler la sauvegarde</li><li><strong>Oui</strong> pour écraser le fichier existant</li></ul>
+tutti.dialog.saveAttachment.warning.message=Vous êtes sur le point d'écraser un fichier existant.
+tutti.dialog.saveAttachment.warning.title=Fichier existant
tutti.dialog.warnUser.title=Avertissement\!
tutti.duration.format=dj Hh m'm'
tutti.error.errorpane.htmlmessage=<html><body><b>Une erreur s'est produite</b>\:<br/>%s</body></html>
@@ -487,6 +498,9 @@
tutti.title.splitBatch=Catégorisation du lot
tutti.title.validate.operations=Validation des opérations de pêches (%s)
tutti.to.be.done=< A FAIRE >
+tutti.tooltip.attachment.button.open=Ouvrir la pièce jointe
+tutti.tooltip.attachment.button.remove=Supprimer la pièce jointe
+tutti.tooltip.attachment.button.save=Enregistrer la pièce jointe en local
tutti.tooltip.attachment.none=Pas de pièce-jointes
tutti.tooltip.comment.none=Pas de commentaire
tutti.tooltip.distanceInMilles=%s milles marins
Added: trunk/tutti-ui-swing/src/main/resources/icons/action-open-file.png
===================================================================
(Binary files differ)
Property changes on: trunk/tutti-ui-swing/src/main/resources/icons/action-open-file.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
1
0
Author: blavenier
Date: 2013-03-13 16:09:25 +0100 (Wed, 13 Mar 2013)
New Revision: 608
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/608
Log:
Add :
- add one page on website, for documentation on the mapping UI/DB
Added:
trunk/src/site/rst/mapping.rst
Modified:
trunk/src/site/site_fr.xml
Added: trunk/src/site/rst/mapping.rst
===================================================================
--- trunk/src/site/rst/mapping.rst (rev 0)
+++ trunk/src/site/rst/mapping.rst 2013-03-13 15:09:25 UTC (rev 608)
@@ -0,0 +1,307 @@
+.. -
+.. * #%L
+.. * Tutti :: Persistence Adagio (impl)
+.. * $Id: referential.rst 301 2013-02-02 14:24:01Z tchemit $
+.. * $HeadURL: http://svn.forge.codelutin.com/svn/tutti/trunk/src/site/rst/referential.rst $
+.. * %%
+.. * 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%
+.. -
+
+=============================================
+Tutti - Correspondance écrans/base de données
+=============================================
+
+Présentation
+~~~~~~~~~~~~
+
+Ce document décrit comment sont stocker les informations visibles dans les écrans.
+
+Série de campagne
+~~~~~~~~~~~~~~~~~
+
+Nom
+ Program.name (PROGRAM.NAME)
+
+Zone
+ Program.locations (PROGRAM2LOCATION.LOCATION_FK)
+
+Commentaire
+ Program.description (PROGRAM.DESCRIPTION)
+
+Campagne
+~~~~~~~~
+
+Série
+ ScientificCruise.program (SCIENTIFIC_CRUISE.PROGRAM_FK)
+
+Année
+ En lecture : year(ScientificCruise.departureDateTime) (SCIENTIFIC_CRUISE.DEPARTURE_DATE_TIME)
+ En écriture : pas de stockage (car doit logiquement être compatible avec ScientificCruise.departureDateTime)
+
+Série partielle
+ ScientificCruise.fishingTrip.surveyMeasurement (SURVEY_MEASUREMENT.ALPHA_NUMERICAL_VALUE, avec PMFM_FK=<PMFM_ID_SURVEY_PART>)
+
+Name
+ ScientificCruise.name (SCIENTIFIC_CRUISE.NAME)
+
+Nombre de poches
+ En lecture : récupération de la plus grande valeur dans ScientificCruise.fishingTrip.gearPhysicalFeatures.gearPhysicalMeasurement.numericalvalue (GEAR_PHYSICAL_MEASURMENT.NUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_MULTIRIG_NUMBER>)
+ En écriture : valeur dupliquée pour chaque engin (voir "Engin(s)" ci-dessous) dans ScientificCruise.fishingTrip.gearPhysicalFeatures.gearPhysicalMeasurement.numericalvalue (GEAR_PHYSICAL_MEASURMENT.NUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_MULTIRIG_NUMBER>)
+
+Pays
+ En lecture : le pays est calculé à partir de ScientificCruise.departureLocation (SCIENTIFIC_CRUISE.DEPARTURE_LOCATION_FK)
+ en utilisant la hiérarchie des lieux (LOCATION_HIERARCHY) our être sûr d'obtenir un payx et non un lieux de niveau inférieur (ex : un port, etc.)
+ En écriture : ScientificCruise.departureLocation (SCIENTIFIC_CRUISE.DEPARTURE_LOCATION_FK) et ScientificCruise.returnLocation (SCIENTIFIC_CRUISE.DEPARTURE_LOCATION_FK)
+
+Date de début
+ ScientificCruise.departureDateTime (SCIENTIFIC_CRUISE.DEPARTURE_DATE_TIME)
+
+Date de fin
+ ScientificCruise.returnDateTime (SCIENTIFIC_CRUISE.RETURN_DATE_TIME)
+
+Navire(s)
+ Le premier navire dans le liste est stocké dans ScientificCruise.vessel (SCIENTIFIC_CRUISE.VESSEL_FK).
+ Les navires suivants sont stockés dans ScientificCruise.fishingTrip.comments
+ derrière la balise : #VESSELS=<liste_des_IDs>
+ Il n'est pas certain qu'il soit nécessaire de stocker cette liste ailleurs, dans la mesure où
+ elle peut être calculée à partir de la liste des navires associés à chaque opération (voir "Opération > Navire" ci-dessous),
+ comme c'est le cas actuellement à l'ouverture d'une campagne de données historiques.
+
+Engin(s)
+ ScientificCruise.fishingTrip.gearPhysicalFeatures.gear (GEAR_PHYSICAL_FEATURES.GEAR_FK avec RANK_ORDER=<n° d'ordre dans la liste>)
+
+Chef(s) de mission
+ La première personne de la liste est stockée sous ScientificCruise.manager (SCIENTIFIC_CRUISE.MANAGER_PERSON_FK)
+ En v1, les identifiant des personnes suivantes sont stockées dans ScientificCruise.fishingTrip.comments
+ derrière la balise : #MANAGERS=<liste_des_IDs>
+ En v2, ce stockage devra se faire dans ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne>
+
+Responsable(s) de salle de tri
+ En v1, tous les identifiants des personnes sélectionnées sont stockées dans ScientificCruise.fishingTrip.comments
+ derrière la balise : #SORT_MANAGERS=<liste_des_IDs>
+ En v2, ce stockage devra se faire dans ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_salle_de_tri>
+
+Commentaire
+ ScientificCruise.comments (SCIENTIFIC_CRUISE.COMMENTS)
+
+Trait
+~~~~~
+
+Code Station
+ Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_STATION_NUMBER>)
+
+Numéro de trait
+ Operation.name (OPERATION.NAME) : ajouté à la fin du "name", derrière le code de l'engin, pour rester compatible avec le format des données historiques.
+
+Numéro de poche
+ Operation.gearUseFeatures.gearUseMeasurement (GEAR_USE_MEASUREMENT.ALPHANUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_MULTIRIG_AGGREGATION>)
+
+Strate
+ Operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération)
+ En lecture : sélection en tant que locatlité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.STRATA>)
+
+Sous-strate
+ Operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération)
+ En lecture : sélection en tant que locatlité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.SUB_STRATA>)
+
+Localité
+ operation.gearUseFeatures.fishingArea.regulationLocation (FISHING_AREA2REG_LOCATION.LOCATION_FK associé au FISHING_AREA de l'opération)
+ En lecture : sélection en tant que locatlité à partir du locationLevel (LOCATION.LOCATION_LEVEL_FK=<LocationLevelId.LOCALITE>)
+
+Début de traine > Latitude, Longitude
+ Operation.vesselPosition (VESSEL_POSITION.LATITUDE et VESSEL_POSITION.LONGITUDE), avec startDateTime = "Début de traine > Date et heure"
+
+Début de traine > Date et heure
+ Operation.startDateTime et Operation.fishingStartDateTime (OPERATION.START_DATE_TIME et OPERATION.FISHING_START_DATE_TIME)
+
+Fin de traine > Latitude, Longitude
+ Operation.vesselPosition (VESSEL_POSITION.LATITUDE et VESSEL_POSITION.LONGITUDE), avec startDateTime = "Fin de traine > Date et heure"
+
+Fin de traine > Date et heure
+ Operation.endDateTime et Operation.fishingEndDateTime (OPERATION.END_DATE_TIME et OPERATION.FISHING_END_DATE_TIME)
+
+Trait rectiligne
+ Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PMFM_ID_RECTILINEAR_OPERATION>)
+
+Distance chalutée
+ Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<PMFM_ID_TRAWL_DISTANCE>)
+
+Trait valide ou invalide
+ Operation.vesselUseFeatures.vesselUseMeasurement (VESSEL_USE_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PMFM_ID_HAUL_VALID>)
+
+Saisisseur(s)
+ En v1, les identifiant des personnes suivantes sont stockées dans ScientificCruise.fishingTrip.comments
+ derrière la balise : #MANAGERS=<liste_des_IDs>
+ En v2, ce stockage devra se faire dans ScientificCruise.fishingTrip.vesselPersonFeatures avec un VesselPersonRole.id=<responsable_de_campagne>
+
+Navire
+ Si le navire est identique au premier de la liste de la campagne : Operation.vessel (OPERATION.VESSEL_FK)
+ Sinon : Operation.operationVesselAssociation (OPERATION_VESSEL_ASSOCIATION.VESSEL_FK avec IS_CATCH_ON_OPERATION_VESSEL=0).
+ Operation.vessel est alors rempli avec le premier navire de la liste de la campagne, pour être compatible avec Allegro (on doit toujours avoir : SCIENTIFIC_CRUISE.VESSEL_FK = OPERATION_VESSEL_FK).
+
+Engin
+ Operation.gearPhysicialFeatures (OPERATION.GEAR_PHYSCIAL_FEATURES_FK) : lien vers un engin déjà déclaré au niveau de la campagne.
+ Le code de l'engin est également dupliqué au début de Operation.name (OPERATION.NAME), devant le numéro du trait, pour rester compatible avec le format des données historiques.
+
+Commentaire
+ Operation.comments (OPERATION.COMMENTS)
+
+Trait > Mise en oeuvre de l'engin
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Valeur
+ Operation.gearUseFeatures.gearUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK)
+
+Trait > Hydrologie et paramètres environnementaux
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Valeur
+ Operation.gearUseFeatures.vesselUseMeasurement (GEAR_USE_MEASUREMENT.xxx - en fonction du type de PSFM : NUMERICAL_VALUE, ALPHANUMERICAL_VALUE ou QUALITATIVE_VALUE_FK)
+ En v2 (à confirmer), informations dispatcher dans différent onglet, en fonction du PSFM trouvé dans le protocole
+
+Capture > Résumé
+~~~~~~~~~~~~~~~~
+
+Poids TOTAL
+ Lot "Capture" (BATCH avec IS_CATCH_BATCH=1)
+ CatchBatch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Poids total VRAC
+ Lot "Capture > Vrac"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Poids total HORS VRAC
+ Lot "Capture > Hors Vrac"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Poids total NON TRIE
+ Lot "Capture > Non trié"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Espèce > Poids TOTAL
+ Sommme des poids des lots "Capture > xxx > Espèce"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Espèce > Poids total VRAC
+ Lot "Capture > Vrac > Espèce"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Espèce > Poids total VRAC trié
+ Calculé par tutti ? utile seulement si Thalassa ?
+
+Espèce > Poids total HORS VRAC TRIE
+ Lot "Capture > Hors Vrac > Espèce"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Benthos > Poids TOTAL
+ Sommme des poids des lots "Capture > xxx > Benthos"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Benthos > Poids total VRAC
+ Lot "Capture > Vrac > Benthos"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Benthos > Poids total VRAC trié
+ Calculé par tutti ? utile seulement si Thalassa ?
+
+Benthos > Poids total HORS VRAC TRIE
+ Lot "Capture > Hors Vrac > Benthos"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Capture > Espèces
+~~~~~~~~~~~~~~~~~
+
+Espèce > Poids total VRAC
+ Lot "Capture > Vrac > Espèce"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Poids inerte trié
+ Lot "Capture > Vrac > Espèce > [TAXON_INERT]"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Poids vivant non détaillé trié
+ Lot "Capture > Vrac > Espèce > Biota"
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Tableau
+ Chaque ligne du tableau est stockée sous la forme d'un lot (Batch) positionné
+ soit sous le lot "Capture > Vrac > Espèce"
+ soit sous "Capture > Hors Vrac > Espèce"
+
+Tableau > Espèce
+ stockage de l'espèce uniquement pour les lot parent
+ Batch.referenceTaxon (BATCH.REFERENCE_TAXON_FK)
+
+Tableau > V/HV
+ Vrac ou Hors Vrac : Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SORTED_UNSORTED>)
+ Poids : Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
+Tableau > Class. Tri
+ Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SIZE_CATEGORY>)
+
+Tableau > Sexe
+ Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.SEX>)
+
+Tableau > Maturité
+ Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.MATURITY>)
+
+Tableau > Age
+ Batch.sortingMeasurement.qualitativeValue (SORTING_MEASUREMENT.QUALITATIVE_VALUE_FK avec PMFM_FK=<PmfmId.AGE>)
+
+Tableau > Poids sous-échantillonné
+ Si vide Batch.samplingRatio = 1
+ Sinon :
+ Batch.samplingRatioText (BATCH.SAMPLING_RATIO_TEXT) concaténé à partir des chaines : "<Poids sous-échantillonné>" + "/" + "<Poids V/HV>"
+ Batch.samplingRatio (BATCH.SAMPLING_RATIO) calculé par le division : <Poids sous-échantillonné> / <Poids V/HV>
+ Pour la lecture : on parse samplingRatioText pour récupérer le poids sous-échantillonné. si absent on le calculé à partir de samplingRatio (moins précis car perte possible de précision)
+
+Tableau > Nombre
+ Calculé à partir de la somme du nombre d'individus des lots fils (BATCH.INDIVIDUAL_COUNT avec PARENT_BATCH_FK=<ID du lot de la ligne du tableau>)
+ (voir ci-dessous "Mensuration > Tableau")
+
+Tableau > Commentaire
+ Batch.comments
+
+Tableau > Pièces Jointes
+ Chaque pièce jointes est stockée dans MeasurementFile
+ (MEASUREMENT_FILE avec PMFM_FK=null, OBJECT_TYPE_FK='BATCH' et OBJECT_ID=<ID du lot de la ligne du tableau>)
+ MeasurementFile.path : chemin du fichier (copier dans un répertoire, puis stocké en relatif ?)
+ MeasurementFile.name : nom
+ MeasurementFile.comments : commentaire
+
+Mensuration > Type de mesure
+ Dupliqué pour chaque lot de mensuration créé (un lot pour chaque taille saisie)
+ Batch.sortingMeasurement.pmfm (SORTING_MEASUREMENT.PMFM_FK)
+
+Mensuration > Pas de la classe de taille
+ Non stocké (devrait dépendre de PSFM.precision ?)
+ Peut-etre peut on le calculé par analyse des mensuration saisie ? Et si aucune mesure prendre la précision du PSFM ?
+
+Mensuration > Tableau
+ Chaque ligne du tableau de mensuration est stocké sous la forme d'un lot
+ relié au lot correspondant à la ligne parent du tableau des espèces. (BATCH avec PARENT_BATCH_FK=<ID du lot parent dans le tableau des espèces>)
+
+Mensuration > Tableau > Classe de taille
+ Batch.sortingMeasurement.numericalValue (SORTING_MEASUREMENT.NUMERICAL_VALUE avec PMFM_FK=<ID correspondant au "Type de mesure">)
+
+Mensuration > Tableau > Nombre
+ Batch.individualCount (BATCH.INDIVIDUAL_COUNT)
+
+Mensuration > Tableau > Poids observé
+ Batch.quantificationMeasurement.numericalValue (QUANTIFICATION_MEASUREMENT.NUMERICAL_VALUE avec IS_REFERENT=1)
+
\ No newline at end of file
Modified: trunk/src/site/site_fr.xml
===================================================================
--- trunk/src/site/site_fr.xml 2013-03-13 13:30:25 UTC (rev 607)
+++ trunk/src/site/site_fr.xml 2013-03-13 15:09:25 UTC (rev 608)
@@ -106,8 +106,9 @@
<menu name="Documentation Technique">
<item name="Configuration" href="./application-config-report.html"/>
- <item name="Référentiel" href="referential.html"/>
+ <item name="Référentiel" href="./referential.html"/>
<item name="Mise à jour des versions" href="./update.html"/>
+ <item name="Correspondance Ecrans/BDD" href="./mapping.html"/>
</menu>
<menu ref="reports"/>
1
0
r607 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/content/home resources/i18n
by tchemit@users.forge.codelutin.com 13 Mar '13
by tchemit@users.forge.codelutin.com 13 Mar '13
13 Mar '13
Author: tchemit
Date: 2013-03-13 14:30:25 +0100 (Wed, 13 Mar 2013)
New Revision: 607
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/607
Log:
fixes #2131: Saisie possible des captures d'une campagne dont la s?\195?\169rie n'a pas de zone
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
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/home/SelectCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-03-13 12:08:40 UTC (rev 606)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-03-13 13:30:25 UTC (rev 607)
@@ -32,6 +32,17 @@
_help: {"tuttihelp.selectCruise.help"};
}
+#warningContainer {
+ background: {new java.awt.Color(245, 218, 88)};
+ visible: {!model.isProgramValid()};
+}
+
+#warningLabel {
+ actionIcon: warning;
+ border: {new javax.swing.border.EmptyBorder(5, 10, 5, 10)};
+ text: "tutti.warn.invalid.program";
+}
+
#programLabel {
text: "tutti.label.program";
actionIcon: program;
@@ -186,7 +197,7 @@
text: "tutti.action.editCatches";
mnemonic: E;
_tuttiAction: {EditCatchesAction.class};
- enabled: {model.isValid() && uiContext.isCruiseFilled()};
+ enabled: {model.isProgramValid() && uiContext.isCruiseFilled()};
toolTipText: "tuttihelp.selectCruise.action.editCatches.tip";
_help: {"tuttihelp.selectCruise.action.editCatches.help"};
}
@@ -197,6 +208,6 @@
toolTipText: "tuttihelp.selectCruise.action.validateCatches.tip";
mnemonic: V;
_tuttiAction: {ValidateCatchesAction.class};
- enabled: {model.isValid() && uiContext.isCruiseFilled()};
+ enabled: {model.isProgramValid() && uiContext.isCruiseFilled()};
_help: {"tuttihelp.selectCruise.action.validateCatches.help"};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-03-13 12:08:40 UTC (rev 606)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-03-13 13:30:25 UTC (rev 607)
@@ -82,6 +82,13 @@
<Table fill='both' constraints='BorderLayout.CENTER'>
<row>
+ <cell columns="3">
+ <JPanel id='warningContainer' layout='{new BorderLayout(10, 10)}'>
+ <JLabel id='warningLabel' constraints='BorderLayout.CENTER'/>
+ </JPanel>
+ </cell>
+ </row>
+ <row>
<cell anchor='west'>
<JLabel id='programLabel'/>
</cell>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-13 12:08:40 UTC (rev 606)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIHandler.java 2013-03-13 13:30:25 UTC (rev 607)
@@ -173,14 +173,17 @@
Program newValue = (Program) evt.getNewValue();
boolean noProgram = newValue == null;
context.setProgramId(noProgram ? null : newValue.getId());
- List<Cruise> campaigns;
+ if (log.isInfoEnabled()) {
+ log.info("Selected program: "+newValue);
+ }
+ List<Cruise> cruises;
if (noProgram) {
- campaigns = Lists.newArrayList();
+ cruises = Lists.newArrayList();
} else {
- campaigns = persistenceService.getAllCruise(newValue.getId());
+ cruises = persistenceService.getAllCruise(newValue.getId());
}
SelectCruiseUIModel source = (SelectCruiseUIModel) evt.getSource();
- source.setCruises(campaigns);
+ source.setCruises(cruises);
source.setCruise(null);
}
});
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java 2013-03-13 12:08:40 UTC (rev 606)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUIModel.java 2013-03-13 13:30:25 UTC (rev 607)
@@ -45,6 +45,8 @@
public static final String PROPERTY_PROGRAM = "program";
+ public static final String PROPERTY_PROGRAM_VALID = "programValid";
+
public static final String PROPERTY_CRUISES = "cruises";
public static final String PROPERTY_CRUISE = "cruise";
@@ -94,12 +96,17 @@
this.program = program;
firePropertyChange(PROPERTY_PROGRAM, oldValue, program);
firePropertyChange(PROPERTY_PROGRAM_FOUND, oldValue != null, program != null);
+ firePropertyChange(PROPERTY_PROGRAM_VALID, null, isProgramValid());
}
public boolean isProgramFound() {
return program != null;
}
+ public boolean isProgramValid() {
+ return program == null || program.getZone() != null;
+ }
+
public List<Cruise> getCruises() {
return cruises;
}
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-03-13 12:08:40 UTC (rev 606)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-03-13 13:30:25 UTC (rev 607)
@@ -532,6 +532,7 @@
tutti.validator.warning.longitude.outOfBounds=
tutti.validator.warning.longitude.second.outOfBounds=
tutti.warn.invalid.batch.model=
+tutti.warn.invalid.program=
tutti.weights.rate.difference.totalAndSorted.description=
tuttihelp.createSpeciesBatch.action.addSpecies.tip=
tuttihelp.createSpeciesBatch.action.cancel.tip=
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-03-13 12:08:40 UTC (rev 606)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-03-13 13:30:25 UTC (rev 607)
@@ -552,6 +552,7 @@
tutti.validator.warning.longitude.outOfBounds=La Latitude doit être comprise entre -180.0 et 180.0
tutti.validator.warning.longitude.second.outOfBounds=La seconde de la longitude doit être comprise entre 0 et 60
tutti.warn.invalid.batch.model=L'arbre d'échantillonage n'est pas compatible. Les captures ne seront pas visibles.
+tutti.warn.invalid.program=Le programme sélectionné ne possède pas de zone, il ne peut pas être édité.
tuttihelp.createSpeciesBatch.action.addSpecies.tip=Sélectionner une autre espèce
tuttihelp.createSpeciesBatch.action.cancel.tip=
tuttihelp.createSpeciesBatch.action.save.tip=
1
0
r606 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches
by tchemit@users.forge.codelutin.com 13 Mar '13
by tchemit@users.forge.codelutin.com 13 Mar '13
13 Mar '13
Author: tchemit
Date: 2013-03-13 13:08:40 +0100 (Wed, 13 Mar 2013)
New Revision: 606
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/606
Log:
remove import
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-13 10:22:34 UTC (rev 605)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-03-13 12:08:40 UTC (rev 606)
@@ -25,7 +25,6 @@
* #L%
*/
-import com.sun.org.apache.bcel.internal.generic.GETSTATIC;
import fr.ifremer.tutti.TuttiBusinessException;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SampleCategory;
@@ -171,13 +170,13 @@
AbstractTuttiUIHandler.CONFIRMATION_FORMAT,
_("tutti.action.computeWeights.replaceTotalSortedWeight.message", rate),
_("tutti.action.computeWeights.replaceTotalSortedWeight.help"));
-
+
int answer = JOptionPane.showConfirmDialog(getContext().getActionUI(),
htmlMessage,
_("tutti.action.computeWeights.replaceTotalSortedWeight.title"),
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
-
+
if (answer == JOptionPane.NO_OPTION) {
model.setSpeciesTotalSortedWeight(null);
speciesTotalSortedWeight = totalSortedWeight;
1
0
r605 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/content/operation java/fr/ifremer/tutti/ui/swing/content/operation/catches/species java/fr/ifremer/tutti/ui/swing/util java/fr/ifremer/tutti/ui/swing/util/editor resources/i18n
by kmorin@users.forge.codelutin.com 13 Mar '13
by kmorin@users.forge.codelutin.com 13 Mar '13
13 Mar '13
Author: kmorin
Date: 2013-03-13 11:22:34 +0100 (Wed, 13 Mar 2013)
New Revision: 605
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/605
Log:
- weight format
- java 6 compatibility
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SampleCategoryComponent.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/VesselTableCell.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-13 10:07:29 UTC (rev 604)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-03-13 10:22:34 UTC (rev 605)
@@ -36,24 +36,24 @@
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.content.operation.catches.ComputeWeightsAction;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SaveCatchBatchAction;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.GearUseFeatureTabUI;
import fr.ifremer.tutti.ui.swing.content.operation.fishing.VesselUseFeatureTabUI;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.decorator.Decorator;
-
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JTabbedPane;
import java.awt.BorderLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Collections;
import java.util.List;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JTabbedPane;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.decorator.Decorator;
import static org.nuiton.i18n.I18n._;
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SampleCategoryComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SampleCategoryComponent.java 2013-03-13 10:07:29 UTC (rev 604)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SampleCategoryComponent.java 2013-03-13 10:22:34 UTC (rev 605)
@@ -24,7 +24,7 @@
* #L%
*/
-import jaxx.runtime.JAXXUtil;
+import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
import jaxx.runtime.swing.editor.NumberEditor;
import org.nuiton.util.decorator.Decorator;
@@ -44,6 +44,7 @@
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.io.Serializable;
+import jaxx.runtime.JAXXUtil;
/**
* To render and edit a {@link SampleCategory}.
@@ -241,12 +242,12 @@
} else if (computedNumber != null) {
if (sampleCategory.hasOnlyOneFrequency()) {
- text += String.format("%.3f", computedNumber);
+ text += TuttiUIUtil.getWeightStringValue(computedNumber);
} else {
String color = Integer.toHexString(computedWeightColor.getRGB()).substring(2);
text += "<em style='color: #" + color + "'>" +
- String.format("%.3f", computedNumber) + "</em>";
+ TuttiUIUtil.getWeightStringValue(computedNumber) + "</em>";
}
} else {
text += "-";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-13 10:07:29 UTC (rev 604)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-13 10:22:34 UTC (rev 605)
@@ -50,6 +50,8 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
import java.util.Date;
import static org.nuiton.i18n.I18n._;
@@ -200,10 +202,12 @@
return distanceText;
}
+ protected static DecimalFormat weightDecimalFormat = new DecimalFormat("0.0##");
+
public static String getWeightStringValue(Float weight) {
String textValue;
if (weight != null) {
- textValue = String.format("%.3f", weight);
+ textValue = weightDecimalFormat.format(weight);
} else {
textValue = JAXXUtil.getStringValue(weight);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java 2013-03-13 10:07:29 UTC (rev 604)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataEditorHandler.java 2013-03-13 10:22:34 UTC (rev 605)
@@ -124,7 +124,7 @@
Number computedData = bean.getComputedData();
if (editor.isUseFloat()
&& decimalNumber != null && computedData != null) {
- String format = "#." + StringUtils.repeat("#", decimalNumber);
+ String format = "0.0" + StringUtils.repeat("#", decimalNumber - 1);
modelText = new DecimalFormat(format).format(computedData);
} else {
modelText = JAXXUtil.getStringValue(computedData);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java 2013-03-13 10:07:29 UTC (rev 604)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/TuttiComputedOrNotDataTableCell.java 2013-03-13 10:22:34 UTC (rev 605)
@@ -220,7 +220,7 @@
foreground = computedDataColor;
if (useFloat && decimalNumber != null && dataValue != null) {
- String format = "#." + StringUtils.repeat("#", decimalNumber);
+ String format = "0.0" + StringUtils.repeat("#", decimalNumber - 1);
text = JAXXUtil.getStringValue(
new DecimalFormat(format).format(dataValue));
} else {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/VesselTableCell.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/VesselTableCell.java 2013-03-13 10:07:29 UTC (rev 604)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/editor/VesselTableCell.java 2013-03-13 10:22:34 UTC (rev 605)
@@ -147,7 +147,7 @@
private static final long serialVersionUID = 1L;
@Override
- public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+ public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
return super.getListCellRendererComponent(list, decorator.toString(value), index, isSelected, cellHasFocus);
}
}
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-03-13 10:07:29 UTC (rev 604)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-03-13 10:22:34 UTC (rev 605)
@@ -135,6 +135,7 @@
tutti.dialog.askSaveBeforeLeaving.saveProgram=
tutti.dialog.askSaveBeforeLeaving.saveProtocol=
tutti.dialog.askSaveBeforeLeaving.title=
+tutti.dialog.catches.species.split.weightNotNull.help=
tutti.dialog.catches.species.split.weightNotNull.message=
tutti.dialog.catches.species.split.weightNotNull.title=
tutti.dialog.computeWeights.replaceTotalSortedWeight.help=
1
0
See <http://ci.nuiton.org/jenkins/job/tutti/492/changes>
Changes:
[Tony Chemit] fixes #2129: [ERGO] Normalisation des commentaires dans les cellules
refs #2075: [TECH] Action longue (problème de cinématique) (toujours fermer le loading quand l'action est terminée)
------------------------------------------
[...truncated 342 lines...]
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ tutti-service ---
[INFO] Copying 1 resource
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-testResources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-testCompile)[INFO] Compiling 2 source files to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/test-c…>
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ tutti-service ---
mojoSucceeded org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-testCompile)
mojoStarted org.apache.maven.plugins:maven-surefire-plugin:2.14(default-test)
[INFO]
[INFO] --- maven-surefire-plugin:2.14:test (default-test) @ tutti-service ---
[INFO] Surefire report directory: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportServiceTest
2013-03-13 10:33:02,685 0 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will export species to file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-13 10:33:02,709 24 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol - fr.ifremer.tutti.service.protocol.SpeciesRow > [null] , will create a new default one.
2013-03-13 10:33:03,018 333 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will export all caracteristics to file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-13 10:33:03,035 350 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will import protocol [null] species from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-13 10:33:03,044 359 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.service.protocol.SpeciesRow - fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol > [null] , will create a new default one.
2013-03-13 10:33:03,114 429 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will export all caracteristics to file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-13 10:33:03,118 433 [main] INFO fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportService - Will import protocol caracteristic from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.74 sec
Running fr.ifremer.tutti.service.referential.TuttiReferentialImportExportServiceTest
2013-03-13 10:33:03,169 484 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@190af581
2013-03-13 10:33:03,170 485 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@1babb4d7
2013-03-13 10:33:03,173 488 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@37ba658a
2013-03-13 10:33:03,176 491 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@2f79b905
2013-03-13 10:33:03,275 590 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-13 10:33:03,281 596 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-13 10:33:03,293 608 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-13 10:33:03,297 612 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-13 10:33:03,298 613 [main] INFO fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService - Will import persons from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-13 10:33:03,299 614 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.referential.Person - fr.ifremer.tutti.persistence.entities.referential.Person > [null] , will create a new default one.
2013-03-13 10:33:03,306 621 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-13 10:33:03,309 624 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-13 10:33:03,310 625 [main] INFO fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService - Will import vessels from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-13 10:33:03,333 648 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.referential.Vessel - fr.ifremer.tutti.persistence.entities.referential.Vessel > [null] , will create a new default one.
2013-03-13 10:33:03,338 653 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-13 10:33:03,342 657 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-13 10:33:03,350 665 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-13 10:33:03,353 668 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-13 10:33:03,359 674 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-13 10:33:03,362 677 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-13 10:33:03,370 685 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-13 10:33:03,373 688 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-13 10:33:03,374 689 [main] INFO fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService - Will import species from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-13 10:33:03,376 691 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.referential.Species - fr.ifremer.tutti.persistence.entities.referential.Species > [null] , will create a new default one.
2013-03-13 10:33:03,382 697 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-03-13 10:33:03,385 700 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-03-13 10:33:03,386 701 [main] INFO fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService - Will import gears from file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/surefi…>
2013-03-13 10:33:03,388 703 [main] INFO org.nuiton.util.beans.BinderFactory - No binder model found for <fr.ifremer.tutti.persistence.entities.referential.Gear - fr.ifremer.tutti.persistence.entities.referential.Gear > [null] , will create a new default one.
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.247 sec
Results :
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0
mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.14(default-test)
[JENKINS] Recording test results
mojoStarted org.apache.maven.plugins:maven-jar-plugin:2.4(default-jar)
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ tutti-service ---
[INFO] Building jar: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…>
mojoSucceeded org.apache.maven.plugins:maven-jar-plugin:2.4(default-jar)
mojoStarted org.apache.maven.plugins:maven-site-plugin:3.2(attach-descriptor)
[INFO]
[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ tutti-service ---
mojoSucceeded org.apache.maven.plugins:maven-site-plugin:3.2(attach-descriptor)
mojoStarted org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
[INFO]
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/1.1-SNAPSHOT/tutti-service-1.1-SNAPSHOT.jar
[INFO] --- maven-install-plugin:2.4:install (default-install) @ tutti-service ---
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/1.1-SNAPSHOT/tutti-service-1.1-SNAPSHOT.pom
mojoSucceeded org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
projectSucceeded fr.ifremer.tutti:tutti-service:1.1-SNAPSHOT
projectStarted fr.ifremer.tutti:tutti-ui-swing:1.1-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 1.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 50.3 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma… (2 KB at 40.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.14-…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.14-… (808 B at 23.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.… (808 B at 24.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (2 KB at 67.6 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid… (2 KB at 57.0 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 45.2 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru… (2 KB at 26.5 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 46.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 40.0 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 45.2 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi… (2 KB at 41.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 59.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va… (2 KB at 52.0 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target>
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.14-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.14-SNAPSHOT:generate (default) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 43.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 39.0 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 27 modified jaxx file(s).
ERROR [pool-1-thread-1] (TagManager.java:481) getTagHandler - java.lang.ClassNotFoundException: fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
ERROR [pool-1-thread-1] (TagManager.java:481) getTagHandler - java.lang.ClassNotFoundException: fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
ERROR [pool-1-thread-1] (JAXXEngine.java:366) run - unable to find CompiledObject associated with tag <JPopupMenu>; should have been registered before second pass
java.lang.IllegalStateException: unable to find CompiledObject associated with tag <JPopupMenu>; should have been registered before second pass
at jaxx.compiler.tags.DefaultObjectHandler.compileSecondPass(DefaultObjectHandler.java:475)
at jaxx.compiler.tags.DefaultComponentHandler.compileSecondPass(DefaultComponentHandler.java:150)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:644)
at jaxx.compiler.tags.DefaultObjectHandler.compileChildTagSecondPass(DefaultObjectHandler.java:1320)
at jaxx.compiler.tags.DefaultObjectHandler.compileChildrenSecondPass(DefaultObjectHandler.java:1285)
at jaxx.compiler.tags.DefaultObjectHandler.compileSecondPass(DefaultObjectHandler.java:498)
at jaxx.compiler.tags.DefaultComponentHandler.compileSecondPass(DefaultComponentHandler.java:150)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:644)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:675)
at jaxx.compiler.tasks.CompileSecondPassTask.perform(CompileSecondPassTask.java:81)
at jaxx.compiler.JAXXEngine.run(JAXXEngine.java:352)
at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:511)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:132)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
[ERROR] JAXX detects 2 errors :
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:1
: Internal error: missing TagHandler for 'fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI'
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:80
: Could not find a Java class corresponding to: <LongTextEditorUI>
mojoFailed org.nuiton.jaxx:jaxx-maven-plugin:2.5.14-SNAPSHOT(default)
projectFailed fr.ifremer.tutti:tutti-ui-swing:1.1-SNAPSHOT
sessionEnded
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [14.806s]
[INFO] Tutti :: Persistence .............................. SUCCESS [28.002s]
[INFO] Tutti :: Service .................................. SUCCESS [3.891s]
[INFO] Tutti :: UI ....................................... FAILURE [16.534s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:06.140s
[INFO] Finished at: Wed Mar 13 10:33:20 CET 2013
[INFO] Final Memory: 43M/146M
[INFO] ------------------------------------------------------------------------
Projects to build: [MavenProject: fr.ifremer:tutti:1.1-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-persistence:1.1-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-service:1.1-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-ui-swing:1.1-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml]>
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-03-13_10-32-08/archive/fr.ifremer.tutti/tutti-service/1.1-SNAPSHOT/tutti-service-1.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-03-13_10-32-08/archive/fr.ifremer.tutti/tutti-service/1.1-SNAPSHOT/tutti-service-1.1-SNAPSHOT.jar
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-ui-swing/builds/2013-03-13_10-32-08/archive/fr.ifremer.tutti/tutti-ui-swing/1.1-SNAPSHOT/tutti-ui-swing-1.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-03-13_10-32-08/archive/fr.ifremer/tutti/1.1-SNAPSHOT/tutti-1.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target/tutti-1.1-SNAPSHOT-s…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-03-13_10-32-08/archive/fr.ifremer/tutti/1.1-SNAPSHOT/tutti-1.1-SNAPSHOT-site_fr.xml
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-03-13_10-32-08/archive/fr.ifremer.tutti/tutti-persistence/1.1-SNAPSHOT/tutti-persistence-1.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-03-13_10-32-08/archive/fr.ifremer.tutti/tutti-persistence/1.1-SNAPSHOT/tutti-persistence-1.1-SNAPSHOT.jar
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.nuiton.jaxx:jaxx-maven-plugin:2.5.14-SNAPSHOT:generate (default) on project tutti-ui-swing: Aborting due to errors reported by jaxxc
cause : Aborting due to errors reported by jaxxc
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.nuiton.jaxx:jaxx-maven-plugin:2.5.14-SNAPSHOT:generate (default) on project tutti-ui-swing: Aborting due to errors reported by jaxxc
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.maven.plugin.MojoExecutionException: Aborting due to errors reported by jaxxc
at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:517)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:132)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 27 more
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit(a)codelutin.com
channel stopped
1
2
13 Mar '13
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/492/…>
Changes:
[Tony Chemit] fixes #2129: [ERGO] Normalisation des commentaires dans les cellules
refs #2075: [TECH] Action longue (problème de cinématique) (toujours fermer le loading quand l'action est terminée)
------------------------------------------
projectStarted fr.ifremer.tutti:tutti-ui-swing:1.1-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 1.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 50.3 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma… (2 KB at 40.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.14-…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.14-… (808 B at 23.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.… (808 B at 24.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/nuiton-… (2 KB at 67.6 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/nuiton-valid… (2 KB at 57.0 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 45.2 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru… (2 KB at 26.5 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 46.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 40.0 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 45.2 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi… (2 KB at 41.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 59.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va… (2 KB at 52.0 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.14-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.14-SNAPSHOT:generate (default) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 43.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 39.0 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 27 modified jaxx file(s).
ERROR [pool-1-thread-1] (TagManager.java:481) getTagHandler - java.lang.ClassNotFoundException: fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
ERROR [pool-1-thread-1] (TagManager.java:481) getTagHandler - java.lang.ClassNotFoundException: fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
ERROR [pool-1-thread-1] (JAXXEngine.java:366) run - unable to find CompiledObject associated with tag <JPopupMenu>; should have been registered before second pass
java.lang.IllegalStateException: unable to find CompiledObject associated with tag <JPopupMenu>; should have been registered before second pass
at jaxx.compiler.tags.DefaultObjectHandler.compileSecondPass(DefaultObjectHandler.java:475)
at jaxx.compiler.tags.DefaultComponentHandler.compileSecondPass(DefaultComponentHandler.java:150)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:644)
at jaxx.compiler.tags.DefaultObjectHandler.compileChildTagSecondPass(DefaultObjectHandler.java:1320)
at jaxx.compiler.tags.DefaultObjectHandler.compileChildrenSecondPass(DefaultObjectHandler.java:1285)
at jaxx.compiler.tags.DefaultObjectHandler.compileSecondPass(DefaultObjectHandler.java:498)
at jaxx.compiler.tags.DefaultComponentHandler.compileSecondPass(DefaultComponentHandler.java:150)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:644)
at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:675)
at jaxx.compiler.tasks.CompileSecondPassTask.perform(CompileSecondPassTask.java:81)
at jaxx.compiler.JAXXEngine.run(JAXXEngine.java:352)
at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:511)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:132)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
[ERROR] JAXX detects 2 errors :
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:1
: Internal error: missing TagHandler for 'fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI'
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:80
: Could not find a Java class corresponding to: <LongTextEditorUI>
mojoFailed org.nuiton.jaxx:jaxx-maven-plugin:2.5.14-SNAPSHOT(default)
projectFailed fr.ifremer.tutti:tutti-ui-swing:1.1-SNAPSHOT
1
2
13 Mar '13
Author: tchemit
Date: 2013-03-13 11:07:29 +0100 (Wed, 13 Mar 2013)
New Revision: 604
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/604
Log:
fixes #2129: [ERGO] Normalisation des commentaires dans les cellules (fix build)
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-03-13 09:47:39 UTC (rev 603)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-03-13 10:07:29 UTC (rev 604)
@@ -997,7 +997,7 @@
* @return null the latitude to store in database (could not be null)
*/
protected Float convertUI2DatabaseMandatoryLatitude(Float databaseValue) {
- return (databaseValue != null) ? databaseValue : DEFAULT_EMPTY_LATITUDE;
+ return databaseValue != null ? databaseValue : DEFAULT_EMPTY_LATITUDE;
}
/**
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx 2013-03-13 09:47:39 UTC (rev 603)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx 2013-03-13 10:07:29 UTC (rev 604)
@@ -30,8 +30,6 @@
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.TuttiUI
- fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
-
jaxx.runtime.swing.editor.NumberEditor
org.jdesktop.swingx.JXTable
@@ -64,8 +62,6 @@
<TuttiHelpBroker id='broker'
constructorParams='"tuttihelp.editAccidentalBatch.help"'/>
- <LongTextEditorUI id='longTextEditor'/>
-
<JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER'>
<JXTable id='table' onFocusLost='handler.saveSelectedRowIfRequired(event)'/>
</JScrollPane>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx 2013-03-13 09:47:39 UTC (rev 603)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx 2013-03-13 10:07:29 UTC (rev 604)
@@ -29,8 +29,6 @@
fr.ifremer.tutti.ui.swing.TuttiHelpBroker
fr.ifremer.tutti.ui.swing.util.TuttiUI
- fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
-
jaxx.runtime.swing.editor.NumberEditor
org.jdesktop.swingx.JXTable
@@ -75,10 +73,6 @@
<TuttiHelpBroker id='broker'
constructorParams='"tuttihelp.editBenthosBatch.help"'/>
- <LongTextEditorUI id='longTextEditor'/>
-
- <!--<AttachmentEditorUI id='attachmentEditor'/>-->
-
<Table id='form' fill='both' constraints='BorderLayout.NORTH'>
<!-- Poids total / Poids total vrac -->
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUI.jaxx 2013-03-13 09:47:39 UTC (rev 603)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/macrowaste/MacroWasteBatchUI.jaxx 2013-03-13 10:07:29 UTC (rev 604)
@@ -30,8 +30,6 @@
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.TuttiUI
- fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
-
jaxx.runtime.swing.editor.NumberEditor
org.jdesktop.swingx.JXTable
@@ -69,8 +67,6 @@
<TuttiHelpBroker id='broker'
constructorParams='"tuttihelp.editMacroWasteBatch.help"'/>
- <LongTextEditorUI id='longTextEditor'/>
-
<Table id='form' fill='both' constraints='BorderLayout.NORTH'>
<!-- Poids total -->
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx 2013-03-13 09:47:39 UTC (rev 603)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx 2013-03-13 10:07:29 UTC (rev 604)
@@ -29,7 +29,6 @@
fr.ifremer.tutti.ui.swing.TuttiHelpBroker
fr.ifremer.tutti.ui.swing.TuttiUIContext
fr.ifremer.tutti.ui.swing.util.TuttiUI
- fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
jaxx.runtime.swing.editor.NumberEditor
@@ -70,8 +69,6 @@
<TuttiHelpBroker id='broker'
constructorParams='"tuttihelp.editPlanktonBatch.help"'/>
- <LongTextEditorUI id='longTextEditor'/>
-
<Table id='form' fill='both' constraints='BorderLayout.NORTH'>
<!-- Poids total -->
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-03-13 09:47:39 UTC (rev 603)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-03-13 10:07:29 UTC (rev 604)
@@ -29,7 +29,6 @@
fr.ifremer.tutti.ui.swing.TuttiHelpBroker
fr.ifremer.tutti.ui.swing.util.TuttiUI
fr.ifremer.tutti.ui.swing.util.attachment.ButtonAttachment
- fr.ifremer.tutti.ui.swing.util.editor.LongTextEditorUI
fr.ifremer.tutti.ui.swing.util.editor.TuttiComputedOrNotDataEditor
org.jdesktop.swingx.JXTable
@@ -77,8 +76,6 @@
constructorParams='getHandler().getContext(), getModel()'/>
</JToolBar>
- <LongTextEditorUI id='longTextEditor'/>
-
<JPopupMenu id='tablePopup'>
<!--onPopupMenuWillBecomeVisible='handler.updateTablePopup()'>-->
<JMenuItem id='splitSpeciesBatchMenu'
1
0