Revision 46629

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/ApplicationLibrary.java
32 32
import org.gvsig.andami.PluginServices;
33 33
import org.gvsig.andami.PluginsLocator;
34 34
import org.gvsig.app.extension.InitializeApplicationExtension;
35
import org.gvsig.app.extension.copytable.CopyTable2ProcessParametersImpl;
35 36
import org.gvsig.app.gui.preferencespage.AppSymbolPreferences;
36 37
import org.gvsig.app.project.DefaultProject;
37 38
import org.gvsig.app.project.documents.view.expressionevaluator.savedpoints.SavedPointsElementFactory;
......
101 102
//                FirstLayerFeatureAditionalPanelFactory.selfRegister();
102 103
                ViewElementFactory.selfRegister();
103 104
                SavedPointsElementFactory.selfRegister();
105
                
106
                CopyTable2ProcessParametersImpl.selfRegister();
104 107
        }
105 108

  
106 109
	/**
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/copytable/StoresRepositoryController.java
4 4
import java.awt.event.FocusEvent;
5 5
import java.awt.event.MouseEvent;
6 6
import java.awt.event.MouseMotionAdapter;
7
import java.util.ArrayList;
7 8
import java.util.Arrays;
8 9
import java.util.Collections;
9 10
import java.util.List;
......
11 12
import javax.swing.JTree;
12 13
import javax.swing.ToolTipManager;
13 14
import javax.swing.event.TreeSelectionListener;
15
import javax.swing.text.Position;
16
import javax.swing.tree.TreeModel;
14 17
import javax.swing.tree.TreePath;
15 18
import org.apache.commons.lang3.StringUtils;
16 19
import org.gvsig.fmap.dal.DALLocator;
......
40 43
    
41 44
    public StoresRepositoryController(JTree tree, StoresRepository rootRepository) {
42 45
        this.tree = tree;
46
        this.tree.setExpandsSelectedPaths(true);
47

  
43 48
        this.rootRepository = rootRepository;
44 49

  
45 50
        DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager();
......
86 91
        return store;
87 92
    }
88 93
    
94
    public boolean setSelectedStore(FeatureStore store) {
95

  
96
        TreeModel model = this.tree.getModel();
97
        LabeledValue root = (LabeledValue) model.getRoot();
98
        List path = new ArrayList();
99
        if(!setSelectedStore(model, path, root, store.getParameters())) {
100
            return false;
101
        };
102

  
103
        int currentRow = 0;
104
        TreePath elementPath = null;
105
        for (int i = 0; i< path.size(); i++){
106
            LabeledValue element = (LabeledValue)path.get(i);
107
            elementPath = this.tree.getNextMatch(element.getLabel(), currentRow, Position.Bias.Forward);
108
            if(elementPath == null) {
109
                break;
110
            }
111
            this.tree.expandPath(elementPath);
112
            currentRow = this.tree.getRowForPath(elementPath);
113
            if(currentRow < 0){
114
                break;
115
            }
116
        }
117
        if(elementPath == null) {
118
            return false;
119
        }
120
//        this.tree.expandPath(elementPath.getParentPath());
121
        this.tree.setSelectionPath(elementPath);
122
        this.tree.scrollPathToVisible(elementPath);
123
        return true;
124
    }
125

  
126
    private boolean setSelectedStore(TreeModel model, List path, LabeledValue node, DataStoreParameters storeParams) {
127
        if(node == null){
128
            return false;
129
        }
130
        Object value = node.getValue();
131
        if(value instanceof DataStoreParameters) {
132
            DataStoreParameters nodeParams = (DataStoreParameters)value;
133
            if(nodeParams.isTheSameStore(storeParams)){
134
                return true;
135
            }
136
        }
137
        for (int i = 0; i < model.getChildCount(node); i++) {
138
            LabeledValue child = (LabeledValue) model.getChild(node, i);
139
            path.add(child);
140
            if(setSelectedStore(model, path, child, storeParams)){
141
                return true;
142
            }
143
            path.remove(path.size()-1);
144
        }
145
        return false;
146
    }
147
    
89 148
    public FeatureStore getSelectedFeatureStore() {
90 149
        DataStore store = this.getSelectedStore();
91 150
        if( store instanceof FeatureStore ) {
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/copytable/CopyTable2Panel.java
1 1
package org.gvsig.app.extension.copytable;
2 2

  
3 3
import java.awt.Component;
4
import java.awt.event.ActionEvent;
5
import java.awt.event.ActionListener;
4 6
import java.util.ArrayList;
5 7
import java.util.Iterator;
6 8
import java.util.List;
......
18 20
import javax.swing.table.TableColumn;
19 21
import org.apache.commons.lang3.StringUtils;
20 22
import org.apache.commons.text.similarity.LevenshteinDistance;
23
import org.gvsig.app.extension.copytable.CopyTable2ProcessParameters.ProcessFieldParameters;
24
import org.gvsig.configurableactions.ConfigurableActionsMamager;
21 25
import org.gvsig.expressionevaluator.Expression;
22 26
import org.gvsig.expressionevaluator.ExpressionBuilder;
23 27
import org.gvsig.expressionevaluator.ExpressionUtils;
......
32 36
import org.gvsig.fmap.dal.swing.DataSwingManager;
33 37
import org.gvsig.fmap.dal.swing.featuretype.AttributeDescriptorPickerController;
34 38
import org.gvsig.tools.ToolsLocator;
39
import org.gvsig.tools.bookmarksandhistory.Bookmarks;
40
import org.gvsig.tools.bookmarksandhistory.History;
35 41
import org.gvsig.tools.dispose.DisposeUtils;
36 42
import org.gvsig.tools.swing.api.ToolsSwingLocator;
37 43
import org.gvsig.tools.swing.api.ToolsSwingUtils;
44
import org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue;
45
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_GETVALUE;
46
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETVALUE;
47
import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
48
import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController;
38 49
import org.gvsig.tools.swing.api.documentfilters.IntegerDocumentFilter;
39 50
import org.gvsig.tools.swing.api.task.TaskStatusController;
40 51
import org.gvsig.tools.task.SimpleTaskStatus;
52
import org.gvsig.tools.util.ToolsUtilLocator;
41 53

  
42 54
/**
43 55
 *
......
45 57
 */
46 58
public class CopyTable2Panel extends CopyTable2PanelView {
47 59

  
48
    private static Integer MAX_DISTANCE_TO_ASSIGN_FIELD = 3;
60
    private static final String BOOKMARKSANDHISTORY_NAME = "CopyTablePanel";
61
    private static final String CONFIGURABLE_PANEL_ID = "CopyTablePanel";
62

  
63
    private static final Integer MAX_DISTANCE_TO_ASSIGN_FIELD = 3;
49 64
    private AttributeDescriptorPickerController pickerSourceFieldJoin;
50 65
    private FeatureStore source;
51 66
    private FeatureStore target;
......
57 72
    private TaskStatusController status;
58 73
    private StoresRepositoryController treeSourceTableController;
59 74
    private StoresRepositoryController treeTargetTableController;
75
    
76
    private final Bookmarks bookmarks;
77
    private final History history;
78
    private BookmarksController bookmarksController;
79
    private HistoryController historyController;
60 80

  
81

  
61 82
    private class FeatureAttributeCellEditor extends AbstractCellEditor implements TableCellEditor {
62 83

  
63 84
        private final AttributeDescriptorPickerController picker;
......
315 336
    }
316 337
    
317 338
    public CopyTable2Panel() {
339
        this.bookmarks = ToolsLocator.getBookmarksAndHistoryManager().getBookmarksGroup(BOOKMARKSANDHISTORY_NAME);
340
        this.history = ToolsLocator.getBookmarksAndHistoryManager().getHistoryGroup(BOOKMARKSANDHISTORY_NAME);
341

  
318 342
        this.initComponents();
319 343
    }
320 344

  
321 345
    private void initComponents() {
322
//        DataManager dataManager = DALLocator.getDataManager();
323 346
        DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager();
324 347
        ExpressionEvaluatorSwingManager expressionSwingManager = ExpressionEvaluatorSwingLocator.getManager();
325 348
        this.status = ToolsSwingLocator.getTaskStatusSwingManager().createTaskStatusController(lblStatusLabel, lblStatusMessage, pbStatus);
326 349
        
350
        ConfigurableActionsMamager cfgActionsManager = ToolsUtilLocator.getConfigurableActionsMamager();
351
        cfgActionsManager.addConfigurableActions(CONFIGURABLE_PANEL_ID, this, btnConfigurableActions);
352

  
353
        this.bookmarksController = ToolsSwingLocator.getToolsSwingManager().createBookmarksController(this.bookmarks, btnBookmarks);
354
        this.historyController = ToolsSwingLocator.getToolsSwingManager().createHistoryController(this.history, btnHistory);
355

  
356
        this.historyController.setFilter(null);
357

  
358
        ActionListener bookmarksAndHistoryListener = (ActionEvent e) -> {
359
                ActionEventWithCurrentValue<CopyTable2ProcessParameters> event = (ActionEventWithCurrentValue<CopyTable2ProcessParameters>) e;
360
                switch (event.getID()) {
361
                        case ID_GETVALUE:
362
                                event.setCurrentValue(fetch(null));
363
                                break;
364
                        case ID_SETVALUE:
365
                                put(event.getCurrentValue());
366
                                break;
367
                }
368
        };
369
        this.historyController.addActionListener(bookmarksAndHistoryListener);
370
        this.bookmarksController.addActionListener(bookmarksAndHistoryListener);
371

  
372
        
373
        
327 374
        this.treeSourceTableController = new StoresRepositoryController(this.treeSourceTable);
328 375
        this.treeSourceTableController.addTreeSelectionListener((TreeSelectionEvent e) -> {
329 376
            doChangeSource();
......
514 561
//        return fields;
515 562
//    }
516 563
//
564
    public void put(CopyTable2ProcessParameters params) {
565
        FeatureStore sourceStore = params.getSourceStore();
566
        this.treeSourceTableController.setSelectedStore(sourceStore);
567
        doChangeSource();
568
        
569
        FeatureStore targetStore = params.getTargetStore();
570
        this.treeTargetTableController.setSelectedStore(targetStore);
571
        doChangeTarget();
572
        
573
        this.pickerSourceFieldJoin.set(params.getSourceFieldForJoin());
574
        this.pickerSourceFilter.set(params.getSourceFilter());
575

  
576
        this.pickerTargetFieldJoin.set(params.getTargetFieldForJoin());
577

  
578
        this.pickerTargetUpdateExpression.set(params.getUpdateIfExistsInTargetCondition());
579
        this.chkTargetInsertIfNotExistsInTarget.setSelected(params.isInsertIfNotExistsTargetActive());
580
        this.chkTargetUpdateIfExistsInTarget.setSelected(params.isUpdateIfExistsTargetActive());
581
        this.chkTargetDeleteIfNotExiststInSource.setSelected(params.isDeleteIfNotExiststInSourceActive());
582

  
583
        MyTableModel fieldsModel = new MyTableModel();
584
        this.tableFields.setModel(fieldsModel);
585
        for (MyTableModel.Row row : fieldsModel.rows) {
586
            ProcessFieldParameters paramfield = params.get(row.attrname);
587
            row.attrname = paramfield.getName();
588
            Expression expression = paramfield.getExpression();
589
            if (expression != null) {
590
                row.expression = expression.getPhrase();
591
            } else {
592
                row.expression = null;
593
            }
594
            row.update = paramfield.isCopyThisFieldActive();
595
        }
596

  
597
        //Options
598
        fieldsModel.fireTableDataChanged();
599

  
600
        switch (params.getEditMode()) {
601
            case FeatureStore.MODE_FULLEDIT:
602
            default:
603
                this.rdoOptionsFulledit.setSelected(true);
604
                this.rdoOptionsPassthrought.setSelected(false);
605
                break;
606
            case FeatureStore.MODE_PASS_THROUGH:
607
                this.rdoOptionsFulledit.setSelected(false);
608
                this.rdoOptionsPassthrought.setSelected(true);
609
                break;
610
        }
611

  
612
        this.chkOptionsBeginEditIfNeed.setSelected(params.isBeginEditIfNeed());
613
        this.chkOptionsFinishAndRestarEditEach.setSelected(params.isFinishAndRestarEdit());
614
        this.chkOptionsNotifyUserIfNeedBeginEditing.setSelected(params.isNotifyUserIfNeedBeginEditing());
615
        this.chkOptionsFinishEditAfterTerminate.setSelected(params.isFinishEditAfterTerminate());
616
        IntegerDocumentFilter.setValue(txtOptionsFinishAndRestarEditEach, params.getFinishAndRestarEditEach());
617
        
618
    }
619
    
620
    
517 621
    public CopyTable2ProcessParameters fetch(CopyTable2ProcessParameters params) {
518 622
        if( params == null ) {
519 623
            params = new CopyTable2ProcessParametersImpl();
......
568 672

  
569 673
    }
570 674

  
675
    void addHistory(CopyTable2ProcessParameters params) {
676
        this.history.add(params);
677
    }
678

  
571 679
    
572 680
}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/copytable/CopyTable2ProcessParameters.java
8 8
import java.util.Iterator;
9 9
import org.gvsig.expressionevaluator.Expression;
10 10
import org.gvsig.fmap.dal.feature.FeatureStore;
11
import org.gvsig.tools.persistence.Persistent;
11 12

  
12 13
/**
13 14
 *
14 15
 * @author jjdelcerro
15 16
 */
16
public interface CopyTable2ProcessParameters extends Iterable<CopyTable2ProcessParameters.ProcessFieldParameters> {
17
public interface CopyTable2ProcessParameters extends Iterable<CopyTable2ProcessParameters.ProcessFieldParameters>, Persistent {
17 18

  
18
    public interface ProcessFieldParameters {
19
    public interface ProcessFieldParameters extends Persistent{
19 20
        public boolean isCopyThisFieldActive();
20 21
        public String getName();
21 22
        public Expression getExpression();
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/copytable/CopyTable2ProcessParametersImpl.java
9 9
import java.util.LinkedHashMap;
10 10
import java.util.Map;
11 11
import org.gvsig.expressionevaluator.Expression;
12
import org.gvsig.fmap.dal.DALLocator;
13
import org.gvsig.fmap.dal.DataManager;
14
import org.gvsig.fmap.dal.DataParameters;
15
import org.gvsig.fmap.dal.DataStoreParameters;
12 16
import org.gvsig.fmap.dal.feature.FeatureStore;
17
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemStoreParameters;
18
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters;
19
import org.gvsig.tools.ToolsLocator;
13 20
import org.gvsig.tools.dispose.DisposeUtils;
14 21
import org.gvsig.tools.dispose.impl.AbstractDisposable;
22
import org.gvsig.tools.dynobject.DynStruct;
15 23
import org.gvsig.tools.exception.BaseException;
24
import org.gvsig.tools.persistence.PersistenceManager;
25
import org.gvsig.tools.persistence.PersistentState;
26
import org.gvsig.tools.persistence.exception.PersistenceException;
27
import org.slf4j.LoggerFactory;
16 28

  
17 29
/**
18 30
 *
19 31
 * @author jjdelcerro
20 32
 */
21 33
public class CopyTable2ProcessParametersImpl extends AbstractDisposable implements CopyTable2ProcessParameters{
34
    
35
    final static private org.slf4j.Logger LOGGER = LoggerFactory.getLogger(CopyTable2ProcessParametersImpl.class);
22 36

  
23 37
    public static class ProcessFieldParametersImpl implements ProcessFieldParameters {
24 38
    
25
        private final String name;
26
        private final boolean copyThisField;
27
        private final Expression expression;
39
        private String name;
40
        private boolean copyThisField;
41
        private Expression expression;
28 42
        
43
        public ProcessFieldParametersImpl() {
44
            //For persistence only
45
        }
46
        
29 47
        public ProcessFieldParametersImpl(String name, boolean update, Expression expression) {
30 48
            this.name = name;
31 49
            this.copyThisField = update;
......
55 73
        public Expression getExpression() {
56 74
            return expression;
57 75
        }
76
        
77
        public static void selfRegister() {
78
            PersistenceManager manager = ToolsLocator.getPersistenceManager();
79

  
80
            DynStruct definition
81
                    = manager.addDefinition(ProcessFieldParametersImpl.class,
82
                            "ProcessFieldParameters",
83
                            "ProcessFieldParameters Persistence definition",
84
                            null,
85
                            null);
86

  
87
            definition.addDynFieldString("name")
88
                    .setMandatory(true);
89
            definition.addDynFieldBoolean("copyThisField")
90
                    .setMandatory(true);
91
            definition.addDynFieldObject("expression")
92
                    .setClassOfValue(Expression.class)
93
                    .setMandatory(false);
94
        }
95

  
96
        @Override
97
        public void loadFromState(PersistentState state) throws PersistenceException {
98
        this.name = state.getString("name");
99
        this.copyThisField = state.getBoolean("copyThisField");
100
        this.expression = (Expression)state.get("expression");
101
        }
102

  
103
        @Override
104
        public void saveToState(PersistentState state) throws PersistenceException {
105
            state.set("name", this.name );
106
            state.set("copyThisField", this.copyThisField);
107
            state.set("expression", this.expression);
108
        }
109
        
110
        
111
        
58 112
    }
59 113
    
60 114
    
......
62 116
    private FeatureStore sourceStore;
63 117
    private FeatureStore targetStore;
64 118

  
65
    private final Map<String,ProcessFieldParameters> fields;
119
    private Map<String,ProcessFieldParameters> fields;
66 120
    
67 121
    private int editMode;
68 122
    private int finishAndRestarEditEach;
......
323 377
        return this;
324 378
    }
325 379

  
380
    @Override
381
    public void saveToState(PersistentState state) throws PersistenceException {
382
            state.set("sourceFilter", this.sourceFilter );
383
            if(this.sourceStore != null){
384
                state.set("sourceStoreParams", this.sourceStore.getParameters());
385
            }
386
            if(this.targetStore != null){
387
                state.set("targetStoreParams", this.targetStore.getParameters());
388
            }
389

  
390
            state.set("fields", this.fields );
391
            state.set("editMode", this.editMode );
392
            state.set("finishAndRestarEditEach", this.finishAndRestarEditEach );
393
            state.set("finishAndRestarEdit", this.finishAndRestarEdit );
394
            state.set("beginEditIfNeed", this.beginEditIfNeed );
395
            state.set("finishEditAfterTerminate", this.finishEditAfterTerminate );
396
            state.set("notifyUserIfNeedBeginEditing", this.notifyUserIfNeedBeginEditing );
397
            state.set("sourceFieldJoin", this.sourceFieldJoin );
398
            state.set("targetFieldJoin", this.targetFieldJoin );
399
            state.set("insertIfNotExistsTarget", this.insertIfNotExistsTarget );
400
            state.set("updateIfExistsTarget", this.updateIfExistsTarget );
401
            state.set("deleteIfNotExiststInSource", this.deleteIfNotExiststInSource );
402
            state.set("updateIfExistsInTargetCondition", this.updateIfExistsInTargetCondition );
403

  
404
    }
405

  
406
    @Override
407
    public void loadFromState(PersistentState state) throws PersistenceException {
408
        this.sourceFilter = (Expression)state.get("sourceFilter");
409

  
410
        
411
        DataManager dataManager = DALLocator.getDataManager();
412
        DataStoreParameters sourceStoreParams = (DataStoreParameters) state.get("sourceStoreParams");
413
        if (sourceStoreParams != null && sourceStoreParams instanceof DataStoreParameters) {
414
            try {
415
                this.sourceStore = (FeatureStore) dataManager.openStore(sourceStoreParams.getProviderName(), sourceStoreParams);
416
            } catch (Exception ex) {
417
                LOGGER.warn("Can't open source store '"+sourceStoreParams.getDescription()+"'", ex);
418
            }
419
        }
420
        
421
        DataStoreParameters targetStoreParams = (DataStoreParameters)state.get("targetStoreParams");
422
        if(targetStoreParams != null && targetStoreParams instanceof DataStoreParameters){
423
            try {
424
                this.targetStore = (FeatureStore) dataManager.openStore(targetStoreParams.getProviderName(), targetStoreParams);
425
            } catch (Exception ex) {
426
                LOGGER.warn("Can't open target store '"+sourceStoreParams.getDescription()+"'", ex);
427
            }
428
        }
429
        
430
        this.fields = state.getMap("fields");
431
        this.editMode = state.getInt("editMode");
432
        this.finishAndRestarEditEach = state.getInt("finishAndRestarEditEach");
433
        this.finishAndRestarEdit = state.getBoolean("finishAndRestarEdit");
434
        this.beginEditIfNeed = state.getBoolean("beginEditIfNeed");
435
        this.finishEditAfterTerminate = state.getBoolean("finishEditAfterTerminate");
436
        this.notifyUserIfNeedBeginEditing = state.getBoolean("notifyUserIfNeedBeginEditing");
437
        this.sourceFieldJoin = state.getString("sourceFieldJoin");
438
        this.targetFieldJoin = state.getString("targetFieldJoin");
439
        this.insertIfNotExistsTarget = state.getBoolean("insertIfNotExistsTarget");
440
        this.updateIfExistsTarget = state.getBoolean("updateIfExistsTarget");
441
        this.deleteIfNotExiststInSource = state.getBoolean("deleteIfNotExiststInSource");
442
        this.updateIfExistsInTargetCondition = (Expression)state.get("updateIfExistsInTargetCondition");
443
    }
444
    
445
    public static void selfRegister() {
446
        PersistenceManager manager = ToolsLocator.getPersistenceManager();
447

  
448
        DynStruct definition
449
                = manager.addDefinition(CopyTable2ProcessParametersImpl.class,
450
                        "CopyTable2ProcessParameters",
451
                        "CopyTable2ProcessParameters Persistence definition",
452
                        null,
453
                        null);
454
        
455
        ProcessFieldParametersImpl.selfRegister();
456

  
457
        definition.addDynFieldObject("sourceStoreParams")
458
                .setClassOfValue(DataParameters.class)
459
                .setMandatory(true);
460
        definition.addDynFieldObject("targetStoreParams")
461
                .setClassOfValue(DataParameters.class)
462
                .setMandatory(true);
463
        definition.addDynFieldObject("sourceFilter")
464
                .setClassOfValue(Expression.class)
465
                .setMandatory(false);
466
        definition.addDynFieldObject("updateIfExistsInTargetCondition")
467
                .setClassOfValue(Expression.class)
468
                .setMandatory(false);
469
        definition.addDynFieldMap("fields")
470
                .setClassOfItems(ProcessFieldParametersImpl.class)
471
                .setMandatory(true);
472
        definition.addDynFieldInt("editMode")
473
                .setMandatory(true);
474
        definition.addDynFieldInt("finishAndRestarEditEach")
475
                .setMandatory(true);
476
        definition.addDynFieldBoolean("finishAndRestarEdit")
477
                .setMandatory(true);
478
        definition.addDynFieldBoolean("beginEditIfNeed")
479
                .setMandatory(true);
480
        definition.addDynFieldBoolean("finishEditAfterTerminate")
481
                .setMandatory(true);
482
        definition.addDynFieldBoolean("notifyUserIfNeedBeginEditing")
483
                .setMandatory(true);
484
        definition.addDynFieldString("sourceFieldJoin")
485
                .setMandatory(true);
486
        definition.addDynFieldString("targetFieldJoin")
487
                .setMandatory(true);
488
        definition.addDynFieldBoolean("insertIfNotExistsTarget")
489
                .setMandatory(true);
490
        definition.addDynFieldBoolean("updateIfExistsTarget")
491
                .setMandatory(true);
492
        definition.addDynFieldBoolean("deleteIfNotExiststInSource")
493
                .setMandatory(true);
494
    }
495

  
496
    public String toString() {
497
        StringBuilder builder = new StringBuilder();
498
        builder.append("SOURCE: ");
499
        DataStoreParameters sourceParameters = this.sourceStore.getParameters();
500
        if(sourceParameters instanceof JDBCStoreParameters) {
501
            builder.append(((JDBCStoreParameters)sourceParameters).getUrl());
502
            builder.append(" -> ");
503
            builder.append(((JDBCStoreParameters) sourceParameters).getTable());
504
        } else if(sourceParameters instanceof FilesystemStoreParameters) {
505
            builder.append(((FilesystemStoreParameters)sourceParameters).getFile().getAbsolutePath());
506
        }
507
        builder.append("\n");
508
        builder.append("TARGET: ");
509
        DataStoreParameters targetParameters = this.targetStore.getParameters();
510
        if(targetParameters instanceof JDBCStoreParameters) {
511
            builder.append(((JDBCStoreParameters)targetParameters).getUrl());
512
            builder.append(" -> ");
513
            builder.append(((JDBCStoreParameters) targetParameters).getTable());
514
        } else if(targetParameters instanceof FilesystemStoreParameters) {
515
            builder.append(((FilesystemStoreParameters)sourceParameters).getFile().getAbsolutePath());
516
        }
517
        builder.append("\n");
518
        builder.append("FIELDS: ");
519
        for (Map.Entry<String, ProcessFieldParameters> entry : this.fields.entrySet()) {
520
            builder.append("\n");
521
            builder.append("  ");
522
            builder.append(entry.getKey());
523
            builder.append(": ");
524
            ProcessFieldParameters value = entry.getValue();
525
            if(value != null){
526
                Expression expression = value.getExpression();
527
                if(expression != null){
528
                    builder.append(expression.getPhrase());
529
                }
530
            }
531
        }
532
        builder.append("\n");
533
        builder.append("EDIT MODE: ");
534
        builder.append(this.editMode);
535
        builder.append("\n");
536
        builder.append("FINISH AND RESTART EDIT EACH: ");
537
        builder.append(this.finishAndRestarEditEach);
538
        builder.append("\n");
539
        builder.append("FINISH AND RESTART EDIT: ");
540
        builder.append(this.finishAndRestarEdit);
541
        
542
        builder.append("\n");
543
        builder.append("BEGIN EDIT IF NEED: ");
544
        builder.append(this.beginEditIfNeed);
545
        builder.append("\n");
546
        builder.append("FINISH EDIT AFTER TERMINATE: ");
547
        builder.append(this.finishEditAfterTerminate);
548
        builder.append("\n");
549
        builder.append("NOTIFY USER IF NEED BEGIN EDITING: ");
550
        builder.append(this.notifyUserIfNeedBeginEditing);
551
        builder.append("\n");
552
        builder.append("SOURCE FIELD JOIN: ");
553
        builder.append(this.sourceFieldJoin);
554
        builder.append("\n");
555
        builder.append("TARGET FIELD JOIN: ");
556
        builder.append(this.targetFieldJoin);
557
        builder.append("\n");
558
        builder.append("INSERT IF NOT EXISTS TARGET: ");
559
        builder.append(this.insertIfNotExistsTarget);
560
        builder.append("\n");
561
        builder.append("UPDATE IF EXISTS TARGET: ");
562
        builder.append(this.updateIfExistsTarget);
563
        builder.append("\n");
564
        builder.append("DELETE IF NOT EXISTS IN SOURCE: ");
565
        builder.append(this.deleteIfNotExiststInSource);
566
        builder.append("\n");
567
        builder.append("UPDATE IF EXISTS IN TARGET CONDITION: ");
568
        if(this.updateIfExistsInTargetCondition != null){
569
            builder.append(this.updateIfExistsInTargetCondition.getPhrase());
570
        }
571
        return builder.toString();
572
    }
573
    
574
    
575

  
326 576
}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/copytable/CopyTable2PanelView.xml
24 24
    </at>
25 25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26 26
   </super>
27
   <at name="id">/home/jjdelcerro/datos/devel/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/copytable/CopyTable2PanelView.xml</at>
28
   <at name="rowspecs">CENTER:4DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:DEFAULT:NONE,CENTER:4DLU:NONE</at>
27
   <at name="id">/home/fdiaz/projects/gvSIG/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/copytable/CopyTable2PanelView.xml</at>
28
   <at name="rowspecs">CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),CENTER:DEFAULT:NONE,CENTER:4DLU:NONE</at>
29 29
   <at name="colspecs">FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:8DLU:NONE</at>
30 30
   <at name="components">
31 31
    <object classname="java.util.LinkedList">
......
36 36
         <at name="cellconstraints">
37 37
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
38 38
           <at name="column">2</at>
39
           <at name="row">2</at>
39
           <at name="row">3</at>
40 40
           <at name="colspan">1</at>
41 41
           <at name="rowspan">1</at>
42 42
           <at name="halign">default</at>
......
108 108
                      </at>
109 109
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
110 110
                     </super>
111
                     <at name="id">embedded.1157725590</at>
111
                     <at name="id">embedded.1734627777</at>
112 112
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
113 113
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
114 114
                     <at name="components">
......
158 158
                               </object>
159 159
                              </at>
160 160
                              <at name="name">lblSourceTable</at>
161
                              <at name="width">722</at>
161
                              <at name="width">1224</at>
162 162
                              <at name="text">Tabla</at>
163 163
                              <at name="fill">
164 164
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
165 165
                                <at name="name">fill</at>
166 166
                               </object>
167 167
                              </at>
168
                              <at name="height">16</at>
168
                              <at name="height">14</at>
169 169
                             </object>
170 170
                            </at>
171 171
                           </object>
......
221 221
                              <at name="scrollableTracksViewportWidth">true</at>
222 222
                              <at name="name">treeSourceTable</at>
223 223
                              <at name="showsRootHandles">true</at>
224
                              <at name="width">720</at>
224
                              <at name="width">1222</at>
225 225
                              <at name="rowCount">3</at>
226 226
                              <at name="scollBars">
227 227
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
......
251 251
                               </object>
252 252
                              </at>
253 253
                              <at name="rootVisible">false</at>
254
                              <at name="height">292</at>
254
                              <at name="height">368</at>
255 255
                             </object>
256 256
                            </at>
257 257
                           </object>
......
304 304
                               </object>
305 305
                              </at>
306 306
                              <at name="name">lblSourceFilter</at>
307
                              <at name="width">722</at>
307
                              <at name="width">1224</at>
308 308
                              <at name="text">Procesar solo los registros que cumpla la condicion:</at>
309 309
                              <at name="fill">
310 310
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
311 311
                                <at name="name">fill</at>
312 312
                               </object>
313 313
                              </at>
314
                              <at name="height">16</at>
314
                              <at name="height">14</at>
315 315
                             </object>
316 316
                            </at>
317 317
                           </object>
......
336 336
                           </at>
337 337
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
338 338
                          </super>
339
                          <at name="id">embedded.59940563</at>
339
                          <at name="id">embedded.2107648436</at>
340 340
                          <at name="rowspecs">CENTER:DEFAULT:NONE</at>
341 341
                          <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
342 342
                          <at name="components">
......
386 386
                                    </object>
387 387
                                   </at>
388 388
                                   <at name="name">txtSourceFilter</at>
389
                                   <at name="width">648</at>
390
                                   <at name="height">22</at>
389
                                   <at name="width">1138</at>
390
                                   <at name="height">20</at>
391 391
                                  </object>
392 392
                                 </at>
393 393
                                </object>
......
445 445
                                   </at>
446 446
                                   <at name="actionCommand">...</at>
447 447
                                   <at name="name">btnSourceFilter</at>
448
                                   <at name="width">13</at>
448
                                   <at name="width">16</at>
449 449
                                   <at name="text">...</at>
450
                                   <at name="height">20</at>
450
                                   <at name="height">18</at>
451 451
                                  </object>
452 452
                                 </at>
453 453
                                </object>
......
505 505
                                   </at>
506 506
                                   <at name="actionCommand">...</at>
507 507
                                   <at name="name">btnSourceFilterBookmarks</at>
508
                                   <at name="width">13</at>
508
                                   <at name="width">16</at>
509 509
                                   <at name="text">...</at>
510
                                   <at name="height">20</at>
510
                                   <at name="height">18</at>
511 511
                                  </object>
512 512
                                 </at>
513 513
                                </object>
......
565 565
                                   </at>
566 566
                                   <at name="actionCommand">...</at>
567 567
                                   <at name="name">btnSourceFilterHistory</at>
568
                                   <at name="width">13</at>
568
                                   <at name="width">16</at>
569 569
                                   <at name="text">...</at>
570
                                   <at name="height">20</at>
570
                                   <at name="height">18</at>
571 571
                                  </object>
572 572
                                 </at>
573 573
                                </object>
......
674 674
                           </at>
675 675
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
676 676
                          </super>
677
                          <at name="id">embedded.1060538657</at>
677
                          <at name="id">embedded.121084972</at>
678 678
                          <at name="rowspecs">CENTER:DEFAULT:NONE</at>
679 679
                          <at name="colspecs">FILL:DEFAULT:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0)</at>
680 680
                          <at name="components">
......
724 724
                                    </object>
725 725
                                   </at>
726 726
                                   <at name="name">lblSourceJoinField</at>
727
                                   <at name="width">89</at>
727
                                   <at name="width">99</at>
728 728
                                   <at name="text">Campo de enlace</at>
729 729
                                   <at name="fill">
730 730
                                    <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
731 731
                                     <at name="name">fill</at>
732 732
                                    </object>
733 733
                                   </at>
734
                                   <at name="height">16</at>
734
                                   <at name="height">14</at>
735 735
                                  </object>
736 736
                                 </at>
737 737
                                </object>
......
784 784
                                    </object>
785 785
                                   </at>
786 786
                                   <at name="name">cboSourceJoinField</at>
787
                                   <at name="width">612</at>
787
                                   <at name="width">1102</at>
788 788
                                   <at name="items">
789 789
                                    <object classname="com.jeta.forms.store.properties.ItemsProperty">
790 790
                                     <at name="name">items</at>
791 791
                                    </object>
792 792
                                   </at>
793
                                   <at name="height">22</at>
793
                                   <at name="height">20</at>
794 794
                                  </object>
795 795
                                 </at>
796 796
                                </object>
......
1022 1022
                      </at>
1023 1023
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1024 1024
                     </super>
1025
                     <at name="id">embedded.1736206919</at>
1025
                     <at name="id">embedded.1606470265</at>
1026 1026
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
1027 1027
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
1028 1028
                     <at name="components">
......
1072 1072
                               </object>
1073 1073
                              </at>
1074 1074
                              <at name="name">lblTargetTable</at>
1075
                              <at name="width">722</at>
1075
                              <at name="width">1224</at>
1076 1076
                              <at name="text">Tabla</at>
1077 1077
                              <at name="fill">
1078 1078
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1079 1079
                                <at name="name">fill</at>
1080 1080
                               </object>
1081 1081
                              </at>
1082
                              <at name="height">16</at>
1082
                              <at name="height">14</at>
1083 1083
                             </object>
1084 1084
                            </at>
1085 1085
                           </object>
......
1135 1135
                              <at name="scrollableTracksViewportWidth">true</at>
1136 1136
                              <at name="name">treeTargetTable</at>
1137 1137
                              <at name="showsRootHandles">true</at>
1138
                              <at name="width">720</at>
1138
                              <at name="width">1222</at>
1139 1139
                              <at name="rowCount">3</at>
1140 1140
                              <at name="scollBars">
1141 1141
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
......
1165 1165
                               </object>
1166 1166
                              </at>
1167 1167
                              <at name="rootVisible">false</at>
1168
                              <at name="height">171</at>
1168
                              <at name="height">253</at>
1169 1169
                             </object>
1170 1170
                            </at>
1171 1171
                           </object>
......
1218 1218
                               </object>
1219 1219
                              </at>
1220 1220
                              <at name="name">lblCopyMode</at>
1221
                              <at name="width">722</at>
1221
                              <at name="width">1224</at>
1222 1222
                              <at name="text">Modo de copia</at>
1223
                              <at name="height">17</at>
1223
                              <at name="height">15</at>
1224 1224
                             </object>
1225 1225
                            </at>
1226 1226
                           </object>
......
1245 1245
                           </at>
1246 1246
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1247 1247
                          </super>
1248
                          <at name="id">embedded.1130557003</at>
1248
                          <at name="id">embedded.1058988366</at>
1249 1249
                          <at name="rowspecs">CENTER:DEFAULT:NONE</at>
1250 1250
                          <at name="colspecs">FILL:DEFAULT:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0)</at>
1251 1251
                          <at name="components">
......
1295 1295
                                    </object>
1296 1296
                                   </at>
1297 1297
                                   <at name="name">lblTargetJoinField</at>
1298
                                   <at name="width">89</at>
1298
                                   <at name="width">99</at>
1299 1299
                                   <at name="text">Campo de enlace</at>
1300 1300
                                   <at name="fill">
1301 1301
                                    <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1302 1302
                                     <at name="name">fill</at>
1303 1303
                                    </object>
1304 1304
                                   </at>
1305
                                   <at name="height">16</at>
1305
                                   <at name="height">14</at>
1306 1306
                                  </object>
1307 1307
                                 </at>
1308 1308
                                </object>
......
1355 1355
                                    </object>
1356 1356
                                   </at>
1357 1357
                                   <at name="name">cboTargetJoinField</at>
1358
                                   <at name="width">612</at>
1358
                                   <at name="width">1102</at>
1359 1359
                                   <at name="items">
1360 1360
                                    <object classname="com.jeta.forms.store.properties.ItemsProperty">
1361 1361
                                     <at name="name">items</at>
1362 1362
                                    </object>
1363 1363
                                   </at>
1364
                                   <at name="height">22</at>
1364
                                   <at name="height">20</at>
1365 1365
                                  </object>
1366 1366
                                 </at>
1367 1367
                                </object>
......
1468 1468
                           </at>
1469 1469
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1470 1470
                          </super>
1471
                          <at name="id">embedded.678494612</at>
1471
                          <at name="id">embedded.1636075659</at>
1472 1472
                          <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE</at>
1473 1473
                          <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0)</at>
1474 1474
                          <at name="components">
......
1626 1626
                                    </object>
1627 1627
                                   </at>
1628 1628
                                   <at name="name">lblTargetInsertIfNotExistsInTarget</at>
1629
                                   <at name="width">692</at>
1629
                                   <at name="width">1193</at>
1630 1630
                                   <at name="text">Insertar si no existe en el destino</at>
1631 1631
                                   <at name="fill">
1632 1632
                                    <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1633 1633
                                     <at name="name">fill</at>
1634 1634
                                    </object>
1635 1635
                                   </at>
1636
                                   <at name="height">16</at>
1636
                                   <at name="height">14</at>
1637 1637
                                  </object>
1638 1638
                                 </at>
1639 1639
                                </object>
......
1686 1686
                                    </object>
1687 1687
                                   </at>
1688 1688
                                   <at name="name">lblTargetUpdateIfExistsInTarget</at>
1689
                                   <at name="width">692</at>
1689
                                   <at name="width">1193</at>
1690 1690
                                   <at name="text">Actualizar si existe en el destino</at>
1691 1691
                                   <at name="fill">
1692 1692
                                    <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1693 1693
                                     <at name="name">fill</at>
1694 1694
                                    </object>
1695 1695
                                   </at>
1696
                                   <at name="height">16</at>
1696
                                   <at name="height">14</at>
1697 1697
                                  </object>
1698 1698
                                 </at>
1699 1699
                                </object>
......
1746 1746
                                    </object>
1747 1747
                                   </at>
1748 1748
                                   <at name="name">lblTargetDeleteIfNotExiststInSource</at>
1749
                                   <at name="width">692</at>
1749
                                   <at name="width">1193</at>
1750 1750
                                   <at name="text">Borrar si no existe en el origen</at>
1751 1751
                                   <at name="fill">
1752 1752
                                    <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1753 1753
                                     <at name="name">fill</at>
1754 1754
                                    </object>
1755 1755
                                   </at>
1756
                                   <at name="height">16</at>
1756
                                   <at name="height">14</at>
1757 1757
                                  </object>
1758 1758
                                 </at>
1759 1759
                                </object>
......
1832 1832
                                </at>
1833 1833
                                <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1834 1834
                               </super>
1835
                               <at name="id">embedded.377840831</at>
1835
                               <at name="id">embedded.98160797</at>
1836 1836
                               <at name="rowspecs">CENTER:12DLU:NONE,CENTER:20DLU:NONE</at>
1837 1837
                               <at name="colspecs">FILL:DEFAULT:GROW(1.0)</at>
1838 1838
                               <at name="components">
......
1882 1882
                                         </object>
1883 1883
                                        </at>
1884 1884
                                        <at name="name">lblTargetOnlyWhen</at>
1885
                                        <at name="width">687</at>
1885
                                        <at name="width">1188</at>
1886 1886
                                        <at name="text">Solo cuando:</at>
1887 1887
                                        <at name="fill">
1888 1888
                                         <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1889 1889
                                          <at name="name">fill</at>
1890 1890
                                         </object>
1891 1891
                                        </at>
1892
                                        <at name="height">16</at>
1892
                                        <at name="height">14</at>
1893 1893
                                       </object>
1894 1894
                                      </at>
1895 1895
                                     </object>
......
1914 1914
                                     </at>
1915 1915
                                     <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1916 1916
                                    </super>
1917
                                    <at name="id">embedded.1517521973</at>
1917
                                    <at name="id">embedded.862933929</at>
1918 1918
                                    <at name="rowspecs">CENTER:DEFAULT:NONE</at>
1919 1919
                                    <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
1920 1920
                                    <at name="components">
......
1964 1964
                                              </object>
1965 1965
                                             </at>
1966 1966
                                             <at name="name">txtTargetUpdateWhenExpression</at>
1967
                                             <at name="width">613</at>
1968
                                             <at name="height">22</at>
1967
                                             <at name="width">1102</at>
1968
                                             <at name="height">20</at>
1969 1969
                                            </object>
1970 1970
                                           </at>
1971 1971
                                          </object>
......
2023 2023
                                             </at>
2024 2024
                                             <at name="actionCommand">...</at>
2025 2025
                                             <at name="name">btnTargetUpdateWhenExpression</at>
2026
                                             <at name="width">13</at>
2026
                                             <at name="width">16</at>
2027 2027
                                             <at name="text">...</at>
2028
                                             <at name="height">20</at>
2028
                                             <at name="height">18</at>
2029 2029
                                            </object>
2030 2030
                                           </at>
2031 2031
                                          </object>
......
2083 2083
                                             </at>
2084 2084
                                             <at name="actionCommand">...</at>
2085 2085
                                             <at name="name">btnTargetUpdateWhenExpressionBookmarks</at>
2086
                                             <at name="width">13</at>
2086
                                             <at name="width">16</at>
2087 2087
                                             <at name="text">...</at>
2088
                                             <at name="height">20</at>
2088
                                             <at name="height">18</at>
2089 2089
                                            </object>
2090 2090
                                           </at>
2091 2091
                                          </object>
......
2143 2143
                                             </at>
2144 2144
                                             <at name="actionCommand">...</at>
2145 2145
                                             <at name="name">btnTargetUpdateWhenExpressionHistory</at>
2146
                                             <at name="width">13</at>
2146
                                             <at name="width">16</at>
2147 2147
                                             <at name="text">...</at>
2148
                                             <at name="height">20</at>
2148
                                             <at name="height">18</at>
2149 2149
                                            </object>
2150 2150
                                           </at>
2151 2151
                                          </object>
......
2559 2559
                      </at>
2560 2560
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
2561 2561
                     </super>
2562
                     <at name="id">embedded.504611068</at>
2562
                     <at name="id">embedded.1325289072</at>
2563 2563
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
2564 2564
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
2565 2565
                     <at name="components">
......
2609 2609
                               </object>
2610 2610
                              </at>
2611 2611
                              <at name="name">lblFieldsFieldsToCopy</at>
2612
                              <at name="width">722</at>
2612
                              <at name="width">1224</at>
2613 2613
                              <at name="text">Campos a copiar</at>
2614 2614
                              <at name="fill">
2615 2615
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
2616 2616
                                <at name="name">fill</at>
2617 2617
                               </object>
2618 2618
                              </at>
2619
                              <at name="height">16</at>
2619
                              <at name="height">14</at>
2620 2620
                             </object>
2621 2621
                            </at>
2622 2622
                           </object>
......
2669 2669
                               </object>
2670 2670
                              </at>
2671 2671
                              <at name="name">tableFields</at>
2672
                              <at name="width">720</at>
2672
                              <at name="width">1222</at>
2673 2673
                              <at name="scollBars">
2674 2674
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
2675 2675
                                <at name="name">scollBars</at>
......
2809 2809
                   <at name="icon">
2810 2810
                    <object classname="com.jeta.forms.store.properties.IconProperty">
2811 2811
                     <at name="embedded">false</at>
2812
                     <at name="description"></at>
2813 2812
                     <at name="width">0</at>
2814 2813
                     <at name="height">0</at>
2815 2814
                    </object>
......
2830 2829
                      </at>
2831 2830
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
2832 2831
                     </super>
2833
                     <at name="id">embedded.D47f5c82bD182fd17a380QX7ff4</at>
2832
                     <at name="id">embedded.360246578</at>
2834 2833
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
2835 2834
                     <at name="colspecs">FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE</at>
2836 2835
                     <at name="components">
......
2879 2878
                                </at>
2880 2879
                               </object>
2881 2880
                              </at>
2882
                              <at name="name"></at>
2883
                              <at name="width">702</at>
2881
                              <at name="width">1206</at>
2882
                              <at name="name"/>
2884 2883
                              <at name="text">Modo de edicion</at>
2885 2884
                              <at name="fill">
2886 2885
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
2887 2886
                                <at name="name">fill</at>
2888 2887
                               </object>
2889 2888
                              </at>
2890
                              <at name="height">16</at>
2889
                              <at name="height">14</at>
2891 2890
                             </object>
2892 2891
                            </at>
2893 2892
                           </object>
......
2947 2946
                               </object>
2948 2947
                              </at>
2949 2948
                              <at name="name">rdoOptionsFulledit</at>
2950
                              <at name="width">702</at>
2949
                              <at name="width">1206</at>
2951 2950
                              <at name="text">Modo standard</at>
2952 2951
                              <at name="selected">true</at>
2953
                              <at name="height">18</at>
2952
                              <at name="height">16</at>
2954 2953
                             </object>
2955 2954
                            </at>
2956 2955
                           </object>
......
3010 3009
                               </object>
3011 3010
                              </at>
3012 3011
                              <at name="name">rdoOptionsPassthrought</at>
3013
                              <at name="width">702</at>
3012
                              <at name="width">1206</at>
3014 3013
                              <at name="text">Modo pass-throught</at>
3015
                              <at name="height">18</at>
3014
                              <at name="height">16</at>
3016 3015
                             </object>
3017 3016
                            </at>
3018 3017
                           </object>
......
3037 3036
                           </at>
3038 3037
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
3039 3038
                          </super>
3040
                          <at name="id">embedded.1147667756</at>
3039
                          <at name="id">embedded.475577119</at>
3041 3040
                          <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE</at>
3042 3041
                          <at name="colspecs">FILL:12DLU:NONE,FILL:DEFAULT:GROW(1.0)</at>
3043 3042
                          <at name="components">
......
3088 3087
                                   </at>
3089 3088
                                   <at name="actionCommand">Iniciar edicion si la tabla no esta en edicion</at>
3090 3089
                                   <at name="name">chkOptionsBeginEditIfNeed</at>
3091
                                   <at name="width">679</at>
3090
                                   <at name="width">1180</at>
3092 3091
                                   <at name="text">Iniciar edicion si la tabla no esta en edicion</at>
3093 3092
                                   <at name="selected">true</at>
3094
                                   <at name="height">18</at>
3093
                                   <at name="height">16</at>
3095 3094
                                  </object>
3096 3095
                                 </at>
3097 3096
                                </object>
......
3145 3144
                                   </at>
3146 3145
                                   <at name="actionCommand">Terminar edicion al finalizar</at>
3147 3146
                                   <at name="name">chkOptionsFinishEditAfterTerminate</at>
3148
                                   <at name="width">679</at>
3147
                                   <at name="width">1180</at>
3149 3148
                                   <at name="text">Terminar edicion al finalizar</at>
3150 3149
                                   <at name="selected">true</at>
3151
                                   <at name="height">18</at>
3150
                                   <at name="height">16</at>
3152 3151
                                  </object>
3153 3152
                                 </at>
3154 3153
                                </object>
......
3202 3201
                                   </at>
3203 3202
                                   <at name="actionCommand">Avisar al usuario si la tabla ya esta en edicion.</at>
3204 3203
                                   <at name="name">chkOptionsNotifyUserIfNeedBeginEditing</at>
3205
                                   <at name="width">679</at>
3204
                                   <at name="width">1180</at>
3206 3205
                                   <at name="text">Avisar al usuario si la tabla ya esta en edicion.</at>
3207 3206
                                   <at name="selected">true</at>
3208
                                   <at name="height">18</at>
3207
                                   <at name="height">16</at>
3209 3208
                                  </object>
3210 3209
                                 </at>
3211 3210
                                </object>
......
3230 3229
                                </at>
3231 3230
                                <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
3232 3231
                               </super>
3233
                               <at name="id">embedded.1706321495</at>
3232
                               <at name="id">embedded.841069338</at>
3234 3233
                               <at name="rowspecs">CENTER:DEFAULT:NONE</at>
3235 3234
                               <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:MAX(50DLU;DEFAULT):NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
3236 3235
                               <at name="components">
......
3281 3280
                                        </at>
3282 3281
                                        <at name="actionCommand">Reiniciar edicion cada</at>
3283 3282
                                        <at name="name">chkOptionsFinishAndRestarEditEach</at>
3284
                                        <at name="width">199</at>
3283
                                        <at name="width">216</at>
3285 3284
                                        <at name="text">Terminar edicion y reiniciarla cada</at>
3286 3285
                                        <at name="selected">true</at>
3287
                                        <at name="height">18</at>
3286
                                        <at name="height">16</at>
3288 3287
                                       </object>
3289 3288
                                      </at>
3290 3289
                                     </object>
......
3338 3337
                                        </at>
3339 3338
                                        <at name="selectionStart">5</at>
3340 3339
                                        <at name="name">txtOptionsFinishAndRestarEditEach</at>
3341
                                        <at name="width">71</at>
3340
                                        <at name="width">84</at>
3342 3341
                                        <at name="selectionEnd">5</at>
3343 3342
                                        <at name="text">10000</at>
3344
                                        <at name="height">22</at>
3343
                                        <at name="height">20</at>
3345 3344
                                       </object>
3346 3345
                                      </at>
3347 3346
                                     </object>
......
3393 3392
                                          </at>
3394 3393
                                         </object>
3395 3394
                                        </at>
3396
                                        <at name="width">43</at>
3395
                                        <at name="width">48</at>
3397 3396
                                        <at name="name"/>
3398 3397
                                        <at name="text">cambios</at>
3399 3398
                                        <at name="fill">
......
3401 3400
                                          <at name="name">fill</at>
3402 3401
                                         </object>
3403 3402
                                        </at>
3404
                                        <at name="height">16</at>
3403
                                        <at name="height">14</at>
3405 3404
                                       </object>
3406 3405
                                      </at>
3407 3406
                                     </object>
......
3608 3607
                           </at>
3609 3608
                          </object>
3610 3609
                         </at>
3611
                         <at name="name"></at>
3610
                         <at name="name"/>
3612 3611
                         <at name="fill">
3613 3612
                          <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
3614 3613
                           <at name="name">fill</at>
......
3619 3618
                           <at name="name">scollBars</at>
3620 3619
                           <at name="verticalpolicy">21</at>
3621 3620
                           <at name="horizontalpolicy">31</at>
3621
                           <at name="border">
3622
                            <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
3623
                             <super classname="com.jeta.forms.store.properties.BorderProperty">
3624
                              <at name="name">border</at>
3625
                             </super>
3626
                             <at name="borders">
3627
                              <object classname="java.util.LinkedList">
3628
                               <item >
3629
                                <at name="value">
3630
                                 <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
3631
                                  <super classname="com.jeta.forms.store.properties.BorderProperty">
3632
                                   <at name="name">border</at>
3633
                                  </super>
3634
                                 </object>
3635
                                </at>
3636
                               </item>
3637
                              </object>
3638
                             </at>
3639
                            </object>
3640
                           </at>
3622 3641
                          </object>
3623 3642
                         </at>
3624 3643
                        </object>
......
3683 3702
              </at>
3684 3703
             </object>
3685 3704
            </at>
3686
            <at name="width">765</at>
3705
            <at name="width">1269</at>
3687 3706
            <at name="tabCount">4</at>
3688
            <at name="height">536</at>
3707
            <at name="height">602</at>
3689 3708
           </object>
3690 3709
          </at>
3691 3710
         </object>
......
3700 3719
         <at name="cellconstraints">
3701 3720
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
3702 3721
           <at name="column">2</at>
3703
           <at name="row">3</at>
3722
           <at name="row">4</at>
3704 3723
           <at name="colspan">1</at>
3705 3724
           <at name="rowspan">1</at>
3706 3725
           <at name="halign">default</at>
......
3710 3729
         </at>
3711 3730
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
3712 3731
        </super>
3713
        <at name="id">embedded.215545562</at>
3732
        <at name="id">embedded.1013399419</at>
3714 3733
        <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE</at>
3715 3734
        <at name="colspecs">FILL:DEFAULT:GROW(1.0)</at>
3716 3735
        <at name="components">
......
3760 3779
                  </object>
3761 3780
                 </at>
3762 3781
                 <at name="name">pbStatus</at>
3763
                 <at name="width">760</at>
3782
                 <at name="width">1264</at>
3764 3783
                 <at name="percentComplete">0.25</at>
3765 3784
                 <at name="value">25</at>
3766 3785
                 <at name="height">14</at>
......
3816 3835
                  </object>
3817 3836
                 </at>
3818 3837
                 <at name="name">lblStatusLabel</at>
3819
                 <at name="width">760</at>
3838
                 <at name="width">1264</at>
3820 3839
                 <at name="text">Inicializando interface de usuario...</at>
3821 3840
                 <at name="fill">
3822 3841
                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
3823 3842
                   <at name="name">fill</at>
3824 3843
                  </object>
3825 3844
                 </at>
3826
                 <at name="height">16</at>
3845
                 <at name="height">14</at>
3827 3846
                </object>
3828 3847
               </at>
3829 3848
              </object>
......
3876 3895
                  </object>
3877 3896
                 </at>
3878 3897
                 <at name="name">lblStatusMessage</at>
3879
                 <at name="width">760</at>
3898
                 <at name="width">1264</at>
3880 3899
                 <at name="text">Inicializando interface de usuario...</at>
3881 3900
                 <at name="fill">
3882 3901
                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
3883 3902
                   <at name="name">fill</at>
3884 3903
                  </object>
3885 3904
                 </at>
3886
                 <at name="height">16</at>
3905
                 <at name="height">14</at>
3887 3906
                </object>
3888 3907
               </at>
3889 3908
              </object>
......
3979 3998
       </object>
3980 3999
      </at>
3981 4000
     </item>
4001
     <item >
4002
      <at name="value">
4003
       <object classname="com.jeta.forms.store.memento.FormMemento">
4004
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
4005
         <at name="cellconstraints">
4006
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
4007
           <at name="column">2</at>
4008
           <at name="row">2</at>
4009
           <at name="colspan">1</at>
4010
           <at name="rowspan">1</at>
4011
           <at name="halign">right</at>
4012
           <at name="valign">default</at>
4013
           <at name="insets" object="insets">0,0,0,0</at>
4014
          </object>
4015
         </at>
4016
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
4017
        </super>
4018
        <at name="id">embedded.906860117</at>
4019
        <at name="rowspecs">CENTER:DEFAULT:NONE</at>
4020
        <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
4021
        <at name="components">
4022
         <object classname="java.util.LinkedList">
4023
          <item >
4024
           <at name="value">
4025
            <object classname="com.jeta.forms.store.memento.BeanMemento">
4026
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
4027
              <at name="cellconstraints">
4028
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
4029
                <at name="column">1</at>
4030
                <at name="row">1</at>
4031
                <at name="colspan">1</at>
4032
                <at name="rowspan">1</at>
4033
                <at name="halign">default</at>
4034
                <at name="valign">default</at>
4035
                <at name="insets" object="insets">0,0,0,0</at>
4036
               </object>
4037
              </at>
4038
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
4039
             </super>
4040
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
4041
             <at name="beanclass">javax.swing.JButton</at>
4042
             <at name="beanproperties">
4043
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
4044
               <at name="classname">javax.swing.JButton</at>
4045
               <at name="properties">
4046
                <object classname="com.jeta.forms.store.support.PropertyMap">
4047
                 <at name="border">
4048
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
4049
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
4050
                    <at name="name">border</at>
4051
                   </super>
4052
                   <at name="borders">
4053
                    <object classname="java.util.LinkedList">
4054
                     <item >
4055
                      <at name="value">
4056
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
4057
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
4058
                         <at name="name">border</at>
4059
                        </super>
4060
                        <at name="top">2</at>
4061
                        <at name="left">2</at>
4062
                        <at name="bottom">2</at>
4063
                        <at name="right">2</at>
4064
                       </object>
4065
                      </at>
4066
                     </item>
4067
                    </object>
4068
                   </at>
4069
                  </object>
4070
                 </at>
4071
                 <at name="actionCommand">...</at>
4072
                 <at name="opaque">false</at>
4073
                 <at name="name">btnHistory</at>
4074
                 <at name="width">16</at>
4075
                 <at name="text">...</at>
4076
                 <at name="height">18</at>
4077
                </object>
4078
               </at>
4079
              </object>
4080
             </at>
4081
            </object>
4082
           </at>
4083
          </item>
4084
          <item >
4085
           <at name="value">
4086
            <object classname="com.jeta.forms.store.memento.BeanMemento">
4087
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
4088
              <at name="cellconstraints">
4089
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
4090
                <at name="column">3</at>
4091
                <at name="row">1</at>
4092
                <at name="colspan">1</at>
4093
                <at name="rowspan">1</at>
4094
                <at name="halign">default</at>
4095
                <at name="valign">default</at>
4096
                <at name="insets" object="insets">0,0,0,0</at>
4097
               </object>
4098
              </at>
4099
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
4100
             </super>
4101
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
4102
             <at name="beanclass">javax.swing.JButton</at>
4103
             <at name="beanproperties">
4104
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
4105
               <at name="classname">javax.swing.JButton</at>
4106
               <at name="properties">
4107
                <object classname="com.jeta.forms.store.support.PropertyMap">
4108
                 <at name="border">
4109
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
4110
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
4111
                    <at name="name">border</at>
4112
                   </super>
4113
                   <at name="borders">
4114
                    <object classname="java.util.LinkedList">
4115
                     <item >
4116
                      <at name="value">
4117
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
4118
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
4119
                         <at name="name">border</at>
4120
                        </super>
4121
                        <at name="top">2</at>
4122
                        <at name="left">2</at>
4123
                        <at name="bottom">2</at>
4124
                        <at name="right">2</at>
4125
                       </object>
4126
                      </at>
4127
                     </item>
4128
                    </object>
4129
                   </at>
4130
                  </object>
4131
                 </at>
4132
                 <at name="actionCommand">...</at>
4133
                 <at name="opaque">false</at>
4134
                 <at name="name">btnBookmarks</at>
4135
                 <at name="width">16</at>
4136
                 <at name="text">...</at>
4137
                 <at name="height">18</at>
4138
                </object>
4139
               </at>
4140
              </object>
4141
             </at>
4142
            </object>
4143
           </at>
4144
          </item>
4145
          <item >
4146
           <at name="value">
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff