try {
Set workspaceIds = UIServices.lookup().getWorkspacesManager().getAllWorkspacesIdentifiers();
List workspaces = new ArrayList();
for (Iterator it = workspaceIds.iterator(); it.hasNext();) {
String workspaceId = (String) it.next();
Workspace workspace = UIServices.lookup().getWorkspacesManager().getWorkspace(workspaceId);
WorkspacePermission perm = WorkspacePermission.newInstance(workspace, WorkspacePermission.ACTION_LOGIN);
if (UserStatus.lookup().hasPermission(perm)) {
workspaces.add(workspace);
}
}
if (!workspaces.isEmpty()) {
renderFragment("outputStart");
for (int i = 0; i < workspaces.size(); i++) {
WorkspaceImpl workspace = (WorkspaceImpl) workspaces.get(i);
setAttribute("workspace", workspace);
setAttribute("workspaceId", workspace.getId());
setAttribute("workspaceName", getLocalizedValue(workspace.getTitle()));
Map params = new HashMap();
params.put(NavigationManager.WORKSPACE_ID, workspace.getId());
String workspaceURL = UIServices.lookup().getUrlMarkupGenerator().getPermanentLink("org.jboss.dashboard.ui.NavigationManager", "NavigateToWorkspace", params);
if (workspaceURL.startsWith(request.getContextPath())) {
workspaceURL = workspaceURL.substring((request.getContextPath()).length());
}
while (workspaceURL.startsWith("/")) workspaceURL = workspaceURL.substring(1);