Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe

Commits:

12 changed files:

Changes:

  • client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CancelRemoteUIAction.java
    1
    +package fr.ird.observe.client.ui.actions.storage.presets;
    
    2
    +
    
    3
    +/*-
    
    4
    + * #%L
    
    5
    + * ObServe :: Client
    
    6
    + * %%
    
    7
    + * Copyright (C) 2008 - 2018 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.ObserveSwingApplicationContext;
    
    26
    +import fr.ird.observe.client.ui.ObserveKeyStrokes;
    
    27
    +import fr.ird.observe.client.ui.ObserveMainUI;
    
    28
    +import fr.ird.observe.client.ui.storage.presets.RemotePresetsUI;
    
    29
    +import fr.ird.observe.dto.presets.RemoteDataSourceConfiguration;
    
    30
    +
    
    31
    +import java.util.ArrayList;
    
    32
    +import java.util.List;
    
    33
    +
    
    34
    +import static org.nuiton.i18n.I18n.n;
    
    35
    +
    
    36
    +/**
    
    37
    + * Created by tchemit on 14/10/2018.
    
    38
    + *
    
    39
    + * @author Tony Chemit - dev@tchemit.fr
    
    40
    + */
    
    41
    +public class CancelRemoteUIAction extends PresetsUIActionSupport {
    
    42
    +
    
    43
    +    public static final String ACTION_NAME = CancelRemoteUIAction.class.getName();
    
    44
    +
    
    45
    +    public CancelRemoteUIAction(ObserveMainUI mainUI) {
    
    46
    +        super(mainUI, ACTION_NAME, n("observe.action.cancel"), n("observe.action.cancel.remote.tip"), "cancel", ObserveKeyStrokes.KEY_STROKE_RESET);
    
    47
    +    }
    
    48
    +
    
    49
    +    @Override
    
    50
    +    protected void doActionPerformed(RemotePresetsUI ui) {
    
    51
    +
    
    52
    +        RemoteDataSourceConfiguration configuration = ui.getModel().getRemoteDataSourceConfiguration();
    
    53
    +
    
    54
    +        List<RemoteDataSourceConfiguration> configurations = new ArrayList<>(ui.getModel().getRemoteDataSourceConfigurations());
    
    55
    +        configurations.remove(configuration);
    
    56
    +        ui.getModel().setRemoteDataSourceConfigurations(configurations);
    
    57
    +        ObserveSwingApplicationContext.get().getConfig().removeRemoteDataSourceConfiguration(configuration);
    
    58
    +        ui.getModel().setRemoteDataSourceConfiguration(null);
    
    59
    +        ui.getModel().setRemoteCreateMode(false);
    
    60
    +    }
    
    61
    +
    
    62
    +}

  • client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CancelServerUIAction.java
    1
    +package fr.ird.observe.client.ui.actions.storage.presets;
    
    2
    +
    
    3
    +/*-
    
    4
    + * #%L
    
    5
    + * ObServe :: Client
    
    6
    + * %%
    
    7
    + * Copyright (C) 2008 - 2018 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.ObserveSwingApplicationContext;
    
    26
    +import fr.ird.observe.client.ui.ObserveKeyStrokes;
    
    27
    +import fr.ird.observe.client.ui.ObserveMainUI;
    
    28
    +import fr.ird.observe.client.ui.storage.presets.RemotePresetsUI;
    
    29
    +import fr.ird.observe.dto.presets.ServerDataSourceConfiguration;
    
    30
    +
    
    31
    +import java.util.ArrayList;
    
    32
    +import java.util.List;
    
    33
    +
    
    34
    +import static org.nuiton.i18n.I18n.n;
    
    35
    +
    
    36
    +/**
    
    37
    + * Created by tchemit on 14/10/2018.
    
    38
    + *
    
    39
    + * @author Tony Chemit - dev@tchemit.fr
    
    40
    + */
    
    41
    +public class CancelServerUIAction extends PresetsUIActionSupport {
    
    42
    +
    
    43
    +    public static final String ACTION_NAME = CancelServerUIAction.class.getName();
    
    44
    +
    
    45
    +    public CancelServerUIAction(ObserveMainUI mainUI) {
    
    46
    +        super(mainUI, ACTION_NAME, n("observe.action.cancel"), n("observe.action.cancel.server.tip"), "cancel", ObserveKeyStrokes.KEY_STROKE_RESET);
    
    47
    +    }
    
    48
    +
    
    49
    +    @Override
    
    50
    +    protected void doActionPerformed(RemotePresetsUI ui) {
    
    51
    +
    
    52
    +        ServerDataSourceConfiguration configuration = ui.getModel().getServerDataSourceConfiguration();
    
    53
    +
    
    54
    +        List<ServerDataSourceConfiguration> configurations = new ArrayList<>(ui.getModel().getServerDataSourceConfigurations());
    
    55
    +        configurations.remove(configuration);
    
    56
    +        ui.getModel().setServerDataSourceConfigurations(configurations);
    
    57
    +        ObserveSwingApplicationContext.get().getConfig().removeServerDataSourceConfiguration(configuration);
    
    58
    +        ui.getModel().setServerDataSourceConfiguration(null);
    
    59
    +        ui.getModel().setServerCreateMode(false);
    
    60
    +    }
    
    61
    +
    
    62
    +}

  • client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/CreatePresetUIAction.java
    ... ... @@ -52,21 +52,19 @@ public class CreatePresetUIAction extends PresetsUIActionSupport {
    52 52
             switch (ui.getTabs().getSelectedIndex()) {
    
    53 53
                 case 0: {
    
    54 54
                     RemoteDataSourceConfiguration configuration = new RemoteDataSourceConfiguration();
    
    55
    -                configuration.setName("Change me");
    
    56 55
                     List<RemoteDataSourceConfiguration> configurations = new ArrayList<>(ui.getModel().getRemoteDataSourceConfigurations());
    
    57 56
                     configurations.add(configuration);
    
    58 57
                     ui.getModel().setRemoteDataSourceConfigurations(configurations);
    
    59
    -
    
    58
    +                ui.getModel().setRemoteCreateMode(true);
    
    60 59
                     ui.getRemoteConfigurations().setSelectedValue(configuration, true);
    
    61 60
                 }
    
    62 61
                 break;
    
    63 62
                 case 1: {
    
    64 63
                     ServerDataSourceConfiguration configuration = new ServerDataSourceConfiguration();
    
    65
    -                configuration.setName("Change me");
    
    66
    -
    
    67 64
                     List<ServerDataSourceConfiguration> configurations = new ArrayList<>(ui.getModel().getServerDataSourceConfigurations());
    
    68 65
                     configurations.add(configuration);
    
    69 66
                     ui.getModel().setServerDataSourceConfigurations(configurations);
    
    67
    +                ui.getModel().setServerCreateMode(true);
    
    70 68
                     ui.getServerConfigurations().setSelectedValue(configuration, true);
    
    71 69
                 }
    
    72 70
                 break;
    

  • client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/SaveRemoteUIAction.java
    ... ... @@ -59,6 +59,9 @@ public class SaveRemoteUIAction extends PresetsUIActionSupport {
    59 59
             ui.getModel().setRemoteDataSourceConfiguration(null);
    
    60 60
             ui.getModel().setRemoteDataSourceConfiguration(remoteDataSourceConfiguration);
    
    61 61
             ui.getModel().setRemoteModified(false);
    
    62
    +        if (ui.getModel().isRemoteCreateMode()) {
    
    63
    +            ui.getModel().setRemoteCreateMode(false);
    
    64
    +        }
    
    62 65
     
    
    63 66
         }
    
    64 67
     }

  • client/src/main/java/fr/ird/observe/client/ui/actions/storage/presets/SaveServerUIAction.java
    ... ... @@ -60,6 +60,9 @@ public class SaveServerUIAction extends PresetsUIActionSupport {
    60 60
             ui.getModel().setServerDataSourceConfiguration(null);
    
    61 61
             ui.getModel().setServerDataSourceConfiguration(serverDataSourceConfiguration);
    
    62 62
             ui.getModel().setServerModified(false);
    
    63
    +        if (ui.getModel().isServerCreateMode()) {
    
    64
    +            ui.getModel().setServerCreateMode(false);
    
    65
    +        }
    
    63 66
     
    
    64 67
         }
    
    65 68
     }

  • client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUI.jaxx
    ... ... @@ -29,7 +29,9 @@
    29 29
         fr.ird.observe.client.ui.actions.storage.presets.DeleteRemoteUIAction
    
    30 30
         fr.ird.observe.client.ui.actions.storage.presets.DeleteServerUIAction
    
    31 31
         fr.ird.observe.client.ui.actions.storage.presets.QuitPresetsUIAction
    
    32
    +    fr.ird.observe.client.ui.actions.storage.presets.CancelRemoteUIAction
    
    32 33
         fr.ird.observe.client.ui.actions.storage.presets.ResetRemoteUIAction
    
    34
    +    fr.ird.observe.client.ui.actions.storage.presets.CancelServerUIAction
    
    33 35
         fr.ird.observe.client.ui.actions.storage.presets.ResetServerUIAction
    
    34 36
         fr.ird.observe.client.ui.actions.storage.presets.SaveRemoteUIAction
    
    35 37
         fr.ird.observe.client.ui.actions.storage.presets.SaveServerUIAction
    
    ... ... @@ -89,7 +91,8 @@
    89 91
     
    
    90 92
                 <row>
    
    91 93
                   <cell columns='2'>
    
    92
    -                <JPanel layout="{new GridLayout(1, 0)}">
    
    94
    +                <JPanel id="remoteActions" layout="{new GridLayout(1, 0)}">
    
    95
    +                  <JButton id="cancelRemoteAction"/>
    
    93 96
                       <JButton id="resetRemoteAction"/>
    
    94 97
                       <JButton id="saveRemoteAction"/>
    
    95 98
                       <JButton id="deleteRemoteAction"/>
    
    ... ... @@ -151,7 +154,8 @@
    151 154
     
    
    152 155
                 <row>
    
    153 156
                   <cell columns='2'>
    
    154
    -                <JPanel layout="{new GridLayout(1, 0)}">
    
    157
    +                <JPanel id="serverActions" layout="{new GridLayout(1, 0)}">
    
    158
    +                  <JButton id="cancelServerAction"/>
    
    155 159
                       <JButton id="resetServerAction"/>
    
    156 160
                       <JButton id="saveServerAction"/>
    
    157 161
                       <JButton id="deleteServerAction"/>
    

  • client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUI.jcss
    ... ... @@ -81,8 +81,11 @@
    81 81
       text:{SwingUtil.getStringValue(model.getServerDataSourceConfiguration().getDatabaseName())};
    
    82 82
     }
    
    83 83
     
    
    84
    +#cancelRemoteAction {
    
    85
    +  _observeAction:{CancelRemoteUIAction.ACTION_NAME};
    
    86
    +}
    
    87
    +
    
    84 88
     #resetRemoteAction {
    
    85
    -  enabled:{model.isRemoteModified()};
    
    86 89
       _observeAction:{ResetRemoteUIAction.ACTION_NAME};
    
    87 90
     }
    
    88 91
     
    
    ... ... @@ -99,6 +102,10 @@
    99 102
       _observeAction:{TestRemoteUIAction.ACTION_NAME};
    
    100 103
     }
    
    101 104
     
    
    105
    +#cancelServerAction {
    
    106
    +  _observeAction:{CancelServerUIAction.ACTION_NAME};
    
    107
    +}
    
    108
    +
    
    102 109
     #resetServerAction {
    
    103 110
       enabled:{model.isServerModified()};
    
    104 111
       _observeAction:{ResetServerUIAction.ACTION_NAME};
    

  • client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUIHandler.java
    ... ... @@ -10,12 +10,12 @@ package fr.ird.observe.client.ui.storage.presets;
    10 10
      * it under the terms of the GNU General Public License as
    
    11 11
      * published by the Free Software Foundation, either version 3 of the
    
    12 12
      * License, or (at your option) any later version.
    
    13
    - * 
    
    13
    + *
    
    14 14
      * This program is distributed in the hope that it will be useful,
    
    15 15
      * but WITHOUT ANY WARRANTY; without even the implied warranty of
    
    16 16
      * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    
    17 17
      * GNU General Public License for more details.
    
    18
    - * 
    
    18
    + *
    
    19 19
      * You should have received a copy of the GNU General Public
    
    20 20
      * License along with this program.  If not, see
    
    21 21
      * <http://www.gnu.org/licenses/gpl-3.0.html>.
    
    ... ... @@ -40,6 +40,7 @@ import javax.swing.ActionMap;
    40 40
     import javax.swing.DefaultListModel;
    
    41 41
     import javax.swing.InputMap;
    
    42 42
     import javax.swing.JComponent;
    
    43
    +import javax.swing.JPanel;
    
    43 44
     import javax.swing.JSplitPane;
    
    44 45
     import javax.swing.KeyStroke;
    
    45 46
     import javax.swing.SwingUtilities;
    
    ... ... @@ -88,7 +89,7 @@ public class RemotePresetsUIHandler implements UIHandler<RemotePresetsUI> {
    88 89
     
    
    89 90
             }
    
    90 91
     
    
    91
    -        Decorator<RemoteDataSourceConfiguration> remoteDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(RemoteDataSourceConfiguration.class,DecoratorService.WITH_URL);
    
    92
    +        Decorator<RemoteDataSourceConfiguration> remoteDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(RemoteDataSourceConfiguration.class, DecoratorService.WITH_URL);
    
    92 93
     
    
    93 94
             ui.getRemoteConfigurations().setCellRenderer(new DecoratorListCellRenderer<>(remoteDecorator));
    
    94 95
             DefaultListModel<RemoteDataSourceConfiguration> remoteModel = new DefaultListModel<>();
    
    ... ... @@ -140,7 +141,20 @@ public class RemotePresetsUIHandler implements UIHandler<RemotePresetsUI> {
    140 141
                 SwingUtilities.invokeLater(ui::repaint);
    
    141 142
             });
    
    142 143
     
    
    143
    -        Decorator<ServerDataSourceConfiguration> serverDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(ServerDataSourceConfiguration.class,DecoratorService.WITH_URL);
    
    144
    +        ui.getModel().addPropertyChangeListener("remoteCreateMode", evt -> {
    
    145
    +            JPanel remoteActions = ui.getRemoteActions();
    
    146
    +            if ((Boolean) evt.getNewValue()) {
    
    147
    +                remoteActions.remove(ui.getResetRemoteAction());
    
    148
    +                remoteActions.remove(ui.getDeleteRemoteAction());
    
    149
    +                remoteActions.add(ui.getCancelRemoteAction(), 0);
    
    150
    +            } else {
    
    151
    +                remoteActions.add(ui.getResetRemoteAction(), 0);
    
    152
    +                remoteActions.add(ui.getDeleteRemoteAction(), 2);
    
    153
    +                remoteActions.remove(ui.getCancelRemoteAction());
    
    154
    +            }
    
    155
    +        });
    
    156
    +        ui.getRemoteActions().remove(0);
    
    157
    +        Decorator<ServerDataSourceConfiguration> serverDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(ServerDataSourceConfiguration.class, DecoratorService.WITH_URL);
    
    144 158
             ui.getServerConfigurations().setCellRenderer(new DecoratorListCellRenderer<>(serverDecorator));
    
    145 159
             DefaultListModel<ServerDataSourceConfiguration> ServerModel = new DefaultListModel<>();
    
    146 160
             ui.getModel().getServerDataSourceConfigurations().forEach(ServerModel::addElement);
    
    ... ... @@ -191,6 +205,21 @@ public class RemotePresetsUIHandler implements UIHandler<RemotePresetsUI> {
    191 205
                 SwingUtilities.invokeLater(ui::repaint);
    
    192 206
             });
    
    193 207
     
    
    208
    +        ui.getModel().addPropertyChangeListener("serverCreateMode", evt -> {
    
    209
    +            JPanel serverActions = ui.getServerActions();
    
    210
    +            if ((Boolean) evt.getNewValue()) {
    
    211
    +                serverActions.remove(ui.getResetServerAction());
    
    212
    +                serverActions.remove(ui.getDeleteServerAction());
    
    213
    +                serverActions.add(ui.getCancelServerAction(), 0);
    
    214
    +            } else {
    
    215
    +
    
    216
    +                serverActions.add(ui.getResetServerAction(), 0);
    
    217
    +                serverActions.add(ui.getDeleteServerAction(), 2);
    
    218
    +                serverActions.remove(ui.getCancelServerAction());
    
    219
    +            }
    
    220
    +        });
    
    221
    +
    
    222
    +        ui.getServerActions().remove(0);
    
    194 223
             UIHelper.askFocus(ui.getCreateAction());
    
    195 224
     
    
    196 225
         }
    

  • client/src/main/java/fr/ird/observe/client/ui/storage/presets/RemotePresetsUIModel.java
    ... ... @@ -43,6 +43,8 @@ public class RemotePresetsUIModel extends AbstractBean {
    43 43
     
    
    44 44
         private boolean remoteModified;
    
    45 45
         private boolean serverModified;
    
    46
    +    private boolean remoteCreateMode;
    
    47
    +    private boolean serverCreateMode;
    
    46 48
     
    
    47 49
         public List<RemoteDataSourceConfiguration> getRemoteDataSourceConfigurations() {
    
    48 50
             return remoteDataSourceConfigurations;
    
    ... ... @@ -99,4 +101,22 @@ public class RemotePresetsUIModel extends AbstractBean {
    99 101
             this.serverModified = serverModified;
    
    100 102
             firePropertyChange("serverModified", null, serverModified);
    
    101 103
         }
    
    104
    +
    
    105
    +    public boolean isRemoteCreateMode() {
    
    106
    +        return remoteCreateMode;
    
    107
    +    }
    
    108
    +
    
    109
    +    public void setRemoteCreateMode(boolean remoteCreateMode) {
    
    110
    +        this.remoteCreateMode = remoteCreateMode;
    
    111
    +        firePropertyChange("remoteCreateMode", null, remoteCreateMode);
    
    112
    +    }
    
    113
    +
    
    114
    +    public boolean isServerCreateMode() {
    
    115
    +        return serverCreateMode;
    
    116
    +    }
    
    117
    +
    
    118
    +    public void setServerCreateMode(boolean serverCreateMode) {
    
    119
    +        this.serverCreateMode = serverCreateMode;
    
    120
    +        firePropertyChange("serverCreateMode", null, serverCreateMode);
    
    121
    +    }
    
    102 122
     }

  • client/src/main/resources/i18n/client_en_GB.properties
    ... ... @@ -8,6 +8,8 @@ observe.action.auto.copy.to.clipboard.tip=Copy automaticly in clipboard with rep
    8 8
     observe.action.back.to.list=Back to list
    
    9 9
     observe.action.back.to.list.tip=Go back to the list
    
    10 10
     observe.action.cancel=Cancel
    
    11
    +observe.action.cancel.remote.tip=Cancel create remote configuration
    
    12
    +observe.action.cancel.server.tip=Cancel create server configuration
    
    11 13
     observe.action.change.storage=Change storage
    
    12 14
     observe.action.change.storage.tip=To change current storage
    
    13 15
     observe.action.choose.db.dump=Choose the backup
    

  • client/src/main/resources/i18n/client_es_ES.properties
    ... ... @@ -8,6 +8,8 @@ observe.action.auto.copy.to.clipboard.tip=Puesta a punto automáticamente el con
    8 8
     observe.action.back.to.list=Volver a la lista
    
    9 9
     observe.action.back.to.list.tip=Volver a la lista de datos
    
    10 10
     observe.action.cancel=Cancelar
    
    11
    +observe.action.cancel.remote.tip=Cancel create remote configuration \#TODO
    
    12
    +observe.action.cancel.server.tip=Cancel create server configuration \#TODO
    
    11 13
     observe.action.change.storage=Cambiar la fuente de datos
    
    12 14
     observe.action.change.storage.tip=Para cambiar la fuente de datos de la aplicación
    
    13 15
     observe.action.choose.db.dump=Elegir la copia de seguridad
    

  • client/src/main/resources/i18n/client_fr_FR.properties
    ... ... @@ -8,6 +8,8 @@ observe.action.auto.copy.to.clipboard.tip=Mettre à jour automatiquement le cont
    8 8
     observe.action.back.to.list=Retour à la liste
    
    9 9
     observe.action.back.to.list.tip=Retour à la liste des données
    
    10 10
     observe.action.cancel=Annuler
    
    11
    +observe.action.cancel.remote.tip=Annuler la création de la configuration
    
    12
    +observe.action.cancel.server.tip=Annuler la création de la configuration
    
    11 13
     observe.action.change.storage=Changer la source de données
    
    12 14
     observe.action.change.storage.tip=Pour changer la source de données de l'application
    
    13 15
     observe.action.choose.db.dump=Choisir la sauvegarde