Beispiel #1
0
        protected void updateOperationParameters(CoreBehavioralFeature owner, Parameter newParameter)
        {
            List <Parameter> parameters = owner.getParameter();

            parameters.Add(newParameter);
            owner.setParameter(parameters);
        }
Beispiel #2
0
        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;

            parameter.setKind(getParameterDirectionKind(skind));

            return(parameter);
        }
Beispiel #3
0
 public void setBehavioralFeature(CoreBehavioralFeature newValue)
 {
     behavioralFeature = newValue;
 }
Beispiel #4
0
        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);
        }