Esempio n. 1
0
        /// <summary>
        /// Sets consumers
        /// </summary>
        /// <param name="collection">Consumers</param>
        /// <returns>Lists of parameters</returns>
        public virtual void Set(object collection)
        {
            IComponentCollection cc = collection as IComponentCollection;
            IDataRuntime         rt = StaticExtensionDataPerformerPortable.Factory.Create(cc, 0);

            Clear();
            variablesStr.Clear();

            /*           IEnumerable<IDataConsumer> consumers = cc.GetAll<IDataConsumer>();
             *         foreach (IDataConsumer c in consumers)
             *         {
             *             c.GetMeasurements(measurements);
             *         }*/
            List <object> l = new List <object>();

            cc.ForEach <IDifferentialEquationSolver>((IDifferentialEquationSolver solver) =>
            {
                if (solver is IMeasurements)
                {
                    if (!l.Contains(solver))
                    {
                        l.Insert(0, solver);
                    }
                }
                if (solver is IDataConsumer)
                {
                    (solver as IDataConsumer).GetDependentObjects(l);
                }
            }
                                                     );
            foreach (object o in l)
            {
                if (o is IMeasurements)
                {
                    measurements.Add(o as IMeasurements);
                }
            }
            foreach (IMeasurements m in measurements)
            {
                IDataRuntimeFactory s = StaticExtensionDataPerformerPortable.Factory;
                if (m is IDifferentialEquationSolver)
                {
                    IDifferentialEquationSolver ds = m as IDifferentialEquationSolver;
                    Add(ds);
                }
                else if (s != null)
                {
                    IDifferentialEquationSolver ds = rt.GetDifferentialEquationSolver(m);
                    if (ds != null)
                    {
                        Add(ds);
                    }
                }
                if (m is INormalizable)
                {
                    Add(m as INormalizable);
                }
            }
            measurements.SortMeasurements();
        }
 public BasicEngineeringInitializer(OrdinaryDifferentialEquations.IDifferentialEquationSolver ordSolver,
                                    DataPerformer.Interfaces.IDifferentialEquationProcessor diffProcessor,
                                    IDataRuntimeFactory strategy, IApplicationInitializer[] initializers,
                                    bool throwsRepeatException) : base(initializers, throwsRepeatException)
 {
     this.ordSolver     = ordSolver;
     this.diffProcessor = diffProcessor;
     this.strategy      = strategy;
 }
Esempio n. 3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="factory">Factory</param>
 /// <param name="consumer">Data consumer</param>
 /// <param name="reason">reason</param>
 /// <param name="priority">priority</param>
 public DataConsumerRuntime(IDataRuntimeFactory factory, IDataConsumer consumer, string reason,
                            int priority = 0)
 {
     this.reason   = reason;
     this.factory  = factory;
     this.consumer = consumer;
     this.priority = priority;
     Prepare();
 }
        private static void Initialize(OrdinaryDifferentialEquations.IDifferentialEquationSolver ordSolver,
                                       IDataRuntimeFactory strategy, IDatabaseCoordinator coordinator, IApplicationInitializer[] initializers,
                                       bool throwsRepeatException)
        {
            List <IApplicationInitializer> init = null;

            if (initializers == null)
            {
                init = new List <IApplicationInitializer>();
            }
            else
            {
                init = new List <IApplicationInitializer>(initializers);
            }
            IApplicationInitializer initializer = new BasicEngineeringInitializer(ordSolver,
                                                                                  DataPerformer.Portable.DifferentialEquationProcessors.RungeProcessor.Processor, strategy, init.ToArray(),
                                                                                  throwsRepeatException);

            initializer.InitializeApplication();
        }
 public EngineeringInitializer(IDatabaseCoordinator coordinator, OrdinaryDifferentialEquations.IDifferentialEquationSolver ordSolver,
                               DataPerformer.Portable.DifferentialEquationProcessors.DifferentialEquationProcessor diffProcessor,
                               DataPerformer.Portable.Interfaces.IDataRuntimeFactory strategy, IApplicationInitializer[] initializers,
                               bool throwsRepeatException, Dictionary <string, object>[] resources, TextWriter logWriter)
 {
     this.coordinator           = coordinator;
     this.ordSolver             = ordSolver;
     this.diffProcessor         = diffProcessor;
     this.strategy              = strategy;
     this.initializers          = initializers;
     this.throwsRepeatException = throwsRepeatException;
     if (coordinator == null)
     {
         DataWarehouse.StaticExtensionDataWarehouse.SetAppBaseCoordinator();
     }
     else
     {
         DataWarehouse.StaticExtensionDataWarehouse.Coordinator = coordinator;
     }
     this.resources = resources;
     this.logWriter = logWriter;
 }
Esempio n. 6
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="factory">Factory</param>
        /// <param name="consumer">Data consumer</param>
        /// <param name="reason">Rerason</param>
        /// <param name="priority">Priority</param>
        public DataConsumerRuntime(IDataRuntimeFactory factory, IDataConsumer consumer, string reason,
                                   int priority) : base(factory, consumer, reason, priority)

        {
        }