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

View differences:

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