/** * Suggests the space's name for searching. * * @param uriInfo The requested URI information. * @param portalName The name of portal. * @param conditionToSearch The input information to search. * @param typeOfRelation The type of relationship of the user and the space. * @param userId The Id of current user. * @param format The format of the returned result, for example, JSON, or XML. * @return * @throws Exception @LevelAPI Platform * @anchor SpacesRestService.suggestSpacenames * @deprecated Deprecated from 4.3.x. Replaced by a new API {@link * SpaceRestResourcesV1#getSpaces(org.exoplatform.social.rest.impl.space.UriInfo, String, int, * int, boolean, String)} */ @GET @Path("suggest.{format}") public Response suggestSpacenames( @Context UriInfo uriInfo, @PathParam("portalName") String portalName, @QueryParam("conditionToSearch") String conditionToSearch, @QueryParam("typeOfRelation") String typeOfRelation, @QueryParam("currentUser") String userId, @PathParam("format") String format) throws Exception { MediaType mediaType = Util.getMediaType(format); SpaceNameList nameList = new SpaceNameList(); portalContainerName = portalName; SpaceService spaceSrv = getSpaceService(); SpaceListAccess listAccess = spaceSrv.getVisibleSpacesWithListAccess(userId, new SpaceFilter(conditionToSearch)); List<Space> spaces = Arrays.asList(listAccess.load(0, 10)); for (Space space : spaces) { if (ALL_SPACES_STATUS.equals(typeOfRelation)) { nameList.addName(space.getDisplayName()); } else { if (PENDING_STATUS.equals(typeOfRelation) && (spaceSrv.isPending(space, userId))) { nameList.addName(space.getDisplayName()); continue; } else if (INCOMING_STATUS.equals(typeOfRelation) && (spaceSrv.isInvited(space, userId))) { nameList.addName(space.getDisplayName()); continue; } else if (CONFIRMED_STATUS.equals(typeOfRelation) && (spaceSrv.isMember(space, userId))) { nameList.addName(space.getDisplayName()); continue; } } } return Util.getResponse(nameList, uriInfo, mediaType, Response.Status.OK); }