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 Parameter createParameter(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreBehavioralFeature owner, XElement xparameter) { Parameter parameter = new ParameterImpl(); var name = xparameter.Attribute("name"); parameter.setName(name != null ? name.Value : ""); parameter.setBehavioralFeature(owner); updateOperationParameters(owner, parameter); parameter.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, parameter); var id = xparameter.Attribute("Id").Value; lookup.Add(id, parameter); var xptype = xparameter.Descendants(xnamespace + "referencedTypeMoniker").FirstOrDefault(); if (xptype != null) { var xtyperefid = xptype.Attribute("Id").Value; idToType.Add(id, xtyperefid); } string skind = xparameter.Attribute("direction").Value.ToLower(); parameter.setKind(getParameterDirectionKind(skind)); return(parameter); }
private CoreOperation createOperation(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreModelElement owner, XElement xoperation) { CoreOperation coreOperation = new CoreOperationImpl(); coreOperation.setName(xoperation.Attribute("name").Value); coreOperation.setElemOwner(owner); updateElemOwnedElements(owner, coreOperation); coreOperation.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, coreOperation); coreOperation.setOwnerScope(getScopeKind(xoperation.Attribute("ownerScope").Value)); var xbehavioralFeature = xoperation.Element(xnamespace + "BehavioralFeature.parameter"); if (xbehavioralFeature != null) { var xparameters = xbehavioralFeature.Elements(xnamespace + "Parameter"); foreach (var xparameter in xparameters) { createParameter(xnamespace, ownerNamespace, coreOperation, xparameter); } } var isQuery = xoperation.Attribute("isQuery").Value; coreOperation.setIsQuery(bool.Parse(isQuery)); lookup.Add(xoperation.Attribute("xmi.id").Value, coreOperation); return(coreOperation); }
private CoreAttribute createAttribute(CoreNamespace ownerNamespace, CoreModelElement owner, XElement xattribute, CoreStereotype coreStereotype) { CoreAttribute coreAttribute = new CoreAttributeImpl(); coreAttribute.setName(xattribute.Attribute("name").Value); coreAttribute.setElemOwner(owner); updateElemOwnedElements(owner, coreAttribute); coreAttribute.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, coreAttribute); //coreAttribute.setOwnerScope(getScopeKind(xattribute.Attribute("ownerScope").Value)); var id = xattribute.Attribute("Id").Value; lookup.Add(id, coreAttribute); var xtype = xattribute.Descendants(xnamespaceUmlModel + "referencedTypeMoniker").FirstOrDefault(); if (xtype != null) { string xidref = xtype.Attribute("Id").Value; idToType.Add(id, xidref); } var isUnique = xattribute.Attribute("isUnique"); if (isUnique == null || isUnique.Value == "true") { updateExtendedElements(coreStereotype, coreAttribute); updateStereotypes(coreAttribute, coreStereotype); } return(coreAttribute); }
private CoreOperation createOperation(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreModelElement owner, XElement xoperation) { CoreOperation coreOperation = new CoreOperationImpl(); coreOperation.setName(xoperation.Attribute("name").Value); coreOperation.setElemOwner(owner); updateElemOwnedElements(owner, coreOperation); coreOperation.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, coreOperation); //coreOperation.setOwnerScope(getScopeKind(xoperation.Attribute("ownerScope").Value)); var xparameters = xoperation.Descendants(xnamespace + "parameter"); foreach (var xparameter in xparameters) { createParameter(xnamespace, ownerNamespace, coreOperation, xparameter); } var isQuery = xoperation.Attribute("isQuery").Value; coreOperation.setIsQuery(bool.Parse(isQuery)); lookup.Add(xoperation.Attribute("Id").Value, coreOperation); return(coreOperation); }
private CoreStereotype createStereotype(CoreNamespace ownerNamespace, CoreModelElement owner, XElement xstereotype) { CoreStereotype coreStereotype = new CoreStereotypeImpl(); coreStereotype.setName(xstereotype.Attribute("name").Value); coreStereotype.setElemOwner(owner); updateElemOwnedElements(owner, coreStereotype); coreStereotype.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, coreStereotype); string xidref = xstereotype.Attribute("extendedElement").Value; CoreModelElement extendedElement; lookup.TryGetValue(xidref, out extendedElement); if (extendedElement != null) { updateExtendedElements(coreStereotype, extendedElement); updateStereotypes(extendedElement, coreStereotype); } lookup.Add(xstereotype.Attribute("xmi.id").Value, coreStereotype); return(coreStereotype); }
protected void updateNamespaceElemOwnedElements(CoreNamespace coreNamespace, CoreModelElement newOwnedElement) { if (coreNamespace != null) { List <object> ownedElements = (List <object>)coreNamespace.getElemOwnedElements(); ownedElements.Add(newOwnedElement); coreNamespace.setElemOwnedElements(ownedElements); } }
public CoreModelElementImpl() { name = ""; elemOwner = null; elemOwnedElements = new List <object>(); theStereotypes = new List <CoreStereotype>(); coreNamespace = null; connection = new List <object>(); clientDependency = new List <object>(); }
private CoreStereotype createStereotype(CoreNamespace ownerNamespace, CoreModelElement owner, string name) { CoreStereotype coreStereotype = new CoreStereotypeImpl(); coreStereotype.setName(name); coreStereotype.setElemOwner(owner); updateElemOwnedElements(owner, coreStereotype); coreStereotype.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, coreStereotype); return(coreStereotype); }
private CoreInterface createInterface(CoreNamespace ownerNamespace, CoreModelElement owner, XElement xinterface) { CoreInterface coreInterface = new CoreInterfaceImpl(); coreInterface.setName(xinterface.Attribute("name").Value); coreInterface.setElemOwner(owner); updateElemOwnedElements(owner, coreInterface); coreInterface.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, coreInterface); lookup.Add(xinterface.Attribute("xmi.id").Value, coreInterface); return(coreInterface); }
/* (non-Javadoc) * @see ocl20.CoreClassifier#getFullPathName() */ public String getFullPathName() { StringBuilder result = new StringBuilder(); CoreNamespace ns = (CoreNamespace)getElemOwner(); while ((ns != null) && !(ns is CoreModelImpl)) { result.Insert(0, ns.getName() + "::"); ns = (CoreNamespace)ns.getElemOwner(); } result.Append(getName()); return(result.ToString()); }
private CoreDataType createDataType(CoreNamespace ownerNamespace, CoreModelElement owner, XElement xdatatype) { CoreDataType coreDataType = new CoreDataTypeImpl(); var name = xdatatype.Attribute("name"); coreDataType.setName(name.Value); coreDataType.setElemOwner(owner); updateElemOwnedElements(owner, coreDataType); coreDataType.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, coreDataType); var id = xdatatype.Attribute("xmi.id"); lookup.Add(id.Value, coreDataType); return(coreDataType); }
private Parameter createParameter(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreBehavioralFeature owner, XElement xparameter) { Parameter parameter = new ParameterImpl(); parameter.setName(xparameter.Attribute("name").Value); parameter.setBehavioralFeature(owner); updateOperationParameters(owner, parameter); parameter.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, parameter); var id = xparameter.Attribute("xmi.id").Value; lookup.Add(id, parameter); // mode 1 var xptype = xparameter.Element(xnamespace + "Parameter.type"); if (xptype != null) { var xpclass = xptype.Element(xnamespace + "Class"); if (xpclass != null) { var xtyperefid = xpclass.Attribute("xmi.idref").Value; idToType.Add(id, xtyperefid); } } else // mode 2 { var xtype = xparameter.Attribute("type"); if (xtype != null) { string xtypeidref = xtype.Value; idToType.Add(id, xtypeidref); } } string skind = xparameter.Attribute("kind").Value; CoreModelElement kind; lookup.TryGetValue(skind, out kind); parameter.setKind(getParameterDirectionKind(skind)); return(parameter); }
protected List <object> getAllStereotypesOfNamespace(CoreNamespace ns) { List <object> result = new List <object>(); foreach (CoreModelElement element in ns.getElemOwnedElements()) { if (element is CoreStereotypeImpl) { result.Add(element); } if (element is CorePackageImpl) { result.AddRange(getAllStereotypesOfNamespace((CoreNamespace)element)); } } return(result); }
private CorePackage createPackage(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreModelElement owner, XElement xpackage) { CorePackage corePackage = new CorePackageImpl(); corePackage.setName(xpackage.Attribute("name").Value); corePackage.setElemOwner(owner); updateElemOwnedElements(owner, corePackage); corePackage.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, corePackage); lookup.Add(xpackage.Attribute("xmi.id").Value, corePackage); var xcoreNamespace = xpackage.Element(xnamespace + "Namespace.ownedElement"); if (xcoreNamespace != null) { CoreNamespace coreNamespace = new CoreNamespaceImpl(); var xmodelClasses = xcoreNamespace.Elements(xnamespace + "Class"); createModelClasses(xnamespace, coreNamespace, corePackage, xmodelClasses); var xpackages = xcoreNamespace.Elements(xnamespace + "Package"); foreach (var xinnerpackage in xpackages) { createPackage(xnamespace, coreNamespace, coreModel, xinnerpackage); } var xstereotypes = xcoreNamespace.Elements(xnamespace + "Stereotype"); foreach (var xstereotype in xstereotypes) { createStereotype(coreNamespace, corePackage, xstereotype); } var xinterfaces = xcoreNamespace.Elements(xnamespace + "Interface"); foreach (var xinterface in xinterfaces) { createInterface(coreNamespace, corePackage, xinterface); } } return(corePackage); }
private CorePackage createPackage(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreModelElement owner, XElement xpackage) { CorePackage corePackage = new CorePackageImpl(); corePackage.setName(xpackage.Attribute("name").Value); corePackage.setElemOwner(owner); updateElemOwnedElements(owner, corePackage); corePackage.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, corePackage); lookup.Add(xpackage.Attribute("Id").Value, corePackage); var xcoreNamespace = xpackage.Element(xnamespace + "packagedElements"); if (xcoreNamespace != null) { CoreNamespace coreNamespace = new CoreNamespaceImpl(); var xhasnamedelements = xcoreNamespace.Element(xnamespace + "packageHasNamedElement"); if (xhasnamedelements != null) { var xenumerations = xcoreNamespace.Descendants(xnamespace + "enumeration"); var stereotype = createStereotype(ownerNamespace, owner, "Enumeration"); foreach (var xenumeration in xenumerations) { createEnumeration(xnamespace, coreNamespace, corePackage, xenumeration, stereotype); } var stereotypeId = createStereotype(ownerNamespace, owner, "Id"); var xmodelClasses = xcoreNamespace.Descendants(xnamespace + "class"); createModelClasses(xnamespace, coreNamespace, corePackage, xmodelClasses, stereotypeId); var xpackages = xcoreNamespace.Descendants(xnamespace + "package"); foreach (var xinnerpackage in xpackages) { createPackage(xnamespace, coreNamespace, coreModel, xinnerpackage); } } } return(corePackage); }
private void createModelClasses(XNamespace xnamespace, CoreNamespace ownerNamespace, CoreModelElement owner, IEnumerable <XElement> xmodelClasses, CoreStereotype coreStereotype) { if (xmodelClasses != null) { var iEnumerable = xmodelClasses as IList <XElement> ?? xmodelClasses.ToList(); foreach (var xmodelClass in iEnumerable) { createClassifier(xnamespace, xmodelClass, ownerNamespace, owner, coreStereotype); } foreach (XElement xmodelClass in iEnumerable) { var xassociations = xmodelClass.Descendants(xnamespace + "association"); foreach (var xassociation in xassociations) { CoreAssociation coreAssociation = createAssociation(xnamespace, xassociation, new CoreAssociationImpl()); fillModelElementTypes(); updateElemOwnedElements(coreModel, coreAssociation); } } } }
private CoreAttribute createAttribute(CoreNamespace ownerNamespace, CoreModelElement owner, XElement xattribute) { CoreAttribute coreAttribute = new CoreAttributeImpl(); coreAttribute.setName(xattribute.Attribute("name").Value); coreAttribute.setElemOwner(owner); updateElemOwnedElements(owner, coreAttribute); coreAttribute.setNamespace(ownerNamespace); updateNamespaceElemOwnedElements(ownerNamespace, coreAttribute); coreAttribute.setOwnerScope(getScopeKind(xattribute.Attribute("ownerScope").Value)); var id = xattribute.Attribute("xmi.id").Value; lookup.Add(id, coreAttribute); string xidref = xattribute.Attribute("type").Value; idToType.Add(id, xidref); return(coreAttribute); }
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); } } }
public void setNamespace(CoreNamespace newValue) { coreNamespace = newValue; }
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); }
/* (non-Javadoc) * @see br.cos.ufrj.lens.odyssey.tools.psw.parser.environment.Environment#addNamespace(br.cos.ufrj.lens.odyssey.tools.psw.metamodels.core.CoreNamespace) */ public Environment addNamespace(CoreNamespace ns) { this.addNamedElements(ns.getEnvironmentWithoutParents().getNamedElements()); this.addVariableDeclarations(((EnvironmentImpl)ns.getEnvironmentWithoutParents()).getVariableDeclarations()); return(this); }
public void setNamespace(CoreNamespace newValue) { throw new NotImplementedException(); }