package org.josso.atlassian.seraph; import com.atlassian.crowd.embedded.api.CrowdDirectoryService; import com.atlassian.crowd.embedded.api.Directory; import org.apache.log4j.Logger; import org.josso.gateway.identity.SSOUser; import java.util.List; import java.util.Map; /** * @author <a href=mailto:sgonzalez@atricore.org>Sebastian Gonzalez Oyuela</a> */ public class FixedCrowdDirectorySelector extends AbstractCrowdDirectorySelectorStrategy { private static final Logger logger = Logger.getLogger(FixedCrowdDirectorySelector.class); private long directoryId = 1; public FixedCrowdDirectorySelector(Map<String, String> initParams, CrowdDirectoryService directoryService) { super(initParams, directoryService); String idStr = getInitParam("directory.id"); if (idStr == null) logger.warn("No configured directory id, using default" + directoryId); try { directoryId = Long.parseLong(idStr); } catch (NumberFormatException e) { logger.error("Invalid configured directory id format for ["+idStr+"], using default " + directoryId); } } public long getDirectoryId() { return directoryId; } public void setDirectoryId(int directoryId) { this.directoryId = directoryId; } public Directory lookupDirectory(SSOUser user) { /*List<Directory> dirs = getDirectoryService().findAllDirectories(); for (int i = 0; i < dirs.size(); i++) { Directory directory = dirs.get(i); logger.info(directory.getName()); }*/ return getDirectoryService().findDirectoryById(directoryId); } }