Revision 4193 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/edition/VectorialEditableDBAdapter.java
VectorialEditableDBAdapter.java | ||
---|---|---|
136 | 136 |
if (delRows.get(calculatedIndex) == true) |
137 | 137 |
{ |
138 | 138 |
boolean bFound = false; |
139 |
while ((delRows.get(calculatedIndex) == true) && (idFromExpansion < expansionFile.getSize()-1))
|
|
139 |
while ((!bFound) && (idFromExpansion < expansionFile.getSize()-1))
|
|
140 | 140 |
{ |
141 | 141 |
calculatedIndex++; |
142 | 142 |
idFromExpansion++; |
143 |
if (delRows.get(calculatedIndex) == false) |
|
143 |
Integer auxCalculated = new Integer(calculatedIndex); |
|
144 |
// Si no est? borrado y es una entidad v?lida, que est? siendo usada (no es algo que est? en el expansionFile sin usarse) |
|
145 |
if ((delRows.get(calculatedIndex) == false) && (relations.containsKey(auxCalculated))) |
|
144 | 146 |
{ |
145 | 147 |
bFound = true; |
148 |
calculated = auxCalculated; |
|
146 | 149 |
break; |
147 | 150 |
} |
148 | 151 |
else |
... | ... | |
369 | 372 |
* @see com.iver.cit.gvsig.fmap.edition.VectorialEditableAdapter#doAddRow(com.iver.cit.gvsig.fmap.core.IRow) |
370 | 373 |
*/ |
371 | 374 |
public int doAddRow(IRow feat) throws DriverIOException, IOException { |
372 |
int virtualIndex = super.doAddRow(feat);
|
|
373 |
Integer posInExpansionFile = (Integer) relations.get(new Integer(virtualIndex));
|
|
374 |
Integer virtual = new Integer(virtualIndex); // virtual es igual al numero de shapes originales + el numero de entidades a?adidas.
|
|
375 |
int calculatedIndex = super.doAddRow(feat);
|
|
376 |
Integer posInExpansionFile = (Integer) relations.get(new Integer(calculatedIndex));
|
|
377 |
Integer virtual = new Integer(calculatedIndex); // calculatedIndex es igual al numero de shapes originales + el numero de entidades a?adidas.
|
|
375 | 378 |
// es decir, virtual es el calculatedIndex (no tiene en cuenta los borrados) |
376 | 379 |
// calculatedIndex = indiceExterno + borrados hasta ese punto. |
377 | 380 |
mapFID2index.put(feat.getID(), virtual); |
378 | 381 |
mapIndex2FID.put(virtual, feat.getID()); |
379 |
return virtualIndex;
|
|
382 |
return calculatedIndex;
|
|
380 | 383 |
|
381 | 384 |
} |
382 | 385 |
|
Also available in: Unified diff