Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
208943b4
by tchemit at 2020-04-15T17:51:29+02:00
-
d4f87cc2
by tchemit at 2020-04-15T18:05:21+02:00
-
c542b7be
by tchemit at 2020-04-15T18:26:50+02:00
19 changed files:
- client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java
- client-datasource-actions/src/main/i18n/getters/java.getter
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroModel.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUI.jaxx
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUI.jcss
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/DataSynchroUIHandler.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/Start.java
- + client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePane.jaxx
- + client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePane.jcss
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/CopyFromRight.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneHandler.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/DeleteFromRight.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSelectionTreePaneActionSupport.java
- + client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/DataSourceInformation.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/CopyFromLeft.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/RegisterCopy.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/DeleteFromLeft.java → client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/actions/RegisterDelete.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/referential/ng/tree/actions/SelectUnselect.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/selection/SelectionTree.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/tree/selection/actions/SelectUnselect.java
- pom.xml
- server-core/src/main/java/fr/ird/observe/server/injector/ObserveDtoInjector.java
Changes:
| ... | ... | @@ -59,10 +59,10 @@ public abstract class ObserveKeyStrokesSupport { |
| 59 | 59 |
|
| 60 | 60 |
public static final KeyStroke KEY_STROKE_CANCEL = KeyStroke.getKeyStroke("alt pressed A");
|
| 61 | 61 |
public static final KeyStroke KEY_STROKE_EXIT = KeyStroke.getKeyStroke("alt pressed F");
|
| 62 |
- public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT = KeyStroke.getKeyStroke("ctrl pressed C");
|
|
| 63 |
- public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT = KeyStroke.getKeyStroke("ctrl pressed D");
|
|
| 64 |
- public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT = KeyStroke.getKeyStroke("shift ctrl pressed C");
|
|
| 65 |
- public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT = KeyStroke.getKeyStroke("shift ctrl pressed D");
|
|
| 62 |
+ public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_COPY = KeyStroke.getKeyStroke("pressed F1");
|
|
| 63 |
+ public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_DELETE = KeyStroke.getKeyStroke("pressed F2");
|
|
| 64 |
+ public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT = KeyStroke.getKeyStroke("shift pressed F1");
|
|
| 65 |
+ public static final KeyStroke KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT = KeyStroke.getKeyStroke("shift pressed F2");
|
|
| 66 | 66 |
|
| 67 | 67 |
public static final KeyStroke KEY_STROKE_STORAGE_DO_CONFIGURE_REMOTE = KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.CTRL_MASK);
|
| 68 | 68 |
public static final KeyStroke KEY_STROKE_STORAGE_DO_CONFIGURE_SERVER = KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK);
|
| ... | ... | @@ -18,7 +18,6 @@ observe.action.goto.next.stage |
| 18 | 18 |
observe.action.goto.next.stage.tip
|
| 19 | 19 |
observe.action.goto.previous.stage
|
| 20 | 20 |
observe.action.goto.previous.stage.tip
|
| 21 |
-observe.action.info.storage
|
|
| 22 | 21 |
observe.action.info.storage.tip
|
| 23 | 22 |
observe.action.validate.config.generateReport
|
| 24 | 23 |
observe.actions.consolidate
|
| ... | ... | @@ -26,6 +26,7 @@ import fr.ird.observe.client.datasource.actions.AdminActionModel; |
| 26 | 26 |
import fr.ird.observe.client.datasource.actions.AdminStep;
|
| 27 | 27 |
import fr.ird.observe.client.datasource.actions.AdminUI;
|
| 28 | 28 |
import fr.ird.observe.client.datasource.actions.synchronize.data.task.DataSynchronizeTaskSupport;
|
| 29 |
+import fr.ird.observe.client.datasource.actions.synchronize.referential.ng.ReferentialSynchroUI;
|
|
| 29 | 30 |
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
|
| 30 | 31 |
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
|
| 31 | 32 |
import fr.ird.observe.client.util.ProgressModel;
|
| ... | ... | @@ -46,6 +47,7 @@ public class DataSynchroModel extends AdminActionModel { |
| 46 | 47 |
private static final String RIGHT_SOURCE_PROPERTY_NAME = "rightSource";
|
| 47 | 48 |
private static final String LEFT_SELECTION_MODEL_CHANGED_PROPERTY_NAME = "leftSelectionModelChanged";
|
| 48 | 49 |
private static final String RIGHT_SELECTION_MODEL_CHANGED_PROPERTY_NAME = "rightSelectionModelChanged";
|
| 50 |
+ private static final String TASKS_EMPTY_PROPERTY_NAME = "tasksEmpty";
|
|
| 49 | 51 |
private static final Logger log = LogManager.getLogger(DataSynchroModel.class);
|
| 50 | 52 |
|
| 51 | 53 |
private final DefaultListModel<DataSynchronizeTaskSupport> tasks;
|
| ... | ... | @@ -97,7 +99,7 @@ public class DataSynchroModel extends AdminActionModel { |
| 97 | 99 |
return leftSelectionDataModel;
|
| 98 | 100 |
}
|
| 99 | 101 |
|
| 100 |
- void setLeftSelectionDataModel(SelectionTreeModel leftSelectionDataModel) {
|
|
| 102 |
+ public void setLeftSelectionDataModel(SelectionTreeModel leftSelectionDataModel) {
|
|
| 101 | 103 |
this.leftSelectionDataModel = leftSelectionDataModel;
|
| 102 | 104 |
}
|
| 103 | 105 |
|
| ... | ... | @@ -105,7 +107,7 @@ public class DataSynchroModel extends AdminActionModel { |
| 105 | 107 |
return rightSelectionDataModel;
|
| 106 | 108 |
}
|
| 107 | 109 |
|
| 108 |
- void setRightSelectionDataModel(SelectionTreeModel rightSelectionDataModel) {
|
|
| 110 |
+ public void setRightSelectionDataModel(SelectionTreeModel rightSelectionDataModel) {
|
|
| 109 | 111 |
this.rightSelectionDataModel = rightSelectionDataModel;
|
| 110 | 112 |
}
|
| 111 | 113 |
|
| ... | ... | @@ -122,7 +124,13 @@ public class DataSynchroModel extends AdminActionModel { |
| 122 | 124 |
}
|
| 123 | 125 |
|
| 124 | 126 |
public void addTask(DataSynchronizeTaskSupport task) {
|
| 127 |
+ boolean tasksEmpty = isTasksEmpty();
|
|
| 125 | 128 |
tasks.addElement(task);
|
| 129 |
+ firePropertyChange(TASKS_EMPTY_PROPERTY_NAME, tasksEmpty, isTasksEmpty());
|
|
| 130 |
+ }
|
|
| 131 |
+ |
|
| 132 |
+ public boolean isTasksEmpty() {
|
|
| 133 |
+ return tasks.isEmpty();
|
|
| 126 | 134 |
}
|
| 127 | 135 |
|
| 128 | 136 |
private void populateSelectionModel(ObserveSwingDataSource dataSource, SelectionTreeModel selectionDataModel, String propertyName) {
|
| ... | ... | @@ -143,7 +151,7 @@ public class DataSynchroModel extends AdminActionModel { |
| 143 | 151 |
//FIXME Check we don't need any longer
|
| 144 | 152 |
// configUI.getLocalSourceConfig().setBorder(new TitledBorder(ui.getModel().getConfigModel().getLocalSourceLabel()));
|
| 145 | 153 |
// configUI.getCentralSourceConfig().setBorder(new TitledBorder(ui.getModel().getConfigModel().getCentralSourceLabel()));
|
| 146 |
- |
|
| 154 |
+ ((DataSynchroUI)ui.getStepUI(AdminStep.DATA_SYNCHRONIZE)).getApply().setEnabled(false);
|
|
| 147 | 155 |
}
|
| 148 | 156 |
|
| 149 | 157 |
public ProgressModel getProgressModel() {
|
| ... | ... | @@ -24,10 +24,7 @@ |
| 24 | 24 |
fr.ird.observe.client.util.UIHelper
|
| 25 | 25 |
fr.ird.observe.client.datasource.actions.AdminUI
|
| 26 | 26 |
fr.ird.observe.client.datasource.actions.AdminStep
|
| 27 |
- fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreePane
|
|
| 28 |
- org.nuiton.jaxx.runtime.swing.SwingUtil
|
|
| 29 |
- |
|
| 30 |
- javax.swing.ListSelectionModel
|
|
| 27 |
+ fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane
|
|
| 31 | 28 |
|
| 32 | 29 |
static io.ultreia.java4all.i18n.I18n.t
|
| 33 | 30 |
</import>
|
| ... | ... | @@ -35,8 +32,7 @@ |
| 35 | 32 |
<DataSynchroModel id='stepModel' initializer='getModel().getDataSynchroModel()'/>
|
| 36 | 33 |
|
| 37 | 34 |
<JPanel id='PENDING_content'>
|
| 38 |
- <Table constraints='BorderLayout.CENTER' fill='both' weightx='1'
|
|
| 39 |
- weighty='1'>
|
|
| 35 |
+ <Table constraints='BorderLayout.CENTER' fill='both' weightx='1' weighty='1'>
|
|
| 40 | 36 |
<row>
|
| 41 | 37 |
<cell>
|
| 42 | 38 |
<JButton id='start'/>
|
| ... | ... | @@ -48,22 +44,12 @@ |
| 48 | 44 |
<JSplitPane id="contentSplitPane" constraints='BorderLayout.CENTER'>
|
| 49 | 45 |
<Table id='contentNorth' fill="both" weighty="1">
|
| 50 | 46 |
<row>
|
| 51 |
- <cell weightx="0.45">
|
|
| 52 |
- <SelectionTreePane id="leftTreePane"/>
|
|
| 53 |
- </cell>
|
|
| 54 |
- <cell weightx="0.1">
|
|
| 55 |
- <JPanel layout="{new BorderLayout()}" border='{new TitledBorder(" ")}'>
|
|
| 56 |
- <JPanel id="middleActions" layout="{new GridLayout(0, 2)}" constraints='BorderLayout.CENTER'>
|
|
| 57 |
- <JButton id="copyFromLeft" styleClass="disabled"/>
|
|
| 58 |
- <JButton id="copyFromRight" styleClass="disabled"/>
|
|
| 59 |
- <JButton id="deleteFromLeft" styleClass="disabled"/>
|
|
| 60 |
- <JButton id="deleteFromRight" styleClass="disabled"/>
|
|
| 61 |
- </JPanel>
|
|
| 47 |
+ <cell weightx="1">
|
|
| 48 |
+ <JPanel layout="{new GridLayout(1, 0)}">
|
|
| 49 |
+ <DataSelectionTreePane id="leftTreePane" constructorParams="UIHelper.initialContext(this, false)"/>
|
|
| 50 |
+ <DataSelectionTreePane id="rightTreePane" constructorParams="UIHelper.initialContext(this, true)"/>
|
|
| 62 | 51 |
</JPanel>
|
| 63 | 52 |
</cell>
|
| 64 |
- <cell weightx="0.45">
|
|
| 65 |
- <SelectionTreePane id="rightTreePane" constructorParams="true"/>
|
|
| 66 |
- </cell>
|
|
| 67 | 53 |
</row>
|
| 68 | 54 |
</Table>
|
| 69 | 55 |
<Table id='contentSouth' fill="both">
|
| ... | ... | @@ -33,29 +33,17 @@ |
| 33 | 33 |
resizeWeight: 0.8;
|
| 34 | 34 |
}
|
| 35 | 35 |
|
| 36 |
-#copyToLeft {
|
|
| 37 |
- enabled:false;
|
|
| 38 |
-}
|
|
| 39 |
- |
|
| 40 |
-#copyToRight {
|
|
| 41 |
- enabled:false;
|
|
| 42 |
-}
|
|
| 43 |
- |
|
| 44 |
-#deleteFromLeft {
|
|
| 45 |
- enabled:false;
|
|
| 46 |
-}
|
|
| 47 |
- |
|
| 48 |
-#deleteFromRight {
|
|
| 49 |
- enabled:false;
|
|
| 50 |
-}
|
|
| 51 |
- |
|
| 52 | 36 |
#actionsToConsumePane {
|
| 53 | 37 |
border:{new TitledBorder(t("observe.actions.synchro.data.actionsToPerform"))};
|
| 54 | 38 |
verticalScrollBarPolicy:{JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED};
|
| 55 | 39 |
}
|
| 56 | 40 |
|
| 57 | 41 |
#actionsToConsume {
|
| 58 |
- selectionMode:{ListSelectionModel.SINGLE_SELECTION};
|
|
| 42 |
+ selectionMode:{javax.swing.ListSelectionModel.SINGLE_SELECTION};
|
|
| 59 | 43 |
cellRenderer:{new DataSynchronizeTaskListCellRenderer()};
|
| 60 |
- model:{getStepModel().getTasks()};
|
|
| 44 |
+ model:{stepModel.getTasks()};
|
|
| 45 |
+}
|
|
| 46 |
+ |
|
| 47 |
+#apply {
|
|
| 48 |
+ enabled:{!stepModel.isTasksEmpty()};
|
|
| 61 | 49 |
}
|
| ... | ... | @@ -24,12 +24,18 @@ package fr.ird.observe.client.datasource.actions.synchronize.data; |
| 24 | 24 |
|
| 25 | 25 |
import fr.ird.observe.client.datasource.actions.AdminStep;
|
| 26 | 26 |
import fr.ird.observe.client.datasource.actions.AdminTabUIHandler;
|
| 27 |
+import fr.ird.observe.client.datasource.actions.config.ConfigModel;
|
|
| 27 | 28 |
import fr.ird.observe.client.datasource.actions.config.ConfigUI;
|
| 28 |
-import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTree;
|
|
| 29 |
-import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
|
|
| 29 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
|
|
| 30 |
+import fr.ird.observe.client.datasource.editor.tree.selection.actions.SelectUnselectWithOpposite;
|
|
| 30 | 31 |
import fr.ird.observe.client.datasource.editor.wizard.StorageUIModel;
|
| 32 |
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelector;
|
|
| 33 |
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel;
|
|
| 31 | 34 |
import org.nuiton.jaxx.runtime.spi.UIHandler;
|
| 32 | 35 |
|
| 36 |
+import javax.swing.border.TitledBorder;
|
|
| 37 |
+import java.awt.Color;
|
|
| 38 |
+ |
|
| 33 | 39 |
/**
|
| 34 | 40 |
* Created on 02/08/16.
|
| 35 | 41 |
*
|
| ... | ... | @@ -37,48 +43,62 @@ import org.nuiton.jaxx.runtime.spi.UIHandler; |
| 37 | 43 |
* @since 5.0
|
| 38 | 44 |
*/
|
| 39 | 45 |
public class DataSynchroUIHandler extends AdminTabUIHandler<DataSynchroUI> implements UIHandler<DataSynchroUI> {
|
| 46 |
+ public static final String SYNCHRO_PARENT = "synchroParent";
|
|
| 47 |
+ |
|
| 48 |
+ @Override
|
|
| 49 |
+ public void beforeInit(DataSynchroUI ui) {
|
|
| 50 |
+ super.beforeInit(ui);
|
|
| 51 |
+ ui.setContextValue(ui, SYNCHRO_PARENT);
|
|
| 52 |
+ }
|
|
| 40 | 53 |
|
| 41 | 54 |
@Override
|
| 42 | 55 |
public void afterInit(DataSynchroUI ui) {
|
| 43 | 56 |
super.afterInit(ui);
|
| 44 | 57 |
ConfigUI configUI = (ConfigUI) parentUI.getStepUI(AdminStep.CONFIG);
|
| 45 |
- configUI.getStepModel().addPropertyChangeListener(StorageUIModel.VALID_PROPERTY_NAME, evt -> updateFromConfig());
|
|
| 46 |
- DataSynchroModel stepModel = getStepModel();
|
|
| 47 |
- |
|
| 48 |
- SelectionTree leftTree = ui.getLeftTreePane().getTree();
|
|
| 49 |
- SelectionTreeModel leftSelectionDataModel = leftTree.getTreeModel();
|
|
| 50 |
- stepModel.setLeftSelectionDataModel(leftSelectionDataModel);
|
|
| 51 |
- leftSelectionDataModel.setLoadLongline(true);
|
|
| 52 |
- leftSelectionDataModel.setLoadSeine(true);
|
|
| 53 |
- leftSelectionDataModel.setLoadReferential(false);
|
|
| 54 |
- leftSelectionDataModel.setShowEmptyTrips(false);
|
|
| 55 |
- |
|
| 56 |
- SelectionTree rightTree = ui.getRightTreePane().getTree();
|
|
| 57 |
- SelectionTreeModel rightSelectionDataModel = rightTree.getTreeModel();
|
|
| 58 |
- stepModel.setRightSelectionDataModel(rightSelectionDataModel);
|
|
| 59 |
- rightSelectionDataModel.setLoadLongline(true);
|
|
| 60 |
- rightSelectionDataModel.setLoadSeine(true);
|
|
| 61 |
- rightSelectionDataModel.setLoadReferential(false);
|
|
| 62 |
- rightSelectionDataModel.setShowEmptyTrips(false);
|
|
| 63 |
- |
|
| 64 |
- // on n'installe qu'une seule fois l'ui
|
|
| 65 |
- leftTree.installUI2(ui.getLeftTreePane(), ui.getRightTreePane());
|
|
| 66 |
- |
|
| 67 |
- stepModel.getLeftSelectionDataModel().addPropertyChangeListener(evt -> {
|
|
| 68 |
- SelectionTreeModel model = (SelectionTreeModel) evt.getSource();
|
|
| 69 |
- boolean withDataSelected = !model.isSelectionEmpty();
|
|
| 70 |
- ui.getCopyFromLeft().setEnabled(withDataSelected);
|
|
| 71 |
- ui.getDeleteFromLeft().setEnabled(withDataSelected);
|
|
| 72 |
- |
|
| 73 |
- });
|
|
| 74 |
- stepModel.getRightSelectionDataModel().addPropertyChangeListener(evt -> {
|
|
| 75 |
- SelectionTreeModel model = (SelectionTreeModel) evt.getSource();
|
|
| 76 |
- boolean withDataSelected = !model.isSelectionEmpty();
|
|
| 77 |
- ui.getCopyFromRight().setEnabled(withDataSelected);
|
|
| 78 |
- ui.getDeleteFromRight().setEnabled(withDataSelected);
|
|
| 79 |
- });
|
|
| 80 |
- |
|
| 81 |
- stepModel.getProgressModel().installUI(ui.getProgressBar());
|
|
| 58 |
+ DataSourceSelector leftSourceConfig = configUI.getLocalSourceConfig();
|
|
| 59 |
+ DataSourceSelector rightSourceConfig = configUI.getCentralSourceConfig();
|
|
| 60 |
+ ConfigModel stepModel = configUI.getStepModel();
|
|
| 61 |
+ stepModel.addPropertyChangeListener(StorageUIModel.VALID_PROPERTY_NAME, evt -> updateFromConfig());
|
|
| 62 |
+ |
|
| 63 |
+ initSource(configUI, ui.getLeftTreePane(), stepModel.getLocalSourceModel(), leftSourceConfig, rightSourceConfig);
|
|
| 64 |
+ initSource(configUI, ui.getRightTreePane(), stepModel.getCentralSourceModel(), leftSourceConfig, rightSourceConfig);
|
|
| 65 |
+ |
|
| 66 |
+ SelectUnselectWithOpposite.init(ui.getLeftTreePane().getTree(), null, new SelectUnselectWithOpposite(ui.getRightTreePane().getTree()));
|
|
| 67 |
+ |
|
| 68 |
+ getStepModel().getProgressModel().installUI(ui.getProgressBar());
|
|
| 69 |
+ }
|
|
| 70 |
+ |
|
| 71 |
+ private void initSource(ConfigUI configUI, DataSelectionTreePane treePane, DataSourceSelectorModel sourceModel, DataSourceSelector leftSourceConfig, DataSourceSelector rightSourceConfig) {
|
|
| 72 |
+ treePane.init();
|
|
| 73 |
+ sourceModel.addPropertyChangeListener(DataSourceSelectorModel.VALID_PROPERTY_NAME, evt -> onSourceValidChanged(configUI, leftSourceConfig, rightSourceConfig));
|
|
| 74 |
+ }
|
|
| 75 |
+ |
|
| 76 |
+ private void onSourceValidChanged(ConfigUI configUI, DataSourceSelector leftSourceConfig, DataSourceSelector rightSourceConfig) {
|
|
| 77 |
+ DataSourceSelectorModel leftSourceModel = configUI.getStepModel().getLocalSourceModel();
|
|
| 78 |
+ DataSourceSelectorModel rightSourceModel = configUI.getStepModel().getCentralSourceModel();
|
|
| 79 |
+ boolean leftSourceValid = leftSourceModel.isValid() && leftSourceModel.getDataSourceInformation() != null && leftSourceModel.getDataSourceInformation().canReadData();
|
|
| 80 |
+ boolean rightSourceValid = rightSourceModel.isValid() && rightSourceModel.getDataSourceInformation() != null && rightSourceModel.getDataSourceInformation().canReadData();
|
|
| 81 |
+ boolean atLeastOneWithWriteData = false;
|
|
| 82 |
+ if (leftSourceValid) {
|
|
| 83 |
+ atLeastOneWithWriteData = leftSourceModel.getDataSourceInformation().canWriteData();
|
|
| 84 |
+ }
|
|
| 85 |
+ if (!atLeastOneWithWriteData && rightSourceValid) {
|
|
| 86 |
+ atLeastOneWithWriteData = rightSourceModel.getDataSourceInformation().canWriteData();
|
|
| 87 |
+ }
|
|
| 88 |
+ if (!atLeastOneWithWriteData) {
|
|
| 89 |
+ leftSourceValid = rightSourceValid = false;
|
|
| 90 |
+ }
|
|
| 91 |
+ |
|
| 92 |
+ setBorderColor(leftSourceConfig, leftSourceValid);
|
|
| 93 |
+ setBorderColor(rightSourceConfig, rightSourceValid);
|
|
| 94 |
+ |
|
| 95 |
+ }
|
|
| 96 |
+ |
|
| 97 |
+ private void setBorderColor(DataSourceSelector sourceConfig, boolean valid) {
|
|
| 98 |
+ TitledBorder border = (TitledBorder) sourceConfig.getBorder();
|
|
| 99 |
+ Color color = valid ? Color.BLACK : Color.RED;
|
|
| 100 |
+ border.setTitleColor(color);
|
|
| 101 |
+ sourceConfig.setBorder(border);
|
|
| 82 | 102 |
}
|
| 83 | 103 |
|
| 84 | 104 |
private void updateFromConfig() {
|
| ... | ... | @@ -27,17 +27,28 @@ import fr.ird.observe.client.datasource.actions.config.ConfigModel; |
| 27 | 27 |
import fr.ird.observe.client.datasource.actions.config.ConfigUI;
|
| 28 | 28 |
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
|
| 29 | 29 |
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
|
| 30 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
|
|
| 30 | 31 |
import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
|
| 32 |
+import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTree;
|
|
| 33 |
+import fr.ird.observe.client.datasource.editor.tree.selection.nodes.SelectionTreeNodeSupport;
|
|
| 34 |
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel;
|
|
| 35 |
+import org.apache.logging.log4j.LogManager;
|
|
| 36 |
+import org.apache.logging.log4j.Logger;
|
|
| 31 | 37 |
import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
|
| 32 | 38 |
|
| 33 | 39 |
import javax.swing.border.TitledBorder;
|
| 40 |
+import javax.swing.tree.TreePath;
|
|
| 34 | 41 |
import java.awt.Color;
|
| 35 | 42 |
import java.awt.event.ActionEvent;
|
| 43 |
+import java.awt.event.MouseAdapter;
|
|
| 44 |
+import java.awt.event.MouseEvent;
|
|
| 36 | 45 |
|
| 37 | 46 |
import static io.ultreia.java4all.i18n.I18n.t;
|
| 38 | 47 |
|
| 39 | 48 |
public class Start extends DataSynchroUIActionSupport {
|
| 40 | 49 |
|
| 50 |
+ private static final Logger log = LogManager.getLogger(Start.class);
|
|
| 51 |
+ |
|
| 41 | 52 |
public Start() {
|
| 42 | 53 |
super(t("observe.actions.synchro.data.launch.operation"), t("observe.actions.synchro.data.launch.operation"), "wizard-start", 'D');
|
| 43 | 54 |
}
|
| ... | ... | @@ -65,33 +76,50 @@ public class Start extends DataSynchroUIActionSupport { |
| 65 | 76 |
stepModel.setRightSource(rightSource);
|
| 66 | 77 |
|
| 67 | 78 |
stepModel.populateLeftSelectionModel();
|
| 68 |
- sendMessage(t("observe.actions.synchro.data.message.data.loaded", leftSourceLabel));
|
|
| 69 |
- |
|
| 70 |
- TitledBorder leftBorder = new TitledBorder(leftSourceLabel);
|
|
| 71 |
- boolean leftCanWriteData = configModel.getLocalSourceModel().getDataSourceInformation().canWriteData();
|
|
| 72 |
- leftBorder.setTitleColor(leftCanWriteData ? Color.GREEN : Color.RED);
|
|
| 73 |
- tabUI.getLeftTreePane().setBorder(leftBorder);
|
|
| 74 |
- if (!leftCanWriteData) {
|
|
| 75 |
- tabUI.getCopyFromRight().setVisible(false);
|
|
| 76 |
- tabUI.getDeleteFromRight().setVisible(false);
|
|
| 77 |
- }
|
|
| 78 |
- configUI.getLocalSourceConfig().setBorder(leftBorder);
|
|
| 79 |
- |
|
| 79 |
+ initPanel(leftSourceLabel, configModel.getLocalSourceModel(), rightSource.getInformation().canWriteData(), tabUI.getLeftTreePane());
|
|
| 80 | 80 |
stepModel.populateRightSelectionModel();
|
| 81 |
- sendMessage(t("observe.actions.synchro.data.message.data.loaded", rightSourceLabel));
|
|
| 82 |
- |
|
| 83 |
- TitledBorder rightBorder = new TitledBorder(rightSourceLabel);
|
|
| 84 |
- boolean rightCanWriteData = configModel.getCentralSourceModel().getDataSourceInformation().canWriteData();
|
|
| 85 |
- rightBorder.setTitleColor(rightCanWriteData ? Color.GREEN : Color.RED);
|
|
| 86 |
- tabUI.getRightTreePane().setBorder(rightBorder);
|
|
| 87 |
- if (!rightCanWriteData) {
|
|
| 88 |
- tabUI.getCopyFromLeft().setVisible(false);
|
|
| 89 |
- tabUI.getDeleteFromLeft().setVisible(false);
|
|
| 90 |
- }
|
|
| 91 |
- configUI.getCentralSourceConfig().setBorder(rightBorder);
|
|
| 81 |
+ initPanel(rightSourceLabel, configModel.getCentralSourceModel(), leftSource.getInformation().canWriteData(), tabUI.getRightTreePane());
|
|
| 92 | 82 |
|
| 93 | 83 |
return WizardState.NEED_FIX;
|
| 94 | 84 |
|
| 95 | 85 |
}
|
| 96 | 86 |
|
| 87 |
+ private void initPanel(String sourceLabel, DataSourceSelectorModel sourceModel,boolean oppositeCanWriteData, DataSelectionTreePane pane) {
|
|
| 88 |
+ |
|
| 89 |
+ pane.setContextValue(sourceModel);
|
|
| 90 |
+ pane.setBorder(new TitledBorder(""));
|
|
| 91 |
+ |
|
| 92 |
+ sendMessage(t("observe.actions.synchro.data.message.data.loaded", sourceLabel));
|
|
| 93 |
+ |
|
| 94 |
+ boolean canWriteData = sourceModel.getDataSourceInformation().canWriteData();
|
|
| 95 |
+ Color color = canWriteData ? Color.BLACK : Color.RED;
|
|
| 96 |
+ |
|
| 97 |
+ pane.getDelete().setVisible(canWriteData);
|
|
| 98 |
+ pane.getCopy().setVisible(oppositeCanWriteData);
|
|
| 99 |
+ |
|
| 100 |
+ String label = sourceModel.getLabel();
|
|
| 101 |
+ String labelWithUrl = sourceModel.getLabelWithUrl().substring(label.length() + 1);
|
|
| 102 |
+ pane.getDataSourceLabel().setIcon(sourceModel.getSource().getIcon());
|
|
| 103 |
+ pane.getDataSourceLabel().setText(sourceModel.getSource().getLabel() + " " + labelWithUrl);
|
|
| 104 |
+ pane.getDataSourceLabel().setForeground(color);
|
|
| 105 |
+ |
|
| 106 |
+ SelectionTree tree = pane.getTree().getTree();
|
|
| 107 |
+ tree.addMouseListener(new MouseAdapter() {
|
|
| 108 |
+ @Override
|
|
| 109 |
+ public void mouseReleased(MouseEvent e) {
|
|
| 110 |
+ if (e.getClickCount() == 2) {
|
|
| 111 |
+ TreePath path = tree.getClosestPathForLocation(e.getX(), e.getY());
|
|
| 112 |
+ Object lastPathComponent = path.getLastPathComponent();
|
|
| 113 |
+ if (lastPathComponent instanceof SelectionTreeNodeSupport) {
|
|
| 114 |
+ SelectionTreeNodeSupport<?> node = (SelectionTreeNodeSupport<?>) lastPathComponent;
|
|
| 115 |
+ boolean newValue = !node.isSelected();
|
|
| 116 |
+ log.info(String.format("Node: %s - new selected value: %s", node, newValue));
|
|
| 117 |
+ tree.getTreeModel().setValueAt(node, newValue);
|
|
| 118 |
+ }
|
|
| 119 |
+ }
|
|
| 120 |
+ }
|
|
| 121 |
+ });
|
|
| 122 |
+ |
|
| 123 |
+ }
|
|
| 124 |
+ |
|
| 97 | 125 |
}
|
| 1 |
+<!--
|
|
| 2 |
+ #%L
|
|
| 3 |
+ ObServe :: Client DataSource actions
|
|
| 4 |
+ %%
|
|
| 5 |
+ Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
|
|
| 6 |
+ %%
|
|
| 7 |
+ This program is free software: you can redistribute it and/or modify
|
|
| 8 |
+ it under the terms of the GNU General Public License as
|
|
| 9 |
+ published by the Free Software Foundation, either version 3 of the
|
|
| 10 |
+ License, or (at your option) any later version.
|
|
| 11 |
+ |
|
| 12 |
+ This program is distributed in the hope that it will be useful,
|
|
| 13 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
| 14 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
| 15 |
+ GNU General Public License for more details.
|
|
| 16 |
+ |
|
| 17 |
+ You should have received a copy of the GNU General Public
|
|
| 18 |
+ License along with this program. If not, see
|
|
| 19 |
+ <http://www.gnu.org/licenses/gpl-3.0.html>.
|
|
| 20 |
+ #L%
|
|
| 21 |
+ -->
|
|
| 22 |
+<JPanel id='topPanel' layout="{new BorderLayout()}" decorator='boxed'>
|
|
| 23 |
+ |
|
| 24 |
+ <import>
|
|
| 25 |
+ fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreePane
|
|
| 26 |
+ fr.ird.observe.client.util.UIHelper
|
|
| 27 |
+ </import>
|
|
| 28 |
+ <script><![CDATA[
|
|
| 29 |
+ |
|
| 30 |
+public void init() { handler.init(this); }
|
|
| 31 |
+ |
|
| 32 |
+public boolean isLeft() {
|
|
| 33 |
+ return !isRight();
|
|
| 34 |
+}
|
|
| 35 |
+ |
|
| 36 |
+public boolean isRight() {
|
|
| 37 |
+ return Boolean.TRUE.equals(getOpposite());
|
|
| 38 |
+}
|
|
| 39 |
+]]>
|
|
| 40 |
+ </script>
|
|
| 41 |
+ <Boolean id='opposite' initializer='getContextValue(Boolean.class)'/>
|
|
| 42 |
+ <JPanel id='dataSourcePanel' constraints='BorderLayout.NORTH' layout='{new BorderLayout()}'>
|
|
| 43 |
+ <JLabel id='dataSourceLabel' constraints='BorderLayout.WEST'/>
|
|
| 44 |
+ <JToolBar id='dataSourceToolbar' constraints='BorderLayout.EAST'>
|
|
| 45 |
+ <JButton id='dataSourceInformation'/>
|
|
| 46 |
+ </JToolBar>
|
|
| 47 |
+ </JPanel>
|
|
| 48 |
+ |
|
| 49 |
+ <SelectionTreePane id='tree' constructorParams="isRight()" constraints='BorderLayout.CENTER'/>
|
|
| 50 |
+ <JToolBar id="middleActions" layout="{new GridLayout(0, 1)}" constraints='BorderLayout.EAST'>
|
|
| 51 |
+ <JButton id="copy" enabled="false"/>
|
|
| 52 |
+ <JButton id="delete" enabled="false"/>
|
|
| 53 |
+ </JToolBar>
|
|
| 54 |
+ |
|
| 55 |
+</JPanel>
|
| 1 |
+/*-
|
|
| 2 |
+ * #%L
|
|
| 3 |
+ * ObServe :: Client DataSource actions
|
|
| 4 |
+ * %%
|
|
| 5 |
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
|
|
| 6 |
+ * %%
|
|
| 7 |
+ * This program is free software: you can redistribute it and/or modify
|
|
| 8 |
+ * it under the terms of the GNU General Public License as
|
|
| 9 |
+ * published by the Free Software Foundation, either version 3 of the
|
|
| 10 |
+ * License, or (at your option) any later version.
|
|
| 11 |
+ *
|
|
| 12 |
+ * This program is distributed in the hope that it will be useful,
|
|
| 13 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
| 14 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
| 15 |
+ * GNU General Public License for more details.
|
|
| 16 |
+ *
|
|
| 17 |
+ * You should have received a copy of the GNU General Public
|
|
| 18 |
+ * License along with this program. If not, see
|
|
| 19 |
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
|
|
| 20 |
+ * #L%
|
|
| 21 |
+ */
|
| 1 |
-package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
|
|
| 1 |
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree;
|
|
| 2 | 2 |
|
| 3 | 3 |
/*-
|
| 4 | 4 |
* #%L
|
| ... | ... | @@ -24,40 +24,48 @@ package fr.ird.observe.client.datasource.actions.synchronize.data.actions; |
| 24 | 24 |
|
| 25 | 25 |
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
|
| 26 | 26 |
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
|
| 27 |
-import fr.ird.observe.client.datasource.actions.synchronize.data.task.CopyToLeftDataSynchronizeTask;
|
|
| 27 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUIHandler;
|
|
| 28 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions.RegisterCopy;
|
|
| 29 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions.RegisterDelete;
|
|
| 28 | 30 |
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
|
| 29 |
-import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
|
|
| 30 |
-import fr.ird.observe.dto.data.TripAware;
|
|
| 31 |
-import fr.ird.observe.dto.referential.common.ProgramReference;
|
|
| 31 |
+import org.nuiton.jaxx.runtime.spi.UIHandler;
|
|
| 32 | 32 |
|
| 33 |
-import java.awt.event.ActionEvent;
|
|
| 34 |
-import java.util.List;
|
|
| 35 |
-import java.util.Map;
|
|
| 33 |
+import java.awt.BorderLayout;
|
|
| 36 | 34 |
|
| 37 |
-import static io.ultreia.java4all.i18n.I18n.t;
|
|
| 35 |
+/**
|
|
| 36 |
+ * @author Tony Chemit - dev@tchemit.fr
|
|
| 37 |
+ * @since 8.0
|
|
| 38 |
+ */
|
|
| 39 |
+public class DataSelectionTreePaneHandler implements UIHandler<DataSelectionTreePane> {
|
|
| 38 | 40 |
|
| 39 |
-public class CopyFromRight extends DataSynchroUIActionSupport {
|
|
| 41 |
+ void init(DataSelectionTreePane ui) {
|
|
| 42 |
+ boolean isLeft = ui.isLeft();
|
|
| 43 |
+ RegisterCopy.init(ui, ui.getCopy(), new RegisterCopy(isLeft));
|
|
| 44 |
+ RegisterDelete.init(ui, ui.getDelete(), new RegisterDelete(isLeft));
|
|
| 45 |
+ DataSynchroUI parent = ui.getContextValue(DataSynchroUI.class, DataSynchroUIHandler.SYNCHRO_PARENT);
|
|
| 46 |
+ DataSynchroModel stepModel = parent.getStepModel();
|
|
| 40 | 47 |
|
| 41 |
- public CopyFromRight() {
|
|
| 42 |
- super("", t("observe.actions.synchro.data.copyToLeft.tip"), "copyToLeft", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT);
|
|
| 43 |
- }
|
|
| 48 |
+ SelectionTreeModel treeModel = ui.getTree().getTree().getTreeModel();
|
|
| 49 |
+ treeModel.setLoadLongline(true);
|
|
| 50 |
+ treeModel.setLoadSeine(true);
|
|
| 51 |
+ treeModel.setLoadReferential(false);
|
|
| 52 |
+ treeModel.setShowEmptyTrips(false);
|
|
| 44 | 53 |
|
| 45 |
- @Override
|
|
| 46 |
- protected void doActionPerformed(ActionEvent e, DataSynchroUI ui) {
|
|
| 47 |
- DataSynchroModel stepModel = ui.getStepModel();
|
|
| 48 |
- SelectionTreeModel rightSelectionDataModel = stepModel.getRightSelectionDataModel();
|
|
| 49 |
- SelectionTreeModel leftSelectionDataModel = stepModel.getLeftSelectionDataModel();
|
|
| 50 |
- Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = rightSelectionDataModel.getSelectedDataByProgram();
|
|
| 51 |
- rightSelectionDataModel.removeAllSelectedData();
|
|
| 52 |
- for (Map.Entry<ProgramReference, List<? extends TripAware>> entry : selectedDataByProgram.entrySet()) {
|
|
| 53 |
- ProgramReference program = entry.getKey();
|
|
| 54 |
- for (TripAware trip : entry.getValue()) {
|
|
| 55 |
- boolean tripExistOnLeft = leftSelectionDataModel.containsData(program, trip);
|
|
| 56 |
- stepModel.addTask(new CopyToLeftDataSynchronizeTask(program, trip, tripExistOnLeft));
|
|
| 57 |
- if (tripExistOnLeft) {
|
|
| 58 |
- leftSelectionDataModel.removeTrip(program, trip);
|
|
| 59 |
- }
|
|
| 60 |
- }
|
|
| 54 |
+ if (isLeft) {
|
|
| 55 |
+ stepModel.setLeftSelectionDataModel(treeModel);
|
|
| 56 |
+ } else {
|
|
| 57 |
+ stepModel.setRightSelectionDataModel(treeModel);
|
|
| 58 |
+ ui.remove(ui.getMiddleActions());
|
|
| 59 |
+ ui.add(ui.getMiddleActions(), BorderLayout.WEST);
|
|
| 61 | 60 |
}
|
| 61 |
+ |
|
| 62 |
+ treeModel.addPropertyChangeListener(evt -> {
|
|
| 63 |
+ SelectionTreeModel model = (SelectionTreeModel) evt.getSource();
|
|
| 64 |
+ boolean withDataSelected = !model.isSelectionEmpty();
|
|
| 65 |
+ ui.getCopy().setEnabled(withDataSelected);
|
|
| 66 |
+ ui.getDelete().setEnabled(withDataSelected);
|
|
| 67 |
+ });
|
|
| 68 |
+ |
|
| 62 | 69 |
}
|
| 63 |
-}
|
|
| 70 |
+ |
|
| 71 |
+}
|
|
| \ No newline at end of file |
| 1 |
-package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
|
|
| 1 |
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions;
|
|
| 2 | 2 |
|
| 3 | 3 |
/*-
|
| 4 | 4 |
* #%L
|
| ... | ... | @@ -24,35 +24,44 @@ package fr.ird.observe.client.datasource.actions.synchronize.data.actions; |
| 24 | 24 |
|
| 25 | 25 |
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
|
| 26 | 26 |
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
|
| 27 |
-import fr.ird.observe.client.datasource.actions.synchronize.data.task.DeleteFromRightDataSynchronizeTask;
|
|
| 27 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUIHandler;
|
|
| 28 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
|
|
| 28 | 29 |
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
|
| 29 |
-import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
|
|
| 30 |
-import fr.ird.observe.dto.data.TripAware;
|
|
| 31 |
-import fr.ird.observe.dto.referential.common.ProgramReference;
|
|
| 30 |
+import org.nuiton.jaxx.runtime.swing.action.JComponentActionSupport;
|
|
| 32 | 31 |
|
| 33 |
-import java.awt.event.ActionEvent;
|
|
| 34 |
-import java.util.List;
|
|
| 35 |
-import java.util.Map;
|
|
| 32 |
+import javax.swing.KeyStroke;
|
|
| 33 |
+import java.awt.event.KeyEvent;
|
|
| 36 | 34 |
|
| 37 |
-import static io.ultreia.java4all.i18n.I18n.t;
|
|
| 38 |
- |
|
| 39 |
-public class DeleteFromRight extends DataSynchroUIActionSupport {
|
|
| 35 |
+/**
|
|
| 36 |
+ * @author Tony Chemit - dev@tchemit.fr
|
|
| 37 |
+ * @since 8.0
|
|
| 38 |
+ */
|
|
| 39 |
+public abstract class DataSelectionTreePaneActionSupport extends JComponentActionSupport<DataSelectionTreePane> {
|
|
| 40 | 40 |
|
| 41 |
- public DeleteFromRight() {
|
|
| 42 |
- super("", t("observe.actions.synchro.data.deleteFromRight.tip"), "deleteFromRight", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT);
|
|
| 41 |
+ DataSelectionTreePaneActionSupport(String label, String shortDescription, String actionIcon, KeyStroke acceleratorKey) {
|
|
| 42 |
+ super(label, shortDescription, actionIcon, acceleratorKey);
|
|
| 43 | 43 |
}
|
| 44 | 44 |
|
| 45 | 45 |
@Override
|
| 46 |
- protected void doActionPerformed(ActionEvent e, DataSynchroUI ui) {
|
|
| 47 |
- DataSynchroModel stepModel = ui.getStepModel();
|
|
| 48 |
- SelectionTreeModel selectionDataModel = stepModel.getRightSelectionDataModel();
|
|
| 49 |
- Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram();
|
|
| 50 |
- selectionDataModel.removeAllSelectedData();
|
|
| 51 |
- for (Map.Entry<ProgramReference, List<? extends TripAware>> entry : selectedDataByProgram.entrySet()) {
|
|
| 52 |
- ProgramReference program = entry.getKey();
|
|
| 53 |
- for (TripAware trip : entry.getValue()) {
|
|
| 54 |
- stepModel.addTask(new DeleteFromRightDataSynchronizeTask(program, trip));
|
|
| 55 |
- }
|
|
| 46 |
+ public void init() {
|
|
| 47 |
+ if (ui.isRight()) {
|
|
| 48 |
+ KeyStroke acceleratorKey = getAcceleratorKey();
|
|
| 49 |
+ setKeyStroke(KeyStroke.getKeyStroke(acceleratorKey.getKeyCode(), acceleratorKey.getModifiers() | KeyEvent.SHIFT_MASK));
|
|
| 56 | 50 |
}
|
| 51 |
+ super.init();
|
|
| 52 |
+ }
|
|
| 53 |
+ |
|
| 54 |
+ protected DataSynchroModel getDataSynchroModel() {
|
|
| 55 |
+ DataSynchroUI parent = ui.getContextValue(DataSynchroUI.class, DataSynchroUIHandler.SYNCHRO_PARENT);
|
|
| 56 |
+ return parent.getStepModel();
|
|
| 57 |
+ }
|
|
| 58 |
+ |
|
| 59 |
+ protected SelectionTreeModel getSelectionTreeModel() {
|
|
| 60 |
+ return ui.getTree().getTree().getTreeModel();
|
|
| 61 |
+ }
|
|
| 62 |
+ |
|
| 63 |
+ protected SelectionTreeModel getOppositeSelectionTreeModel() {
|
|
| 64 |
+ DataSynchroModel dataSynchroModel = getDataSynchroModel();
|
|
| 65 |
+ return ui.isLeft()?dataSynchroModel.getRightSelectionDataModel():dataSynchroModel.getLeftSelectionDataModel();
|
|
| 57 | 66 |
}
|
| 58 | 67 |
}
|
| 1 |
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions;
|
|
| 2 |
+ |
|
| 3 |
+/*-
|
|
| 4 |
+ * #%L
|
|
| 5 |
+ * ObServe :: Client DataSource actions
|
|
| 6 |
+ * %%
|
|
| 7 |
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
|
|
| 8 |
+ * %%
|
|
| 9 |
+ * This program is free software: you can redistribute it and/or modify
|
|
| 10 |
+ * it under the terms of the GNU General Public License as
|
|
| 11 |
+ * published by the Free Software Foundation, either version 3 of the
|
|
| 12 |
+ * License, or (at your option) any later version.
|
|
| 13 |
+ *
|
|
| 14 |
+ * This program is distributed in the hope that it will be useful,
|
|
| 15 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
| 16 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
| 17 |
+ * GNU General Public License for more details.
|
|
| 18 |
+ *
|
|
| 19 |
+ * You should have received a copy of the GNU General Public
|
|
| 20 |
+ * License along with this program. If not, see
|
|
| 21 |
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
|
|
| 22 |
+ * #L%
|
|
| 23 |
+ */
|
|
| 24 |
+ |
|
| 25 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
|
|
| 26 |
+import fr.ird.observe.client.datasource.api.ObserveSwingDataSourceTemplate;
|
|
| 27 |
+import fr.ird.observe.client.datasource.editor.wizard.connexion.DataSourceSelectorModel;
|
|
| 28 |
+import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
|
|
| 29 |
+ |
|
| 30 |
+import javax.swing.JLabel;
|
|
| 31 |
+import javax.swing.JOptionPane;
|
|
| 32 |
+import java.awt.event.ActionEvent;
|
|
| 33 |
+ |
|
| 34 |
+import static io.ultreia.java4all.i18n.I18n.t;
|
|
| 35 |
+ |
|
| 36 |
+/**
|
|
| 37 |
+ * @author Tony Chemit - dev@tchemit.fr
|
|
| 38 |
+ * @since 8.0
|
|
| 39 |
+ */
|
|
| 40 |
+public class DataSourceInformation extends DataSelectionTreePaneActionSupport {
|
|
| 41 |
+ |
|
| 42 |
+ public DataSourceInformation() {
|
|
| 43 |
+ super("", t("observe.action.info.storage.tip"), "information", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SOURCE_INFORMATION);
|
|
| 44 |
+ }
|
|
| 45 |
+ |
|
| 46 |
+ @Override
|
|
| 47 |
+ protected void doActionPerformed(ActionEvent e, DataSelectionTreePane ui) {
|
|
| 48 |
+ DataSourceSelectorModel dataSourceSelectorModel = ui.getContextValue(DataSourceSelectorModel.class);
|
|
| 49 |
+ |
|
| 50 |
+ String text = ObserveSwingDataSourceTemplate.generate(dataSourceSelectorModel.getSource());
|
|
| 51 |
+ JOptionPane.showMessageDialog(
|
|
| 52 |
+ ui,
|
|
| 53 |
+ new JLabel(text),
|
|
| 54 |
+ t("observe.title.storage.info"),
|
|
| 55 |
+ JOptionPane.INFORMATION_MESSAGE);
|
|
| 56 |
+ |
|
| 57 |
+ }
|
|
| 58 |
+}
|
| 1 |
-package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
|
|
| 1 |
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions;
|
|
| 2 | 2 |
|
| 3 | 3 |
/*-
|
| 4 | 4 |
* #%L
|
| ... | ... | @@ -23,8 +23,10 @@ package fr.ird.observe.client.datasource.actions.synchronize.data.actions; |
| 23 | 23 |
*/
|
| 24 | 24 |
|
| 25 | 25 |
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
|
| 26 |
-import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
|
|
| 26 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.task.CopyToLeftDataSynchronizeTask;
|
|
| 27 | 27 |
import fr.ird.observe.client.datasource.actions.synchronize.data.task.CopyToRightDataSynchronizeTask;
|
| 28 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.task.DataSynchronizeTaskSupport;
|
|
| 29 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
|
|
| 28 | 30 |
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
|
| 29 | 31 |
import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
|
| 30 | 32 |
import fr.ird.observe.dto.data.TripAware;
|
| ... | ... | @@ -36,28 +38,37 @@ import java.util.Map; |
| 36 | 38 |
|
| 37 | 39 |
import static io.ultreia.java4all.i18n.I18n.t;
|
| 38 | 40 |
|
| 39 |
-public class CopyFromLeft extends DataSynchroUIActionSupport {
|
|
| 41 |
+/**
|
|
| 42 |
+ * @author Tony Chemit - dev@tchemit.fr
|
|
| 43 |
+ * @since 8.0
|
|
| 44 |
+ */
|
|
| 45 |
+public class RegisterCopy extends DataSelectionTreePaneActionSupport {
|
|
| 40 | 46 |
|
| 41 |
- public CopyFromLeft() {
|
|
| 42 |
- super("", t("observe.actions.synchro.data.copyToRight.tip"), "copyToRight", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT);
|
|
| 47 |
+ public RegisterCopy(boolean left) {
|
|
| 48 |
+ super("", left ? t("observe.actions.synchro.data.copyToRight.tip") : t("observe.actions.synchro.data.copyToLeft.tip"), left ? "copyToRight" : "copyToLeft", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY);
|
|
| 43 | 49 |
}
|
| 44 | 50 |
|
| 45 | 51 |
@Override
|
| 46 |
- protected void doActionPerformed(ActionEvent e, DataSynchroUI ui) {
|
|
| 47 |
- DataSynchroModel stepModel = ui.getStepModel();
|
|
| 48 |
- SelectionTreeModel leftSelectionDataModel = stepModel.getLeftSelectionDataModel();
|
|
| 49 |
- SelectionTreeModel rightSelectionDataModel = stepModel.getRightSelectionDataModel();
|
|
| 50 |
- Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = leftSelectionDataModel.getSelectedDataByProgram();
|
|
| 51 |
- leftSelectionDataModel.removeAllSelectedData();
|
|
| 52 |
+ protected void doActionPerformed(ActionEvent e, DataSelectionTreePane ui) {
|
|
| 53 |
+ DataSynchroModel stepModel = getDataSynchroModel();
|
|
| 54 |
+ SelectionTreeModel treeModel = getSelectionTreeModel();
|
|
| 55 |
+ SelectionTreeModel oppositeTreeModel = getOppositeSelectionTreeModel();
|
|
| 56 |
+ Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = treeModel.getSelectedDataByProgram();
|
|
| 57 |
+ treeModel.removeAllSelectedData();
|
|
| 58 |
+ boolean left = ui.isLeft();
|
|
| 52 | 59 |
for (Map.Entry<ProgramReference, List<? extends TripAware>> entry : selectedDataByProgram.entrySet()) {
|
| 53 | 60 |
ProgramReference program = entry.getKey();
|
| 54 | 61 |
for (TripAware trip : entry.getValue()) {
|
| 55 |
- boolean tripExistOnRight = rightSelectionDataModel.containsData(program, trip);
|
|
| 56 |
- stepModel.addTask(new CopyToRightDataSynchronizeTask(program, trip, tripExistOnRight));
|
|
| 57 |
- if (tripExistOnRight) {
|
|
| 58 |
- rightSelectionDataModel.removeTrip(program, trip);
|
|
| 62 |
+ boolean tripExistOnOpposite = oppositeTreeModel.containsData(program, trip);
|
|
| 63 |
+ stepModel.addTask(createTask(left, program, trip, tripExistOnOpposite));
|
|
| 64 |
+ if (tripExistOnOpposite) {
|
|
| 65 |
+ oppositeTreeModel.removeTrip(program, trip);
|
|
| 59 | 66 |
}
|
| 60 | 67 |
}
|
| 61 | 68 |
}
|
| 62 | 69 |
}
|
| 70 |
+ |
|
| 71 |
+ private DataSynchronizeTaskSupport createTask(boolean left, ProgramReference program, TripAware trip, boolean tripExistOnOpposite) {
|
|
| 72 |
+ return left ? new CopyToRightDataSynchronizeTask(program, trip, tripExistOnOpposite) : new CopyToLeftDataSynchronizeTask(program, trip, tripExistOnOpposite);
|
|
| 73 |
+ }
|
|
| 63 | 74 |
}
|
| 1 |
-package fr.ird.observe.client.datasource.actions.synchronize.data.actions;
|
|
| 1 |
+package fr.ird.observe.client.datasource.actions.synchronize.data.tree.actions;
|
|
| 2 | 2 |
|
| 3 | 3 |
/*-
|
| 4 | 4 |
* #%L
|
| ... | ... | @@ -23,8 +23,10 @@ package fr.ird.observe.client.datasource.actions.synchronize.data.actions; |
| 23 | 23 |
*/
|
| 24 | 24 |
|
| 25 | 25 |
import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroModel;
|
| 26 |
-import fr.ird.observe.client.datasource.actions.synchronize.data.DataSynchroUI;
|
|
| 26 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.task.DataSynchronizeTaskSupport;
|
|
| 27 | 27 |
import fr.ird.observe.client.datasource.actions.synchronize.data.task.DeleteFromLeftDataSynchronizeTask;
|
| 28 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.task.DeleteFromRightDataSynchronizeTask;
|
|
| 29 |
+import fr.ird.observe.client.datasource.actions.synchronize.data.tree.DataSelectionTreePane;
|
|
| 28 | 30 |
import fr.ird.observe.client.datasource.editor.tree.selection.SelectionTreeModel;
|
| 29 | 31 |
import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
|
| 30 | 32 |
import fr.ird.observe.dto.data.TripAware;
|
| ... | ... | @@ -36,23 +38,32 @@ import java.util.Map; |
| 36 | 38 |
|
| 37 | 39 |
import static io.ultreia.java4all.i18n.I18n.t;
|
| 38 | 40 |
|
| 39 |
-public class DeleteFromLeft extends DataSynchroUIActionSupport {
|
|
| 41 |
+/**
|
|
| 42 |
+ * @author Tony Chemit - dev@tchemit.fr
|
|
| 43 |
+ * @since 8.0
|
|
| 44 |
+ */
|
|
| 45 |
+public class RegisterDelete extends DataSelectionTreePaneActionSupport {
|
|
| 40 | 46 |
|
| 41 |
- public DeleteFromLeft() {
|
|
| 42 |
- super("", t("observe.actions.synchro.data.deleteFromLeft.tip"), "deleteFromLeft", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT);
|
|
| 47 |
+ public RegisterDelete(boolean left) {
|
|
| 48 |
+ super("", left ? t("observe.actions.synchro.data.deleteFromLeft.tip") : t("observe.actions.synchro.data.deleteFromRight.tip"), left ? "deleteFromLeft" : "deleteFromRight", ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE);
|
|
| 43 | 49 |
}
|
| 44 | 50 |
|
| 45 | 51 |
@Override
|
| 46 |
- protected void doActionPerformed(ActionEvent e, DataSynchroUI ui) {
|
|
| 47 |
- DataSynchroModel stepModel = ui.getStepModel();
|
|
| 48 |
- SelectionTreeModel selectionDataModel = stepModel.getLeftSelectionDataModel();
|
|
| 52 |
+ protected void doActionPerformed(ActionEvent e, DataSelectionTreePane ui) {
|
|
| 53 |
+ DataSynchroModel stepModel = getDataSynchroModel();
|
|
| 54 |
+ SelectionTreeModel selectionDataModel = getSelectionTreeModel();
|
|
| 49 | 55 |
Map<ProgramReference, List<? extends TripAware>> selectedDataByProgram = selectionDataModel.getSelectedDataByProgram();
|
| 50 | 56 |
selectionDataModel.removeAllSelectedData();
|
| 57 |
+ boolean left = ui.isLeft();
|
|
| 51 | 58 |
for (Map.Entry<ProgramReference, List<? extends TripAware>> entry : selectedDataByProgram.entrySet()) {
|
| 52 | 59 |
ProgramReference program = entry.getKey();
|
| 53 | 60 |
for (TripAware trip : entry.getValue()) {
|
| 54 |
- stepModel.addTask(new DeleteFromLeftDataSynchronizeTask(program, trip));
|
|
| 61 |
+ stepModel.addTask(createTask(left, program, trip));
|
|
| 55 | 62 |
}
|
| 56 | 63 |
}
|
| 57 | 64 |
}
|
| 65 |
+ |
|
| 66 |
+ private DataSynchronizeTaskSupport createTask(boolean left, ProgramReference program, TripAware trip) {
|
|
| 67 |
+ return left ? new DeleteFromLeftDataSynchronizeTask(program, trip) : new DeleteFromRightDataSynchronizeTask(program, trip);
|
|
| 68 |
+ }
|
|
| 58 | 69 |
}
|
| ... | ... | @@ -68,10 +68,11 @@ public class SelectUnselect extends ReferentialSelectionTreePaneActionSupport { |
| 68 | 68 |
|
| 69 | 69 |
protected void defaultInit(ReferentialSelectionTreePane pane) {
|
| 70 | 70 |
pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "none");
|
| 71 |
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT, "none");
|
|
| 72 |
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT, "none");
|
|
| 73 |
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT, "none");
|
|
| 74 |
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT, "none");
|
|
| 71 |
+ //FIXME Remove any keystroke used in ui actions...
|
|
| 72 |
+// pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT, "none");
|
|
| 73 |
+// pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT, "none");
|
|
| 74 |
+// pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT, "none");
|
|
| 75 |
+// pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT, "none");
|
|
| 75 | 76 |
defaultInit(getInputMap(pane, getInputMapCondition()), getActionMap(pane));
|
| 76 | 77 |
}
|
| 77 | 78 |
|
| ... | ... | @@ -23,7 +23,6 @@ package fr.ird.observe.client.datasource.editor.tree.selection; |
| 23 | 23 |
*/
|
| 24 | 24 |
|
| 25 | 25 |
import fr.ird.observe.client.datasource.editor.tree.selection.actions.SelectUnselect;
|
| 26 |
-import fr.ird.observe.client.datasource.editor.tree.selection.actions.SelectUnselectWithOpposite;
|
|
| 27 | 26 |
import fr.ird.observe.client.util.UIHelper;
|
| 28 | 27 |
import org.jdesktop.swingx.JXTree;
|
| 29 | 28 |
|
| ... | ... | @@ -52,48 +51,6 @@ public class SelectionTree extends JXTree { |
| 52 | 51 |
SelectUnselect.init(parent, null, SelectUnselect.class);
|
| 53 | 52 |
}
|
| 54 | 53 |
|
| 55 |
- public void installUI2(SelectionTreePane parent, SelectionTreePane oppositeTree) {
|
|
| 56 |
- |
|
| 57 |
- SelectUnselectWithOpposite.init(parent, null, new SelectUnselectWithOpposite(oppositeTree));
|
|
| 58 |
- |
|
| 59 |
-// InputMap inputMap = getInputMap(WHEN_IN_FOCUSED_WINDOW);
|
|
| 60 |
-// ActionMap actionMap = getActionMap();
|
|
| 61 |
-// getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "none");
|
|
| 62 |
-// oppositeTree.getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "none");
|
|
| 63 |
- |
|
| 64 |
-// getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SELECT_ALL_TREE, "none");
|
|
| 65 |
-// getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_UNSELECT_ALL_TREE, "none");
|
|
| 66 |
- |
|
| 67 |
-// oppositeTree.getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SELECT_ALL_TREE, "none");
|
|
| 68 |
-// oppositeTree.getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_UNSELECT_ALL_TREE, "none");
|
|
| 69 |
- |
|
| 70 |
-// inputMap.put(ObserveKeyStrokesSupport.KEY_STROKE_ENTER, "select/unselect");
|
|
| 71 |
-// inputMap.put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "select/unselect");
|
|
| 72 |
-// actionMap.put("select/unselect", new AbstractAction() {
|
|
| 73 |
-//
|
|
| 74 |
-// @Override
|
|
| 75 |
-// public void actionPerformed(ActionEvent e) {
|
|
| 76 |
-// selectUnSelectWithOpposite(oppositeTree);
|
|
| 77 |
-// }
|
|
| 78 |
-// });
|
|
| 79 |
-// addMouseListener(new MouseAdapter() {
|
|
| 80 |
-// @Override
|
|
| 81 |
-// public void mouseClicked(MouseEvent e) {
|
|
| 82 |
-// if (e.getClickCount() == 2) {
|
|
| 83 |
-// selectUnSelectWithOpposite(oppositeTree);
|
|
| 84 |
-// }
|
|
| 85 |
-// }
|
|
| 86 |
-// });
|
|
| 87 |
-// oppositeTree.addMouseListener(new MouseAdapter() {
|
|
| 88 |
-// @Override
|
|
| 89 |
-// public void mouseClicked(MouseEvent e) {
|
|
| 90 |
-// if (e.getClickCount() == 2) {
|
|
| 91 |
-// oppositeTree.selectUnSelectWithOpposite(SelectionTree.this);
|
|
| 92 |
-// }
|
|
| 93 |
-// }
|
|
| 94 |
-// });
|
|
| 95 |
- }
|
|
| 96 |
- |
|
| 97 | 54 |
public SelectionTreeModel getTreeModel() {
|
| 98 | 55 |
return (SelectionTreeModel) getModel();
|
| 99 | 56 |
}
|
| ... | ... | @@ -59,8 +59,9 @@ public class SelectUnselect extends SelectionTreePaneActionSupport { |
| 59 | 59 |
|
| 60 | 60 |
protected void defaultInit(SelectionTreePane pane) {
|
| 61 | 61 |
pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_SPACE, "none");
|
| 62 |
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_LEFT, "none");
|
|
| 63 |
- pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_LEFT, "none");
|
|
| 62 |
+ //FIXME Remove any keystroke used in ui actions...
|
|
| 63 |
+ pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY, "none");
|
|
| 64 |
+ pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE, "none");
|
|
| 64 | 65 |
pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_COPY_FROM_RIGHT, "none");
|
| 65 | 66 |
pane.getTree().getInputMap().put(ObserveKeyStrokesSupport.KEY_STROKE_DATA_SYNCHRO_DELETE_FROM_RIGHT, "none");
|
| 66 | 67 |
defaultInit(getInputMap(pane, getInputMapCondition()), getActionMap(pane));
|
| ... | ... | @@ -24,7 +24,7 @@ |
| 24 | 24 |
<parent>
|
| 25 | 25 |
<groupId>io.ultreia.maven</groupId>
|
| 26 | 26 |
<artifactId>pom</artifactId>
|
| 27 |
- <version>2020.17</version>
|
|
| 27 |
+ <version>2020.18</version>
|
|
| 28 | 28 |
</parent>
|
| 29 | 29 |
|
| 30 | 30 |
<groupId>fr.ird.observe</groupId>
|
| ... | ... | @@ -162,7 +162,7 @@ |
| 162 | 162 |
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
|
| 163 | 163 |
<buildDate>${maven.build.timestamp}</buildDate>
|
| 164 | 164 |
|
| 165 |
- <lib.version.toolkit>4.28</lib.version.toolkit>
|
|
| 165 |
+ <lib.version.toolkit>4.29</lib.version.toolkit>
|
|
| 166 | 166 |
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
|
| 167 | 167 |
<!--can't use 1.4.197 (date has changed + blob also)-->
|
| 168 | 168 |
<lib.version.h2>1.4.196</lib.version.h2>
|
| ... | ... | @@ -86,18 +86,12 @@ public class ObserveDtoInjector extends AbstractConverter implements ExecutorPar |
| 86 | 86 |
throw new JsonParseException("Class not found: " + parameterizedTypeClassName, cnfe);
|
| 87 | 87 |
}
|
| 88 | 88 |
|
| 89 |
- if (log.isInfoEnabled()) {
|
|
| 90 |
- log.info("find parameterized type " + typeVariable.getName() + " as " + parameterizedTypeClassName);
|
|
| 91 |
- }
|
|
| 92 |
- |
|
| 89 |
+ log.debug("find parameterized type " + typeVariable.getName() + " as " + parameterizedTypeClassName);
|
|
| 93 | 90 |
}
|
| 94 | 91 |
|
| 95 | 92 |
observeDto = gson.fromJson(gsonContent, generic);
|
| 96 | 93 |
|
| 97 |
- if (log.isInfoEnabled()) {
|
|
| 98 |
- log.info("Inject observeDto: " + observeDto);
|
|
| 99 |
- }
|
|
| 100 |
- |
|
| 94 |
+ log.debug("Inject observeDto: " + observeDto);
|
|
| 101 | 95 |
}
|
| 102 | 96 |
|
| 103 | 97 |
return observeDto;
|
| ... | ... | @@ -114,9 +108,7 @@ public class ObserveDtoInjector extends AbstractConverter implements ExecutorPar |
| 114 | 108 |
|
| 115 | 109 |
observeDto = gson.fromJson(gsonContent, type);
|
| 116 | 110 |
|
| 117 |
- if (log.isInfoEnabled()) {
|
|
| 118 |
- log.info("convert observeDto: " + observeDto);
|
|
| 119 |
- }
|
|
| 111 |
+ log.debug("convert observeDto: " + observeDto);
|
|
| 120 | 112 |
|
| 121 | 113 |
} else {
|
| 122 | 114 |
throw conversionException(type, value);
|