Revision 44982 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.fmap.control/src/main/java/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/ConfigurationTableModel.java

View differences:

ConfigurationTableModel.java
50 50
    public static final int TYPE_COLUMN = 3;
51 51
    public static final int SIZE_COLUMN = 4;
52 52
    public static final int PRECISION_COLUMN = 5;
53
    public static final int PATTERN_COLUMN = 6;
54
    public static final int EMULATED = 7;
55
    private static final int COLUMN_COUNT = 8;
53
    public static final int SCALE_COLUMN = 6;
54
    public static final int PATTERN_COLUMN = 7;
55
    public static final int EMULATED = 8;
56
    private static final int COLUMN_COUNT = 9;
56 57
    
57 58
    
58 59

  
59
    private ConfigurableFeatureTableModel configurable;
60
    private final ConfigurableFeatureTableModel configurable;
60 61

  
61 62
    public ConfigurationTableModel(ConfigurableFeatureTableModel configurable) {
62 63
        super();
63 64
        this.configurable = configurable;
64 65
    }
65 66

  
67
    @Override
66 68
    public int getColumnCount() {
67
        // 1: visibility, 2: field name, 3: alias, 4:Type, 5:size, 6:pattern, 7:emulated
68 69
        return COLUMN_COUNT;
69 70
    }
70 71

  
72
    @Override
71 73
    public int getRowCount() {
72 74
        return configurable.getOriginalColumnCount();
73 75
    }
74 76

  
77
    @Override
75 78
    public Object getValueAt(int rowIndex, int columnIndex) {
76
    	FeatureAttributeDescriptor fad = null;
77 79
        String name = configurable.getOriginalColumnName(rowIndex);
80
     	FeatureAttributeDescriptor fad = configurable.internalGetFeatureDescriptorForColumn(rowIndex);
81
        if( fad == null ) {
82
                return null;
83
        }
78 84
        switch (columnIndex) {
79 85
        case VISIBILITY_COLUMN:
80 86
            return configurable.isVisible(name);
......
83 89
        case ALIAS_COLUMN:
84 90
            return configurable.getAliasForColumn(name);
85 91
        case TYPE_COLUMN:
86
        	fad = configurable.internalGetFeatureDescriptorForColumn(rowIndex);
87
        	if( fad == null ) {
88
        		return null;
89
        	}
90 92
    		return fad.getDataType().getName();
91 93
        case SIZE_COLUMN:
92
        	fad = configurable.internalGetFeatureDescriptorForColumn(rowIndex);
93
        	if( fad == null ) {
94
        		return null;
94
        	if( fad.getSize()<1 ) {
95
                    return null;
95 96
        	}
96 97
    		return fad.getSize();
97 98
        case PRECISION_COLUMN:
98
        	fad = configurable.internalGetFeatureDescriptorForColumn(rowIndex);
99
        	if( fad == null ) {
100
        		return null;
99
        	if( fad.getPrecision()<0 ) {
100
                    return null;
101 101
        	}
102 102
    		return fad.getPrecision();
103
        case SCALE_COLUMN:
104
        	if( fad.getScale()<0 ) {
105
                    return null;
106
        	}
107
    		return fad.getScale();
103 108
        case EMULATED:
104
        	fad = configurable.internalGetFeatureDescriptorForColumn(rowIndex);
105
        	if( fad == null ) {
106
        		return null;
107
        	}
108 109
    		return fad.isComputed();
109 110
        case PATTERN_COLUMN:
110 111
        	return configurable.getFormattingPattern(name);
......
152 153
        case PATTERN_COLUMN:
153 154
            return String.class;
154 155
        case SIZE_COLUMN:
156
        case SCALE_COLUMN:
155 157
        case PRECISION_COLUMN:
156 158
            /*
157 159
             * We must use Integer.class instead of int.class
......
179 181
            return Messages.getText("size");
180 182
        case PRECISION_COLUMN:
181 183
            return Messages.getText("precision");
184
        case SCALE_COLUMN:
185
            return Messages.getText("scale");
182 186
        case TYPE_COLUMN:
183 187
            return Messages.getText("type");
184 188
        case PATTERN_COLUMN:

Also available in: Unified diff