package fi.otavanopisto.muikku.plugins.wall; 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.schooldata.WorkspaceEntityController; import fi.otavanopisto.muikku.schooldata.events.SchoolDataWorkspaceDiscoveredEvent; public class WallSchoolDataWorkspaceListener { @Inject private Logger logger; @Inject private WallController wallController; @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) { if (wallController.findWorkspaceWall(workspaceEntity) == null) { wallController.createWorkspaceWall(workspaceEntity); } } else { logger.warning("could not init workspace wall because workspace entity #" + event.getIdentifier() + '/' + event.getDataSource() + " could not be found"); } } }