FeatureVersioning interface api - STEMLab/geotools GitHub Wiki
-
Contact: Walter Deane
This is a request for an addition to the GeoTools api to provide a framework for FeatureVersioning. This is based largely on a simplified form of the defunct versioned PostGIS project. I have altered interfaces to use feature instead of simplefeature so that it would be more useful for complex features in the future.
This proposal is withdrawn.
Voting has not started yet:
- Andrea Aime
- Ben Caradoc-Davies
- Christian Mueller
- Ian Turton
- Justin Deoliveira
- Jody Garnett
- Simone Giannecchini
This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success
- API changed based on BEFORE / AFTER
- Update default implementation
- Update wiki (both module matrix and upgrade to to 2.5 pages) |
- Remove deprecated code from GeoTools project
- Update the user guide
- Update or provided sample code in demo
- review user documentation
NEW
package org.geotools.data;
import java.io.IOException;
import org.geotools.feature.FeatureCollection;
import org.geotools.feature.FeatureSource;
import org.opengis.filter.Filter;
public interface FeatureSourceVersioning <T extends FeatureType, F extends Feature> extends FeatureSource<T, F>{
public FeatureCollection getLog(String fromVersion, String toVersion, Filter filter, String[] userIds, int maxRows) throws IOException;
public FeatureDiffReader getDifferences(String fromVersion, String toVersion, Filter filter, String[] userIds) throws IOException;
public String getVersion() throws IOException, UnsupportedOperationException;
}
NEW
package org.geotools.data;
import java.io.IOException;
import org.opengis.filter.Filter;
public interface FeatureVersioning <T extends FeatureType, F extends Feature> extends FeatureLocking<T, F>, FeatureSourceVersioning<T, F>{
public void rollback(String toVersion, Filter filter, String[] users) throws IOException;
}
NEW
package org.geotools.data;
import java.io.IOException;
import java.util.NoSuchElementException;
import org.opengis.feature.FeatureType;
public interface FeatureDiffReader {
public String getFromVersion();
public String getToVersion();
public FeatureType getSchema();
public FeatureDiff next() throws IOException, NoSuchElementException;
public boolean hasNext() throws IOException;
public void close() throws IOException;
}
NEW
package org.geotools.data;
import java.util.List;
import org.opengis.feature.Feature;
public interface FeatureDiff {
public String getID();
public String getMessage();
public Feature getFeature();
public Feature getOldFeature();
}
list the pages effected by this proposal
- http://docs.geotools.org/latest/userguide/library/opengis/filter.html 06 FeatureSource update to reflect api change
- http://docs.geotools.org/latest/userguide/library/opengis/filter.html10 Data updated to reflect api change