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.workspace.WorkspaceEntity; import fi.otavanopisto.muikku.plugins.seeker.SeekerResult; import fi.otavanopisto.muikku.plugins.seeker.SeekerResultParser; import fi.otavanopisto.muikku.schooldata.WorkspaceEntityController; import fi.otavanopisto.muikku.session.SessionController; public class WorkspaceSeekerResultParser implements SeekerResultParser { @Inject private LocaleController localeController; @Inject private SessionController sessionController; @Inject private WorkspaceEntityController workspaceEntityController; @Override public String getIndexType() { return "Workspace"; } @Override public SeekerResult parse(Map<String, Object> entry) { String caption = localeController.getText(sessionController.getLocale(), "plugin.seeker.category.courses"); String label = String.valueOf(entry.get("name")); // TODO: Validate String[] id = ((String) entry.get("id")).split("/", 2); WorkspaceEntity workspaceEntity = workspaceEntityController.findWorkspaceByDataSourceAndIdentifier(id[1], id[0]); if (workspaceEntity != null) return new WorkspaceSeekerResult(label, caption, "/workspace/" + workspaceEntity.getUrlName(), ""); else return null; } }