blob: 11106117a0da8eefe5573c9c21ba6a8494639cb7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004-2008 Akos Horvath, Gergely Varro and Daniel Varro
* 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:
* Akos Horvath, Gergely Varro - initial API and implementation
*******************************************************************************/
package org.eclipse.viatra2.gtasm.patternmatcher.impl.gtmatcher.extension;
import org.eclipse.core.runtime.Plugin;
import org.osgi.framework.BundleContext;
/**
* The activator class for the GtMatcher. Holds the references for the alternative pattern matcher
* @author Akos Horvath
*
*/
public class VIATRAGTMatcherPlugin extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.viatra2.gtasm.patternmatcher.impl";
//Extension points
// public static final String PATTERN_MATCHER_EXT_ID = "org.eclipse.viatra2.gtasm.patternmatcher.impl.alternativepatternmatcher";
//
// public static final String INCREMENTAL_PM_FACTORY_ID="org.eclipse.viatra2.gtasm.patternmatcher.incremental.alternativeGTmatcher";
// // public static final String INCREMENTAL_PARALlEL_PM_FACTORY_ID="org.eclipse.viatra2.gtasm.patternmatcher.incremental.parallel.alternativeGTmatcher";
// // public static final String LOCAL_PM_FACTORY_ID = "org.eclipse.viatra2.local_search";
// public static final String DEFAULT_ALTERNATIVE_PM_FACTORY_ID = INCREMENTAL_PM_FACTORY_ID;
// The shared instance
private static VIATRAGTMatcherPlugin plugin;
/**
* The constructor
*/
public VIATRAGTMatcherPlugin() {
plugin = this;
}
/*
* (non-Javadoc)
* @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
*/
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
}
/*
* (non-Javadoc)
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
*/
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static VIATRAGTMatcherPlugin getDefault() {
return plugin;
}
// /** PATTERN MATCHER FACTORIES*/
// private Map<String,IAlternativePatternMatcherFactory> patternMatcherFactories;
//
// public Map<String,IAlternativePatternMatcherFactory> getPatternMatcherFactories()
// {
// if (patternMatcherFactories==null)
// {
// patternMatcherFactories = initPatternMatcherFactories();
// }
// return patternMatcherFactories;
// }
//
// /** Returns the pattern matcher registered with the input id
// * @param id The id of the registered patternMatcher plugin id
// * @return the IAlternativePatternMatcherFactory for the patternMatcher
// */
// public IAlternativePatternMatcherFactory getPatternMatcherFactory(String id){
// if (patternMatcherFactories==null)
// {
// patternMatcherFactories = initPatternMatcherFactories();
// }
// return patternMatcherFactories.containsKey(id)? patternMatcherFactories.get(id): null;
// }
//
//
// private Map<String,IAlternativePatternMatcherFactory> initPatternMatcherFactories()
// {
// IExtensionRegistry reg = Platform.getExtensionRegistry();
// IExtensionPoint poi = reg.getExtensionPoint(PATTERN_MATCHER_EXT_ID);
// HashMap<String,IAlternativePatternMatcherFactory> r = new HashMap<String,IAlternativePatternMatcherFactory>();
// if (poi==null) return r;
// IExtension[] exts = poi.getExtensions();
// for (int i=0;i<exts.length;i++)
// {
// IConfigurationElement[] el = exts[i].getConfigurationElements();
// for (int j=0;j<el.length;j++)
// {
// try
// {
// Object o = el[j].createExecutableExtension("class");
// if (o instanceof IAlternativePatternMatcherFactory)
// {String id = el[j].getAttribute("id");
// r.put(id,(IAlternativePatternMatcherFactory)o);
// }
// }
// catch (Exception e)
// {
// e.printStackTrace();
// }
// }
// }
// return r;
// }
//
// /** Checks if there is a registered pattern matcher on the plugin
// * @return
// */
// public Boolean hasAlternativePatternMatcher(){
// if (patternMatcherFactories==null)
// {
// patternMatcherFactories = initPatternMatcherFactories();
// }
// return patternMatcherFactories.size() > 0;
// }
}