Exemplo n.º 1
0
        private CoreClassifier createClassifier(XNamespace xnamespace, XElement xmodelClass, CoreNamespace ownerNamespace, CoreModelElement owner, CoreStereotype coreStereotype)
        {
            CoreClassifier modelClass = new CoreClassifierImpl();

            modelClass.setName(xmodelClass.Attribute("name").Value);

            modelClass.setElemOwner(owner);
            updateElemOwnedElements(owner, modelClass);
            modelClass.setNamespace(ownerNamespace);
            updateNamespaceElemOwnedElements(ownerNamespace, modelClass);

            var xoperations = xmodelClass.Descendants(xnamespace + "operation");

            foreach (var xoperation in xoperations)
            {
                createOperation(xnamespace, ownerNamespace, modelClass, xoperation);
            }

            var xattributes = xmodelClass.Descendants(xnamespace + "property");

            foreach (var xattribute in xattributes)
            {
                createAttribute(ownerNamespace, modelClass, xattribute, coreStereotype);
            }

            var id = xmodelClass.Attribute("Id").Value;

            lookup.Add(id, modelClass);

            return(modelClass);
        }
Exemplo n.º 2
0
        private CoreClassifier createEnumeration(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreModelElement owner, XElement xenumeration, CoreStereotype coreStereotype)
        {
            CoreClassifier modelClass = new CoreClassifierImpl();

            modelClass.setName(xenumeration.Attribute("name").Value);

            modelClass.setElemOwner(owner);
            updateElemOwnedElements(owner, modelClass);
            modelClass.setNamespace(ownerNamespace);
            updateNamespaceElemOwnedElements(ownerNamespace, modelClass);

            updateExtendedElements(coreStereotype, modelClass);
            updateStereotypes(modelClass, coreStereotype);

            var xattributes = xenumeration.Descendants(xnamespace + "enumerationLiteral");

            foreach (var xattribute in xattributes)
            {
                CoreAttribute coreAttribute = new CoreAttributeImpl();
                coreAttribute.setName(xattribute.Attribute("name").Value);
                coreAttribute.setElemOwner(modelClass);
                updateElemOwnedElements(modelClass, coreAttribute);
                coreAttribute.setNamespace(ownerNamespace);
                updateNamespaceElemOwnedElements(ownerNamespace, coreAttribute);

                var id2 = xattribute.Attribute("Id").Value;
                lookup.Add(id2, coreAttribute);
            }

            var id = xenumeration.Attribute("Id").Value;

            lookup.Add(id, modelClass);

            return(modelClass);
        }
Exemplo n.º 3
0
        private void createModelClasses(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreModelElement owner, IEnumerable <XElement> xmodelClasses)
        {
            if (xmodelClasses != null)
            {
                var iEnumerable = xmodelClasses as IList <XElement> ?? xmodelClasses.ToList();
                foreach (var xmodelClass in iEnumerable)
                {
                    CoreClassifier modelClass = new CoreClassifierImpl();
                    modelClass.setName(xmodelClass.Attribute("name").Value);

                    modelClass.setElemOwner(owner);
                    updateElemOwnedElements(owner, modelClass);
                    modelClass.setNamespace(ownerNamespace);
                    updateNamespaceElemOwnedElements(ownerNamespace, modelClass);

                    var xclassifierfeature = xmodelClass.Element(xnamespace + "Classifier.feature");
                    if (xclassifierfeature != null)
                    {
                        var xoperations = xclassifierfeature.Elements(xnamespace + "Operation");
                        foreach (var xoperation in xoperations)
                        {
                            createOperation(xnamespace, ownerNamespace, modelClass, xoperation);
                        }

                        var xattributes = xclassifierfeature.Elements(xnamespace + "Attribute");
                        foreach (var xattribute in xattributes)
                        {
                            createAttribute(ownerNamespace, modelClass, xattribute);
                        }
                    }

                    var id = xmodelClass.Attribute("xmi.id").Value;
                    lookup.Add(id, modelClass);
                }
            }
        }