Revision 47436 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/main/java/org/gvsig/fmap/dal/store/dbf/DBFSetProvider.java

View differences:

DBFSetProvider.java
41 41
public class DBFSetProvider extends AbstractFeatureSetProvider {
42 42

  
43 43
	public DBFSetProvider(DBFStoreProvider store, FeatureQuery query,
44
			FeatureType featureType)
44
			FeatureType providerFeatureType, FeatureType storeFeatureType)
45 45
			throws DataException {
46
		super(store, query, featureType);
46
//		super(store, query, providerFeatureType, storeFeatureType);
47
		super(store, query, getEditable(providerFeatureType), storeFeatureType);
47 48
	}
49
        
50
        private static FeatureType getEditable(FeatureType type) {
51
            try {
52
//                return type;
53
                return type.getEditable();
54
            } catch (UnsupportedOperationException ex) {
55
                return type.getCopy().getEditable();
56
            }
57
        }
48 58

  
49 59
	public boolean canFilter() {
50 60
		return false;
......
72 82

  
73 83
	protected AbstractFeatureProviderIterator createIterator(long index)
74 84
			throws DataException {
75
		return new DBFIterator((DBFStoreProvider) getStore(), getFeatureType(),
85
		return new DBFIterator((DBFStoreProvider) getStore(), getProviderFeatureType(),
76 86
				index);
77 87
	}
78 88

  
79 89
	protected AbstractFeatureProviderIterator createFastIterator(long index)
80 90
			throws DataException {
81 91
		return new FastDBFIterator((DBFStoreProvider) getStore(),
82
				getFeatureType(), index);
92
				getProviderFeatureType(), index);
83 93
	}
84 94

  
85 95
	protected class DBFIterator extends AbstractFeatureProviderIterator {
......
107 117

  
108 118
				FeatureProvider ret =
109 119
						getDBFStoreProvider().getFeatureProviderByIndex(index,
110
								this.type);
120
								this.type, getStoreFeatureType());
111 121
				index++;
112 122
				return ret;
113 123
			} catch (DataException e) {
......
148 158
		public FastDBFIterator(DBFStoreProvider store, FeatureType type,
149 159
				long startOn) throws DataException {
150 160
			super(store, type, startOn);
151
			this.data = getFeatureStoreProvider().createFeatureProvider(type);
161
			this.data = getDBFStoreProvider().createFeatureProvider(type, getStoreFeatureType());
152 162
		}
153 163

  
154 164
		protected Object internalNext() {

Also available in: Unified diff