package fi.otavanopisto.muikku.plugins.seeker.defaultproviders; import java.util.Map; import javax.inject.Inject; import fi.otavanopisto.muikku.i18n.LocaleController; import fi.otavanopisto.muikku.model.users.UserEntity; import fi.otavanopisto.muikku.plugins.seeker.SeekerResult; import fi.otavanopisto.muikku.plugins.seeker.SeekerResultParser; import fi.otavanopisto.muikku.session.SessionController; import fi.otavanopisto.muikku.users.UserEntityController; public class UserSeekerResultParser implements SeekerResultParser { @Inject private LocaleController localeController; @Inject private SessionController sessionController; @Inject private UserEntityController userEntityController; @Override public String getIndexType() { return "User"; } @Override public SeekerResult parse(Map<String, Object> entry) { String caption = localeController.getText(sessionController.getLocale(), "plugin.seeker.category.users"); StringBuilder labelBuilder = new StringBuilder(); if (entry.containsKey("firstName")) { labelBuilder.append(entry.get("firstName")); } if (entry.containsKey("lastName")) { if (labelBuilder.length() > 0) { labelBuilder.append(' '); } labelBuilder.append(entry.get("lastName")); } // TODO: Validate String[] id = ((String) entry.get("id")).split("/", 2); UserEntity userEntity = userEntityController.findUserEntityByDataSourceAndIdentifier(id[1], id[0]); if (userEntity != null) return new UserSeekerResult(labelBuilder.toString(), caption, "/user/" + userEntity.getId(), "/tmp/userprofile.png"); //TODO: remove image url else return null; } }