package org.atomhopper.abdera;
import org.apache.abdera.protocol.server.CollectionAdapter;
import org.apache.abdera.protocol.server.RequestContext;
import org.apache.abdera.protocol.server.WorkspaceInfo;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
public class WorkspaceManager implements org.apache.abdera.protocol.server.WorkspaceManager {
private final List<WorkspaceHandler> handlers;
public WorkspaceManager() {
handlers = new LinkedList<WorkspaceHandler>();
}
public void addWorkspaces(List<WorkspaceHandler> workspaces) {
handlers.addAll(workspaces);
}
@Override
public Collection<WorkspaceInfo> getWorkspaces(RequestContext request) {
return (Collection) handlers;
}
@Override
public CollectionAdapter getCollectionAdapter(RequestContext request) {
for (WorkspaceHandler workspace : handlers) {
final CollectionAdapter adapter = workspace.getAnsweringAdapter(request);
if (adapter != null) {
return adapter;
}
}
return null;
}
}