GUI Struktury Spotkanie integracyjne Nazwa wydziału: EAIiE Nazwa katedry: Informatyka Miejsce i data prezentacji: Kraków,
Wstęp
Współpraca GUI Parametrów Centrum Zarządzania Monitoringiem
Zapytanie o dzieci do CZM public void ReqGetChildren(IObserver > observer, List agentId, DateTime time) public void ReqGetChildren(IObserver > observer, List agentId) public virtual void OnNext(Request reqChildren) Req o listę dzieci do CZM Req o listę dzieci w trybie offline Metoda OnNext dla ChildrenHandler : IObserver To jest handler z OnNext To jest scieżka do agenta w postaci listy intów od korzenia w górę To jest czas w którym przeszliśmy w tryb offline To jest ogólna klasa Request, którą rzutujemyna TreeRequest. Klasa TreeRequest zawieraz listę intów-dzieci
Zapytanie o parametry agenta do CZM public void ReqGetProperty(IObserver > observer, List agentId) public void ReqGetProperty(IObserver > observer, List agentId, DateTime time) public void OnNext(Request value) Handler Scieżka Czas offline Request, który rzutujejemy na ParametrsRequest. ParamatersRequest zawiera słownik: nawa parametru~wartość Req o parametry Req o parametry w trybie offline Metoda OnNext dla PropertyHandler : IObserver
Subskrypcja z użyciem GUI Parametrów public virtual void OnNext(int i) { SubscribtionList.Add(_agentViewModel.GetPath()); _agentViewModel.IsSubscribed = true; } public virtual void OnCompleted() { _agentViewModel.IsSubscribed = false; SubscribtionList.Remove(_agentViewModel.GetPath()); } public void ReqAddToSubscribtion(IObserver observer, List agentId) Request Metody OnNext i OnCompleted SubscribtionHandler: IObserver To jest scieżka To jest handler z metodami OnNext i OnCompleted To jest klasa statyczna, która zawiera listę list. Tu znajdują się zasubskrybowani agenci! Gdy jest OnCompleded wtedy sciezka jest usuwana z tej listy w klasie statycznej SubscriptonList To może być nawet void
SubscribtionHandler using System; using System.Collections.Generic; using System.Linq; using System.Text; using MonitoringCenterLib; namespace Structure.Gui.ViewModels { public class SubscribtionHandler: IObserver { private AgentViewModel _agentViewModel; public SubscribtionHandler(AgentViewModel agentViewModel) { _agentViewModel = agentViewModel; } public virtual void OnCompleted() { _agentViewModel.IsSubscribed = false; SubscribtionList.Remove(_agentViewModel.GetPath()); } public virtual void OnError(Exception e) { Console.WriteLine("This agent does not exist any more"); } public virtual void OnNext(int i) { SubscribtionList.Add(_agentViewModel.GetPath()); _agentViewModel.IsSubscribed = true; }
PropertyHandler using System; using System.Collections.Generic; using System.Linq; using System.Text; using MonitoringCenterLib.DataModel; namespace Structure.Gui.ViewModels { class PropertyHandler : IObserver > { private PropertyWindowsViewModel _propertyWindowsViewModel; public PropertyHandler(PropertyWindowsViewModel propertyWindowsViewModel) { _propertyWindowsViewModel = propertyWindowsViewModel; } public void OnCompleted() { } public void OnError(Exception error) { } public void OnNext(IEnumerable value) { foreach (int p in value) { Property prop = new Property(p); _propertyWindowsViewModel.Add(prop); }
ChildrenHandler namespace Structure.Gui.ViewModels { public class ChildrenHandler : IObserver > { private Agent _agent; private AgentViewModel _agentViewModel; private ParameterGUIMock _parameterGUI; public ChildrenHandler(Agent agent, AgentViewModel agentViewModel, ParameterGUIMock paramGUI) { _agent = agent; _agentViewModel = agentViewModel; _parameterGUI = paramGUI; } public virtual void OnCompleted() { Console.WriteLine("Ending transmission data to {0}.", _agent.Id); } public virtual void OnError(Exception e) { Console.WriteLine("{0}: This agent does not exist any more", _agent.Id); } public virtual void OnNext(IEnumerable children) { foreach (int childId in children) { Agent child = new Agent(childId); _agentViewModel.Children.Add(new AgentViewModel(child, _agentViewModel, _parameterGUI)); }