/** * Create an 'empty' BootDashViewModel with no run targets. Targets can be added by adding them to * the runTarget's LiveSet. */ public BootDashViewModel(BootDashModelContext context, RunTargetType... runTargetTypes) { runTargets = new LiveSet<RunTarget>(new LinkedHashSet<RunTarget>()); models = new BootDashModelManager(context, runTargets); manager = new RunTargetPropertiesManager(context, runTargetTypes); List<RunTarget> existingtargets = manager.getStoredTargets(); runTargets.addAll(existingtargets); runTargets.addListener(manager); this.runTargetTypes = new LinkedHashSet<RunTargetType>(Arrays.asList(runTargetTypes)); filterBox = new TagFilterBoxModel(); toggleFiltersModel = new ToggleFiltersModel(); filter = Filters.compose(filterBox.getFilter(), toggleFiltersModel.getFilter()); devtoolsProcessTracker = DevtoolsUtil.createProcessTracker(this); }