Opened 14 years ago
Closed 14 years ago
#528 closed defect (fixed)
Revisar la asignación de nombres y los métodos SetName
Reported by: | Pedro Gea | Owned by: | Pedro Gea |
---|---|---|---|
Priority: | blocker | Milestone: | Release 0.6 |
Component: | General | Keywords: | |
Cc: |
Description
Hay varias situaciones que apuntan a una revisión de los mecanismos y criterios para la asignación de nombres:
(i) se encuentra la necesidad de definir adecuadamente qué caracteres se admiten en los nombres de los objetos MMS,
(ii) se solicitan nuevos métodos SetName
(véase #512 y #454)
(iii) e incluso se encuentran algunos fallos en los métodos existentes que renombran el objeto pero dejan las dependencias parcialmente sin renombrar.
Change History (11)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
(In [2252]) Se incluyen funciones para facilitar la gestión de nombres.
Set incluye un nameblock "Settings" en MMS (el paquete) encargado de agrupar las distintas opciones de configuración de MMS.
Se modifican y se aúnan las funciones: MMS.IsTolName, MMS.NameTest y MMS.ObtainName en: MMS.PrepareName.
Se substituyen las llamadas a MMS.ObtainName en los objetos principales de MMS.
Refs #528
comment:3 Changed 14 years ago by
comment:4 Changed 14 years ago by
(In [2327]) Se revisan las clases abstractas @ObjectLinker y @ObjectLinked destinadas a facilitar la gestión de enlaces (referencias) entre objetos que no tienen una relación directa en el árbol de objetos padre-hijo.
Se añaden nuevos métodos para facilitar la gestión de los enlaces: _AppendLink, _RemoveLink, _DestroyLinkSet.
Se derivan las m-variables y las c-variables de los objetos enlazadores (@ObjectLinker)
Se revisan los métodos SetName de los objetos enlazados.
Se sustituyen los métodos _.UpdateMVariableName, _.UpdateMElementName por llamadas a _OnLinkedChangeIdentifier.
Se revisa el sistema de enlaces retardado de las variables, se introducen nuevos métodos: _Link* y _Unlink* y se unifican los conjuntos de enlaces (_variables) y referencias (_dependences).
Refs #512, #528, #556
comment:5 Changed 14 years ago by
(In [2328]) Se revisa el uso de los métodos _OnChange_ObjectLinker, _OnChangeIdentifier_ObjectLinker y _OnDestroy_ObjectLinker en los métodos _OnChange, _OnChangeIdentifier y _.Destroy.
Se sugiere la necesidad de revisar los métodos _.Update*Name y _.Update*Identifier para no tener que indicar el antiguo nombre o identificador haciendo uso de la referencia _this y la comparación entre objetos.
Refs #528, #556
comment:6 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Respecto al control de caracteres puede leerse la nota sobre el control de nombres?.
Los problemas relacionados con el renombrado de objetos y sus enlaces se solucionan y gestionan en las clases revisadas @ObjectLinker y @ObjectLinked.
comment:7 Changed 14 years ago by
(In [2357]) Se comienza a implementar un conjunto de mecanismos de test para MMS.
Este código (concretamente run_test.tol) está destinado a ser evaluado antes de la creación de un paquete.
Este código no se distribuye en los paquetes de MMS.
Se introducen dos primeros ejemplos relacionados con los tiques #528 y #545 respectivamente.
Refs #118, #528, #545
comment:8 Changed 14 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Se reabre el tique pues quedaron por tratar las consecuencias en los indentificadores de los parámetros (y otros objetos secundarios) cuando cambia el nombre de un objeto padre, ya que este nombre forma parte de su identificador.
comment:9 Changed 14 years ago by
(In [2371]) Se introduce el método GetParent en todos los objetos del módulo de modelos para facilitar la comunicación entre objetos.
La cautela anterior por facilitar estos mecanismos no parece ya necesaria, tras desaparecer las clases @[MainObject]Kernel
Desaparecen los métodos intermedios _.AppendParameter y _.RemoveParameter. Las llamadas se hacen directamente sobre sus versiones en @Model.
Se introducen un nuevo método _.UpdateIdentifier con el que un objeto padre advierte a objetos hijos que hay cambios en los nombres que afecta a su identificador.
Se revisa (y se introduce en nuevas clases) el método _OnChangeIdentifier en el módulo de modelos.
Se modifican los mecanismos _Update[*]Name por una versión más general _.UpdateChildName
Se revisan todas las clases relacionadas con la gestión de las estructuras ARIMA. Se revisa el criterio de signos en los parámetros ARIMA.
Refs #528, #558, #420
comment:10 Changed 14 years ago by
comment:11 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Se cierra el tique tras tratar la actualización de los identificadores cuando cambia cualquiera de los nombres que lo forman.
Véanse:
SetName
de las clases@ExpTerm
y@Hierarchy
.SetName
de la clase@CConstraint
.