Commit b9bafaa8 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ fixed issues with standalone initialisation used in osgi

parent 6a59a8b0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -17,5 +17,6 @@ Require-Bundle: org.eclipse.xtext,
 org.etsi.mts.tdl.TPLan2,
 org.etsi.mts.tdl.tx,
 org.etsi.mts.tdl.txi,
 org.eclipse.emf.ecore
 org.eclipse.emf.ecore,
 org.eclipse.core.runtime
Export-Package: org.etsi.mts.tdl.helper
+17 −13
Original line number Diff line number Diff line
@@ -3,12 +3,12 @@ package org.etsi.mts.tdl.helper;


import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EValidator;
@@ -19,9 +19,7 @@ import org.eclipse.ocl.pivot.internal.delegate.OCLInvocationDelegateFactory;
import org.eclipse.ocl.pivot.internal.delegate.OCLSettingDelegateFactory;
import org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegateFactory;
import org.eclipse.ocl.xtext.essentialocl.EssentialOCLStandaloneSetup;
import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
import org.eclipse.xtext.resource.SaveOptions;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.resource.IResourceServiceProvider;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.eclipse.xtext.serializer.impl.Serializer;
import org.etsi.mts.tdl.TDLan2StandaloneSetup;
@@ -144,20 +142,26 @@ public class TDLHelper {
//		}
	}
	
	
	/**
	 * Setup and return an XtextResourceSet with TDLan2 file support.
	 * @return A new XtextResourceSet.
	 */
	public static XtextResourceSet getNewResourceSet() {
		if (!Platform.isRunning()) {
			new org.eclipse.emf.mwe.utils.StandaloneSetup().setPlatformUri("./");
			injector = new TDLan2StandaloneSetup().createInjectorAndDoEMFRegistration();
			injector = new TPLan2StandaloneSetup().createInjectorAndDoEMFRegistration();
			injector = new TDLtxiStandaloneSetup().createInjectorAndDoEMFRegistration();
			//TODO: can this be configurable? or does it preclude tdlan2 from being loaded?
			injector = new TDLtxStandaloneSetup().createInjectorAndDoEMFRegistration();
		} else {
			injector = IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(URI.createFileURI("t.tdltx")).get(Injector.class);
		}
//		XtextResourceSet resourceSet = new XtextResourceSet();
		XtextResourceSet resourceSet = injector.getInstance(XtextResourceSet.class);
		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
		//TODO: seems to cause some issues, make configurable?
//		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
//		resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.FALSE);
		return resourceSet;
	}