package org.geoserver.web.data.resource;
import org.apache.wicket.model.IModel;
import org.geoserver.catalog.CatalogBuilder;
import org.geoserver.catalog.LayerInfo;
import org.geoserver.web.GeoServerApplication;
/**
* A model that serializes the layer fully, and re-attaches it to the catalog
* on deserialization
* @author Andrea Aime - OpenGeo
*
*/
@SuppressWarnings("serial")
public class LayerModel implements IModel {
LayerInfo layerInfo;
public LayerModel(LayerInfo layerInfo) {
this.layerInfo = layerInfo;
}
public Object getObject() {
if(layerInfo.getResource().getCatalog() == null)
new CatalogBuilder(GeoServerApplication.get().getCatalog()).attach(layerInfo);
return layerInfo;
}
public void setObject(Object object) {
this.layerInfo = (LayerInfo) object;
}
public void detach() {
// nothing specific to do
}
}