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

+ abstract translator improvements

parent 6d7704bc
Loading
Loading
Loading
Loading
+20 −21
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ import org.etsi.mts.tdl.tdlFactory;
public abstract class AbstractTranslator {
	private Package generatedPackage;
	protected SimpleDataType stringType;
	protected Resource targetResource;
	private Resource targetResource;
	protected SimpleDataType referencedType;
	protected boolean useQualifiers = true;

@@ -25,15 +25,7 @@ public abstract class AbstractTranslator {
		super();
	}

	protected abstract Resource createTargetResource(String filename);
	
	@SuppressWarnings("unused")
	private void initTargetResource(String source, Package p) {
		initTargetResource(source, p, "tdlan2");
	}

	protected void initTargetResource(String source, String name, String extension) {
		targetResource = createTargetResource(source+"-data."+extension);
	public void initTargetResource(String name) {
		generatedPackage = tdlFactory.eINSTANCE.createPackage();
		generatedPackage.setName("generated_from_"+name);
		targetResource.getContents().add(generatedPackage);
@@ -41,20 +33,11 @@ public abstract class AbstractTranslator {
		referencedType = getSimpleDataTypeFor("TODO_RESOLVE_REFERENCED");
	}
	
	protected void initTargetResource(String source, Package p, String extension) {
		targetResource = createTargetResource(source+"-data."+extension);
		generatedPackage = tdlFactory.eINSTANCE.createPackage();
		generatedPackage.setName("generated_from_"+p.getName());
		targetResource.getContents().add(generatedPackage);
	
	public void addImports(Package p) {
		generatedPackage.getImport().addAll(p.getImport());
		
		ElementImport sourceImport = tdlFactory.eINSTANCE.createElementImport();
		sourceImport.setImportedPackage(p);
		generatedPackage.getImport().add(sourceImport);
		
		stringType = getSimpleDataTypeFor("String");
		referencedType = getSimpleDataTypeFor("TODO_RESOLVE_REFERENCED");
	}

	protected SimpleDataType getSimpleDataTypeFor(String name) {
@@ -91,7 +74,7 @@ public abstract class AbstractTranslator {
		return generatedType;
	}

	protected String cleanName(String name) {
	public String cleanName(String name) {
		//TODO: use keywords filter?
		if (name.equals("Message") || name.equals("Time") || name.equals("type") || name.equals("name") ) {
			name = "^"+name;
@@ -147,4 +130,20 @@ public abstract class AbstractTranslator {
		return optional;
	}

	public Resource getTargetResource() {
		return targetResource;
	}

	public void setTargetResource(Resource targetResource) {
		this.targetResource = targetResource;
	}

	public Package getGeneratedPackage() {
		return generatedPackage;
	}

	public void setGeneratedPackage(Package generatedPackage) {
		this.generatedPackage = generatedPackage;
	}

}
 No newline at end of file