/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.web.data.workspace;
import java.util.Arrays;
import java.util.List;
import org.apache.wicket.model.IModel;
import org.geoserver.catalog.Catalog;
import org.geoserver.catalog.WorkspaceInfo;
import org.geoserver.web.wicket.GeoServerDataProvider;
/**
* {@link GeoServerDataProvider} for the list of workspaces available in the {@link Catalog}
*/
@SuppressWarnings("serial")
public class WorkspaceProvider extends GeoServerDataProvider<WorkspaceInfo> {
public static Property<WorkspaceInfo> NAME =
new BeanProperty<WorkspaceInfo>( "name", "name" );
public static Property<WorkspaceInfo> DEFAULT =
new BeanProperty<WorkspaceInfo>( "default", "default" );
static List PROPERTIES = Arrays.asList(NAME, DEFAULT);
public WorkspaceProvider() {
setSort(NAME.getName(), true);
}
@Override
protected List<WorkspaceInfo> getItems() {
return getCatalog().getWorkspaces();
}
@Override
protected List<Property<WorkspaceInfo>> getProperties() {
return PROPERTIES;
}
public IModel newModel(Object obj) {
return new WorkspaceDetachableModel( (WorkspaceInfo) obj );
}
}