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

Make Java mapping gen configurable.

parent 8a6d6e3f
Loading
Loading
Loading
Loading
+38 −30
Original line number Diff line number Diff line
@@ -126,7 +126,13 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator {
		}

		// Java mappings
		Package mappingsPackage = tdlFactory.eINSTANCE.createPackage();
		Package mappingsPackage = null;
		Package javaPackage = null;
		boolean generateJavaMappings = true;
		if (preferences != null)
			generateJavaMappings = preferences.getBoolean(PropertyPage.GENERATE_JAVA_MAPPING, false);
		if (generateJavaMappings) {
			mappingsPackage = tdlFactory.eINSTANCE.createPackage();
			mappingsPackage.setName("JavaMapping");
			getGeneratedPackage().getNestedPackage().add(mappingsPackage);
			ElementImport typesImport = tdlFactory.eINSTANCE.createElementImport();
@@ -137,7 +143,7 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator {
				tdlImport.setImportedPackage(theTdlPackage);
				mappingsPackage.getImport().add(tdlImport);
			}
		Package javaPackage = TDLHelper.getJavaPackage(getTargetResource());
			javaPackage = TDLHelper.getJavaPackage(getTargetResource());
			if (javaPackage != null) {
				ElementImport javaImport = tdlFactory.eINSTANCE.createElementImport();
				javaImport.setImportedPackage(javaPackage);
@@ -157,6 +163,7 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator {
					}
				}
			}
		}

		for (String schemaName : model.getComponents().getSchemas().keySet()) {
			Schema<?> schema = model.getComponents().getSchemas().get(schemaName);
@@ -165,6 +172,7 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator {
			//addMapping(schema, dataType, sourceMappingTag, targetMappingTag);
		}

		if (generateJavaMappings)
			addMappings(filename, mappingsPackage, drmTarget, javaPackage);

	}
+25 −5
Original line number Diff line number Diff line
@@ -20,8 +20,9 @@ import org.eclipse.ui.preferences.ScopedPreferenceStore;

public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenchPropertyPage {
	
	private static final String PREFIX = "Openapi2tdl.";
	public static final String PROCEDURE_BASED = PREFIX + "ProcedureBased",
	public static final String PROCEDURE_BASED = "ProcedureBased",
			GENERATE_JAVA_MAPPING = "GenerateJavaMapping",
			JAVA_GENERATOR = "JavaMappingGenerator",
			JAVA_API_PACKAGE = "JavaApiPackage";

	public static final String PREFERENCE_SCOPE = "org.etsi.mts.tdl.openapi2tdl";
@@ -32,6 +33,8 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc

	protected Map<FieldEditor, String> fields = new Hashtable<FieldEditor, String>();

	private StringFieldEditor javaApiPackage;

	public PropertyPage() {
		super(GRID);
	}
@@ -49,7 +52,9 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc
	@Override
	protected IPreferenceStore doGetPreferenceStore() {
		ProjectScope ps = new ProjectScope((IProject) this.element);
		return new ScopedPreferenceStore(ps, PREFERENCE_SCOPE);
		ScopedPreferenceStore scopedStore = new ScopedPreferenceStore(ps, PREFERENCE_SCOPE);
		scopedStore.setDefault(JAVA_GENERATOR, "java");
		return scopedStore;
	}

	@Override
@@ -63,6 +68,11 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc
	}

	protected void initialize(String name, String value, FieldEditor e) {
		if (name.equals(GENERATE_JAVA_MAPPING)) {
			javaApiPackage.setEnabled(
					Boolean.valueOf(value),
					getFieldEditorParent());
		}
	}

	@Override
@@ -78,7 +88,8 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc
			FieldEditor e = (FieldEditor) event.getSource();

			String name = e.getPreferenceName();
			String value = (String) event.getNewValue();
			Object valueObj = event.getNewValue();
			String value = valueObj.toString();

			fields.put(e, value);

@@ -102,7 +113,16 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc
		addField(procBased);
		
		parent = getFieldEditorParent();
		StringFieldEditor javaApiPackage = new StringFieldEditor(JAVA_API_PACKAGE, "Java API package", parent);
		BooleanFieldEditor genJavaMappings = new BooleanFieldEditor(GENERATE_JAVA_MAPPING, "Generate type mappings for Java", parent);
		addField(genJavaMappings);

		parent = getFieldEditorParent();
		StringFieldEditor javaGenerator = new StringFieldEditor(JAVA_GENERATOR, "Code generator for mappings", parent);
		javaGenerator.setEnabled(false, parent);
		addField(javaGenerator);

		parent = getFieldEditorParent();
		javaApiPackage = new StringFieldEditor(JAVA_API_PACKAGE, "Java API package", parent);
		addField(javaApiPackage);
		
		// TODO