First cut of private implementation for #199
This commit is contained in:
parent
25759e86a5
commit
8496756300
@ -3206,4 +3206,75 @@ public class GeoServerRESTPublisher {
|
||||
importerManager.postImport(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* Defines multiple modes of recalculating bounding boxes.
|
||||
*
|
||||
* @author Carl Schroedl - cschroedl@usgs.gov
|
||||
*/
|
||||
public enum BBoxRecalculationMode {
|
||||
/**
|
||||
* Do not calculate any fields, regardless of the projection, projection
|
||||
* policy, etc. This might be useful to avoid slow recalculation when
|
||||
* operating against large datasets.
|
||||
*/
|
||||
NONE(""),
|
||||
|
||||
/**
|
||||
* Recalculate the native bounding box, but do not recalculate the
|
||||
* lat/long bounding box.
|
||||
*/
|
||||
NATIVE_BBOX("nativebbox"),
|
||||
|
||||
/**
|
||||
* Recalculate both the native bounding box and the lat/long bounding
|
||||
* box.
|
||||
*/
|
||||
NATIVE_AND_LAT_LON_BBOX("nativebbox,latlonbbox")
|
||||
;
|
||||
|
||||
private final String paramValue;
|
||||
|
||||
/**
|
||||
* Associates the enum value with a URL query string parameter value
|
||||
* @param paramValue
|
||||
*/
|
||||
BBoxRecalculationMode(String paramValue){
|
||||
this.paramValue = paramValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the URL param value
|
||||
* @return The query string parameter value
|
||||
*/
|
||||
public String getParamValue(){
|
||||
return paramValue;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Recalculate the bounding box for a feature or a type
|
||||
*
|
||||
* @param type
|
||||
* @param workspace
|
||||
* @param storeName
|
||||
* @param layerName
|
||||
* @param calculationMode
|
||||
* @return true if recalculation succeeded, false otherwise.
|
||||
*/
|
||||
private boolean recalculateBBox(StoreType type, String workspace, String storeName, String layerName, BBoxRecalculationMode calculationMode){
|
||||
|
||||
String sUrl = restURL + "/rest/workspaces/" + workspace + "/" +
|
||||
type.getType() +"s/" + storeName + "/" +
|
||||
type.getTypeName() + "/" +
|
||||
layerName + "." + Format.XML.toString() + "?recalculate=" +
|
||||
calculationMode.getParamValue();
|
||||
|
||||
LOGGER.debug("Constructed the following url for bounding box recalculation: ");
|
||||
|
||||
String sendResult = HTTPUtils.put(sUrl, "", "text/plain", gsuser,
|
||||
gspass);
|
||||
|
||||
return sendResult != null;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user