Changeset 1591


Ignore:
Timestamp:
Jun 5, 2010, 5:55:15 PM (12 years ago)
Author:
kopal
Message:

some small bugfixes

Location:
trunk/CrypPlugins/WorkspaceManager
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/Execution/ExecutionEngine.cs

    r1590 r1591  
    7070                {
    7171                    PluginProtocol pluginProtocol = new PluginProtocol(scheduler, pluginModel,this);
    72                     PluginModel.PluginProtocol = pluginProtocol;
     72                    pluginModel.PluginProtocol = pluginProtocol;
    7373                    scheduler.AddProtocol(pluginProtocol);
    7474                    pluginModel.checkExecutable(pluginProtocol);
     
    160160            MessageExecution msg_exec = new MessageExecution();
    161161            msg_exec.PluginModel = this.pluginModel;
    162             this.BroadcastMessage(msg_exec);           
     162            this.BroadcastMessageReliably(msg_exec);
    163163            yield return Receive<MessageExecution>(null, this.HandleExecute);
    164164            MessagePostExecution msg_post = new MessagePostExecution();
    165165            msg_post.PluginModel = this.pluginModel;
    166             this.BroadcastMessage(msg_post);   
    167             yield return Receive<MessagePreExecution>(null, this.HandlePostExecute);
     166            this.BroadcastMessageReliably(msg_post);
     167            yield return Receive<MessagePostExecution>(null, this.HandlePostExecute);
    168168        }
    169169
     
    207207        /// </summary>
    208208        /// <param name="msg"></param>
    209         private void HandlePostExecute(MessagePreExecution msg)
     209        private void HandlePostExecute(MessagePostExecution msg)
    210210        {
    211211            executionEngine.GuiLogMessage("HandlePostExecute for \"" + msg.PluginModel.Name + "\"", NotificationLevel.Debug);
  • trunk/CrypPlugins/WorkspaceManager/Model/ConnectorModel.cs

    r1590 r1591  
    3131    [Serializable]
    3232    public class ConnectorModel : VisualElementModel
    33     {
    34         [NonSerialized]
    35         private Mutex mutex = new Mutex();
    36 
     33    {       
    3734        [NonSerialized]
    3835        private bool hasData = false;
     
    10198            set
    10299            {   
    103                 mutex.WaitOne();
    104100                hasData = value;
    105                 mutex.ReleaseMutex();
    106101            }
    107102        }
     
    119114            set
    120115            {
    121                 mutex.WaitOne();
    122116                data = value;
    123                 mutex.ReleaseMutex();
    124117            }
    125118        }
     
    142135        public void PropertyChangedOnPlugin(Object sender, PropertyChangedEventArgs propertyChangedEventArgs)
    143136        {
    144             if(propertyChangedEventArgs.PropertyName.Equals(PropertyName) && Outgoing){
     137            if(sender == this.PluginModel.Plugin &&
     138                propertyChangedEventArgs.PropertyName.Equals(PropertyName) &&
     139                Outgoing){
     140               
    145141                foreach (ConnectionModel connectionModel in this.OutputConnections)
    146142                {
    147                     while (connectionModel.To.HasData && WorkspaceModel.WorkspaceManagerEditor.isExecuting())
     143                    /*while (connectionModel.To.HasData && WorkspaceModel.WorkspaceManagerEditor.isExecuting())
    148144                    {
    149145                        Thread.Sleep(5);
    150                     }
     146                    }*/
    151147                    connectionModel.To.Data = sender.GetType().GetProperty(propertyChangedEventArgs.PropertyName).GetValue(sender, null);
    152148                    connectionModel.To.HasData = true;
    153149                    connectionModel.Active = true;
    154                     this.WorkspaceModel.WorkspaceManagerEditor.GuiLogMessage("PropertyChanged: " + sender.GetType().GetProperty(propertyChangedEventArgs.PropertyName),Cryptool.PluginBase.NotificationLevel.Debug);
     150                    this.WorkspaceModel.WorkspaceManagerEditor.GuiLogMessage("PropertyChanged for  \"" + this.PluginModel.Name + "\" Property \"" + PropertyName + "\"", Cryptool.PluginBase.NotificationLevel.Debug);
    155151
    156152                    //We changed an input on the PluginModel where "To" is belonging to so
    157153                    //we have to check if this is executable now
    158                     connectionModel.To.PluginModel.checkExecutable(PluginModel.PluginProtocol);
     154                    connectionModel.To.PluginModel.checkExecutable(connectionModel.To.PluginModel.PluginProtocol);
    159155                }
    160156            }                       
  • trunk/CrypPlugins/WorkspaceManager/Model/PluginModel.cs

    r1590 r1591  
    181181        {                           
    182182            bool AtLeastOneInputSet = false;
    183             //First test if every mandatory Connector has Data
     183            //First test if every mandatory Connector has data
    184184            foreach (ConnectorModel connectorModel in this.InputConnectors)
    185185            {
     
    195195            }
    196196
    197             //Next test if every connceted Connection to each Connection is not active
     197            //Next test if every connected Connection is not active
    198198            foreach (ConnectorModel connectorModel in this.OutputConnectors)
    199199            {
     
    211211                MessagePreExecution msg = new MessagePreExecution();
    212212                msg.PluginModel = this;
    213                 protocolBase.BroadcastMessage(msg);
     213                protocolBase.BroadcastMessageReliably(msg);
    214214            }
    215215            return;
     
    242242        ///
    243243        /// </summary>
    244         public static PluginProtocol PluginProtocol { get; set; }
     244        public PluginProtocol PluginProtocol { get; set; }
    245245    }
    246246}
Note: See TracChangeset for help on using the changeset viewer.