Commit 9cec8f16 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+updated label provider for parameter bindings



Change-Id: Ibc7130f402c247ad0de7076e1488b103df3bd069
Signed-off-by: default avatarmakedonski <makedonski@informatik.uni-goettingen.de>
parent 06fcdc3a
Loading
Loading
Loading
Loading
+35 −2
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ public class DataUseLabelProvider {

		try {  
			if (u instanceof ActionReference) {
				for (DataUse b : ((ActionReference)u).getActualParameter()) {
				for (ParameterBinding b : ((ActionReference)u).getActualParameter()) {
					s += separator + serialise(u, b);
				}
				if (s.length()>0) {
@@ -77,7 +77,7 @@ public class DataUseLabelProvider {
						s=s.substring(separator.length());
					}
				} else if (type.equals("parameters")) {
					for (DataUse b : ((TestDescriptionReference)u).getActualParameter()) {
					for (ParameterBinding b : ((TestDescriptionReference)u).getActualParameter()) {
						s+=separator+serialise(u, b);
					}
					if (s.length()>0) {
@@ -98,6 +98,39 @@ public class DataUseLabelProvider {
		return s;
	}

	@SuppressWarnings("restriction")
	public String serialise(EObject o, ParameterBinding p) {
		Injector injector = new DataStandaloneSetup().createInjectorAndDoEMFRegistration();
		String s = "";
		ISerializer serializer = injector.getInstance(ISerializer.class);
		
		XtextResource xr = null;
		try {  
			if (p instanceof ParameterBinding) {
				
				if (!(p.eResource() instanceof XtextResource)) {
					URI uri = p.eResource().getURI();
					p  = EcoreUtil.copy(p);
					xr = createVirtualXtextResource(uri, p);
				}
				
				SaveOptions options = SaveOptions.newBuilder().noValidation().getOptions();
				s += serializer.serialize((ParameterBinding)p, options);
			}
		} catch (Exception ex) { // fall back:  
			System.out.println("Object could not be serialized"); 
			System.err.println(ex);
			ex.printStackTrace();
			
		} finally {
			if (xr != null)
				xr.unload();
		}
		
		return s;
	}

	
	@SuppressWarnings("restriction")
	public String serialise(EObject o, DataUse u) {
		Injector injector = new DataStandaloneSetup().createInjectorAndDoEMFRegistration();