Revision 45417 branches/org.gvsig.desktop-cvsgis1/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc2/spi/JDBCStoreProviderBase.java

View differences:

JDBCStoreProviderBase.java
32 32
import org.apache.commons.lang3.BooleanUtils;
33 33
import org.apache.commons.lang3.StringUtils;
34 34
import org.cresques.cts.IProjection;
35
import org.gvsig.expressionevaluator.Expression;
35 36
import org.gvsig.fmap.dal.DALLocator;
36 37
import org.gvsig.fmap.dal.DataManager;
37 38
import org.gvsig.fmap.dal.DataServerExplorer;
......
610 611
            throws DataException {
611 612
        return this.getHelper().canWriteGeometry(geometryType,geometrySubtype);
612 613
    }
614

  
615
    @Override
616
    public boolean supportsPassThroughMode() {
617
        return true;
618
    }
619

  
620
    @Override
621
    public void passThroughInsert(FeatureProvider featureProvider) throws DataException {
622
        FeatureType type = this.getFeatureStore().getDefaultFeatureType();
623
        JDBCStoreParameters params = this.getParameters();
624
        PerformChangesOperation performChanges = this.getOperations().createPerformChanges(
625
                this.getOperations().createTableReference(params),
626
                type, 
627
                Collections.emptyIterator(), 
628
                Collections.singletonList(featureProvider).iterator(),
629
                Collections.emptyIterator(), 
630
                Collections.emptyIterator()
631
        );
632
        performChanges.perform();
633
    }
634

  
635
    @Override
636
    public void passThroughUpdate(FeatureProvider featureProvider) throws DataException {
637
        FeatureType type = this.getFeatureStore().getDefaultFeatureType();
638
        JDBCStoreParameters params = this.getParameters();
639
        PerformChangesOperation performChanges = this.getOperations().createPerformChanges(
640
                this.getOperations().createTableReference(params),
641
                type, 
642
                Collections.emptyIterator(), 
643
                Collections.emptyIterator(), 
644
                Collections.singletonList(featureProvider).iterator(),
645
                Collections.emptyIterator()
646
        );
647
        performChanges.perform();
648
    }
649
    
650
    public void passThroughUpdate(Object[] parameters, Expression filter){
651
        //TODO: 
652
    }
653

  
654
    @Override
655
    public void passThroughDelete(FeatureReferenceProviderServices featureReference) throws DataException {
656
        FeatureType type = this.getFeatureStore().getDefaultFeatureType();
657
        JDBCStoreParameters params = this.getParameters();
658
        PerformChangesOperation performChanges = this.getOperations().createPerformChanges(
659
                this.getOperations().createTableReference(params),
660
                type, 
661
                Collections.singletonList(featureReference).iterator(),
662
                Collections.emptyIterator(), 
663
                Collections.emptyIterator(), 
664
                Collections.emptyIterator()
665
        );
666
        performChanges.perform();
667
    }
668
    
669
    public void passThroughDelete(Expression expression) throws DataException {
670
        //TODO:
671
    }
613 672
}

Also available in: Unified diff