Revision 43691
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/FeatureManager.java | ||
---|---|---|
169 | 169 |
private Feature getCorrectFeature(Feature feature, FeatureStore store, |
170 | 170 |
FeatureType featureType) throws DataException { |
171 | 171 |
Iterator iterator=featureType.iterator(); |
172 |
EditableFeature newFeature=feature.getEditable();//store.createNewFeature(featureType, false); |
|
172 |
EditableFeature newFeature; |
|
173 |
// newFeature = feature.getEditable(); |
|
174 |
newFeature = store.createNewFeature(featureType, false); |
|
173 | 175 |
FeatureType orgType = feature.getType(); |
174 | 176 |
int orgIndex; |
175 | 177 |
while (iterator.hasNext()) { |
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/paging/impl/FeaturePagingHelperImpl.java | ||
---|---|---|
70 | 70 |
|
71 | 71 |
private static class Page { |
72 | 72 |
|
73 |
private final Feature[] features;
|
|
73 |
private Feature[] features; |
|
74 | 74 |
private final long number; |
75 | 75 |
private final int size; |
76 | 76 |
private long lastaccess; |
... | ... | |
102 | 102 |
public int size() { |
103 | 103 |
return this.size; |
104 | 104 |
} |
105 |
|
|
106 |
public void dispose() { |
|
107 |
for (int i = 0; i < features.length; i++) { |
|
108 |
features[i] = null; |
|
109 |
} |
|
110 |
this.features = null; |
|
111 |
this.lastaccess = 0; |
|
112 |
} |
|
105 | 113 |
} |
106 | 114 |
|
107 | 115 |
private static class PageCache { |
108 | 116 |
|
109 | 117 |
private final int maxpages; |
110 |
private final List<Page> pages;
|
|
118 |
private List<Page> pages; |
|
111 | 119 |
|
112 | 120 |
public PageCache(int maxpages) { |
113 | 121 |
this.maxpages = maxpages; |
114 | 122 |
this.pages = new ArrayList<>(); |
115 | 123 |
} |
116 | 124 |
|
125 |
public void clear() { |
|
126 |
for (Page page : pages) { |
|
127 |
page.dispose(); |
|
128 |
} |
|
129 |
this.pages = new ArrayList<>(); |
|
130 |
} |
|
131 |
|
|
117 | 132 |
public Page get(long pageNumber) { |
118 | 133 |
for( Page page : pages ) { |
119 | 134 |
if( page.getPageNumber() == pageNumber ) { |
... | ... | |
366 | 381 |
return featSet; |
367 | 382 |
} |
368 | 383 |
|
384 |
@Override |
|
369 | 385 |
public DynObjectSet getDynObjectSet() { |
370 | 386 |
return getFeatureSet(false).getDynObjectSet(); |
371 | 387 |
} |
372 | 388 |
|
389 |
@Override |
|
373 | 390 |
public void reloadCurrentPage() throws BaseException { |
374 | 391 |
|
375 | 392 |
boolean sel_up = this.isSelectionUp(); |
376 | 393 |
|
377 | 394 |
setSelectionUp(false); |
378 | 395 |
if (getCalculator().getCurrentPage() > -1) { |
396 |
this.cachedPages.clear(); |
|
379 | 397 |
loadCurrentPageData(); |
380 | 398 |
} |
381 | 399 |
|
... | ... | |
384 | 402 |
} |
385 | 403 |
} |
386 | 404 |
|
405 |
@Override |
|
387 | 406 |
public void reload() throws BaseException { |
388 | 407 |
|
389 | 408 |
/* |
Also available in: Unified diff