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

* an alternative attempt at disambiguation of identical names (does not work fully yet)

parent cfb4816e
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
package org.etsi.mts.tdl.yang2tdl;

import java.io.File;
import java.util.ArrayList;

import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.etsi.mts.tdl.PackageableElement;
import org.etsi.mts.tdl.helper.TDLHelper;

public class YANGConverter {
@@ -21,12 +24,30 @@ public class YANGConverter {
		Yang2TDLTranslator translator = new Yang2TDLTranslator();
		String content = "Package imported {}";
		try {
//			Resource tr = TDLHelper.create(outputPath+".tdl");
			Resource tr = TDLHelper.create(outputPath);
			translator.setTargetResource(tr);
			translator.initTargetResource(translator.cleanName(new File(inputPath).getName()));
			translator.translate(inputPath);
			//update non-unique names
			//TODO: does not quite work yet
			//TODO: references not updated?
//			int s = 0;
//			ArrayList<String> names = new ArrayList<String>();
//			for (PackageableElement e : translator.getGeneratedPackage().getPackagedElement()) {
//				if (names.contains(e.getName()) ) {
//					e.setName(e.getName()+s);
//					s++;
//				} 
//				names.add(e.getName());
//			}
			content = TDLHelper.getText(tr);
			tr.save(null);
			TDLHelper.store(tr);
//			Resource tdl = TDLHelper.load(outputPath+".tdl");
//			Resource tdltx = TDLHelper.create(outputPath);
//			tdltx.getContents().addAll(EcoreUtil.copyAll(tdl.getContents()));
//			content = TDLHelper.getText(tdltx);
//			TDLHelper.store(tdltx);
		} catch (Exception e) {
			e.printStackTrace();
		}