Revision 45201
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