Loading plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/transform/AbstractTranslator.java +29 −2 Original line number Original line Diff line number Diff line package org.etsi.mts.tdl.transform; package org.etsi.mts.tdl.transform; import java.util.Collections; import java.util.HashSet; import java.util.HashSet; import java.util.List; import java.util.List; import java.util.Optional; import java.util.Optional; Loading @@ -22,6 +23,7 @@ import org.etsi.mts.tdl.DataType; import org.etsi.mts.tdl.Element; import org.etsi.mts.tdl.Element; import org.etsi.mts.tdl.ElementImport; import org.etsi.mts.tdl.ElementImport; import org.etsi.mts.tdl.EnumDataType; import org.etsi.mts.tdl.EnumDataType; import org.etsi.mts.tdl.Extension; import org.etsi.mts.tdl.NamedElement; import org.etsi.mts.tdl.NamedElement; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.PackageableElement; import org.etsi.mts.tdl.PackageableElement; Loading Loading @@ -103,6 +105,31 @@ public abstract class AbstractTranslator { return collectionType; return collectionType; } } protected <T extends DataType> void addSuperType(T type, T superType) { if (superType == null) return; List<Extension> ext = null; if (type instanceof SimpleDataType) { Extension extension = ((SimpleDataType) type).getExtension(); if (extension != null) ext = Collections.singletonList(extension); } if (type instanceof StructuredDataType) ext = ((StructuredDataType) type).getExtension(); if (ext == null) return; for (Extension e : ext) { if (e.getExtending().equals(superType)) return; } Extension e = tdlFactory.eINSTANCE.createExtension(); e.setExtending(superType); if (type instanceof SimpleDataType) ((SimpleDataType) type).setExtension(e); if (type instanceof StructuredDataType) ((StructuredDataType) type).getExtension().add(e); } protected String idStartDigitRegex = "\\A\\d"; protected String idStartDigitRegex = "\\A\\d"; protected String idInvalidCharRegex = "\\W"; protected String idInvalidCharRegex = "\\W"; Loading Loading @@ -253,11 +280,11 @@ public abstract class AbstractTranslator { return null; return null; } } protected DataElementMapping addDataElementMapping(String uri, DataType dataType, String tag) { protected DataElementMapping addDataElementMapping(String uri, DataType dataType, String tag, DataResourceMapping resourceMapping) { DataElementMapping mapping = getTypeFor(dataType.getName()+"_"+tag, tdlPackage.Literals.DATA_ELEMENT_MAPPING); DataElementMapping mapping = getTypeFor(dataType.getName()+"_"+tag, tdlPackage.Literals.DATA_ELEMENT_MAPPING); mapping.setMappableDataElement(dataType); mapping.setMappableDataElement(dataType); mapping.setElementURI(uri); mapping.setElementURI(uri); mapping.setDataResourceMapping(drm); mapping.setDataResourceMapping(resourceMapping); return mapping; return mapping; } } Loading plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java +2 −30 Original line number Original line Diff line number Diff line package org.etsi.mts.tdl.openapi2tdl.next; package org.etsi.mts.tdl.openapi2tdl.next; import java.io.File; import java.io.File; import java.util.Collections; import java.util.HashSet; import java.util.HashSet; import java.util.Hashtable; import java.util.Hashtable; import java.util.List; import java.util.List; Loading @@ -22,7 +21,6 @@ import org.etsi.mts.tdl.DataType; import org.etsi.mts.tdl.DataUse; import org.etsi.mts.tdl.DataUse; import org.etsi.mts.tdl.ElementImport; import org.etsi.mts.tdl.ElementImport; import org.etsi.mts.tdl.EnumDataType; import org.etsi.mts.tdl.EnumDataType; import org.etsi.mts.tdl.Extension; import org.etsi.mts.tdl.LiteralValueUse; import org.etsi.mts.tdl.LiteralValueUse; import org.etsi.mts.tdl.Member; import org.etsi.mts.tdl.Member; import org.etsi.mts.tdl.MemberAssignment; import org.etsi.mts.tdl.MemberAssignment; Loading Loading @@ -403,12 +401,11 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator { private void addMapping(Schema<?> schema, DataType dataType, String sourceMappingTag, String targetMappingTag) { private void addMapping(Schema<?> schema, DataType dataType, String sourceMappingTag, String targetMappingTag) { DataElementMapping sourceMapping = addDataElementMapping("#/components/schemas/" + schema.getName() + "", DataElementMapping sourceMapping = addDataElementMapping("#/components/schemas/" + schema.getName() + "", dataType, sourceMappingTag); dataType, sourceMappingTag, drm); // TODO: make configurable? // TODO: make configurable? DataElementMapping targetMapping = addDataElementMapping("" + schema.getName() + "", dataType, DataElementMapping targetMapping = addDataElementMapping("" + schema.getName() + "", dataType, targetMappingTag); targetMappingTag, drmTarget); targetMapping.setDataResourceMapping(drmTarget); if (dataType instanceof StructuredDataType) { if (dataType instanceof StructuredDataType) { for (Member m : ((StructuredDataType) dataType).getMember()) { for (Member m : ((StructuredDataType) dataType).getMember()) { Loading Loading @@ -478,31 +475,6 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator { } } } } private <T extends DataType> void addSuperType(T type, T superType) { if (superType == null) return; List<Extension> ext = null; if (type instanceof SimpleDataType) { Extension extension = ((SimpleDataType) type).getExtension(); if (extension != null) ext = Collections.singletonList(extension); } if (type instanceof StructuredDataType) ext = ((StructuredDataType) type).getExtension(); if (ext == null) return; for (Extension e : ext) { if (e.getExtending().equals(superType)) return; } Extension e = tdlFactory.eINSTANCE.createExtension(); e.setExtending(superType); if (type instanceof SimpleDataType) ((SimpleDataType) type).setExtension(e); if (type instanceof StructuredDataType) ((StructuredDataType) type).getExtension().add(e); } private DataType translateObject(Schema<?> schema, String name) { private DataType translateObject(Schema<?> schema, String name) { StructuredDataType dataType = getStructuredDataTypeFor(name); StructuredDataType dataType = getStructuredDataTypeFor(name); if (schema.getProperties() == null || !dataType.getMember().isEmpty()) { if (schema.getProperties() == null || !dataType.getMember().isEmpty()) { Loading plugins/org.etsi.mts.tdl.yang2tdl/META-INF/MANIFEST.MF +2 −1 Original line number Original line Diff line number Diff line Loading @@ -13,6 +13,7 @@ Require-Bundle: org.etsi.mts.tdl.common, org.eclipse.ui;resolution:=optional, org.eclipse.ui;resolution:=optional, org.eclipse.core.resources;resolution:=optional, org.eclipse.core.resources;resolution:=optional, org.eclipse.core.runtime;bundle-version="3.26.100";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.26.100";resolution:=optional, org.etsi.mts.tdl.extras.yang.tools.wrapper org.etsi.mts.tdl.extras.yang.tools.wrapper, org.eclipse.ui.ide Automatic-Module-Name: org.etsi.mts.tdl.yang2tdl Automatic-Module-Name: org.etsi.mts.tdl.yang2tdl Bundle-ClassPath: . Bundle-ClassPath: . plugins/org.etsi.mts.tdl.yang2tdl/src/org/etsi/mts/tdl/yang2tdl/PropertyPage.java +61 −28 Original line number Original line Diff line number Diff line Loading @@ -5,25 +5,27 @@ import java.util.Hashtable; import java.util.List; import java.util.List; import java.util.Map; import java.util.Map; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ProjectScope; import org.eclipse.core.resources.ProjectScope; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.StringFieldEditor; import org.eclipse.jface.preference.StringButtonFieldEditor; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IWorkbenchPropertyPage; import org.eclipse.ui.IWorkbenchPropertyPage; import org.eclipse.ui.dialogs.ContainerSelectionDialog; import org.eclipse.ui.preferences.ScopedPreferenceStore; import org.eclipse.ui.preferences.ScopedPreferenceStore; public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenchPropertyPage { public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenchPropertyPage { public static final String PROCEDURE_BASED = "ProcedureBased", public static final String YANG_SPEC_LOCATION = "YangFilesLocation"; GENERATE_JAVA_MAPPING = "GenerateJavaMapping", JAVA_GENERATOR = "JavaMappingGenerator", JAVA_API_PACKAGE = "JavaApiPackage"; public static final String PREFERENCE_SCOPE = "org.etsi.mts.tdl.yang2tdl"; public static final String PREFERENCE_SCOPE = "org.etsi.mts.tdl.yang2tdl"; Loading @@ -33,7 +35,7 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc protected Map<FieldEditor, String> fields = new Hashtable<FieldEditor, String>(); protected Map<FieldEditor, String> fields = new Hashtable<FieldEditor, String>(); private StringFieldEditor javaApiPackage; // private StringFieldEditor javaApiPackage; public PropertyPage() { public PropertyPage() { super(GRID); super(GRID); Loading @@ -53,7 +55,7 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc protected IPreferenceStore doGetPreferenceStore() { protected IPreferenceStore doGetPreferenceStore() { ProjectScope ps = new ProjectScope((IProject) this.element); ProjectScope ps = new ProjectScope((IProject) this.element); ScopedPreferenceStore scopedStore = new ScopedPreferenceStore(ps, PREFERENCE_SCOPE); ScopedPreferenceStore scopedStore = new ScopedPreferenceStore(ps, PREFERENCE_SCOPE); scopedStore.setDefault(JAVA_GENERATOR, "java"); // scopedStore.setDefault(JAVA_GENERATOR, "java"); return scopedStore; return scopedStore; } } Loading @@ -68,11 +70,11 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc } } protected void initialize(String name, String value, FieldEditor e) { protected void initialize(String name, String value, FieldEditor e) { if (name.equals(GENERATE_JAVA_MAPPING)) { // if (name.equals(GENERATE_JAVA_MAPPING)) { javaApiPackage.setEnabled( // javaApiPackage.setEnabled( Boolean.valueOf(value), // Boolean.valueOf(value), getFieldEditorParent()); // getFieldEditorParent()); } // } } } @Override @Override Loading Loading @@ -109,21 +111,13 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc protected void createFieldEditors() { protected void createFieldEditors() { Composite parent = getFieldEditorParent(); Composite parent = getFieldEditorParent(); BooleanFieldEditor procBased = new BooleanFieldEditor(PROCEDURE_BASED, "Procedure-based API", parent); FieldEditor yangSpecLocation = new ContainerFieldEditor(YANG_SPEC_LOCATION, "Yang files location", parent) { addField(procBased); @Override public boolean isValid() { parent = getFieldEditorParent(); return PropertyPage.this.isValid(this) && doCheckState(); BooleanFieldEditor genJavaMappings = new BooleanFieldEditor(GENERATE_JAVA_MAPPING, "Generate type mappings for Java", parent); } addField(genJavaMappings); }; addField(yangSpecLocation); 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 // TODO } } Loading @@ -143,3 +137,42 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc } } } } class ContainerFieldEditor extends StringButtonFieldEditor { public ContainerFieldEditor(String name, String label, Composite parent) { super(name, label, parent); } @Override protected String changePressed() { IContainer root = ResourcesPlugin.getWorkspace().getRoot(); ContainerSelectionDialog d = new ContainerSelectionDialog(getShell(), root, true, "Select output folder"); int result = d.open(); if (result == 0) { Object[] dir = d.getResult(); if (dir.length > 0) return dir[0].toString(); } return null; } @Override protected boolean doCheckState() { String pathText = getTextControl().getText(); IPath path = new Path(pathText); IContainer root = ResourcesPlugin.getWorkspace().getRoot(); IFolder f; try { f = root.getFolder(path); } catch (IllegalArgumentException e) { setErrorMessage(e.getMessage()); return false; } if (!f.exists()) setErrorMessage(pathText + " does not exist!"); return f != null && f.exists(); } } No newline at end of file plugins/org.etsi.mts.tdl.yang2tdl/src/org/etsi/mts/tdl/yang2tdl/Yang2TDLTranslator.java +137 −69 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/transform/AbstractTranslator.java +29 −2 Original line number Original line Diff line number Diff line package org.etsi.mts.tdl.transform; package org.etsi.mts.tdl.transform; import java.util.Collections; import java.util.HashSet; import java.util.HashSet; import java.util.List; import java.util.List; import java.util.Optional; import java.util.Optional; Loading @@ -22,6 +23,7 @@ import org.etsi.mts.tdl.DataType; import org.etsi.mts.tdl.Element; import org.etsi.mts.tdl.Element; import org.etsi.mts.tdl.ElementImport; import org.etsi.mts.tdl.ElementImport; import org.etsi.mts.tdl.EnumDataType; import org.etsi.mts.tdl.EnumDataType; import org.etsi.mts.tdl.Extension; import org.etsi.mts.tdl.NamedElement; import org.etsi.mts.tdl.NamedElement; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.PackageableElement; import org.etsi.mts.tdl.PackageableElement; Loading Loading @@ -103,6 +105,31 @@ public abstract class AbstractTranslator { return collectionType; return collectionType; } } protected <T extends DataType> void addSuperType(T type, T superType) { if (superType == null) return; List<Extension> ext = null; if (type instanceof SimpleDataType) { Extension extension = ((SimpleDataType) type).getExtension(); if (extension != null) ext = Collections.singletonList(extension); } if (type instanceof StructuredDataType) ext = ((StructuredDataType) type).getExtension(); if (ext == null) return; for (Extension e : ext) { if (e.getExtending().equals(superType)) return; } Extension e = tdlFactory.eINSTANCE.createExtension(); e.setExtending(superType); if (type instanceof SimpleDataType) ((SimpleDataType) type).setExtension(e); if (type instanceof StructuredDataType) ((StructuredDataType) type).getExtension().add(e); } protected String idStartDigitRegex = "\\A\\d"; protected String idStartDigitRegex = "\\A\\d"; protected String idInvalidCharRegex = "\\W"; protected String idInvalidCharRegex = "\\W"; Loading Loading @@ -253,11 +280,11 @@ public abstract class AbstractTranslator { return null; return null; } } protected DataElementMapping addDataElementMapping(String uri, DataType dataType, String tag) { protected DataElementMapping addDataElementMapping(String uri, DataType dataType, String tag, DataResourceMapping resourceMapping) { DataElementMapping mapping = getTypeFor(dataType.getName()+"_"+tag, tdlPackage.Literals.DATA_ELEMENT_MAPPING); DataElementMapping mapping = getTypeFor(dataType.getName()+"_"+tag, tdlPackage.Literals.DATA_ELEMENT_MAPPING); mapping.setMappableDataElement(dataType); mapping.setMappableDataElement(dataType); mapping.setElementURI(uri); mapping.setElementURI(uri); mapping.setDataResourceMapping(drm); mapping.setDataResourceMapping(resourceMapping); return mapping; return mapping; } } Loading
plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java +2 −30 Original line number Original line Diff line number Diff line package org.etsi.mts.tdl.openapi2tdl.next; package org.etsi.mts.tdl.openapi2tdl.next; import java.io.File; import java.io.File; import java.util.Collections; import java.util.HashSet; import java.util.HashSet; import java.util.Hashtable; import java.util.Hashtable; import java.util.List; import java.util.List; Loading @@ -22,7 +21,6 @@ import org.etsi.mts.tdl.DataType; import org.etsi.mts.tdl.DataUse; import org.etsi.mts.tdl.DataUse; import org.etsi.mts.tdl.ElementImport; import org.etsi.mts.tdl.ElementImport; import org.etsi.mts.tdl.EnumDataType; import org.etsi.mts.tdl.EnumDataType; import org.etsi.mts.tdl.Extension; import org.etsi.mts.tdl.LiteralValueUse; import org.etsi.mts.tdl.LiteralValueUse; import org.etsi.mts.tdl.Member; import org.etsi.mts.tdl.Member; import org.etsi.mts.tdl.MemberAssignment; import org.etsi.mts.tdl.MemberAssignment; Loading Loading @@ -403,12 +401,11 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator { private void addMapping(Schema<?> schema, DataType dataType, String sourceMappingTag, String targetMappingTag) { private void addMapping(Schema<?> schema, DataType dataType, String sourceMappingTag, String targetMappingTag) { DataElementMapping sourceMapping = addDataElementMapping("#/components/schemas/" + schema.getName() + "", DataElementMapping sourceMapping = addDataElementMapping("#/components/schemas/" + schema.getName() + "", dataType, sourceMappingTag); dataType, sourceMappingTag, drm); // TODO: make configurable? // TODO: make configurable? DataElementMapping targetMapping = addDataElementMapping("" + schema.getName() + "", dataType, DataElementMapping targetMapping = addDataElementMapping("" + schema.getName() + "", dataType, targetMappingTag); targetMappingTag, drmTarget); targetMapping.setDataResourceMapping(drmTarget); if (dataType instanceof StructuredDataType) { if (dataType instanceof StructuredDataType) { for (Member m : ((StructuredDataType) dataType).getMember()) { for (Member m : ((StructuredDataType) dataType).getMember()) { Loading Loading @@ -478,31 +475,6 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator { } } } } private <T extends DataType> void addSuperType(T type, T superType) { if (superType == null) return; List<Extension> ext = null; if (type instanceof SimpleDataType) { Extension extension = ((SimpleDataType) type).getExtension(); if (extension != null) ext = Collections.singletonList(extension); } if (type instanceof StructuredDataType) ext = ((StructuredDataType) type).getExtension(); if (ext == null) return; for (Extension e : ext) { if (e.getExtending().equals(superType)) return; } Extension e = tdlFactory.eINSTANCE.createExtension(); e.setExtending(superType); if (type instanceof SimpleDataType) ((SimpleDataType) type).setExtension(e); if (type instanceof StructuredDataType) ((StructuredDataType) type).getExtension().add(e); } private DataType translateObject(Schema<?> schema, String name) { private DataType translateObject(Schema<?> schema, String name) { StructuredDataType dataType = getStructuredDataTypeFor(name); StructuredDataType dataType = getStructuredDataTypeFor(name); if (schema.getProperties() == null || !dataType.getMember().isEmpty()) { if (schema.getProperties() == null || !dataType.getMember().isEmpty()) { Loading
plugins/org.etsi.mts.tdl.yang2tdl/META-INF/MANIFEST.MF +2 −1 Original line number Original line Diff line number Diff line Loading @@ -13,6 +13,7 @@ Require-Bundle: org.etsi.mts.tdl.common, org.eclipse.ui;resolution:=optional, org.eclipse.ui;resolution:=optional, org.eclipse.core.resources;resolution:=optional, org.eclipse.core.resources;resolution:=optional, org.eclipse.core.runtime;bundle-version="3.26.100";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.26.100";resolution:=optional, org.etsi.mts.tdl.extras.yang.tools.wrapper org.etsi.mts.tdl.extras.yang.tools.wrapper, org.eclipse.ui.ide Automatic-Module-Name: org.etsi.mts.tdl.yang2tdl Automatic-Module-Name: org.etsi.mts.tdl.yang2tdl Bundle-ClassPath: . Bundle-ClassPath: .
plugins/org.etsi.mts.tdl.yang2tdl/src/org/etsi/mts/tdl/yang2tdl/PropertyPage.java +61 −28 Original line number Original line Diff line number Diff line Loading @@ -5,25 +5,27 @@ import java.util.Hashtable; import java.util.List; import java.util.List; import java.util.Map; import java.util.Map; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ProjectScope; import org.eclipse.core.resources.ProjectScope; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.StringFieldEditor; import org.eclipse.jface.preference.StringButtonFieldEditor; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IWorkbenchPropertyPage; import org.eclipse.ui.IWorkbenchPropertyPage; import org.eclipse.ui.dialogs.ContainerSelectionDialog; import org.eclipse.ui.preferences.ScopedPreferenceStore; import org.eclipse.ui.preferences.ScopedPreferenceStore; public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenchPropertyPage { public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenchPropertyPage { public static final String PROCEDURE_BASED = "ProcedureBased", public static final String YANG_SPEC_LOCATION = "YangFilesLocation"; GENERATE_JAVA_MAPPING = "GenerateJavaMapping", JAVA_GENERATOR = "JavaMappingGenerator", JAVA_API_PACKAGE = "JavaApiPackage"; public static final String PREFERENCE_SCOPE = "org.etsi.mts.tdl.yang2tdl"; public static final String PREFERENCE_SCOPE = "org.etsi.mts.tdl.yang2tdl"; Loading @@ -33,7 +35,7 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc protected Map<FieldEditor, String> fields = new Hashtable<FieldEditor, String>(); protected Map<FieldEditor, String> fields = new Hashtable<FieldEditor, String>(); private StringFieldEditor javaApiPackage; // private StringFieldEditor javaApiPackage; public PropertyPage() { public PropertyPage() { super(GRID); super(GRID); Loading @@ -53,7 +55,7 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc protected IPreferenceStore doGetPreferenceStore() { protected IPreferenceStore doGetPreferenceStore() { ProjectScope ps = new ProjectScope((IProject) this.element); ProjectScope ps = new ProjectScope((IProject) this.element); ScopedPreferenceStore scopedStore = new ScopedPreferenceStore(ps, PREFERENCE_SCOPE); ScopedPreferenceStore scopedStore = new ScopedPreferenceStore(ps, PREFERENCE_SCOPE); scopedStore.setDefault(JAVA_GENERATOR, "java"); // scopedStore.setDefault(JAVA_GENERATOR, "java"); return scopedStore; return scopedStore; } } Loading @@ -68,11 +70,11 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc } } protected void initialize(String name, String value, FieldEditor e) { protected void initialize(String name, String value, FieldEditor e) { if (name.equals(GENERATE_JAVA_MAPPING)) { // if (name.equals(GENERATE_JAVA_MAPPING)) { javaApiPackage.setEnabled( // javaApiPackage.setEnabled( Boolean.valueOf(value), // Boolean.valueOf(value), getFieldEditorParent()); // getFieldEditorParent()); } // } } } @Override @Override Loading Loading @@ -109,21 +111,13 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc protected void createFieldEditors() { protected void createFieldEditors() { Composite parent = getFieldEditorParent(); Composite parent = getFieldEditorParent(); BooleanFieldEditor procBased = new BooleanFieldEditor(PROCEDURE_BASED, "Procedure-based API", parent); FieldEditor yangSpecLocation = new ContainerFieldEditor(YANG_SPEC_LOCATION, "Yang files location", parent) { addField(procBased); @Override public boolean isValid() { parent = getFieldEditorParent(); return PropertyPage.this.isValid(this) && doCheckState(); BooleanFieldEditor genJavaMappings = new BooleanFieldEditor(GENERATE_JAVA_MAPPING, "Generate type mappings for Java", parent); } addField(genJavaMappings); }; addField(yangSpecLocation); 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 // TODO } } Loading @@ -143,3 +137,42 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc } } } } class ContainerFieldEditor extends StringButtonFieldEditor { public ContainerFieldEditor(String name, String label, Composite parent) { super(name, label, parent); } @Override protected String changePressed() { IContainer root = ResourcesPlugin.getWorkspace().getRoot(); ContainerSelectionDialog d = new ContainerSelectionDialog(getShell(), root, true, "Select output folder"); int result = d.open(); if (result == 0) { Object[] dir = d.getResult(); if (dir.length > 0) return dir[0].toString(); } return null; } @Override protected boolean doCheckState() { String pathText = getTextControl().getText(); IPath path = new Path(pathText); IContainer root = ResourcesPlugin.getWorkspace().getRoot(); IFolder f; try { f = root.getFolder(path); } catch (IllegalArgumentException e) { setErrorMessage(e.getMessage()); return false; } if (!f.exists()) setErrorMessage(pathText + " does not exist!"); return f != null && f.exists(); } } No newline at end of file
plugins/org.etsi.mts.tdl.yang2tdl/src/org/etsi/mts/tdl/yang2tdl/Yang2TDLTranslator.java +137 −69 File changed.Preview size limit exceeded, changes collapsed. Show changes