Open HeuristicLab-Trac-Bot opened 10 years ago
Created branch [source:branches/OptimizationNetworks OptimizationNetworks] in r11062.
Added new empty plugins (HeuristicLab.Modeler, HeuristicLab.Optimization.Networks) in r11063.
Added new empty plugin HeuristicLab.Optimization.Networks.Views in r11069.
Results of code review with abeham, mkommend, ascheibe:
- check item descriptions and item images (done)
- check access modifiers (public, protected, private)
- change formatting of multi-line LINQ queries (indentation, points should be at the beginning and not at the end of a line) (done)
- IEntity, Entity
- rename to INetworkItem and NetworkItem (done)
- remove the Path property and the PathChanged event (done)
- add a generic way for error handling to propagate errors through multiple network items (e.g. if a node contains a port with an invalid port connection, the node itself should also show an error)
- Node
- should be abstract (done)
- add additional checks in the setter of the Parent property to reduce the danger of invalid values when the setter is accidentally called directly
- IGenericNode, GenericNode (done)
- rename to IUserDefinedNode and UserDefinedNode or find an even better name (done)
- should be sealed (done)
- Network (done)
- should be abstract (done)
- Nodes should not be changeable by default (similar to Ports in Node) (done)
- derive sealed IUserDefinedNetwork and UserDefinedNetwork (find an even better name?) (done)
- Port
- add additional checks in the setter of the Parent property to reduce the danger of invalid values when the setter is accidentally called directly
- ParameterizedPort (done)
- Parameters should not be changeable by default (similar to Ports in Node) (done)
- IGenericPort, GenericPort (done)
- rename to IMessagePort and MessagePort (done)
- only store the last message and not all messages (done)
- refactor CanConnectToPort as there might occur a NullReferenceException and to avoid code duplication (done)
- refactor PrepareMessage to avoid code duplication (done)
- remove IConnectedPort (done)
- add IConnectablePort to enable generic port connection handling in the GUI (done)
- IMessagePort should implement IParameterizedPort and IConnectablePort (done)
- PortParameter
- add additional checks in the setter of the Parent property to reduce the danger of invalid values when the setter is accidentally called directly
- PortParameterType (done)
- remove None (done)
- AlgorithmNode (done)
- replace algorithm.Runs.Clear() and algorithm.Prepare() by algorithm.Prepare(true) (done)
- HookOperator (done)
- check if there is an operator parameter for each port parameter (done)
- clone Port by default and prevent cloning when necessary by registering the port as its own clone (e.g. in AlgorithmNode when cloning the algorithm before its execution) (done)
- EntityView
- increase the gap between the name label and the name textbox so that there is enough space to show the error icon if the name is not valid
r11528: Implemented review comments
- adapted formatting of multi-line LINQ queries
- renamed Entity to NetworkItem
r11529: Implemented review comments
- made Node and Network abstract
- renamed GenericNode to UserDefinedNode and sealed it
- added sealed UserDefinedNetwork
- made Nodes in Network not changeable by default
- made Parameters in ParameterizedPort not changeable by default
- removed value None in PortParameterType
- refactored call algorithm.PrepareMessage() in AlgorithmNode
r11530: Implemented review comments
- renamed GenericPort to MessagePort
- refactored CanConnectToPort
- refactored PrepareMessage
- removed IConnectedPort
Additional changes:
- added UserDefinedMessagePort
- refactored CloneConnectedPortParameters to CloneParametersFromPort and moved it to ParameterizedPort
- added ports to NetworkView
Issue migrated from trac ticket # 2205
milestone: HeuristicLab 4.0 | component: Networks | priority: highest
2014-07-01 01:56:00: @s-wagner created the issue