Revision 44498

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/featuretype/DefaultFeatureTypeAttributePanel.java
40 40
import org.gvsig.fmap.dal.expressionevaluator.FeatureSymbolTable;
41 41
import org.gvsig.fmap.dal.feature.DataProfile;
42 42
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
43
import org.gvsig.fmap.dal.feature.EditableFeatureType;
43 44
import org.gvsig.fmap.dal.feature.EditableForeingKey;
44 45
import org.gvsig.fmap.dal.feature.Feature;
45 46
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
......
1157 1158

  
1158 1159
    @Override
1159 1160
    public void setNameAsNew(FeatureType featureType) {
1160
        this.txtFieldName.setText(DefaultFeatureTypePanel.getNewFieldName(featureType));
1161
        EditableFeatureType cloneFeatureType = featureType.getCopy().getEditable();
1162
        EditableFeatureAttributeDescriptor newAttributeDescriptor = cloneFeatureType.add(
1163
                cloneFeatureType.getNewFieldName(), 
1164
                DataTypes.STRING);
1165
        this.put(newAttributeDescriptor);
1161 1166
    }
1162 1167

  
1163 1168
    @Override
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/test/java/org/gvsig/fmap/dal/feature/DummyFeatureType.java
461 461
            return null;
462 462
    }
463 463

  
464
    @Override
465
    public String getNewFieldName() {
466
        return null;
467
    }
468

  
464 469
}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/FeatureType.java
23 23
 */
24 24
package org.gvsig.fmap.dal.feature;
25 25

  
26
import java.util.Comparator;
27 26
import java.util.Iterator;
28 27
import java.util.List;
29 28
import java.util.function.Predicate;
30
import org.apache.commons.lang3.StringUtils;
31 29

  
32 30
import org.cresques.cts.IProjection;
33 31

  
34 32
import org.gvsig.fmap.geom.Geometry;
35 33
import org.gvsig.tools.dataTypes.DataType;
36
import org.gvsig.tools.dataTypes.DataTypes;
37 34
import org.gvsig.tools.dynobject.DynClass;
38 35
import org.gvsig.tools.dynobject.DynStruct_v2;
39 36
import org.gvsig.tools.evaluator.Evaluator;
......
333 330
    public List<FeatureAttributeDescriptor> getRecentUseds();
334 331

  
335 332
    FeatureStore getAsFeatureStore();
333
    
334
    public String getNewFieldName();
336 335
}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/DataManager.java
536 536
     */
537 537
    public String createUniqueID();
538 538

  
539
    public int getDefaultSize(int dataType);
540

  
539 541
}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVStoreProvider.java
538 538
                    this.type = DataTypes.GEOMETRY;
539 539
                }
540 540
            }
541
            switch(this.type) {
542
                case DataTypes.STRING:
543
                    this.size = 50;
544
                    break;
545
                case DataTypes.INT:
546
                    this.size = 10;
547
                    break;
548
                case DataTypes.LONG:
549
                    this.size = 20;
550
                    break;
551
                case DataTypes.FLOAT:
552
                    this.size = 10;
553
                    break;
554
                case DataTypes.DOUBLE:
555
                    this.size = 20;
556
                    break;
557
                default:
558
                    this.size = 0;
559
            }
541
            this.size = DALLocator.getManager().getDefaultSize(this.type);
542

  
560 543
            while (n < args.length) {
561 544
                String option = StringUtils.trim(args[n++].toLowerCase());
562 545
                switch (option) {
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultEditableFeatureType.java
25 25
import java.text.MessageFormat;
26 26

  
27 27
import java.util.Iterator;
28
import org.gvsig.fmap.dal.DALLocator;
28 29

  
29 30
import org.gvsig.fmap.dal.DataTypes;
30 31
import org.gvsig.fmap.dal.exception.DataListException;
......
202 203
        }
203 204
        attr.setDataType(type);
204 205
        attr.setIndex(this.size());
206
        attr.setSize(DALLocator.getManager().getDefaultSize(type));
205 207
        
206 208
        super.add(attr);
207 209
        this.pk = null;
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureType.java
27 27
import java.util.ArrayList;
28 28
import java.util.Arrays;
29 29
import java.util.Collections;
30
import java.util.Date;
30 31
import java.util.HashSet;
31 32
import java.util.Iterator;
32 33
import java.util.LinkedHashSet;
......
60 61
import org.gvsig.tools.dynobject.exception.DynMethodException;
61 62
import org.gvsig.tools.dynobject.exception.DynObjectValidateException;
62 63
import org.gvsig.tools.dynobject.impl.DefaultTags;
64
import org.gvsig.tools.i18n.I18nManager;
63 65
import org.gvsig.tools.persistence.PersistenceManager;
64 66
import org.gvsig.tools.persistence.Persistent;
65 67
import org.gvsig.tools.persistence.PersistentState;
......
1098 1100
        FeatureStore store = FeatureTypeToStoreProviderAdapter.createFeatureStore(this);
1099 1101
        return store;
1100 1102
    }
1103
    
1104
                
1105
    public String getNewFieldName() {
1106
        I18nManager i18n = ToolsLocator.getI18nManager();
1107
        String prefix = i18n.getTranslation("_Field");
1108
        String fieldName;
1109
        for (int i = 1; i < 1000; i++) {
1110
            fieldName = prefix +"-"+i;
1111
            if( this.get(fieldName)==null ) {
1112
                return fieldName;
1113
            }
1114
        }
1115
        fieldName = prefix + "-" + (new Date()).getTime();
1116
        return fieldName;
1117
    }
1101 1118

  
1102 1119
}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/impl/DefaultDataManager.java
1207 1207
        String s = x.toString();
1208 1208
        return s;
1209 1209
    }
1210
        @Override
1211
    public int getDefaultSize(int dataType) {
1212
        int size;
1213
        switch (dataType) {
1214
            case DataTypes.STRING:
1215
                size = 50;
1216
                break;
1217
            case DataTypes.INT:
1218
                size = 10;
1219
                break;
1220
            case DataTypes.LONG:
1221
                size = 20;
1222
                break;
1223
            case DataTypes.FLOAT:
1224
                size = 10;
1225
                break;
1226
            case DataTypes.DOUBLE:
1227
                size = 20;
1228
                break;
1229
            default:
1230
                size = 0;
1231
        }
1232
        return size;
1233
    }
1210 1234
}

Also available in: Unified diff