public List <string> getSecondStringList(int selectedFirstObjectIndex)
        {
            this.secondObjects             = new List <SecondObject>();
            this.selectedFirstObjectIndex  = selectedFirstObjectIndex;
            this.selectedSecondObjectIndex = -1;

            List <String> sourceStringList = new List <string>();

            Object              targetElement    = this.firstObjects[selectedFirstObjectIndex].EaObject;
            EditorExpression    editorExpression = EditorExpression.createEditorExpression(selectedExpressionString);
            List <SecondObject> sourceList       = editorExpression.getSecondObjects(targetElement, repository);

            foreach (SecondObject actSecondObject in sourceList)
            {
                String name         = actSecondObject.Name;
                int    classifierId = actSecondObject.ClassifierId;

                if (actSecondObject.EaObject is SQLMethod)
                {
                    SQLMethod method = actSecondObject.EaObject as SQLMethod;
                    if (methodParameterClassifierIdFilter != 0)
                    {
                        if (classifierId != 0)
                        {
                            SQLElement methodReturnTypeClass     = repository.GetElementByID(classifierId);
                            SQLElement wantedParameterTypeClasss = repository.GetElementByID(methodParameterClassifierIdFilter);

                            foreach (SQLElement baseClass in EAUtil.getBaseClasses(methodReturnTypeClass))
                            {
                                if (baseClass.ElementID == methodParameterClassifierIdFilter)
                                {
                                    name = EAUtil.getMethodSignature(method);
                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        name = EAUtil.getMethodSignature(method);
                    }
                }

                if (name != "" && !sourceStringList.Contains(name))
                {
                    sourceStringList.Add(name);
                    this.secondObjects.Add(actSecondObject);
                }
            }

            this.expression = computeExpression();

            //sourceStringList.Sort();
            sourceStringList = sourceStringList.Distinct().ToList();

            return(sourceStringList);
        }
Exemplo n.º 2
0
        public override void doEaGuiStuff()
        {
            base.doEaGuiStuff();
            EA.Element realElement = SdmContainer.getRealElement();
            if (realElement.Diagrams.Count > 0)
            {
                EA.Diagram sdmDiagram = realElement.Diagrams.GetAt(0) as EA.Diagram;
                String     test       = sdmDiagram.ExtendedStyle;
                sdmDiagram.ExtendedStyle = "HideRel=0;ShowTags=0;ShowReqs=0;ShowCons=0;OpParams=1;ShowSN=0;ScalePI=0;PPgs.cx=2;PPgs.cy=2;PSize=9;ShowIcons=1;SuppCN=0;HideProps=0;HideParents=0;UseAlias=0;HideAtts=1;HideOps=1;HideStereo=1;HideEStereo=1;FormName=;";
                sdmDiagram.StyleEx       = sdmDiagram.StyleEx + "HideConnStereotype=0;";
                sdmDiagram.Update();
            }
            realElement.StereotypeEx = SDMModelingMain.SdmContainerStereotype;
            realElement.Name         = EAUtil.getMethodSignature(OwningOperation.EaMethod);
            realElement.Update();

            EAEcoreAddin.Util.EAUtil.setTaggedValue(Repository, realElement, SDMModelingMain.SDMContainerAssociatedMethodTaggedValueName, OwningOperation.EaMethod.MethodGUID);
        }
Exemplo n.º 3
0
        public static String getOperationName(SQLRepository rep, MethodCallExpression methodCallExpression)
        {
            SQLMethod method = rep.GetMethodByGuid(methodCallExpression.MethodGuid);

            return(EAUtil.getMethodSignature(method));
        }