Search in sources :

Example 26 with XSDParticle

use of org.eclipse.xsd.XSDParticle in project tmdm-studio-se by Talend.

the class DataModelMainPage method fillContextMenu.

protected void fillContextMenu(IMenuManager manager, boolean isType) {
    IStructuredSelection selection;
    if (!isType) {
        selection = ((IStructuredSelection) viewer.getSelection());
    } else {
        selection = ((IStructuredSelection) typesViewer.getSelection());
    }
    Object[] selectedObjs = selection.toArray();
    Object obj = selection.getFirstElement();
    if (!isType) {
        manager.add(newConceptAction);
    } else {
        manager.add(newComplexTypeAction);
        manager.add(newSimpleTypeAction);
        // add by ymli; fix the bug:0012228. Made the multiple types can be deleted.
        XSDDeleteTypeDefinition deleteTypeDefinition1;
        if (selectedObjs.length > 1) {
            deleteTypeDefinition1 = new XSDDeleteTypeDefinition(this, true);
        } else {
            deleteTypeDefinition1 = new XSDDeleteTypeDefinition(this, false);
        }
        if (selectedObjs.length >= 1 && deleteTypeDefinition1.isTypeDefinition(selectedObjs)) {
            manager.add(deleteTypeDefinition1);
        }
        deleteConceptWrapAction.regisExtraClassToDel(XSDComplexTypeDefinitionImpl.class);
        if (selectedObjs.length > 1 && deleteConceptWrapAction.checkInDeletableType(selectedObjs)) {
            deleteConceptWrapAction.prepareToDelSelectedItems(selection, viewer);
        }
        if (selectedObjs.length > 1 && deleteConceptWrapAction.outPutDeleteActions() != null) {
            manager.add(deleteConceptWrapAction.outPutDeleteActions());
            if (deleteConceptWrapAction.checkOutAllConcept(selectedObjs)) {
                manager.add(newBrowseItemAction);
            }
        }
        if (exAdapter != null && obj instanceof XSDComplexTypeDefinition && selectedObjs.length == 1) {
            exAdapter.fillContextMenu(manager);
        }
    }
    manager.add(new Separator());
    if (!isType && ((selection == null) || (selection.getFirstElement() == null))) {
        if (WorkbenchClipboard.getWorkbenchClipboard().getConcepts().size() > 0) {
            manager.add(new Separator(ADDITIONMENUID));
            // add by ymli, fix bug 0009770
            // $NON-NLS-1$
            String title = "";
            if (WorkbenchClipboard.getWorkbenchClipboard().getConcepts().size() == 1) {
                title = Messages.PasteEntityText;
            } else if (WorkbenchClipboard.getWorkbenchClipboard().getConcepts().size() > 1) {
                title = Messages.PasteEntitiesText;
            }
            XSDPasteConceptAction pasteConceptAction = new XSDPasteConceptAction(this, title);
            if (pasteConceptAction.checkInPasteType()) {
                manager.add(new Separator());
                manager.add(pasteConceptAction);
            }
        }
        return;
    }
    // Element Declaration
    if (obj instanceof XSDElementDeclaration && selectedObjs.length == 1) {
        // check if concept or "just" element
        XSDElementDeclaration decl = (XSDElementDeclaration) obj;
        boolean isConcept = Util.checkConcept(decl);
        if (!Util.IsAImporedElement(decl, xsdSchema)) {
            if (isConcept) {
                manager.add(editConceptAction);
                manager.add(deleteConceptAction);
                manager.add(newBrowseItemAction);
            } else {
                manager.add(editElementAction);
                manager.add(deleteElementAction);
            }
            // add by ymli. fix bug 0009770 add the copy of concepts
            copyConceptAction.setText(Messages.CopyEntityText);
            if (Util.checkInCopy(selectedObjs)) {
                manager.add(new Separator());
                manager.add(copyConceptAction);
            }
            /*
                 * boolean isMulti = false; if(WorkbenchClipboard.getWorkbenchClipboard().getConcepts().size()>1)
                 * isMulti = true;
                 */
            // $NON-NLS-1$
            String title = "";
            if (WorkbenchClipboard.getWorkbenchClipboard().getConcepts().size() > 1) {
                title = Messages.PasteEntitiesText;
            } else if (WorkbenchClipboard.getWorkbenchClipboard().getConcepts().size() == 1) {
                title = Messages.PasteEntityText;
            } else if (WorkbenchClipboard.getWorkbenchClipboard().getParticles().size() > 1) {
                title = Messages.PasteElementsText;
            } else if (WorkbenchClipboard.getWorkbenchClipboard().getParticles().size() == 1) {
                title = Messages.PasteElement;
            }
            XSDPasteConceptAction pasteConceptAction = new XSDPasteConceptAction(this, title);
            if (pasteConceptAction.checkInPasteType()) {
                manager.add(pasteConceptAction);
            }
            manager.add(new Separator());
            manager.add(newElementAction);
            manager.add(new Separator());
            manager.add(changeToComplexTypeAction);
            manager.add(changeToSimpleTypeAction);
            // add by fliu, see bugID:0009157
            if (((XSDElementDeclaration) obj).getTypeDefinition() instanceof XSDSimpleTypeDefinition) {
                manager.add(setFacetMsgAction);
                manager.add(setAnnotationDisplayFomatAction);
            }
            manager.add(new Separator());
            manager.add(newIdentityConstraintAction);
        } else {
            if (isConcept) {
                manager.add(newBrowseItemAction);
            }
            manager.add(newElementAction);
        }
        // Annotations
        if (!Util.IsAImporedElement(decl, xsdSchema) || !Util.IsAImporedElement(decl.getTypeDefinition(), xsdSchema)) {
            setAnnotationActions2(obj, manager);
        }
    }
    // add by rhou.fix bug 0012073: Enable to create element from sub element group
    if (obj instanceof XSDModelGroup) {
        manager.add(new Separator());
        manager.add(getAddElementMenuForTypeClass(XSDModelGroup.class, Messages._AddElement));
        manager.add(new Separator());
        manager.add(changeSubElementGroupAction);
        manager.add(new Separator());
        manager.add(setAnnotationLabelAction);
        addPasteElementAction(manager);
    }
    if (obj instanceof XSDAttributeUse && selectedObjs.length == 1) {
        manager.add(deleteAttributeAction);
    }
    if (obj instanceof XSDAttributeDeclaration && selectedObjs.length == 1) {
        manager.add(deleteAttributeAction);
    }
    if (obj instanceof XSDParticle && selectedObjs.length == 1) {
        XSDTerm term = ((XSDParticle) obj).getTerm();
        if (!(term instanceof XSDWildcard)) {
            if (term instanceof XSDElementDeclaration) {
                manager.add(editParticleAction);
                if (!Util.IsAImporedElement(term, xsdSchema) || term.getContainer() instanceof XSDSchema) {
                    manager.add(getAddElementMenuForTypeClass(XSDParticle.class, Messages._AddElementAfter));
                    if (term instanceof XSDModelGroup) {
                        manager.add(getAddElementMenuForTypeClass(XSDModelGroup.class, Messages._AddElement));
                        manager.add(newGroupFromTypeAction);
                    }
                    manager.add(deleteParticleAction);
                    // edit by ymli. fix the bug:0011523
                    copyConceptAction.setText(Messages.CopyElementText);
                    manager.add(copyConceptAction);
                    if (((XSDElementDeclaration) term).getTypeDefinition() instanceof XSDComplexTypeDefinition) {
                        addPasteElementAction(manager);
                    }
                    manager.add(new Separator());
                    manager.add(changeToComplexTypeAction);
                    manager.add(changeToSimpleTypeAction);
                    // add by fliu, see bugID:0009157
                    manager.add(new Separator());
                    // Annotations
                    XSDTypeDefinition type = ((XSDElementDeclaration) term).getTypeDefinition();
                    setAnnotationActions(obj, manager);
                    if (((XSDElementDeclaration) term).getTypeDefinition() instanceof XSDSimpleTypeDefinition) {
                        manager.add(setFacetMsgAction);
                        manager.add(setAnnotationDisplayFomatAction);
                    }
                    // Xpath
                    manager.add(new Separator());
                    manager.add(getXPathAction);
                }
            }
        }
    }
    if (obj instanceof XSDComplexTypeDefinition && selectedObjs.length == 1 && ((XSDComplexTypeDefinition) obj).getTargetNamespace() == null) {
        if (!isType && !Util.IsAImporedElement((XSDParticle) obj, xsdSchema)) {
            manager.add(getAddElementMenuForTypeClass(XSDComplexTypeDefinition.class, Messages._AddElement));
            manager.add(newGroupFromTypeAction);
        }
        if (!Util.IsAImporedElement((XSDComplexTypeDefinition) obj, xsdSchema)) {
            // add by rhou.fix bug 0012073: Enable to create element from sub element group
            manager.add(new Separator());
            manager.add(getAddElementMenuForTypeClass(XSDComplexTypeDefinition.class, Messages._AddElement));
            manager.add(new Separator());
            manager.add(editComplexTypeAction);
        }
        manager.add(setAnnotationLabelAction);
        addPasteElementAction(manager);
    }
    if (obj instanceof XSDIdentityConstraintDefinition && selectedObjs.length == 1 && ((XSDIdentityConstraintDefinition) obj).getTargetNamespace() == null && !Util.IsAImporedElement((XSDIdentityConstraintDefinition) obj, xsdSchema)) {
        manager.add(deleteIdentityConstraintAction);
        manager.add(new Separator());
        manager.add(newXPathAction);
    }
    if (obj instanceof XSDXPathDefinition && selectedObjs.length == 1 && ((XSDXPathDefinition) obj).getSchema().getTargetNamespace() == null && !Util.IsAImporedElement((XSDXPathDefinition) obj, xsdSchema)) {
        manager.add(editXPathAction);
        manager.add(newXPathAction);
        XSDXPathDefinition xpath = (XSDXPathDefinition) obj;
        if (xpath.getVariety().equals(XSDXPathVariety.FIELD_LITERAL)) {
            manager.add(deleteXPathAction);
        }
    }
    // for the anonymous simpleType
    if (obj instanceof XSDSimpleTypeDefinition && selectedObjs.length == 1 && (!Util.IsAImporedElement((XSDSimpleTypeDefinition) obj, xsdSchema) || ((XSDSimpleTypeDefinition) obj).getName() == null)) {
        XSDSimpleTypeDefinition typedef = (XSDSimpleTypeDefinition) obj;
        manager.add(changeBaseTypeAction);
        manager.add(new Separator());
        if (typedef.getBaseTypeDefinition() != null) {
            EList list = typedef.getBaseTypeDefinition().getValidFacets();
            for (Iterator iter = list.iterator(); iter.hasNext(); ) {
                String element = (String) iter.next();
                manager.add(new XSDEditFacetAction(this, element));
            }
        }
    }
    if (selectedObjs.length > 1 && deleteConceptWrapAction.checkInDeletableType(selectedObjs)) {
        deleteConceptWrapAction.prepareToDelSelectedItems(selection, viewer);
    }
    if (selectedObjs.length > 1 && deleteConceptWrapAction.checkInAllElementType(selectedObjs)) {
        manager.add(newBrowseItemAction);
    }
    if (selectedObjs.length > 1 && deleteConceptWrapAction.outPutDeleteActions() != null) {
        if (!isType) {
            manager.add(deleteConceptWrapAction.outPutDeleteActions());
        }
        // $NON-NLS-1$
        String title = "";
        if (Util.checkInCopyTypeElement(selectedObjs)) {
            title = Messages.CopyEntitiesText;
        } else if (Util.checkInCOpyTypeParticle(selectedObjs)) {
            title = Messages.CopyElements;
        }
        copyConceptAction.setText(title);
        if (Util.checkInCopy(selectedObjs)) {
            manager.add(copyConceptAction);
        }
        // add by ymli; fix bug:0016645
        if (selectedObjs.length > 1 && isXSDParticles(selectedObjs)) {
            manager.add(getAddElementMenuForTypeClass(XSDParticle.class, Messages._AddElementAfter));
        }
    }
    if (exAdapter != null) {
        exAdapter.fillContextMenu(manager, selectedObjs);
    }
    // available models
    java.util.List<IAvailableModel> availablemodels = AvailableModelUtil.getAvailableModels(isLocalInput());
    for (int i = 0; i < availablemodels.size(); i++) {
        IAvailableModel model = availablemodels.get(i);
        model.fillContextMenu(obj, manager, this, dataModelName);
        if (i == 1) {
            manager.add(new Separator());
        }
    }
    // 
    manager.add(new Separator());
    drillDownAdapter.addNavigationActions(manager);
    // Other plug-ins can contribute there actions here
    manager.add(new Separator(ADDITIONMENUID));
    deleteConceptWrapAction.clearExtraClassToDel();
}
Also used : XSDAttributeUse(org.eclipse.xsd.XSDAttributeUse) XSDModelGroup(org.eclipse.xsd.XSDModelGroup) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) XSDTypeDefinition(org.eclipse.xsd.XSDTypeDefinition) Iterator(java.util.Iterator) XSDTerm(org.eclipse.xsd.XSDTerm) XSDComplexTypeDefinition(org.eclipse.xsd.XSDComplexTypeDefinition) XSDXPathDefinition(org.eclipse.xsd.XSDXPathDefinition) XSDParticle(org.eclipse.xsd.XSDParticle) XSDSchema(org.eclipse.xsd.XSDSchema) IAvailableModel(com.amalto.workbench.availablemodel.IAvailableModel) XSDSimpleTypeDefinition(org.eclipse.xsd.XSDSimpleTypeDefinition) XSDPasteConceptAction(com.amalto.workbench.actions.XSDPasteConceptAction) XSDWildcard(org.eclipse.xsd.XSDWildcard) EList(org.eclipse.emf.common.util.EList) XSDEditFacetAction(com.amalto.workbench.actions.XSDEditFacetAction) XSDElementDeclaration(org.eclipse.xsd.XSDElementDeclaration) XSDIdentityConstraintDefinition(org.eclipse.xsd.XSDIdentityConstraintDefinition) TreeObject(com.amalto.workbench.models.TreeObject) XSDDeleteTypeDefinition(com.amalto.workbench.actions.XSDDeleteTypeDefinition) XSDAttributeDeclaration(org.eclipse.xsd.XSDAttributeDeclaration) Separator(org.eclipse.jface.action.Separator)

Example 27 with XSDParticle

use of org.eclipse.xsd.XSDParticle in project tmdm-studio-se by Talend.

the class DataModelMainPage method getElementType.

private int getElementType(Object decl) {
    if (Util.getParent(decl) == decl) {
        if (Util.checkConcept((XSDElementDeclaration) decl)) {
            return 0;
        }
        return 1;
    }
    if (decl instanceof XSDComplexTypeDefinition) {
        return 2;
    }
    if (decl instanceof XSDIdentityConstraintDefinition) {
        return 3;
    }
    if (decl instanceof XSDXPathDefinition) {
        return 4;
    }
    if (decl instanceof XSDSimpleTypeDefinition) {
        return 5;
    }
    if (decl instanceof XSDAnnotation) {
        return 6;
    }
    if (decl instanceof XSDParticle) {
        return 7;
    }
    if (decl instanceof XSDModelGroup) {
        return 8;
    }
    if (decl instanceof XSDWhiteSpaceFacet) {
        return 201;
    }
    if (decl instanceof XSDLengthFacet) {
        return 202;
    }
    if (decl instanceof XSDMinLengthFacet) {
        return 203;
    }
    if (decl instanceof XSDMaxLengthFacet) {
        return 204;
    }
    if (decl instanceof XSDTotalDigitsFacet) {
        return 205;
    }
    if (decl instanceof XSDFractionDigitsFacet) {
        return 206;
    }
    if (decl instanceof XSDMaxInclusiveFacet) {
        return 207;
    }
    if (decl instanceof XSDMaxExclusiveFacet) {
        return 208;
    }
    if (decl instanceof XSDMinInclusiveFacet) {
        return 209;
    }
    if (decl instanceof XSDMinExclusiveFacet) {
        return 210;
    }
    if (decl instanceof XSDPatternFacet) {
        return 211;
    }
    if (decl instanceof XSDEnumerationFacet) {
        return 212;
    }
    if (decl instanceof Element) {
        Element e = (Element) decl;
        if (e.getLocalName().equals("appinfo")) {
        // $NON-NLS-1$
        }
        // $NON-NLS-1$
        String source = e.getAttribute("source");
        if (source != null) {
            if (source.startsWith("X_Label_")) {
                // $NON-NLS-1$
                return 101;
            } else if (source.equals("X_ForeignKey")) {
                // $NON-NLS-1$
                return 102;
            } else if (source.equals("X_ForeignKeyInfo")) {
                // $NON-NLS-1$
                return 103;
            } else if (source.equals("X_SourceSystem")) {
                // $NON-NLS-1$
                return 104;
            } else if (source.equals("X_TargetSystem")) {
                // $NON-NLS-1$
                return 105;
            } else if (source.startsWith("X_Description_")) {
                // $NON-NLS-1$
                return 106;
            } else if (source.equals("X_Write")) {
                // $NON-NLS-1$
                return 107;
            } else if (source.equals("X_Hide")) {
                // $NON-NLS-1$
                return 108;
            } else if (source.equals("X_Schematron")) {
                // $NON-NLS-1$
                return 109;
            } else if (source.startsWith("X_Facet_")) {
                // $NON-NLS-1$
                return 110;
            } else if (source.startsWith("X_Workflow")) {
                // $NON-NLS-1$
                return 111;
            } else if (source.startsWith("X_ForeignKey_Filter")) {
                // $NON-NLS-1$
                return 112;
            } else if (source.startsWith("X_Display_Format_")) {
                // $NON-NLS-1$
                return 113;
            } else if (source.equals("X_Lookup_Field")) {
                // $NON-NLS-1$
                return 114;
            } else if (source.equals("X_PrimaryKeyInfo")) {
                // $NON-NLS-1$
                return 115;
            } else if (source.equals("X_Visible_Rule")) {
                // $NON-NLS-1$
                return 116;
            } else if (source.equals("X_Default_Value_Rule")) {
                // $NON-NLS-1$
                return 117;
            } else if (source.equals("X_Deny_Create")) {
                // $NON-NLS-1$
                return 118;
            } else if (source.equals("X_Deny_PhysicalDelete")) {
                // $NON-NLS-1$
                return 119;
            } else if (source.equals("X_Deny_LogicalDelete")) {
                // $NON-NLS-1$
                return 120;
            } else if (source.equals("X_FKIntegrity")) {
                // $NON-NLS-1$
                return 121;
            } else if (source.equals("X_FKIntegrity_Override")) {
                // $NON-NLS-1$
                return 122;
            } else if (source.equals("X_ForeignKeyInfoFormat")) {
                // $NON-NLS-1$
                return 123;
            }
        }
    }
    return -1;
}
Also used : XSDPatternFacet(org.eclipse.xsd.XSDPatternFacet) XSDMinInclusiveFacet(org.eclipse.xsd.XSDMinInclusiveFacet) XSDFractionDigitsFacet(org.eclipse.xsd.XSDFractionDigitsFacet) XSDModelGroup(org.eclipse.xsd.XSDModelGroup) XSDSimpleTypeDefinition(org.eclipse.xsd.XSDSimpleTypeDefinition) XSDWhiteSpaceFacet(org.eclipse.xsd.XSDWhiteSpaceFacet) Element(org.w3c.dom.Element) XSDLengthFacet(org.eclipse.xsd.XSDLengthFacet) XSDMaxExclusiveFacet(org.eclipse.xsd.XSDMaxExclusiveFacet) XSDEnumerationFacet(org.eclipse.xsd.XSDEnumerationFacet) XSDTotalDigitsFacet(org.eclipse.xsd.XSDTotalDigitsFacet) XSDIdentityConstraintDefinition(org.eclipse.xsd.XSDIdentityConstraintDefinition) XSDMinLengthFacet(org.eclipse.xsd.XSDMinLengthFacet) XSDComplexTypeDefinition(org.eclipse.xsd.XSDComplexTypeDefinition) XSDXPathDefinition(org.eclipse.xsd.XSDXPathDefinition) XSDAnnotation(org.eclipse.xsd.XSDAnnotation) XSDMaxLengthFacet(org.eclipse.xsd.XSDMaxLengthFacet) XSDMaxInclusiveFacet(org.eclipse.xsd.XSDMaxInclusiveFacet) XSDMinExclusiveFacet(org.eclipse.xsd.XSDMinExclusiveFacet) XSDParticle(org.eclipse.xsd.XSDParticle)

Example 28 with XSDParticle

use of org.eclipse.xsd.XSDParticle in project tmdm-studio-se by Talend.

the class SortFieldSelectionFilter method check.

public FilterResult check(Object obj) {
    if (obj instanceof XSDParticle) {
        if (!XSDUtil.isFirstLevelChild((XSDParticle) obj)) {
            return FilterResult.DISABLE;
        }
        XSDParticle particle = (XSDParticle) obj;
        int maxOccurs = particle.getMaxOccurs();
        if (maxOccurs > 1 || maxOccurs == -1) {
            return FilterResult.DISABLE;
        }
        if (XSDUtil.isSimpleTypeElement(particle)) {
            return FilterResult.ENABLE;
        }
    }
    return FilterResult.DISABLE;
}
Also used : XSDParticle(org.eclipse.xsd.XSDParticle)

Example 29 with XSDParticle

use of org.eclipse.xsd.XSDParticle in project tmdm-studio-se by Talend.

the class UserVariableDialog method getUserFields.

private List<String> getUserFields() {
    try {
        if (schema != null) {
            XSDSchema xsd = Util.createXsdSchema(schema, null);
            List<String> results = new ArrayList<String>();
            EList<XSDElementDeclaration> elementDeclarations = xsd.getElementDeclarations();
            for (XSDElementDeclaration decl : elementDeclarations) {
                if (decl.getName().equals(USER)) {
                    // $NON-NLS-1$
                    Map<String, XSDParticle> childElements = Util.getChildElements("", decl, true, new HashSet<Object>());
                    for (String element : childElements.keySet()) {
                        // $NON-NLS-1$
                        String prefix = "//";
                        if (element.startsWith(prefix)) {
                            element = element.substring(prefix.length());
                        }
                        results.add(element);
                    }
                }
            }
            return results;
        }
    } catch (Exception e) {
        log.error(e.getMessage(), e);
    }
    return null;
}
Also used : XSDElementDeclaration(org.eclipse.xsd.XSDElementDeclaration) ArrayList(java.util.ArrayList) XSDParticle(org.eclipse.xsd.XSDParticle) XSDSchema(org.eclipse.xsd.XSDSchema)

Example 30 with XSDParticle

use of org.eclipse.xsd.XSDParticle in project tmdm-studio-se by Talend.

the class EntityKeyConfigComposite method getTopChildrenNames.

private List<String> getTopChildrenNames() throws Exception {
    Map<String, XSDParticle> childElements = // $NON-NLS-1$
    Util.getChildElements(// $NON-NLS-1$
    "", // $NON-NLS-1$
    entityWrapper.getSourceEntity(), true, new HashSet<Object>());
    List<String> names = new ArrayList<String>();
    Iterator<String> iterator = childElements.keySet().iterator();
    while (iterator.hasNext()) {
        String key = iterator.next();
        XSDParticle next = childElements.get(key);
        if (next.getMinOccurs() == 1 && next.getMaxOccurs() == 1) {
            names.add(key);
        }
    }
    // filter the non top level fields
    List<String> topChilds = new ArrayList<String>();
    for (String child : names) {
        if (child.indexOf('/') == -1) {
            topChilds.add(child);
        }
    }
    return topChilds;
}
Also used : ArrayList(java.util.ArrayList) XSDParticle(org.eclipse.xsd.XSDParticle)

Aggregations

XSDParticle (org.eclipse.xsd.XSDParticle)146 XSDElementDeclaration (org.eclipse.xsd.XSDElementDeclaration)103 XSDModelGroup (org.eclipse.xsd.XSDModelGroup)93 XSDComplexTypeDefinition (org.eclipse.xsd.XSDComplexTypeDefinition)75 XSDTypeDefinition (org.eclipse.xsd.XSDTypeDefinition)36 ArrayList (java.util.ArrayList)34 XSDSimpleTypeDefinition (org.eclipse.xsd.XSDSimpleTypeDefinition)34 XSDTerm (org.eclipse.xsd.XSDTerm)31 XSDFactory (org.eclipse.xsd.XSDFactory)27 XSDComplexTypeContent (org.eclipse.xsd.XSDComplexTypeContent)24 XSDSchema (org.eclipse.xsd.XSDSchema)24 Test (org.junit.Test)23 Iterator (java.util.Iterator)21 XSDAnnotation (org.eclipse.xsd.XSDAnnotation)21 XSDIdentityConstraintDefinition (org.eclipse.xsd.XSDIdentityConstraintDefinition)19 EList (org.eclipse.emf.common.util.EList)17 XSDParticleContent (org.eclipse.xsd.XSDParticleContent)17 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)16 Element (org.w3c.dom.Element)16 List (java.util.List)15