Exemple #1
0
        private static void ReadTransitions(GraphFsm graphFsm, XPathNavigator navigator)
        {
            var nodosEstado = navigator.Select("section[@name='xgml']/section[@name='graph']/section[@name='edge']");

            foreach (XPathNavigator nodo in nodosEstado)
            {
                var domainEvent = string.Empty;
                var source      = 0;
                var target      = 0;

                var value = nodo.Select("attribute[@key='label']");
                if (value.MoveNext())
                {
                    domainEvent = value.Current.Value;
                }

                value = nodo.Select("attribute[@key='source']");
                if (value.MoveNext())
                {
                    source = value.Current.ValueAsInt;
                }

                value = nodo.Select("attribute[@key='target']");
                if (value.MoveNext())
                {
                    target = value.Current.ValueAsInt;
                }

                if (!string.IsNullOrEmpty(domainEvent)) //Hay transisiones sin eventos
                {
                    graphFsm.AddTransition(source, target, domainEvent);
                }
            }
        }
Exemple #2
0
        private static void ReadTransitions(GraphFsm graphFsm, XPathNavigator navigator)
        {
            var nodosEstado = navigator.Select("section[@name='xgml']/section[@name='graph']/section[@name='edge']");
            foreach (XPathNavigator nodo in nodosEstado)
            {
                var domainEvent = string.Empty;
                var source = 0;
                var target = 0;

                var value = nodo.Select("attribute[@key='label']");
                if (value.MoveNext())
                    domainEvent = value.Current.Value;

                value = nodo.Select("attribute[@key='source']");
                if (value.MoveNext())
                    source = value.Current.ValueAsInt;

                value = nodo.Select("attribute[@key='target']");
                if (value.MoveNext())
                    target = value.Current.ValueAsInt;

                if (!string.IsNullOrEmpty(domainEvent)) //Hay transisiones sin eventos
                    graphFsm.AddTransition(source, target, domainEvent);
            }
        }