Show TOC

Background documentationSearching for Workspaces Locate this document in the navigation structure

 

You can search and retrieve workspaces according to the specified search criteria, as well as define various parameters for the presentation of search results, such as sort order or number of results to display on one page.

The following example illustrates searching for workspaces using the SearchControl object:

Example Example

  1. private void searchForWorkspace(IPortalComponentRequest request, String inputQuery)
        {
        	// Retrieve the workspace directory
        	IWorkspacesRuntime workspacesRuntime = RuntimeFactory.getWorkspacesRuntime();
        	IWorkspaceDirectory workspaceDirectory = (IWorkspaceDirectory) workspacesRuntime.getService(IWorkspaceDirectory.class);
    
        	SearchControl searchControl = new SearchControl();
    
        	// Define which workspace permission policies to include in the search
    		PermissionPolicy[] permissionPolicies = new PermissionPolicy[2];
    		permissionPolicies[0] = PermissionPolicy.PUBLIC;
    		permissionPolicies[1] = PermissionPolicy.RESTRICTED;
    		searchControl.setPermissionPolicies(permissionPolicies);
    
    		// Defines the sort order of the search results
    		searchControl.setSortBy(SortBy.NAME_DESCENDING);
    
    		// Defines the maximum number of workspaces to return as a result of the search
    		searchControl.setMaxResults(5000);
    
    		//Sets a SearchFilter object that defines additional search parameters
    		SearchFilter searchFilter = new SearchFilter();
    		searchFilter.setLocale(request.getLocale());
    		searchFilter.setOwner("Denise Smith");
    		searchControl.setSearchFilter(searchFilter);
    
    		// Search for workspaces according to the specified parameters
    		ISearchResults searchResults = workspaceDirectory.search(searchControl);
    
    		// Returns an array of workspaces that match the search criteria defined by SearchControl
    		WorkspaceInfo[] sharedWorskpaces = searchResults.getWorkspacesInfo();
        }
End of the source code.