package com.thingtrack.konekti.view.web.workbench.ui; import java.util.List; import com.thingtrack.konekti.domain.Configuration; import com.thingtrack.konekti.domain.User; import com.thingtrack.konekti.view.kernel.IMenuManager; import com.thingtrack.konekti.view.kernel.IToolbarManager; import com.thingtrack.konekti.view.kernel.IWorkbenchContext; public class WorkbenchContext implements IWorkbenchContext { private User user; private List<Configuration> configurations; private IMenuManager menuManager; private IToolbarManager toolbarManager; private ResourceManager resourceManager; public WorkbenchContext(User user, List<Configuration> configurations, IMenuManager menuManager, IToolbarManager toolbarManager, ResourceManager resourceManager) { this.user = user; this.configurations = configurations; this.menuManager = menuManager; this.toolbarManager = toolbarManager; this.resourceManager = resourceManager; } @Override public User getUser(){ return user; } @Override public Configuration getConfiguration(String tag) throws Exception { for(Configuration configuration : configurations) { if (configuration.getTag().equals(tag)) return configuration; } throw new Exception("Not exist any configuration for this " + tag + "!"); } @Override public IMenuManager getMenuManager() { return menuManager; } @Override public IToolbarManager getToolbarManager() { return toolbarManager; } @Override public void openBundle(String bundleSymbolicName, String bundleVersion) throws Exception { com.thingtrack.konekti.view.web.workbench.ui.ResourceManager.Resource resource = resourceManager.getResource(bundleSymbolicName + "#" + bundleVersion); if (resource == null) throw new Exception("¡No se pudo abrir el bundle con nombre: " + bundleSymbolicName + "; versión: " + bundleVersion + "!"); resource.getMenu().getCommand().menuSelected(null); } }