/* ===================================================================== * Ocelotl Visualization Tool * ===================================================================== * * Ocelotl is a Framesoc plug in that enables to visualize a trace * overview by using aggregation techniques * * (C) Copyright 2013 INRIA * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Damien Dosimont <damien.dosimont@imag.fr> * Generoso Pagano <generoso.pagano@inria.fr> */ package fr.inria.soctrace.tools.ocelotl.ui.views.timelineview; import java.lang.reflect.InvocationTargetException; import org.eclipse.core.runtime.Platform; import org.osgi.framework.Bundle; import fr.inria.soctrace.tools.ocelotl.ui.views.OcelotlView; public class TimeLineViewManager { OcelotlView ocelotlView; public TimeLineViewManager(final OcelotlView ocelotlView) { super(); this.ocelotlView = ocelotlView; } public IAggregatedView create() { IAggregatedView timeLineView = null; try { final Bundle mybundle = Platform.getBundle(ocelotlView.getCore().getVisuOperators().getSelectedOperatorResource().getBundle()); timeLineView = (IAggregatedView) mybundle.loadClass(ocelotlView.getCore().getVisuOperators().getSelectedOperatorResource().getVisualization()).getDeclaredConstructor(OcelotlView.class).newInstance(ocelotlView); } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return timeLineView; } public IAggregatedView create(String aVisualization) { IAggregatedView timeLineView = null; try { final Bundle mybundle = Platform.getBundle(ocelotlView.getCore().getVisuOperators().getOperatorResource(aVisualization).getBundle()); timeLineView = (IAggregatedView) mybundle.loadClass(ocelotlView.getCore().getVisuOperators().getOperatorResource(aVisualization).getVisualization()).getDeclaredConstructor(OcelotlView.class).newInstance(ocelotlView); } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return timeLineView; } }