Revision 45960

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.app/org.gvsig.h2spatial.h2gis132.app.mainplugin/src/main/java/org/gvsig/h2spatial/restore/Restore.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.h2spatial.restore;
7

  
8
import org.gvsig.h2spatial.backup.*;
9
import java.io.BufferedReader;
10
import java.io.File;
11
import java.io.FileInputStream;
12
import java.io.InputStreamReader;
13
import java.io.Reader;
14
import java.nio.charset.StandardCharsets;
15
import java.sql.Connection;
16
import java.sql.DriverManager;
17
import java.sql.SQLException;
18
import java.sql.Statement;
19
import java.util.ArrayList;
20
import java.util.List;
21
import java.util.logging.Level;
22
import javax.swing.JOptionPane;
23
import org.apache.commons.io.FileUtils;
24
import org.apache.commons.io.FilenameUtils;
25
import org.apache.commons.io.IOUtils;
26
import org.apache.commons.io.output.FileWriterWithEncoding;
27
import org.gvsig.app.ApplicationLocator;
28
import org.gvsig.app.ApplicationManager;
29
import org.gvsig.fmap.dal.DALLocator;
30
import org.gvsig.fmap.dal.DataManager;
31
import org.gvsig.fmap.dal.store.h2.H2SpatialLibrary;
32
import org.gvsig.fmap.dal.store.h2.H2SpatialUtils;
33
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorer;
34
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
35
import org.gvsig.fmap.dal.swing.DALSwingLocator;
36
import org.gvsig.fmap.dal.swing.DataSwingManager;
37
import org.gvsig.tools.ToolsLocator;
38
import org.gvsig.tools.i18n.I18nManager;
39
import org.gvsig.tools.swing.api.ToolsSwingLocator;
40
import org.gvsig.tools.swing.api.ToolsSwingManager;
41
import org.gvsig.tools.swing.api.pickercontroller.FilePickerController;
42
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
43
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
45

  
46
/**
47
 *
48
 * @author fdiaz
49
 */
50
public class Restore extends RestoreView {
51
    
52
    private static final Logger LOGGER = LoggerFactory.getLogger(Restore.class);
53
    private FilePickerController pickerBackupFile;
54
    private FilePickerController pickerDatabaseFile;
55

  
56

  
57
    public Restore() {
58
        
59
        initComponents();
60
    }
61
    
62
    private void initComponents() {
63
        
64
        ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
65
        this.pickerBackupFile = toolsSwingManager.createFilePickerController(txtBackupFile, btnBackupFile);
66
        this.pickerDatabaseFile = toolsSwingManager.createFilePickerController(txtDatabaseFile, btnDatabaseFile);
67
        
68
    }
69
    
70
    private void translate() {
71
        ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
72
        
73
        toolsSwingManager.translate(lblBackupFile);
74
        toolsSwingManager.translate(lblDatabaseFile);
75

  
76
    }
77
    
78
    public void restoreBackup(){
79
        ApplicationManager application = ApplicationLocator.getApplicationManager();
80
        I18nManager i18n = ToolsLocator.getI18nManager();
81

  
82
        Connection conn = null;
83
        Statement st =null;
84
        try {
85
            
86
            String h2DatabaseFile = H2SpatialUtils.removeH2FileNameExtension(pickerDatabaseFile.get().getAbsolutePath().replace("\\", "/"));
87
            File[] h2Files = H2SpatialUtils.getH2Files(new File(h2DatabaseFile));
88
            for (File h2File : h2Files) {
89
                if (h2File.exists()) {
90
                    application.messageDialog(
91
                            i18n.getTranslation("_The_target_file_already_exists"),
92
                            i18n.getTranslation("_Restore"),
93
                            JOptionPane.WARNING_MESSAGE
94
                    );
95
                    return;
96

  
97
                }
98
            }
99
            conn = DriverManager.getConnection("jdbc:h2:"+h2DatabaseFile+";MODE=PostgreSQL;SCHEMA=PUBLIC;ALLOW_LITERALS=ALL", "sa", "");
100

  
101
            st = conn.createStatement();
102
            st.execute("RUNSCRIPT FROM '"+pickerBackupFile.get().getAbsolutePath().replace("\\", "/")+"'"); //+"' CHARSET '"+StandardCharsets.UTF_8.name()+"'");
103
            
104
        } catch (Exception ex) {
105
            LOGGER.warn("Can't restore backup.", ex);
106
            application.messageDialog(
107
                    i18n.getTranslation("_Cant_restore_backup")+"\n\n"+
108
                    i18n.getTranslation("_see_error_log_for_more_information"), 
109
                    i18n.getTranslation("_Restore"), 
110
                    JOptionPane.WARNING_MESSAGE
111
            );
112
        } finally {
113
            if(st != null){
114
                try {
115
                    st.close();
116
                } catch (SQLException ex) {
117
                    LOGGER.debug("Can't close statement", ex);
118
                }
119
            }
120
            if(conn != null){
121
                try {
122
                    conn.close();
123
                } catch (SQLException ex) {
124
                    LOGGER.debug("Can't close connection", ex);
125
                }
126
            }
127
        }
128
    }
129
}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.app/org.gvsig.h2spatial.h2gis132.app.mainplugin/src/main/java/org/gvsig/h2spatial/restore/RestoreView.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/fdiaz/projects/gvSIG/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.app/org.gvsig.h2spatial.h2gis132.app.mainplugin/src/main/java/org/gvsig/h2spatial/restore/RestoreView.xml</at>
28
   <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
29
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE</at>
30
   <at name="components">
31
    <object classname="java.util.LinkedList">
32
     <item >
33
      <at name="value">
34
       <object classname="com.jeta.forms.store.memento.BeanMemento">
35
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
36
         <at name="cellconstraints">
37
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
38
           <at name="column">2</at>
39
           <at name="row">2</at>
40
           <at name="colspan">1</at>
41
           <at name="rowspan">1</at>
42
           <at name="halign">default</at>
43
           <at name="valign">default</at>
44
           <at name="insets" object="insets">0,0,0,0</at>
45
          </object>
46
         </at>
47
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
48
        </super>
49
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
50
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
51
        <at name="beanproperties">
52
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
53
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
54
          <at name="properties">
55
           <object classname="com.jeta.forms.store.support.PropertyMap">
56
            <at name="border">
57
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
58
              <super classname="com.jeta.forms.store.properties.BorderProperty">
59
               <at name="name">border</at>
60
              </super>
61
              <at name="borders">
62
               <object classname="java.util.LinkedList">
63
                <item >
64
                 <at name="value">
65
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
66
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
67
                    <at name="name">border</at>
68
                   </super>
69
                  </object>
70
                 </at>
71
                </item>
72
               </object>
73
              </at>
74
             </object>
75
            </at>
76
            <at name="name">lblBackupFile</at>
77
            <at name="width">112</at>
78
            <at name="text">_Backup_file</at>
79
            <at name="fill">
80
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
81
              <at name="name">fill</at>
82
             </object>
83
            </at>
84
            <at name="height">14</at>
85
           </object>
86
          </at>
87
         </object>
88
        </at>
89
       </object>
90
      </at>
91
     </item>
92
     <item >
93
      <at name="value">
94
       <object classname="com.jeta.forms.store.memento.BeanMemento">
95
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
96
         <at name="cellconstraints">
97
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
98
           <at name="column">2</at>
99
           <at name="row">4</at>
100
           <at name="colspan">1</at>
101
           <at name="rowspan">1</at>
102
           <at name="halign">default</at>
103
           <at name="valign">default</at>
104
           <at name="insets" object="insets">0,0,0,0</at>
105
          </object>
106
         </at>
107
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
108
        </super>
109
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
110
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
111
        <at name="beanproperties">
112
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
113
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
114
          <at name="properties">
115
           <object classname="com.jeta.forms.store.support.PropertyMap">
116
            <at name="border">
117
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
118
              <super classname="com.jeta.forms.store.properties.BorderProperty">
119
               <at name="name">border</at>
120
              </super>
121
              <at name="borders">
122
               <object classname="java.util.LinkedList">
123
                <item >
124
                 <at name="value">
125
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
126
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
127
                    <at name="name">border</at>
128
                   </super>
129
                  </object>
130
                 </at>
131
                </item>
132
               </object>
133
              </at>
134
             </object>
135
            </at>
136
            <at name="name">lblDatabaseFile</at>
137
            <at name="width">112</at>
138
            <at name="text">_New_database_file</at>
139
            <at name="fill">
140
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
141
              <at name="name">fill</at>
142
             </object>
143
            </at>
144
            <at name="height">14</at>
145
           </object>
146
          </at>
147
         </object>
148
        </at>
149
       </object>
150
      </at>
151
     </item>
152
     <item >
153
      <at name="value">
154
       <object classname="com.jeta.forms.store.memento.BeanMemento">
155
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
156
         <at name="cellconstraints">
157
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
158
           <at name="column">4</at>
159
           <at name="row">4</at>
160
           <at name="colspan">1</at>
161
           <at name="rowspan">1</at>
162
           <at name="halign">default</at>
163
           <at name="valign">default</at>
164
           <at name="insets" object="insets">0,0,0,0</at>
165
          </object>
166
         </at>
167
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
168
        </super>
169
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
170
        <at name="beanclass">javax.swing.JTextField</at>
171
        <at name="beanproperties">
172
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
173
          <at name="classname">javax.swing.JTextField</at>
174
          <at name="properties">
175
           <object classname="com.jeta.forms.store.support.PropertyMap">
176
            <at name="border">
177
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
178
              <super classname="com.jeta.forms.store.properties.BorderProperty">
179
               <at name="name">border</at>
180
              </super>
181
              <at name="borders">
182
               <object classname="java.util.LinkedList">
183
                <item >
184
                 <at name="value">
185
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
186
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
187
                    <at name="name">border</at>
188
                   </super>
189
                  </object>
190
                 </at>
191
                </item>
192
               </object>
193
              </at>
194
             </object>
195
            </at>
196
            <at name="name">txtDatabaseFile</at>
197
            <at name="width">1133</at>
198
            <at name="height">20</at>
199
           </object>
200
          </at>
201
         </object>
202
        </at>
203
       </object>
204
      </at>
205
     </item>
206
     <item >
207
      <at name="value">
208
       <object classname="com.jeta.forms.store.memento.BeanMemento">
209
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
210
         <at name="cellconstraints">
211
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
212
           <at name="column">6</at>
213
           <at name="row">2</at>
214
           <at name="colspan">1</at>
215
           <at name="rowspan">1</at>
216
           <at name="halign">default</at>
217
           <at name="valign">default</at>
218
           <at name="insets" object="insets">0,0,0,0</at>
219
          </object>
220
         </at>
221
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
222
        </super>
223
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
224
        <at name="beanclass">javax.swing.JButton</at>
225
        <at name="beanproperties">
226
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
227
          <at name="classname">javax.swing.JButton</at>
228
          <at name="properties">
229
           <object classname="com.jeta.forms.store.support.PropertyMap">
230
            <at name="border">
231
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
232
              <super classname="com.jeta.forms.store.properties.BorderProperty">
233
               <at name="name">border</at>
234
              </super>
235
              <at name="borders">
236
               <object classname="java.util.LinkedList">
237
                <item >
238
                 <at name="value">
239
                  <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
240
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
241
                    <at name="name">border</at>
242
                   </super>
243
                   <at name="top">2</at>
244
                   <at name="left">2</at>
245
                   <at name="bottom">2</at>
246
                   <at name="right">2</at>
247
                  </object>
248
                 </at>
249
                </item>
250
               </object>
251
              </at>
252
             </object>
253
            </at>
254
            <at name="actionCommand">JButton</at>
255
            <at name="name">btnBackupFile</at>
256
            <at name="width">16</at>
257
            <at name="text">...</at>
258
            <at name="height">18</at>
259
           </object>
260
          </at>
261
         </object>
262
        </at>
263
       </object>
264
      </at>
265
     </item>
266
     <item >
267
      <at name="value">
268
       <object classname="com.jeta.forms.store.memento.BeanMemento">
269
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
270
         <at name="cellconstraints">
271
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
272
           <at name="column">6</at>
273
           <at name="row">4</at>
274
           <at name="colspan">1</at>
275
           <at name="rowspan">1</at>
276
           <at name="halign">default</at>
277
           <at name="valign">default</at>
278
           <at name="insets" object="insets">0,0,0,0</at>
279
          </object>
280
         </at>
281
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
282
        </super>
283
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
284
        <at name="beanclass">javax.swing.JButton</at>
285
        <at name="beanproperties">
286
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
287
          <at name="classname">javax.swing.JButton</at>
288
          <at name="properties">
289
           <object classname="com.jeta.forms.store.support.PropertyMap">
290
            <at name="border">
291
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
292
              <super classname="com.jeta.forms.store.properties.BorderProperty">
293
               <at name="name">border</at>
294
              </super>
295
              <at name="borders">
296
               <object classname="java.util.LinkedList">
297
                <item >
298
                 <at name="value">
299
                  <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
300
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
301
                    <at name="name">border</at>
302
                   </super>
303
                   <at name="top">2</at>
304
                   <at name="left">2</at>
305
                   <at name="bottom">2</at>
306
                   <at name="right">2</at>
307
                  </object>
308
                 </at>
309
                </item>
310
               </object>
311
              </at>
312
             </object>
313
            </at>
314
            <at name="actionCommand">JButton</at>
315
            <at name="name">btnDatabaseFile</at>
316
            <at name="width">16</at>
317
            <at name="text">...</at>
318
            <at name="height">18</at>
319
           </object>
320
          </at>
321
         </object>
322
        </at>
323
       </object>
324
      </at>
325
     </item>
326
     <item >
327
      <at name="value">
328
       <object classname="com.jeta.forms.store.memento.BeanMemento">
329
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
330
         <at name="cellconstraints">
331
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
332
           <at name="column">4</at>
333
           <at name="row">2</at>
334
           <at name="colspan">1</at>
335
           <at name="rowspan">1</at>
336
           <at name="halign">default</at>
337
           <at name="valign">default</at>
338
           <at name="insets" object="insets">0,0,0,0</at>
339
          </object>
340
         </at>
341
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
342
        </super>
343
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
344
        <at name="beanclass">javax.swing.JTextField</at>
345
        <at name="beanproperties">
346
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
347
          <at name="classname">javax.swing.JTextField</at>
348
          <at name="properties">
349
           <object classname="com.jeta.forms.store.support.PropertyMap">
350
            <at name="border">
351
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
352
              <super classname="com.jeta.forms.store.properties.BorderProperty">
353
               <at name="name">border</at>
354
              </super>
355
              <at name="borders">
356
               <object classname="java.util.LinkedList">
357
                <item >
358
                 <at name="value">
359
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
360
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
361
                    <at name="name">border</at>
362
                   </super>
363
                  </object>
364
                 </at>
365
                </item>
366
               </object>
367
              </at>
368
             </object>
369
            </at>
370
            <at name="name">txtBackupFile</at>
371
            <at name="width">1133</at>
372
            <at name="height">20</at>
373
           </object>
374
          </at>
375
         </object>
376
        </at>
377
       </object>
378
      </at>
379
     </item>
380
    </object>
381
   </at>
382
   <at name="properties">
383
    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
384
     <at name="classname">com.jeta.forms.gui.form.GridView</at>
385
     <at name="properties">
386
      <object classname="com.jeta.forms.store.support.PropertyMap">
387
       <at name="border">
388
        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
389
         <super classname="com.jeta.forms.store.properties.BorderProperty">
390
          <at name="name">border</at>
391
         </super>
392
         <at name="borders">
393
          <object classname="java.util.LinkedList"/>
394
         </at>
395
        </object>
396
       </at>
397
       <at name="name"></at>
398
       <at name="fill">
399
        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
400
         <at name="name">fill</at>
401
        </object>
402
       </at>
403
       <at name="scollBars">
404
        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
405
         <at name="name">scollBars</at>
406
         <at name="verticalpolicy">21</at>
407
         <at name="horizontalpolicy">31</at>
408
         <at name="border">
409
          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
410
           <super classname="com.jeta.forms.store.properties.BorderProperty">
411
            <at name="name">border</at>
412
           </super>
413
           <at name="borders">
414
            <object classname="java.util.LinkedList">
415
             <item >
416
              <at name="value">
417
               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
418
                <super classname="com.jeta.forms.store.properties.BorderProperty">
419
                 <at name="name">border</at>
420
                </super>
421
               </object>
422
              </at>
423
             </item>
424
            </object>
425
           </at>
426
          </object>
427
         </at>
428
        </object>
429
       </at>
430
      </object>
431
     </at>
432
    </object>
433
   </at>
434
   <at name="cellpainters">
435
    <object classname="com.jeta.forms.store.support.Matrix">
436
     <at name="rows">
437
      <object classname="[Ljava.lang.Object;" size="5">
438
       <at name="item" index="0">
439
        <object classname="[Ljava.lang.Object;" size="7"/>
440
       </at>
441
       <at name="item" index="1">
442
        <object classname="[Ljava.lang.Object;" size="7"/>
443
       </at>
444
       <at name="item" index="2">
445
        <object classname="[Ljava.lang.Object;" size="7"/>
446
       </at>
447
       <at name="item" index="3">
448
        <object classname="[Ljava.lang.Object;" size="7"/>
449
       </at>
450
       <at name="item" index="4">
451
        <object classname="[Ljava.lang.Object;" size="7"/>
452
       </at>
453
      </object>
454
     </at>
455
    </object>
456
   </at>
457
   <at name="rowgroups">
458
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
459
     <at name="groups">
460
      <object classname="java.util.HashMap"/>
461
     </at>
462
    </object>
463
   </at>
464
   <at name="colgroups">
465
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
466
     <at name="groups">
467
      <object classname="java.util.HashMap"/>
468
     </at>
469
    </object>
470
   </at>
471
  </object>
472
 </at>
473
</object>
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.app/org.gvsig.h2spatial.h2gis132.app.mainplugin/src/main/java/org/gvsig/h2spatial/restore/RestoreView.java
1
package org.gvsig.h2spatial.restore;
2

  
3
import com.jeta.open.i18n.I18NUtils;
4
import com.jgoodies.forms.layout.CellConstraints;
5
import com.jgoodies.forms.layout.FormLayout;
6
import java.awt.BorderLayout;
7
import java.awt.ComponentOrientation;
8
import java.awt.Container;
9
import java.awt.Dimension;
10
import javax.swing.Box;
11
import javax.swing.ImageIcon;
12
import javax.swing.JButton;
13
import javax.swing.JFrame;
14
import javax.swing.JLabel;
15
import javax.swing.JPanel;
16
import javax.swing.JTextField;
17
import javax.swing.border.EmptyBorder;
18

  
19

  
20
public class RestoreView extends JPanel
21
{
22
   JLabel lblBackupFile = new JLabel();
23
   JLabel lblDatabaseFile = new JLabel();
24
   JTextField txtDatabaseFile = new JTextField();
25
   JButton btnBackupFile = new JButton();
26
   JButton btnDatabaseFile = new JButton();
27
   JTextField txtBackupFile = new JTextField();
28

  
29
   /**
30
    * Default constructor
31
    */
32
   public RestoreView()
33
   {
34
      initializePanel();
35
   }
36

  
37
   /**
38
    * Adds fill components to empty cells in the first row and first column of the grid.
39
    * This ensures that the grid spacing will be the same as shown in the designer.
40
    * @param cols an array of column indices in the first row where fill components should be added.
41
    * @param rows an array of row indices in the first column where fill components should be added.
42
    */
43
   void addFillComponents( Container panel, int[] cols, int[] rows )
44
   {
45
      Dimension filler = new Dimension(10,10);
46

  
47
      boolean filled_cell_11 = false;
48
      CellConstraints cc = new CellConstraints();
49
      if ( cols.length > 0 && rows.length > 0 )
50
      {
51
         if ( cols[0] == 1 && rows[0] == 1 )
52
         {
53
            /** add a rigid area  */
54
            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
55
            filled_cell_11 = true;
56
         }
57
      }
58

  
59
      for( int index = 0; index < cols.length; index++ )
60
      {
61
         if ( cols[index] == 1 && filled_cell_11 )
62
         {
63
            continue;
64
         }
65
         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
66
      }
67

  
68
      for( int index = 0; index < rows.length; index++ )
69
      {
70
         if ( rows[index] == 1 && filled_cell_11 )
71
         {
72
            continue;
73
         }
74
         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
75
      }
76

  
77
   }
78

  
79
   /**
80
    * Helper method to load an image file from the CLASSPATH
81
    * @param imageName the package and name of the file to load relative to the CLASSPATH
82
    * @return an ImageIcon instance with the specified image file
83
    * @throws IllegalArgumentException if the image resource cannot be loaded.
84
    */
85
   public ImageIcon loadImage( String imageName )
86
   {
87
      try
88
      {
89
         ClassLoader classloader = getClass().getClassLoader();
90
         java.net.URL url = classloader.getResource( imageName );
91
         if ( url != null )
92
         {
93
            ImageIcon icon = new ImageIcon( url );
94
            return icon;
95
         }
96
      }
97
      catch( Exception e )
98
      {
99
         e.printStackTrace();
100
      }
101
      throw new IllegalArgumentException( "Unable to load image: " + imageName );
102
   }
103

  
104
   /**
105
    * Method for recalculating the component orientation for 
106
    * right-to-left Locales.
107
    * @param orientation the component orientation to be applied
108
    */
109
   public void applyComponentOrientation( ComponentOrientation orientation )
110
   {
111
      // Not yet implemented...
112
      // I18NUtils.applyComponentOrientation(this, orientation);
113
      super.applyComponentOrientation(orientation);
114
   }
115

  
116
   public JPanel createPanel()
117
   {
118
      JPanel jpanel1 = new JPanel();
119
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
120
      CellConstraints cc = new CellConstraints();
121
      jpanel1.setLayout(formlayout1);
122

  
123
      lblBackupFile.setName("lblBackupFile");
124
      lblBackupFile.setText("_Backup_file");
125
      jpanel1.add(lblBackupFile,cc.xy(2,2));
126

  
127
      lblDatabaseFile.setName("lblDatabaseFile");
128
      lblDatabaseFile.setText("_New_database_file");
129
      jpanel1.add(lblDatabaseFile,cc.xy(2,4));
130

  
131
      txtDatabaseFile.setName("txtDatabaseFile");
132
      jpanel1.add(txtDatabaseFile,cc.xy(4,4));
133

  
134
      btnBackupFile.setActionCommand("JButton");
135
      btnBackupFile.setName("btnBackupFile");
136
      btnBackupFile.setText("...");
137
      EmptyBorder emptyborder1 = new EmptyBorder(2,2,2,2);
138
      btnBackupFile.setBorder(emptyborder1);
139
      jpanel1.add(btnBackupFile,cc.xy(6,2));
140

  
141
      btnDatabaseFile.setActionCommand("JButton");
142
      btnDatabaseFile.setName("btnDatabaseFile");
143
      btnDatabaseFile.setText("...");
144
      EmptyBorder emptyborder2 = new EmptyBorder(2,2,2,2);
145
      btnDatabaseFile.setBorder(emptyborder2);
146
      jpanel1.add(btnDatabaseFile,cc.xy(6,4));
147

  
148
      txtBackupFile.setName("txtBackupFile");
149
      jpanel1.add(txtBackupFile,cc.xy(4,2));
150

  
151
      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7 },new int[]{ 1,2,3,4,5 });
152
      return jpanel1;
153
   }
154

  
155
   /**
156
    * Initializer
157
    */
158
   protected void initializePanel()
159
   {
160
      setLayout(new BorderLayout());
161
      add(createPanel(), BorderLayout.CENTER);
162
   }
163

  
164

  
165
}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.app/org.gvsig.h2spatial.h2gis132.app.mainplugin/src/main/java/org/gvsig/h2spatial/H2SpatialExtension.java
10 10
import java.text.MessageFormat;
11 11
import java.util.ArrayList;
12 12
import java.util.List;
13
import java.util.logging.Level;
14
import java.util.logging.Logger;
15 13
import javax.swing.JOptionPane;
16 14
import javax.swing.filechooser.FileNameExtensionFilter;
17 15
import org.apache.commons.collections.CollectionUtils;
......
41 39
import org.gvsig.fmap.mapcontext.MapContextManager;
42 40
import org.gvsig.fmap.mapcontext.layers.FLayer;
43 41
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
42
import org.gvsig.h2spatial.backup.Backup;
43
import org.gvsig.h2spatial.restore.Restore;
44 44
import org.gvsig.tools.ToolsLocator;
45 45
import org.gvsig.tools.folders.FoldersManager;
46 46
import org.gvsig.tools.i18n.I18nManager;
......
99 99
        case "tools-h2spatial-shutdownserver":
100 100
            shutdownserver();
101 101
            break;
102
        case "tools-h2spatial-backup":
103
            backup();
104
            break;
105
        case "tools-h2spatial-restore":
106
            restore();
107
            break;
102 108
        }
103 109
    }
104 110
    
......
187 193
        case "tools-h2spatial-shutdownserver":
188 194
            return true;
189 195
            
196
        case "tools-h2spatial-backup":
197
            return true;
198

  
199
        case "tools-h2spatial-restore":
200
            return true;
201
            
190 202
        default:
191 203
            return false;
192 204
        }
......
430 442
            );
431 443
        }
432 444
    }
445
    
446
    private void backup() {
447
        I18nManager i18n = ToolsLocator.getI18nManager();
448
        WindowManager_v2 winmanager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
449
        final Backup panel = new Backup();
450
        final Dialog dlg = winmanager.createDialog(
451
                panel,
452
                i18n.getTranslation("_Backup"),
453
                i18n.getTranslation("_Backup_H2_database"),
454
                WindowManager_v2.BUTTONS_OK_CANCEL
455
        );
456
        dlg.addActionListener((ActionEvent e) -> {
457
            if (dlg.getAction() == WindowManager_v2.BUTTONS_OK) {
458
                panel.createBackup();
459
            }
460
        });
461
        dlg.show(WindowManager.MODE.WINDOW);
462
    }
463

  
464
    private void restore() {
465
        I18nManager i18n = ToolsLocator.getI18nManager();
466
        WindowManager_v2 winmanager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
467
        final Restore panel = new Restore();
468
        final Dialog dlg = winmanager.createDialog(
469
                panel,
470
                i18n.getTranslation("_Restore"),
471
                i18n.getTranslation("_Restore_H2_database"),
472
                WindowManager_v2.BUTTONS_OK_CANCEL
473
        );
474
        dlg.addActionListener((ActionEvent e) -> {
475
            if (dlg.getAction() == WindowManager_v2.BUTTONS_OK) {
476
                panel.restoreBackup();
477
            }
478
        });
479
        dlg.show(WindowManager.MODE.WINDOW);
480
    }
481

  
433 482
}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.app/org.gvsig.h2spatial.h2gis132.app.mainplugin/src/main/java/org/gvsig/h2spatial/backup/Backup.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.h2spatial.backup;
7

  
8
import java.io.BufferedReader;
9
import java.io.File;
10
import java.io.FileInputStream;
11
import java.io.InputStreamReader;
12
import java.io.Reader;
13
import java.nio.charset.StandardCharsets;
14
import java.util.ArrayList;
15
import java.util.List;
16
import javax.swing.JOptionPane;
17
import org.apache.commons.io.FileUtils;
18
import org.apache.commons.io.FilenameUtils;
19
import org.apache.commons.io.IOUtils;
20
import org.apache.commons.io.output.FileWriterWithEncoding;
21
import org.gvsig.app.ApplicationLocator;
22
import org.gvsig.app.ApplicationManager;
23
import org.gvsig.fmap.dal.DALLocator;
24
import org.gvsig.fmap.dal.DataManager;
25
import org.gvsig.fmap.dal.store.h2.H2SpatialLibrary;
26
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorer;
27
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
28
import org.gvsig.fmap.dal.swing.DALSwingLocator;
29
import org.gvsig.fmap.dal.swing.DataSwingManager;
30
import org.gvsig.tools.ToolsLocator;
31
import org.gvsig.tools.i18n.I18nManager;
32
import org.gvsig.tools.swing.api.ToolsSwingLocator;
33
import org.gvsig.tools.swing.api.ToolsSwingManager;
34
import org.gvsig.tools.swing.api.pickercontroller.FilePickerController;
35
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
36
import org.slf4j.Logger;
37
import org.slf4j.LoggerFactory;
38

  
39
/**
40
 *
41
 * @author fdiaz
42
 */
43
public class Backup extends BackupView {
44
    
45
    private static final Logger LOGGER = LoggerFactory.getLogger(Backup.class);
46

  
47
    private PickerController<JDBCServerExplorerParameters> pickerConnection;
48
    private FilePickerController pickerFile;
49

  
50
    public Backup() {
51
        
52
        initComponents();
53
    }
54
    
55
    private void initComponents() {
56
        
57
        DataSwingManager dataSwingManager = DALSwingLocator.getDataSwingManager();
58
        this.pickerConnection = dataSwingManager.createJDBCConnectionPickerController(cboConnection, btnConnection);
59
        ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
60
        this.pickerFile = toolsSwingManager.createFilePickerController(txtFile, btnFile);
61
        
62
    }
63
    
64
    private void translate() {
65
        ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
66
        
67
        toolsSwingManager.translate(lblConnection);
68
        toolsSwingManager.translate(lblFile);
69

  
70
    }
71
    
72
    public void createBackup(){
73
        ApplicationManager application = ApplicationLocator.getApplicationManager();
74
        I18nManager i18n = ToolsLocator.getI18nManager();
75

  
76
        Reader reader = null;
77
        BufferedReader breader = null;
78
        try {
79
            JDBCServerExplorerParameters connection = this.pickerConnection.get();
80
            if(!connection.getProviderName().equals(H2SpatialLibrary.NAME)){
81
                application.messageDialog(
82
                        i18n.getTranslation("_Only_H2Spatial_database_backups_can_be_created"), 
83
                        i18n.getTranslation("_Backup"), 
84
                        JOptionPane.INFORMATION_MESSAGE
85
                );
86
                return;
87
            }
88
            File file = pickerFile.get();
89
            File tmpFile = new File(FilenameUtils.removeExtension(file.getAbsolutePath())+".tmp");
90
            
91
            DataManager dataManager = DALLocator.getDataManager();
92
            JDBCServerExplorer explorer = (JDBCServerExplorer) dataManager.openServerExplorer(connection.getProviderName(), connection);
93
            
94
            explorer.execute("SCRIPT TO '"+tmpFile.getAbsolutePath().replace("\\", "/")+"' CHARSET '"+StandardCharsets.UTF_8.name()+"'");
95
            
96
            try (FileWriterWithEncoding writer = new FileWriterWithEncoding(file, StandardCharsets.UTF_8)) {
97
                reader = new InputStreamReader(new FileInputStream(tmpFile), StandardCharsets.UTF_8);
98
                breader = new BufferedReader(reader, 8*1024);
99
                List<String> linesToMove = new ArrayList<>();
100
                while(true){
101
                    String line = breader.readLine();
102
                    if(line == null){
103
                        break;
104
                    }
105
                    if(linesToMove != null && line.startsWith("CREATE DOMAIN ")){
106
                        linesToMove.add(line);
107
                    } else {
108
                        if(linesToMove != null && line.startsWith("CREATE FORCE VIEW PUBLIC.GEOMETRY_COLUMNS")){
109
                            for (String str : linesToMove) {
110
                                writer.write(str);
111
                                writer.write("\n");
112
                            }
113
                            linesToMove = null;
114
                        }
115
                        writer.write(line);
116
                        writer.write("\n");
117
                    }
118
                }
119
            }
120
            FileUtils.deleteQuietly(tmpFile);
121
        } catch (Exception ex) {
122
            LOGGER.warn("Can't create backup.", ex);
123
            application.messageDialog(
124
                    i18n.getTranslation("_Cant_create_backup")+"\n\n"+
125
                    i18n.getTranslation("_see_error_log_for_more_information"), 
126
                    i18n.getTranslation("_Backup"), 
127
                    JOptionPane.WARNING_MESSAGE
128
            );
129
        } finally {
130
            IOUtils.closeQuietly(breader);
131
            IOUtils.closeQuietly(reader);
132
        }
133
    }
134
}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.app/org.gvsig.h2spatial.h2gis132.app.mainplugin/src/main/java/org/gvsig/h2spatial/backup/BackupView.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/fdiaz/projects/gvSIG/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.app/org.gvsig.h2spatial.h2gis132.app.mainplugin/src/main/java/org/gvsig/h2spatial/backup/BackupView.xml</at>
28
   <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
29
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE</at>
30
   <at name="components">
31
    <object classname="java.util.LinkedList">
32
     <item >
33
      <at name="value">
34
       <object classname="com.jeta.forms.store.memento.BeanMemento">
35
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
36
         <at name="cellconstraints">
37
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
38
           <at name="column">2</at>
39
           <at name="row">2</at>
40
           <at name="colspan">1</at>
41
           <at name="rowspan">1</at>
42
           <at name="halign">default</at>
43
           <at name="valign">default</at>
44
           <at name="insets" object="insets">0,0,0,0</at>
45
          </object>
46
         </at>
47
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
48
        </super>
49
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
50
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
51
        <at name="beanproperties">
52
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
53
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
54
          <at name="properties">
55
           <object classname="com.jeta.forms.store.support.PropertyMap">
56
            <at name="border">
57
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
58
              <super classname="com.jeta.forms.store.properties.BorderProperty">
59
               <at name="name">border</at>
60
              </super>
61
              <at name="borders">
62
               <object classname="java.util.LinkedList">
63
                <item >
64
                 <at name="value">
65
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
66
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
67
                    <at name="name">border</at>
68
                   </super>
69
                  </object>
70
                 </at>
71
                </item>
72
               </object>
73
              </at>
74
             </object>
75
            </at>
76
            <at name="name">lblConnection</at>
77
            <at name="width">69</at>
78
            <at name="text">_Connection</at>
79
            <at name="fill">
80
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
81
              <at name="name">fill</at>
82
             </object>
83
            </at>
84
            <at name="height">14</at>
85
           </object>
86
          </at>
87
         </object>
88
        </at>
89
       </object>
90
      </at>
91
     </item>
92
     <item >
93
      <at name="value">
94
       <object classname="com.jeta.forms.store.memento.BeanMemento">
95
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
96
         <at name="cellconstraints">
97
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
98
           <at name="column">2</at>
99
           <at name="row">4</at>
100
           <at name="colspan">1</at>
101
           <at name="rowspan">1</at>
102
           <at name="halign">default</at>
103
           <at name="valign">default</at>
104
           <at name="insets" object="insets">0,0,0,0</at>
105
          </object>
106
         </at>
107
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
108
        </super>
109
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
110
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
111
        <at name="beanproperties">
112
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
113
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
114
          <at name="properties">
115
           <object classname="com.jeta.forms.store.support.PropertyMap">
116
            <at name="border">
117
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
118
              <super classname="com.jeta.forms.store.properties.BorderProperty">
119
               <at name="name">border</at>
120
              </super>
121
              <at name="borders">
122
               <object classname="java.util.LinkedList">
123
                <item >
124
                 <at name="value">
125
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
126
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
127
                    <at name="name">border</at>
128
                   </super>
129
                  </object>
130
                 </at>
131
                </item>
132
               </object>
133
              </at>
134
             </object>
135
            </at>
136
            <at name="name">lblFile</at>
137
            <at name="width">69</at>
138
            <at name="text">_File</at>
139
            <at name="fill">
140
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
141
              <at name="name">fill</at>
142
             </object>
143
            </at>
144
            <at name="height">14</at>
145
           </object>
146
          </at>
147
         </object>
148
        </at>
149
       </object>
150
      </at>
151
     </item>
152
     <item >
153
      <at name="value">
154
       <object classname="com.jeta.forms.store.memento.BeanMemento">
155
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
156
         <at name="cellconstraints">
157
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
158
           <at name="column">4</at>
159
           <at name="row">4</at>
160
           <at name="colspan">1</at>
161
           <at name="rowspan">1</at>
162
           <at name="halign">default</at>
163
           <at name="valign">default</at>
164
           <at name="insets" object="insets">0,0,0,0</at>
165
          </object>
166
         </at>
167
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
168
        </super>
169
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
170
        <at name="beanclass">javax.swing.JTextField</at>
171
        <at name="beanproperties">
172
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
173
          <at name="classname">javax.swing.JTextField</at>
174
          <at name="properties">
175
           <object classname="com.jeta.forms.store.support.PropertyMap">
176
            <at name="border">
177
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
178
              <super classname="com.jeta.forms.store.properties.BorderProperty">
179
               <at name="name">border</at>
180
              </super>
181
              <at name="borders">
182
               <object classname="java.util.LinkedList">
183
                <item >
184
                 <at name="value">
185
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
186
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
187
                    <at name="name">border</at>
188
                   </super>
189
                  </object>
190
                 </at>
191
                </item>
192
               </object>
193
              </at>
194
             </object>
195
            </at>
196
            <at name="name">txtFile</at>
197
            <at name="width">1176</at>
198
            <at name="height">20</at>
199
           </object>
200
          </at>
201
         </object>
202
        </at>
203
       </object>
204
      </at>
205
     </item>
206
     <item >
207
      <at name="value">
208
       <object classname="com.jeta.forms.store.memento.BeanMemento">
209
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
210
         <at name="cellconstraints">
211
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
212
           <at name="column">6</at>
213
           <at name="row">2</at>
214
           <at name="colspan">1</at>
215
           <at name="rowspan">1</at>
216
           <at name="halign">default</at>
217
           <at name="valign">default</at>
218
           <at name="insets" object="insets">0,0,0,0</at>
219
          </object>
220
         </at>
221
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
222
        </super>
223
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
224
        <at name="beanclass">javax.swing.JButton</at>
225
        <at name="beanproperties">
226
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
227
          <at name="classname">javax.swing.JButton</at>
228
          <at name="properties">
229
           <object classname="com.jeta.forms.store.support.PropertyMap">
230
            <at name="border">
231
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
232
              <super classname="com.jeta.forms.store.properties.BorderProperty">
233
               <at name="name">border</at>
234
              </super>
235
              <at name="borders">
236
               <object classname="java.util.LinkedList">
237
                <item >
238
                 <at name="value">
239
                  <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
240
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
241
                    <at name="name">border</at>
242
                    <at name="title"></at>
243
                   </super>
244
                   <at name="top">2</at>
245
                   <at name="left">2</at>
246
                   <at name="bottom">2</at>
247
                   <at name="right">2</at>
248
                  </object>
249
                 </at>
250
                </item>
251
               </object>
252
              </at>
253
             </object>
254
            </at>
255
            <at name="actionCommand">JButton</at>
256
            <at name="name">btnConnection</at>
257
            <at name="width">16</at>
258
            <at name="text">...</at>
259
            <at name="height">18</at>
260
           </object>
261
          </at>
262
         </object>
263
        </at>
264
       </object>
265
      </at>
266
     </item>
267
     <item >
268
      <at name="value">
269
       <object classname="com.jeta.forms.store.memento.BeanMemento">
270
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
271
         <at name="cellconstraints">
272
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
273
           <at name="column">6</at>
274
           <at name="row">4</at>
275
           <at name="colspan">1</at>
276
           <at name="rowspan">1</at>
277
           <at name="halign">default</at>
278
           <at name="valign">default</at>
279
           <at name="insets" object="insets">0,0,0,0</at>
280
          </object>
281
         </at>
282
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
283
        </super>
284
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
285
        <at name="beanclass">javax.swing.JButton</at>
286
        <at name="beanproperties">
287
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
288
          <at name="classname">javax.swing.JButton</at>
289
          <at name="properties">
290
           <object classname="com.jeta.forms.store.support.PropertyMap">
291
            <at name="border">
292
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
293
              <super classname="com.jeta.forms.store.properties.BorderProperty">
294
               <at name="name">border</at>
295
              </super>
296
              <at name="borders">
297
               <object classname="java.util.LinkedList">
298
                <item >
299
                 <at name="value">
300
                  <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
301
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
302
                    <at name="name">border</at>
303
                    <at name="title"></at>
304
                   </super>
305
                   <at name="top">2</at>
306
                   <at name="left">2</at>
307
                   <at name="bottom">2</at>
308
                   <at name="right">2</at>
309
                  </object>
310
                 </at>
311
                </item>
312
               </object>
313
              </at>
314
             </object>
315
            </at>
316
            <at name="actionCommand">JButton</at>
317
            <at name="name">btnFile</at>
318
            <at name="width">16</at>
319
            <at name="text">...</at>
320
            <at name="height">18</at>
321
           </object>
322
          </at>
323
         </object>
324
        </at>
325
       </object>
326
      </at>
327
     </item>
328
     <item >
329
      <at name="value">
330
       <object classname="com.jeta.forms.store.memento.BeanMemento">
331
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
332
         <at name="cellconstraints">
333
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
334
           <at name="column">4</at>
335
           <at name="row">2</at>
336
           <at name="colspan">1</at>
337
           <at name="rowspan">1</at>
338
           <at name="halign">default</at>
339
           <at name="valign">default</at>
340
           <at name="insets" object="insets">0,0,0,0</at>
341
          </object>
342
         </at>
343
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
344
        </super>
345
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
346
        <at name="beanclass">javax.swing.JComboBox</at>
347
        <at name="beanproperties">
348
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
349
          <at name="classname">javax.swing.JComboBox</at>
350
          <at name="properties">
351
           <object classname="com.jeta.forms.store.support.PropertyMap">
352
            <at name="border">
353
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
354
              <super classname="com.jeta.forms.store.properties.BorderProperty">
355
               <at name="name">border</at>
356
              </super>
357
              <at name="borders">
358
               <object classname="java.util.LinkedList">
359
                <item >
360
                 <at name="value">
361
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
362
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
363
                    <at name="name">border</at>
364
                   </super>
365
                  </object>
366
                 </at>
367
                </item>
368
               </object>
369
              </at>
370
             </object>
371
            </at>
372
            <at name="name">cboConnection</at>
373
            <at name="width">1176</at>
374
            <at name="items">
375
             <object classname="com.jeta.forms.store.properties.ItemsProperty">
376
              <at name="name">items</at>
377
             </object>
378
            </at>
379
            <at name="height">20</at>
380
           </object>
381
          </at>
382
         </object>
383
        </at>
384
       </object>
385
      </at>
386
     </item>
387
    </object>
388
   </at>
389
   <at name="properties">
390
    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
391
     <at name="classname">com.jeta.forms.gui.form.GridView</at>
392
     <at name="properties">
393
      <object classname="com.jeta.forms.store.support.PropertyMap">
394
       <at name="border">
395
        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
396
         <super classname="com.jeta.forms.store.properties.BorderProperty">
397
          <at name="name">border</at>
398
         </super>
399
         <at name="borders">
400
          <object classname="java.util.LinkedList"/>
401
         </at>
402
        </object>
403
       </at>
404
       <at name="name"></at>
405
       <at name="fill">
406
        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
407
         <at name="name">fill</at>
408
        </object>
409
       </at>
410
       <at name="scollBars">
411
        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
412
         <at name="name">scollBars</at>
413
         <at name="verticalpolicy">21</at>
414
         <at name="horizontalpolicy">31</at>
415
         <at name="border">
416
          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
417
           <super classname="com.jeta.forms.store.properties.BorderProperty">
418
            <at name="name">border</at>
419
           </super>
420
           <at name="borders">
421
            <object classname="java.util.LinkedList">
422
             <item >
423
              <at name="value">
424
               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
425
                <super classname="com.jeta.forms.store.properties.BorderProperty">
426
                 <at name="name">border</at>
427
                </super>
428
               </object>
429
              </at>
430
             </item>
431
            </object>
432
           </at>
433
          </object>
434
         </at>
435
        </object>
436
       </at>
437
      </object>
438
     </at>
439
    </object>
440
   </at>
441
   <at name="cellpainters">
442
    <object classname="com.jeta.forms.store.support.Matrix">
443
     <at name="rows">
444
      <object classname="[Ljava.lang.Object;" size="5">
445
       <at name="item" index="0">
446
        <object classname="[Ljava.lang.Object;" size="7"/>
447
       </at>
448
       <at name="item" index="1">
449
        <object classname="[Ljava.lang.Object;" size="7"/>
450
       </at>
451
       <at name="item" index="2">
452
        <object classname="[Ljava.lang.Object;" size="7"/>
453
       </at>
454
       <at name="item" index="3">
455
        <object classname="[Ljava.lang.Object;" size="7"/>
456
       </at>
457
       <at name="item" index="4">
458
        <object classname="[Ljava.lang.Object;" size="7"/>
459
       </at>
460
      </object>
461
     </at>
462
    </object>
463
   </at>
464
   <at name="rowgroups">
465
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
466
     <at name="groups">
467
      <object classname="java.util.HashMap"/>
468
     </at>
469
    </object>
470
   </at>
471
   <at name="colgroups">
472
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
473
     <at name="groups">
474
      <object classname="java.util.HashMap"/>
475
     </at>
476
    </object>
477
   </at>
478
  </object>
479
 </at>
480
</object>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff