//This product is provided under the terms of EPL (Eclipse Public License) //version 1.0. // //The full license text can be read from: http://www.eclipse.org/org/documents/epl-v10.php package org.dtangler.swingui.mainview.impl; import org.dtangler.core.configuration.Arguments; import org.dtangler.core.dependencyengine.DependencyEngineFactory; import org.dtangler.swingui.aboutinfodisplayer.AboutInfoDisplayer; import org.dtangler.swingui.actionfactory.ActionFactory; import org.dtangler.swingui.dsm.DsmViewFactory; import org.dtangler.swingui.dsm.SwingDsm; import org.dtangler.swingui.fileinput.FileInputSelector; import org.dtangler.swingui.fileselector.FileSelector; import org.dtangler.swingui.mainview.MainViewFactory; import org.dtangler.swingui.rulesselector.RulesSelector; import org.dtangler.swingui.windowmanager.DialogManager; import org.dtangler.swingui.windowmanager.WindowManager; public class MainViewFactoryImpl implements MainViewFactory { private final DsmViewFactory dsmViewFactory; private final FileInputSelector inputSelector; private final WindowManager windowManager; private final RulesSelector rulesSelector; private final AboutInfoDisplayer aboutInfoDisplayer; private final FileSelector fileSelector; private final DialogManager dialogManager; private final DependencyEngineFactory dependencyEngineFactory; public MainViewFactoryImpl(DsmViewFactory dsmViewFactory, FileInputSelector inputSelector, RulesSelector rulesSelector, FileSelector fileSelector, WindowManager windowManager, AboutInfoDisplayer aboutInfoDisplayer, DialogManager dialogManager, DependencyEngineFactory dependencyEngineFactory) { this.dsmViewFactory = dsmViewFactory; this.rulesSelector = rulesSelector; this.inputSelector = inputSelector; this.fileSelector = fileSelector; this.windowManager = windowManager; this.aboutInfoDisplayer = aboutInfoDisplayer; this.dialogManager = dialogManager; this.dependencyEngineFactory = dependencyEngineFactory; } public void openMainView(Arguments arguments) { ActionFactory actionfactory = new ActionFactory(); SwingDsm swingDsm = dsmViewFactory.createSwingDsm(); SwingMainView view = new SwingMainView(actionfactory, swingDsm .getView()); ConfigurationModel configModel = new ConfigurationModel(fileSelector, dialogManager, arguments); MainViewModel model = new DefaultMainViewModel(swingDsm.getModel(), configModel, inputSelector, rulesSelector, dependencyEngineFactory); MainViewPresenter presenter = new MainViewPresenter(model, view); new MainViewGlue(actionfactory, presenter, model, windowManager, view, aboutInfoDisplayer); windowManager.showMainView(view); } }