Commit c345caf4 authored by Martti Käärik's avatar Martti Käärik
Browse files

Mark generated TDL files as derived and don't run OCL validation on them.

parent 2e220c1d
Loading
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -2,8 +2,8 @@ package org.etsi.mts.tdl.helper;



import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
@@ -16,7 +16,9 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceVisitor;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.URI;
@@ -43,7 +45,6 @@ import org.etsi.mts.tdl.TDLtxStandaloneSetup;
import org.etsi.mts.tdl.TDLtxiStandaloneSetup;
import org.etsi.mts.tdl.TPLan2StandaloneSetup;
import org.etsi.mts.tdl.impl.tdlPackageImpl;
import org.etsi.mts.tdl.resources.ResourceHandler;
import org.etsi.mts.tdl.structuredobjectives.impl.StructuredObjectivesPackageImpl;
import org.osgi.framework.Bundle;

@@ -141,10 +142,23 @@ public class TDLHelper {
	 * @param resource A resource to be saved.
	 * @throws Exception 
	 */
	public static void store(Resource resource) throws Exception {
	public static void store(Resource resource, boolean derived) throws Exception {
		if (derived) {
			IFile file = resourceToFile(resource);
			if (file != null) {
				if (!file.exists())
					file.create(new ByteArrayInputStream(new byte[0]), false, null);
				file.setDerived(derived, new NullProgressMonitor());
			}
		}
		resource.save(Collections.emptyMap());
	}
	
	public static IFile resourceToFile(Resource resource) {
		URI uri = resource.getURI();
		return ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(uri.toPlatformString(true)));
	}


	/**
	 * Get textual representation of resource contents.  
+2 −1
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@ Require-Bundle: org.eclipse.ui,
 org.etsi.mts.tdl.openapi2tdl.next,
 org.etsi.mts.tdl.to2tdl,
 org.etsi.mts.tdl.json2tdl,
 org.etsi.mts.tdl.yang2tdl
 org.etsi.mts.tdl.yang2tdl,
 org.etsi.mts.tdl.helper
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.emf.common.util
Bundle-RequiredExecutionEnvironment: JavaSE-11
+3 −2
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import org.eclipse.xtext.resource.XtextResourceSet;
import org.eclipse.xtext.ui.resource.IResourceSetProvider;
import org.etsi.mts.tdl.Package;
import org.etsi.mts.tdl.asn2tdl.ASN2TDLTranslator;
import org.etsi.mts.tdl.helper.TDLHelper;
import org.etsi.mts.tdl.json2tdl.JSON2TDLTranslator;
import org.etsi.mts.tdl.openapi2tdl.next.OpenAPI2TDLTranslatorNext;
import org.etsi.mts.tdl.to2tdl.TO2TDLTranslator;
@@ -163,7 +164,7 @@ public class TranslationHandler extends AbstractHandler {
				}
				if (translator != null) {
					translator.setTargetResource(tr);
					translator.initTargetResource(translator.cleanName(file.getName()));
					translator.initTargetResource(translator.getCleanName(file.getName()));
					try {
						translator.translate(filepath);
					} catch (Exception e) {
@@ -189,7 +190,7 @@ public class TranslationHandler extends AbstractHandler {
				//tr.getContents().addAll(EcoreUtil.copyAll(r.getContents()));

				try {
					tr.save(null);
					TDLHelper.store(tr, true);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ public class ConverterNext {
			translator.initTargetResource(translator.cleanName(new File(inputPath).getName()));
			translator.translate(inputPath);
			name = ((Package) tr.getContents().get(0)).getName();
			TDLHelper.store(tr);
			TDLHelper.store(tr, true);
		} catch (Exception e) {
			e.printStackTrace();
		}
+2 −2
Original line number Diff line number Diff line
@@ -301,7 +301,7 @@ public class Standalone {
		try {
			Resource target = TDLHelper.create(resource.getURI().path() + "." + targetExtension);
			target.getContents().addAll(EcoreUtil.copyAll(resource.getContents()));
			TDLHelper.store(target);
			TDLHelper.store(target, true);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
@@ -314,7 +314,7 @@ public class Standalone {
			translator.setTargetResource(TDLHelper.create(source.getAbsolutePath()+"-generated."+targetExtension));
			translator.initTargetResource(translator.cleanName(source.getName()));
			translator.translate(source.getAbsolutePath());
			TDLHelper.store(translator.getTargetResource());
			TDLHelper.store(translator.getTargetResource(), true);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
Loading