Revision 45201

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/featuretable/SimpleFeaturesTableModel.java
48 48
            this.descriptor = descriptor;
49 49
            this.toStr = ToolsLocator.getDataTypesManager().get(DataTypes.STRING).getCoercion();
50 50
        }
51
        
51

  
52 52
        @Override
53 53
        protected void setValue(Object value) {
54 54
            if (value == null) {
......
72 72
    private boolean errors;
73 73

  
74 74
    public static void setCellRenderers(JTable table) {
75
        if( !(table.getModel() instanceof SimpleFeaturesTableModel) ) {
75
        if (!(table.getModel() instanceof SimpleFeaturesTableModel)) {
76 76
            return;
77 77
        }
78 78
        SimpleFeaturesTableModel model = (SimpleFeaturesTableModel) table.getModel();
79 79
        for (String columnName : model.columnNames) {
80
            FeatureAttributeDescriptor descriptor = model.featureType.getAttributeDescriptor(columnName);
81
            switch(descriptor.getType()) {
82
                case DataTypes.BYTEARRAY:
83
                    table.setDefaultRenderer(byte[].class, new FeatureAttributeCellRenderer(descriptor));
84
                    break;
85
                case DataTypes.DATE:
86
                    table.setDefaultRenderer(java.sql.Date.class, new FeatureAttributeCellRenderer(descriptor));
87
                    break;
88
                case DataTypes.TIME:
89
                    table.setDefaultRenderer(java.sql.Time.class, new FeatureAttributeCellRenderer(descriptor));
90
                    break;
91
                case DataTypes.TIMESTAMP:
92
                    table.setDefaultRenderer(java.util.Date.class, new FeatureAttributeCellRenderer(descriptor));
93
                    table.setDefaultRenderer(java.sql.Timestamp.class, new FeatureAttributeCellRenderer(descriptor));
94
                    break;
95
                case DataTypes.FLOAT:
96
                    table.setDefaultRenderer(Float.class, new FeatureAttributeCellRenderer(descriptor));
97
                    break;
98
                case DataTypes.DECIMAL:
99
                    table.setDefaultRenderer(BigDecimal.class, new FeatureAttributeCellRenderer(descriptor));
100
                    break;
101
                case DataTypes.DOUBLE:
102
                    table.setDefaultRenderer(Double.class, new FeatureAttributeCellRenderer(descriptor));
103
                    break;
80
            try {
81
                FeatureAttributeDescriptor descriptor = model.featureType.getAttributeDescriptor(columnName);
82
                if (descriptor == null) {
83
                    descriptor = model.featureType.getExtraColumns().get(columnName);
84
                }
85
                switch (descriptor.getType()) {
86
                    case DataTypes.BYTEARRAY:
87
                        table.setDefaultRenderer(byte[].class, new FeatureAttributeCellRenderer(descriptor));
88
                        break;
89
                    case DataTypes.DATE:
90
                        table.setDefaultRenderer(java.sql.Date.class, new FeatureAttributeCellRenderer(descriptor));
91
                        break;
92
                    case DataTypes.TIME:
93
                        table.setDefaultRenderer(java.sql.Time.class, new FeatureAttributeCellRenderer(descriptor));
94
                        break;
95
                    case DataTypes.TIMESTAMP:
96
                        table.setDefaultRenderer(java.util.Date.class, new FeatureAttributeCellRenderer(descriptor));
97
                        table.setDefaultRenderer(java.sql.Timestamp.class, new FeatureAttributeCellRenderer(descriptor));
98
                        break;
99
                    case DataTypes.FLOAT:
100
                        table.setDefaultRenderer(Float.class, new FeatureAttributeCellRenderer(descriptor));
101
                        break;
102
                    case DataTypes.DECIMAL:
103
                        table.setDefaultRenderer(BigDecimal.class, new FeatureAttributeCellRenderer(descriptor));
104
                        break;
105
                    case DataTypes.DOUBLE:
106
                        table.setDefaultRenderer(Double.class, new FeatureAttributeCellRenderer(descriptor));
107
                        break;
108
                }
109
            } catch (Exception ex) {
110
                throw new RuntimeException("Not able to get type of descriptor for column", ex);
104 111
            }
105 112
        }
106 113
    }

Also available in: Unified diff