package fi.otavanopisto.muikku.plugins.workspace; import java.util.List; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.event.Observes; import javax.inject.Inject; import fi.otavanopisto.muikku.plugins.material.events.HtmlMaterialDeleteEvent; import fi.otavanopisto.muikku.plugins.material.model.Material; import fi.otavanopisto.muikku.plugins.workspace.model.WorkspaceMaterial; @ApplicationScoped public class WorkspaceHtmlMaterialDeleteListener { @Inject private WorkspaceMaterialController workspaceMaterialController; public void onHtmlMaterialDelete(@Observes HtmlMaterialDeleteEvent htmlMaterialDeleteEvent) throws WorkspaceMaterialContainsAnswersExeption { // TODO: This should not be limited to html materials Material material = htmlMaterialDeleteEvent.getMaterial(); List<WorkspaceMaterial> workspaceMaterials = workspaceMaterialController.listWorkspaceMaterialsByMaterial(material); for (WorkspaceMaterial workspaceMaterial : workspaceMaterials) { workspaceMaterialController.deleteWorkspaceMaterial(workspaceMaterial, htmlMaterialDeleteEvent.getRemoveAnswers()); } } }