/* (c) 2014 - 2016 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.web.data.workspace;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.apache.wicket.model.LoadableDetachableModel;
import org.geoserver.catalog.Catalog;
import org.geoserver.catalog.WorkspaceInfo;
import org.geoserver.web.GeoServerApplication;
/**
* Simple detachable model listing all the available workspaces
*/
public class WorkspacesModel extends LoadableDetachableModel<List<WorkspaceInfo>> {
private static final long serialVersionUID = -2014677058862746780L;
@Override
protected List<WorkspaceInfo> load() {
Catalog catalog = GeoServerApplication.get().getCatalog();
List<WorkspaceInfo> workspaces = new ArrayList<WorkspaceInfo>(catalog.getWorkspaces());
Collections.sort(workspaces, new WorkspaceComparator());
return workspaces;
}
protected static class WorkspaceComparator implements Comparator<WorkspaceInfo> {
public WorkspaceComparator(){
//
}
public int compare(WorkspaceInfo w1, WorkspaceInfo w2) {
return w1.getName().compareToIgnoreCase(w2.getName());
}
}
}