コード例 #1
0
ファイル: ImportForm.cs プロジェクト: luoyuxia/EA-AddIN
 private EA.Element createEAClass(EA.Package package, EAClass eAClass)
 {
     EA.Element element = package.Elements.AddNew(eAClass.Name, "Class");
     element.Stereotype = eAClass.StereoType;
     if (EnumUtil.checkInEnumValues(eAClass.StereoType, typeof(PlatformDataTypeEnum)))
     {
         element.Stereotype = DATA_TYPE;
         EA.TaggedValue taggedValue = element.TaggedValues.AddNew("IDLType", eAClass.StereoType);
         taggedValue.Update();
     }
     return(element);
 }
コード例 #2
0
ファイル: ImportForm.cs プロジェクト: luoyuxia/EA-AddIN
 private int addRealizeRelation(EA.Element element)
 {
     if (eAElementEAClassMap.ContainsKey(element.ElementID))
     {
         EAClass eAClass    = eAElementEAClassMap[element.ElementID];
         string  aimClassId = eAClass.RealizeClassID;
         if (aimClassId != null && eAIdElementIdMap.ContainsKey(aimClassId))
         {
             EA.Connector cn = element.Connectors.AddNew("", "Association");
             cn.SupplierID = eAIdElementIdMap[aimClassId];
             cn.Stereotype = "Realize";
             cn.Direction  = "Source -> Destination";
             cn.Update();
             element.Connectors.Refresh();
             return(cn.SupplierID);
         }
     }
     return(-1);
 }
コード例 #3
0
        public EAClass createEAClassFromXMLNode(XmlNode xmlNode)
        {
            XmlElement xmlElement = xmlNode as XmlElement;
            string     name       = xmlElement.GetAttribute("name");
            string     id         = xmlElement.GetAttribute("xmi:id");
            string     stereoType = getFaceType(xmlNode);
            EAClass    eaClass    = new EAClass(name, stereoType, id);
            string     realizeId  = xmlElement.GetAttribute("realizes");

            if (realizeId != "")
            {
                eaClass.RealizeClassID = realizeId;
            }
            string measurementAxis = xmlElement.GetAttribute("measurementAxis");

            if (measurementAxis != "")
            {
                List <string> measurementList = measurementAxis.Split(' ').ToList();
                eaClass.MeasurementAxisList = measurementList;
            }
            foreach (XmlNode n in xmlNode.ChildNodes)
            {
                XmlElement  element     = n as XmlElement;
                EAAttribute eAAttribute = null;
                if (isAttribute(n))
                {
                    eAAttribute = new EAAttribute(element.GetAttribute(attributeStr), getFaceType(n), element.GetAttribute("xmi:id"));
                }
                if (eAAttribute != null && isAttributeClass(n))
                {
                    eAAttribute.Name      = element.GetAttribute("name");
                    eAAttribute.IsEAClass = true;
                }

                if (eAAttribute != null)
                {
                    eaClass.addAttribute(eAAttribute);
                }
            }
            return(eaClass);
        }
コード例 #4
0
ファイル: ExportForm.cs プロジェクト: luoyuxia/EA-AddIN
        private void initPackage(EA.Package topPackage, EAPackage rootPackage)
        {
            foreach (EA.Package p in topPackage.Packages)
            {
                EAPackage newPackage = new EAPackage(p.Name, p.PackageGUID);
                newPackage.EaPackage = p;

                foreach (EA.Element element in p.Elements)
                {
                    EAClass eAClass = new EAClass(element.Name, element.ElementGUID);
                    eAClass.Element = element;
                    foreach (EA.Attribute attribute in element.Attributes)
                    {
                        EAAttribute eAAttribute = new EAAttribute(attribute.Name, attribute.AttributeGUID);
                        eAAttribute.Attribute = attribute;
                        eAClass.addAttribute(eAAttribute);
                    }
                    newPackage.addClass(eAClass);
                }
                rootPackage.addPackage(newPackage);
                initPackage(p, newPackage);
            }
        }