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); }
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); }
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); } } }