Revision 45394 branches/org.gvsig.desktop-cvsgis1/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/DefaultFeatureStore.java
DefaultFeatureStore.java | ||
---|---|---|
1495 | 1495 |
insert(feature); |
1496 | 1496 |
} |
1497 | 1497 |
|
1498 |
@Override |
|
1499 |
public void update(Object... parameters) throws DataException { |
|
1500 |
if(parameters.length == 1){ |
|
1501 |
this.update((EditableFeature)parameters[0]); |
|
1502 |
return; |
|
1503 |
} |
|
1504 |
|
|
1505 |
Expression filter = null; |
|
1506 |
long end = parameters.length; |
|
1507 |
if(parameters.length % 2 == 1){ |
|
1508 |
Object param = parameters[parameters.length-1]; |
|
1509 |
if(param != null){ |
|
1510 |
if(param instanceof Expression){ |
|
1511 |
filter = (Expression) param; |
|
1512 |
} else { |
|
1513 |
filter = ExpressionUtils.createExpression(param.toString()); |
|
1514 |
} |
|
1515 |
} |
|
1516 |
} else { |
|
1517 |
end = parameters.length-1; |
|
1518 |
} |
|
1519 |
|
|
1520 |
FeatureSet set = this.getFeatureSet(filter); |
|
1521 |
DisposableIterator it = set.fastIterator(); |
|
1522 |
while (it.hasNext()) { |
|
1523 |
Feature feature = (Feature) it.next(); |
|
1524 |
EditableFeature ef = feature.getEditable(); |
|
1525 |
for (int i = 0; i < end; i+=2) { |
|
1526 |
String name = (String) parameters[i]; |
|
1527 |
Object value = parameters[i+1]; |
|
1528 |
ef.set(name, value); |
|
1529 |
} |
|
1530 |
set.update(ef); |
|
1531 |
} |
|
1532 |
DisposeUtils.disposeQuietly(it); |
|
1533 |
DisposeUtils.disposeQuietly(set); |
|
1534 |
} |
|
1535 |
|
|
1536 |
|
|
1537 |
|
|
1498 | 1538 |
synchronized public void doUpdate(EditableFeature feature, Feature oldFeature) |
1499 | 1539 |
throws DataException { |
1500 | 1540 |
try { |
Also available in: Unified diff