package fi.otavanopisto.muikku.plugins.workspace; import java.util.logging.Logger; import javax.enterprise.event.Observes; import javax.enterprise.event.TransactionPhase; import javax.inject.Inject; import fi.otavanopisto.muikku.model.workspace.WorkspaceEntity; import fi.otavanopisto.muikku.plugins.workspace.model.WorkspaceRootFolder; import fi.otavanopisto.muikku.schooldata.WorkspaceEntityController; import fi.otavanopisto.muikku.schooldata.events.SchoolDataWorkspaceDiscoveredEvent; public class WorkspaceSchoolDataWorkspaceListener { @Inject private Logger logger; @Inject private WorkspaceMaterialController workspaceMaterialController; @Inject private WorkspaceEntityController workspaceEntityController; public void onSchoolDataWorkspaceUserDiscoveredEvent(@Observes (during = TransactionPhase.BEFORE_COMPLETION) SchoolDataWorkspaceDiscoveredEvent event) { WorkspaceEntity workspaceEntity = workspaceEntityController.findWorkspaceByDataSourceAndIdentifier(event.getDataSource(), event.getIdentifier()); if (workspaceEntity != null) { WorkspaceRootFolder rootFolder = workspaceMaterialController.findWorkspaceRootFolderByWorkspaceEntity(workspaceEntity); if (rootFolder == null) { workspaceMaterialController.createWorkspaceRootFolder(workspaceEntity); } } else { logger.warning("could not init workspace root folder because workspace entity #" + event.getIdentifier() + '/' + event.getDataSource() + " could not be found"); } } }