blob: 54c5cc8d5a0d371c5f0e666ff750b50e505bb374 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2006 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.j2ee.internal;
import java.lang.reflect.Method;
import org.eclipse.core.runtime.jobs.ILock;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.ecore.EFactory;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.jst.j2ee.application.ApplicationFactory;
import org.eclipse.jst.j2ee.application.ApplicationPackage;
import org.eclipse.jst.j2ee.application.internal.impl.ApplicationPackageImpl;
import org.eclipse.jst.j2ee.application.internal.impl.ApplicationResourceFactory;
import org.eclipse.jst.j2ee.client.ClientFactory;
import org.eclipse.jst.j2ee.client.ClientPackage;
import org.eclipse.jst.j2ee.client.internal.impl.ApplicationClientResourceFactory;
import org.eclipse.jst.j2ee.client.internal.impl.ClientPackageImpl;
import org.eclipse.jst.j2ee.common.CommonFactory;
import org.eclipse.jst.j2ee.common.CommonPackage;
import org.eclipse.jst.j2ee.common.internal.impl.CommonPackageImpl;
import org.eclipse.jst.j2ee.ejb.EjbFactory;
import org.eclipse.jst.j2ee.ejb.EjbPackage;
import org.eclipse.jst.j2ee.ejb.internal.impl.EJBJarResourceFactory;
import org.eclipse.jst.j2ee.ejb.internal.impl.EjbFactoryImpl;
import org.eclipse.jst.j2ee.ejb.internal.impl.EjbPackageImpl;
import org.eclipse.jst.j2ee.ejb.internal.util.EJBAttributeMaintenanceFactoryImpl;
import org.eclipse.jst.j2ee.internal.xml.J2EEXmlDtDEntityResolver;
import org.eclipse.jst.j2ee.jca.JcaFactory;
import org.eclipse.jst.j2ee.jca.JcaPackage;
import org.eclipse.jst.j2ee.jca.internal.impl.ConnectorResourceFactory;
import org.eclipse.jst.j2ee.jca.internal.impl.JcaPackageImpl;
import org.eclipse.jst.j2ee.jsp.JspFactory;
import org.eclipse.jst.j2ee.jsp.JspPackage;
import org.eclipse.jst.j2ee.jsp.internal.impl.JspPackageImpl;
import org.eclipse.jst.j2ee.taglib.internal.TaglibFactory;
import org.eclipse.jst.j2ee.taglib.internal.TaglibPackage;
import org.eclipse.jst.j2ee.taglib.internal.impl.TaglibPackageImpl;
import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
import org.eclipse.jst.j2ee.webapplication.internal.impl.WebAppResourceFactory;
import org.eclipse.jst.j2ee.webapplication.internal.impl.WebapplicationPackageImpl;
import org.eclipse.jst.j2ee.webservice.internal.wsdd.WsddResourceFactory;
import org.eclipse.jst.j2ee.webservice.jaxrpcmap.JaxrpcmapFactory;
import org.eclipse.jst.j2ee.webservice.jaxrpcmap.JaxrpcmapPackage;
import org.eclipse.jst.j2ee.webservice.jaxrpcmap.JaxrpcmapResourceFactory;
import org.eclipse.jst.j2ee.webservice.wsclient.Webservice_clientFactory;
import org.eclipse.jst.j2ee.webservice.wsclient.Webservice_clientPackage;
import org.eclipse.jst.j2ee.webservice.wsclient.internal.impl.WebServicesClientResourceFactory;
//import org.eclipse.jst.j2ee.webservice.wsclient.internal.impl.Webservice_clientPackageImpl;
import org.eclipse.jst.j2ee.webservice.wscommon.WscommonFactory;
import org.eclipse.jst.j2ee.webservice.wscommon.WscommonPackage;
import org.eclipse.jst.j2ee.webservice.wscommon.internal.impl.WscommonPackageImpl;
import org.eclipse.jst.j2ee.webservice.wsdd.WsddFactory;
import org.eclipse.jst.j2ee.webservice.wsdd.WsddPackage;
import org.eclipse.jst.j2ee.webservice.wsdd.internal.impl.WsddPackageImpl;
import org.eclipse.wst.common.internal.emf.utilities.AdapterFactoryDescriptor;
import org.eclipse.wst.common.internal.emf.utilities.DOMUtilities;
import org.eclipse.wst.common.internal.emf.utilities.EncoderDecoderRegistry;
import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
import org.eclipse.wst.common.internal.emf.utilities.PasswordEncoderDecoder;
import org.eclipse.wst.common.internal.emf.utilities.Revisit;
import org.eclipse.jst.j2ee.core.internal.plugin.J2EECorePlugin;
import org.eclipse.jst.javaee.applicationclient.ApplicationclientFactory;
import org.eclipse.jst.javaee.applicationclient.internal.impl.ApplicationclientPackageImpl;
import org.eclipse.jst.javaee.applicationclient.internal.metadata.ApplicationclientPackage;
import org.eclipse.jst.javaee.core.JavaeeFactory;
import org.eclipse.jst.javaee.core.internal.impl.JavaeePackageImpl;
import org.eclipse.jst.javaee.core.internal.metadata.JavaeePackage;
import org.eclipse.jst.javaee.web.WebFactory;
import org.eclipse.jst.javaee.web.internal.impl.WebPackageImpl;
import org.eclipse.jst.javaee.web.internal.metadata.WebPackage;
import org.eclipse.jst.javaee.webapp.internal.impl.WebappPackageImpl;
import org.eclipse.jst.javaee.webapp.internal.metadata.WebappPackage;
import org.eclipse.jst.javaee.webfragment.internal.impl.WebfragmentPackageImpl;
import org.eclipse.jst.javaee.webfragment.internal.metadata.WebfragmentPackage;
/**
* Insert the type's description here.
* Creation date: (10/3/2000 3:07:37 PM)
* @author: Administrator
*/
public class J2EEInit {
static {
try {
if(Boolean.getBoolean("LOG_XERCES_VERSION")) { //$NON-NLS-1$
Class clz = ClassLoader.getSystemClassLoader().loadClass("org.apache.xerces.impl.Version"); //$NON-NLS-1$
Method main = clz.getDeclaredMethod("main", new Class[] { String[].class } ); //$NON-NLS-1$
Object version = clz.newInstance();
main.invoke(version, new Object[] { new String[] {} });
System.out.println(clz.getResource("Version.class")); //$NON-NLS-1$
}
} catch(Throwable t) {
J2EECorePlugin.logError(t);
}
}
protected static boolean initialized = false;
protected static boolean plugin_initialized = false;
private static boolean emfModelsInitialized = false;
public static void init() {
init(true);
}
public static void init(boolean shouldPreRegisterPackages) {
if (!initialized) {
initialized = true;
setDefaultEncoderDecoder();
DOMUtilities.setDefaultEntityResolver(J2EEXmlDtDEntityResolver.INSTANCE);
org.eclipse.jem.internal.java.init.JavaInit.init(shouldPreRegisterPackages);
if (shouldPreRegisterPackages){
preRegisterPackages();
preregisterJavaEEPackages();
}
initResourceFactories();
EjbFactoryImpl.internalRegisterEJBRelationAdapterFactory(new AdapterFactoryDescriptor() {
public AdapterFactory createAdapterFactory() {
return new EJBAttributeMaintenanceFactoryImpl();
}
});
EjbFactoryImpl.internalRegisterRelationshipsAdapterFactory(new AdapterFactoryDescriptor() {
public AdapterFactory createAdapterFactory() {
return new EJBAttributeMaintenanceFactoryImpl();
}
});
}
}
/**
* If the currently defaulted encoder is the initial pass thru encoder,
* then register a Password encoder for security; otherwise if a more sophisticated
* encoder is already registered, then do nothing.
*/
private static void setDefaultEncoderDecoder() {
EncoderDecoderRegistry reg = EncoderDecoderRegistry.getDefaultRegistry();
if (reg.getDefaultEncoderDecoder() == EncoderDecoderRegistry.INITIAL_DEFAULT_ENCODER) {
reg.setDefaultEncoderDecoder(new PasswordEncoderDecoder());
}
}
private static void preRegisterPackages() {
//common
ExtendedEcoreUtil.preRegisterPackage("common.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return CommonPackage.eINSTANCE;
}
public EFactory getEFactory() {
return CommonFactory.eINSTANCE;
}
});
//application
ExtendedEcoreUtil.preRegisterPackage("application.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return ApplicationPackage.eINSTANCE;
}
public EFactory getEFactory() {
return ApplicationFactory.eINSTANCE;
}
});
//client
ExtendedEcoreUtil.preRegisterPackage("client.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return ClientPackage.eINSTANCE;
}
public EFactory getEFactory() {
return ClientFactory.eINSTANCE;
}
});
//webapplication
ExtendedEcoreUtil.preRegisterPackage("webapplication.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return WebapplicationPackage.eINSTANCE;
}
public EFactory getEFactory() {
return WebapplicationFactory.eINSTANCE;
}
});
//ejb
ExtendedEcoreUtil.preRegisterPackage("ejb.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return EjbPackage.eINSTANCE;
}
public EFactory getEFactory() {
return EjbFactory.eINSTANCE;
}
});
//jca
ExtendedEcoreUtil.preRegisterPackage("jca.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return JcaPackage.eINSTANCE;
}
public EFactory getEFactory() {
return JcaFactory.eINSTANCE;
}
});
//webservicesclient
ExtendedEcoreUtil.preRegisterPackage("webservice_client.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return Webservice_clientPackage.eINSTANCE;
}
public EFactory getEFactory() {
return Webservice_clientFactory.eINSTANCE;
}
});
//webservicescommon
ExtendedEcoreUtil.preRegisterPackage("wscommon.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return WscommonPackage.eINSTANCE;
}
public EFactory getEFactory() {
return WscommonFactory.eINSTANCE;
}
});
//webservicesdd
ExtendedEcoreUtil.preRegisterPackage("wsdd.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return WsddPackage.eINSTANCE;
}
public EFactory getEFactory() {
return WsddFactory.eINSTANCE;
}
});
//jaxrpcmap
ExtendedEcoreUtil.preRegisterPackage("jaxrpcmap.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return JaxrpcmapPackage.eINSTANCE;
}
public EFactory getEFactory() {
return JaxrpcmapFactory.eINSTANCE;
}
});
// jsp
ExtendedEcoreUtil.preRegisterPackage("jsp.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return JspPackage.eINSTANCE;
}
public EFactory getEFactory() {
return JspFactory.eINSTANCE;
}
});
//taglib
ExtendedEcoreUtil.preRegisterPackage("taglib.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
public EPackage getEPackage() {
return TaglibPackage.eINSTANCE;
}
public EFactory getEFactory() {
return TaglibFactory.eINSTANCE;
}
});
}
private static void preregisterJavaEEPackages() {
ExtendedEcoreUtil.preRegisterPackage(JavaeePackage.eNS_URI, new EPackage.Descriptor() {
public EPackage getEPackage() {
return JavaeePackage.eINSTANCE;
}
public EFactory getEFactory() {
return JavaeeFactory.eINSTANCE;
}
});
ExtendedEcoreUtil.preRegisterPackage(EjbPackage.eNS_URI, new EPackage.Descriptor() {
public EPackage getEPackage() {
return EjbPackage.eINSTANCE;
}
public EFactory getEFactory() {
return EjbFactory.eINSTANCE;
}
});
ExtendedEcoreUtil.preRegisterPackage(WebPackage.eNS_URI, new EPackage.Descriptor() {
public EPackage getEPackage() {
return WebPackage.eINSTANCE;
}
public EFactory getEFactory() {
return WebFactory.eINSTANCE;
}
});
ExtendedEcoreUtil.preRegisterPackage(ApplicationPackage.eNS_URI, new EPackage.Descriptor() {
public EPackage getEPackage() {
return ApplicationPackage.eINSTANCE;
}
public EFactory getEFactory() {
return ApplicationFactory.eINSTANCE;
}
});
ExtendedEcoreUtil.preRegisterPackage(ApplicationclientPackage.eNS_URI, new EPackage.Descriptor() {
public EPackage getEPackage() {
return ApplicationclientPackage.eINSTANCE;
}
public EFactory getEFactory() {
return ApplicationclientFactory.eINSTANCE;
}
});
}
public static void initResourceFactories() {
//Make protected
Revisit.revisit();
EJBJarResourceFactory.registerDtds();
WebAppResourceFactory.registerDtds();
ApplicationClientResourceFactory.registerDtds();
ApplicationResourceFactory.registerDtds();
ConnectorResourceFactory.registerDtds();
WebServicesClientResourceFactory.registerDtds();
WsddResourceFactory.registerDtds();
JaxrpcmapResourceFactory.registerDtds();
}
public static void setPluginInit(boolean bPluginInit) {
// Here's where the configuration file would be read.
plugin_initialized = bPluginInit;
}
public static void initEMFModels()
{
if (!emfModelsInitialized)
{
emfModelsInitialized = true;
// put the following initialization on its own thread.
Thread j2eeEmfInitThread = new Thread(new Runnable(){
public void run()
{
// Obtain or create and register interdependencies
// Create package meta-data objects
// Initialize created meta-data
// Webservice_clientPackageImpl theWebservice_clientPackage = (Webservice_clientPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(Webservice_clientPackage.eNS_URI) instanceof Webservice_clientPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(Webservice_clientPackage.eNS_URI) : Webservice_clientPackage.eINSTANCE);
// theWebservice_clientPackage.createPackageContents();
// theWebservice_clientPackage.initializePackageContents();
CommonPackageImpl theCommonPackage = (CommonPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI) instanceof CommonPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI) : CommonPackage.eINSTANCE);
theCommonPackage.createPackageContents();
theCommonPackage.initializePackageContents();
JcaPackageImpl theJcaPackage = (JcaPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(JcaPackage.eNS_URI) instanceof JcaPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(JcaPackage.eNS_URI) : JcaPackage.eINSTANCE);
theJcaPackage.createPackageContents();
theJcaPackage.initializePackageContents();
JspPackageImpl theJspPackage = (JspPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(JspPackage.eNS_URI) instanceof JspPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(JspPackage.eNS_URI) : JspPackage.eINSTANCE);
theJspPackage.createPackageContents();
theJspPackage.initializePackageContents();
ClientPackageImpl theClientPackage = (ClientPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ClientPackage.eNS_URI) instanceof ClientPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ClientPackage.eNS_URI) : ClientPackage.eINSTANCE);
theClientPackage.createPackageContents();
theClientPackage.initializePackageContents();
ApplicationPackageImpl theApplicationPackage = (ApplicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ApplicationPackage.eNS_URI) instanceof ApplicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ApplicationPackage.eNS_URI) : ApplicationPackage.eINSTANCE);
theApplicationPackage.createPackageContents();
theApplicationPackage.initializePackageContents();
EjbPackageImpl theEjbPackage = (EjbPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EjbPackage.eNS_URI) instanceof EjbPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EjbPackage.eNS_URI) : EjbPackage.eINSTANCE);
theEjbPackage.createPackageContents();
theEjbPackage.initializePackageContents();
WscommonPackageImpl theWscommonPackage = (WscommonPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WscommonPackage.eNS_URI) instanceof WscommonPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WscommonPackage.eNS_URI) : WscommonPackage.eINSTANCE);
theWscommonPackage.createPackageContents();
theWscommonPackage.initializePackageContents();
WsddPackageImpl theWsddPackage = (WsddPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WsddPackage.eNS_URI) instanceof WsddPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WsddPackage.eNS_URI) : WsddPackage.eINSTANCE);
theWsddPackage.createPackageContents();
theWsddPackage.initializePackageContents();
WebapplicationPackageImpl theWebapplicationPackage = (WebapplicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WebapplicationPackage.eNS_URI) instanceof WebapplicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WebapplicationPackage.eNS_URI) : WebapplicationPackage.eINSTANCE);
theWebapplicationPackage.createPackageContents();
theWebapplicationPackage.initializePackageContents();
TaglibPackageImpl theTaglibPackage = (TaglibPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TaglibPackage.eNS_URI) instanceof TaglibPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TaglibPackage.eNS_URI) : TaglibPackage.eINSTANCE);
theTaglibPackage.createPackageContents();
theTaglibPackage.initializePackageContents();
}
});
j2eeEmfInitThread.start();
// put the following initialization on its own thread.
Thread javaeeEmfInitThread = new Thread(new Runnable(){
public void run()
{
// Obtain or create and register interdependencies
// Create package meta-data objects
// Initialize created meta-data
JavaeePackageImpl theJavaeePackage = (JavaeePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(JavaeePackage.eNS_URI) instanceof JavaeePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(JavaeePackage.eNS_URI) : JavaeePackage.eINSTANCE);
theJavaeePackage.createPackageContents();
theJavaeePackage.initializePackageContents();
org.eclipse.jst.javaee.jca.internal.impl.JcaPackageImpl theJcaPackage = (org.eclipse.jst.javaee.jca.internal.impl.JcaPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jst.javaee.jca.internal.metadata.JcaPackage.eNS_URI) instanceof org.eclipse.jst.javaee.jca.internal.impl.JcaPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jst.javaee.jca.internal.metadata.JcaPackage.eNS_URI) : org.eclipse.jst.javaee.jca.internal.metadata.JcaPackage.eINSTANCE);
theJcaPackage.createPackageContents();
theJcaPackage.initializePackageContents();
org.eclipse.jst.javaee.jsp.internal.impl.JspPackageImpl theJspPackage = (org.eclipse.jst.javaee.jsp.internal.impl.JspPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jst.javaee.jsp.internal.metadata.JspPackage.eNS_URI) instanceof org.eclipse.jst.javaee.jsp.internal.impl.JspPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jst.javaee.jsp.internal.metadata.JspPackage.eNS_URI) : org.eclipse.jst.javaee.jsp.internal.metadata.JspPackage.eINSTANCE);
theJspPackage.createPackageContents();
theJspPackage.initializePackageContents();
ApplicationclientPackageImpl theApplicationclientPackage = (ApplicationclientPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ApplicationclientPackage.eNS_URI) instanceof ApplicationclientPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ApplicationclientPackage.eNS_URI) : ApplicationclientPackage.eINSTANCE);
theApplicationclientPackage.createPackageContents();
theApplicationclientPackage.initializePackageContents();
org.eclipse.jst.javaee.application.internal.impl.ApplicationPackageImpl theApplicationPackage = (org.eclipse.jst.javaee.application.internal.impl.ApplicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage.eNS_URI) instanceof org.eclipse.jst.javaee.application.internal.impl.ApplicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage.eNS_URI) : org.eclipse.jst.javaee.application.internal.metadata.ApplicationPackage.eINSTANCE);
theApplicationPackage.createPackageContents();
theApplicationPackage.initializePackageContents();
org.eclipse.jst.javaee.ejb.internal.impl.EjbPackageImpl theEjbPackage = (org.eclipse.jst.javaee.ejb.internal.impl.EjbPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jst.javaee.ejb.internal.metadata.EjbPackage.eNS_URI) instanceof org.eclipse.jst.javaee.ejb.internal.impl.EjbPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(org.eclipse.jst.javaee.ejb.internal.metadata.EjbPackage.eNS_URI) : org.eclipse.jst.javaee.ejb.internal.metadata.EjbPackage.eINSTANCE);
theEjbPackage.createPackageContents();
theEjbPackage.initializePackageContents();
WebPackageImpl theWebPackage = (WebPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WebPackage.eNS_URI) instanceof WebPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WebPackage.eNS_URI) : WebPackage.eINSTANCE);
theWebPackage.createPackageContents();
theWebPackage.initializePackageContents();
WebappPackageImpl theWebappPackage = (WebappPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WebappPackage.eNS_URI) instanceof WebappPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WebappPackage.eNS_URI) : WebappPackage.eINSTANCE);
theWebappPackage.createPackageContents();
theWebappPackage.initializePackageContents();
WebfragmentPackageImpl theWebfragmentPackage = (WebfragmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WebfragmentPackage.eNS_URI) instanceof WebfragmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WebfragmentPackage.eNS_URI) : WebfragmentPackage.eINSTANCE);
theWebfragmentPackage.createPackageContents();
theWebfragmentPackage.initializePackageContents();
}
});
javaeeEmfInitThread.start();
}
}
private static ILock lock;
private static final long delay = 30;
private static ILock getLock() {
if (lock == null)
lock = Job.getJobManager().newLock();
return lock;
}
public static void releaseInitializePackageContentsLock() {
getLock().release();
}
public static boolean aquireInitializePackageContentsLock() throws InterruptedException{
return getLock().acquire(delay);
}
}