blob: 6cfe9b4ba8f5bf267d695b4ddb59fdc06a0baa9c [file] [log] [blame]
/**
* Copyright (c) 2011, 2014 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Florian Pirchner - Initial implementation
*/
package org.eclipse.osbp.dsl.entity.xtext.grammar.tests;
import javax.persistence.EntityManagerFactory;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
public class Activator implements BundleActivator {
public BundleContext context;
@Override
public void start(BundleContext context) throws Exception {
this.context = context;
}
@Override
public void stop(BundleContext context) throws Exception {
this.context = null;
}
/**
* Returns the entity manager factory or <code>null</code>.
*
* @return
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static EntityManagerFactory getEMF() {
BundleContext context = FrameworkUtil.getBundle(Activator.class)
.getBundleContext();
ServiceReference[] refs;
try {
refs = context.getServiceReferences(
EntityManagerFactory.class.getName(),
"(osgi.unit.name=dbDerby)");
if (refs != null) {
return (EntityManagerFactory) context.getService(refs[0]);
}
} catch (InvalidSyntaxException e) {
throw new RuntimeException(e);
}
return null;
}
}