/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.feature.retype;
import java.io.IOException;
import org.geotools.data.FeatureLock;
import org.geotools.data.FeatureLocking;
import org.geotools.data.Query;
import org.geotools.data.simple.SimpleFeatureLocking;
import org.opengis.filter.Filter;
/**
* Renaming wrapper for a {@link FeatureLocking} instance, to be used along with {@link RetypingDataStore}
*/
class RetypingFeatureLocking extends RetypingFeatureStore implements
SimpleFeatureLocking {
RetypingFeatureLocking(RetypingDataStore ds,
SimpleFeatureLocking wrapped, FeatureTypeMap typeMap) {
super(ds, wrapped, typeMap);
}
RetypingFeatureLocking(SimpleFeatureLocking wrapped, FeatureTypeMap typeMap) throws IOException {
super(wrapped, typeMap);
}
SimpleFeatureLocking featureLocking() {
return (SimpleFeatureLocking) wrapped;
}
public int lockFeatures() throws IOException {
return featureLocking().lockFeatures();
}
public int lockFeatures(Query query) throws IOException {
return featureLocking().lockFeatures(store.retypeQuery(query, typeMap));
}
public int lockFeatures(Filter filter) throws IOException {
return featureLocking().lockFeatures(store.retypeFilter(filter, typeMap));
}
public void setFeatureLock(FeatureLock lock) {
featureLocking().setFeatureLock(lock);
}
public void unLockFeatures() throws IOException {
featureLocking().unLockFeatures();
}
public void unLockFeatures(Filter filter) throws IOException {
featureLocking().unLockFeatures(store.retypeFilter(filter, typeMap));
}
public void unLockFeatures(Query query) throws IOException {
featureLocking().unLockFeatures(store.retypeQuery(query, typeMap));
}
}