Class WorkspaceProjectContext


  • @ApplicationScoped
    public class WorkspaceProjectContext
    extends Object

    Project context contains the active organizational unit, project, module, and package (referred to as the "active unit" henceforth). This context represents the active unit currently displayed in the UI by this workbench instance. If a screen or perspective that displays an active unit is shown or hidden, it is that screen's responsibility (or that of a related component) to fire a WorkspaceProjectContextChangeEvent to alter the context. This context should NOT directly observe deletion events. Instead it should be the relevant UI components job to observe such events and react (likely by closing themselves, and changing the active unit in this context).

    Each field can be null, then there is nothing active.

    Only the WorkspaceProjectContextChangeEvent can change this and after each change we need to alert the change handlers.

    • Constructor Detail

      • WorkspaceProjectContext

        public WorkspaceProjectContext()
      • WorkspaceProjectContext

        @Inject
        public WorkspaceProjectContext​(javax.enterprise.event.Event<org.guvnor.common.services.project.context.WorkspaceProjectContextChangeEvent> contextChangeEvent)
    • Method Detail

      • onOrganizationalUnitUpdated

        public void onOrganizationalUnitUpdated​(@Observes
                                                org.guvnor.structure.organizationalunit.UpdatedOrganizationalUnitEvent event)
      • onModuleUpdated

        public void onModuleUpdated​(@Observes
                                    org.guvnor.common.services.project.events.ModuleUpdatedEvent moduleUpdatedEvent)
      • onProjectContextChanged

        public void onProjectContextChanged​(@Observes
                                            org.guvnor.common.services.project.context.WorkspaceProjectContextChangeEvent event)
      • getActiveRepositoryRoot

        public Optional<org.uberfire.backend.vfs.Path> getActiveRepositoryRoot()
      • setActiveOrganizationalUnit

        protected void setActiveOrganizationalUnit​(org.guvnor.structure.organizationalunit.OrganizationalUnit activeOrganizationalUnit)
      • getActiveOrganizationalUnit

        public Optional<org.guvnor.structure.organizationalunit.OrganizationalUnit> getActiveOrganizationalUnit()
      • setActiveWorkspaceProject

        protected void setActiveWorkspaceProject​(org.guvnor.common.services.project.model.WorkspaceProject activeWorkspaceProject)
      • getActiveWorkspaceProject

        public Optional<org.guvnor.common.services.project.model.WorkspaceProject> getActiveWorkspaceProject()
      • getActiveModule

        public Optional<org.guvnor.common.services.project.model.Module> getActiveModule()
      • setActiveModule

        protected void setActiveModule​(org.guvnor.common.services.project.model.Module activeModule)
      • getActivePackage

        public Optional<org.guvnor.common.services.project.model.Package> getActivePackage()
      • setActivePackage

        protected void setActivePackage​(org.guvnor.common.services.project.model.Package activePackage)
      • addChangeHandler

        public org.guvnor.common.services.project.context.ProjectContextChangeHandle addChangeHandler​(org.guvnor.common.services.project.context.WorkspaceProjectContextChangeHandler changeHandler)
      • removeChangeHandler

        public void removeChangeHandler​(org.guvnor.common.services.project.context.ProjectContextChangeHandle projectContextChangeHandle)
      • updateProjectModule

        public void updateProjectModule​(org.guvnor.common.services.project.model.Module module)