protected IList <AbstractComponentFunctorParameter> loadAbstractComponentFunctorParameters(AbstractComponentFunctor c_) { IList <AbstractComponentFunctorParameter> pars = new List <AbstractComponentFunctorParameter>(); if (parameter != null) { foreach (ParameterType parameter_ in parameter) { Console.WriteLine("loadAbstractComponentFunctorParameters : PARAMETER " + parameter_.componentRef + ":" + parameter_.formFieldId); AbstractComponentFunctorParameter p = new AbstractComponentFunctorParameter(); p.Id_abstract = c_.Id_abstract; p.Id_parameter = parameter_.formFieldId; ComponentInUseType cBound = lookForInnerComponent(parameter_.componentRef); AbstractComponentFunctorApplication cApp = newAbstractComponentFunctorApplication(cBound); if (cApp == null) { throw new Exception("DEPLOY ERROR: Unresolved Dependency for base component (context parameter bound) : " + cBound.name); } p.Bounds_of = cApp.Id_functor_app; p.Variance = parameter_.variance; if (br.ufc.pargo.hpe.backend.DGAC.BackEnd.acfpdao.retrieve(p.Id_abstract, p.Id_parameter) == null) { br.ufc.pargo.hpe.backend.DGAC.BackEnd.acfpdao.insert(p); } pars.Add(p); } } Console.WriteLine("loadAbstractComponentFunctorParameters : END"); return(pars); }
private InterfaceSignature createSliceAccessorType(Interface i, out IDictionary <string, int> par_order) { par_order = new Dictionary <string, int>(); IDictionary <string, string> open_pars = new Dictionary <string, string>(); IDictionary <string, int> closed_pars = new Dictionary <string, int>(); IList <InterfaceParameter> ip_list = BackEnd.ipdao.list(i.Id_abstract, i.Id_interface); // string[] par_order = new string[ip_list.Count]; int k = 0; foreach (InterfaceParameter ip in ip_list) { open_pars.Add(ip.ParId, ip.VarId); par_order.Add(ip.ParId, k++); } InterfaceSignature isig = calculateParameters(i, closed_pars, open_pars); IDictionary <string, InterfaceSignature> m = new Dictionary <string, InterfaceSignature>(); foreach (KeyValuePair <string, InterfaceSignature> par in isig.parameters) { string par_id = par.Key; InterfaceSignature iPar = par.Value; AbstractComponentFunctorParameter acfp = BackEnd.acfpdao.retrieve(i.Id_abstract, par_id); AbstractComponentFunctorApplication acfa = BackEnd.acfadao.retrieve(acfp.Bounds_of); AbstractComponentFunctor acf = BackEnd.acfdao.retrieve(acfa.Id_abstract); Interface i_ = BackEnd.idao.retrieveTop(acfa.Id_abstract, iPar.the_interface.Id_interface_super_top); iPar.package_path = acf.Library_path; iPar.the_interface = i_; m.Add(par_id, iPar); } foreach (KeyValuePair <string, InterfaceSignature> par in m) { isig.parameters.Remove(par.Key); isig.parameters.Add(par.Key, par.Value); } return(isig); }