package rocks.inspectit.ui.rcp; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.ui.application.IWorkbenchConfigurer; import org.eclipse.ui.application.IWorkbenchWindowConfigurer; import org.eclipse.ui.application.WorkbenchAdvisor; import org.eclipse.ui.application.WorkbenchWindowAdvisor; import rocks.inspectit.ui.rcp.ci.listener.impl.InstrumentationUpdateListener; import rocks.inspectit.ui.rcp.job.CheckNewVersionJob; import rocks.inspectit.ui.rcp.perspective.AnalyzePerspective; /** * Our extension to the {@link WorkbenchAdvisor} where we define the workbench related things like * default perspective, unchecked exceptions handling, etc. * * @author Ivan Senic * */ public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor { /** * {@inheritDoc} */ @Override public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { return new ApplicationWorkbenchWindowAdvisor(configurer); } /** * {@inheritDoc} */ @Override public void initialize(IWorkbenchConfigurer configurer) { super.initialize(configurer); // save the state of the application regarding its position etc. configurer.setSaveAndRestore(true); } /** * {@inheritDoc} */ @Override public void postStartup() { super.postStartup(); // fire up the auto new version check Job checkNewVersionJob = new CheckNewVersionJob(false); checkNewVersionJob.schedule(); // register the instr. update listener InstrumentationUpdateListener updateListener = new InstrumentationUpdateListener(); InspectIT.getDefault().getInspectITConfigurationInterfaceManager().addAgentMappingsChangeListener(updateListener); InspectIT.getDefault().getInspectITConfigurationInterfaceManager().addEnvironmentChangeListener(updateListener); InspectIT.getDefault().getInspectITConfigurationInterfaceManager().addProfileChangeListener(updateListener); } /** * {@inheritDoc} */ @Override public String getInitialWindowPerspectiveId() { return AnalyzePerspective.PERSPECTIVE_ID; } }