/// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="historyService">历史记录仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <HistoricInstance> LoadPage(IHistoryService historyService,
                                                 PageableProcessHistoryRepositoryService pageableRepositoryService, HistoricInstanceQuery qo)
        {
            HistoricProcessInstanceQueryImpl query = historyService.CreateHistoricProcessInstanceQuery() as HistoricProcessInstanceQueryImpl;

            FastCopy.Copy <HistoricInstanceQuery, HistoricProcessInstanceQueryImpl>(qo, query);

            if (qo.IsTerminated.HasValue)
            {
                if (qo.IsTerminated.Value)
                {
                    query.SetDeleted();
                }
                else
                {
                    query.SetNotDeleted();
                }
            }

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <HistoricInstance> defs = pageableRepositoryService.PageRetriever.LoadPage(historyService as ServiceImpl, query, qo.Pageable, pageableRepositoryService.ProcessDefinitionConverter, (q, firstResult, pageSize) =>
            {
                return(new Engine.Impl.Cmd.GetHistoricProcessInstancesCmd(q, firstResult, pageSize));
            });

            return(defs);
        }
Ejemplo n.º 2
0
 public void Write(byte[] value)
 {
     fixed(byte *pv = value)
     {
         FastCopy.CopyBytes(_buffer + *_position, pv, value.Length);
         *_position += value.Length;
     }
 }
Ejemplo n.º 3
0
        public void test_fast_copy()
        {
            const int count    = 23;
            var       expected = Utility.GetTestArray(count);
            var       actual   = new byte[count];

            Assert.IsFalse(Utility.CheckTestArray(actual));

            FastCopy.CopyBytes(actual, expected);

            Assert.IsTrue(Utility.CheckTestArray(actual));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="repositoryService">仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <ProcessDefinition> LoadPage(IRepositoryService repositoryService, PageableProcessDefinitionRepositoryService pageableRepositoryService, ProcessDefinitionQuery qo)
        {
            ProcessDefinitionQueryImpl query = repositoryService.CreateProcessDefinitionQuery() as ProcessDefinitionQueryImpl;

            FastCopy.Copy <ProcessDefinitionQuery, ProcessDefinitionQueryImpl>(qo, query);

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <ProcessDefinition> defs = pageableRepositoryService.PageRetriever.LoadPage(query, qo.Pageable, pageableRepositoryService.ProcessDefinitionConverter);

            return(defs);
        }
Ejemplo n.º 5
0
        public byte[] ReadBytes(int length)
        {
            var value = new byte[length];

            fixed(byte *pv = value)
            {
                FastCopy.CopyBytes(pv, _buffer + *_position, length);
                *_position += length;
            }

            return(value);
        }
Ejemplo n.º 6
0
        /// <summary>
        ///
        /// </summary>
        public virtual IPage <TaskModel> GetAllTasks(TaskQuery taskQuery)
        {
            TaskQueryImpl query = taskService.CreateTaskQuery() as TaskQueryImpl;

            FastCopy.Copy <TaskQuery, TaskQueryImpl>(taskQuery, query);

            sortApplier.ApplySort(query, taskQuery.Pageable);

            return(pageRetriever.LoadPage(taskService as ServiceImpl, query, taskQuery.Pageable, taskConverter, (q, firstResult, pageSize) =>
            {
                return new GetProcessInstanceTasksCmd(q, firstResult, pageSize);
            }));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="repositoryService">仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <Deployment> LoadPage(IRepositoryService repositoryService,
                                           PageableDeploymentRespositoryService pageableRepositoryService,
                                           DeploymentQuery qo)
        {
            DeploymentQueryImpl query = repositoryService.CreateDeploymentQuery() as DeploymentQueryImpl;

            FastCopy.Copy <DeploymentQuery, DeploymentQueryImpl>(qo, query);

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <Deployment> defs = pageableRepositoryService.PageRetriever.LoadPage(query, qo.Pageable, pageableRepositoryService.DeploymentConverter);

            return(defs);
        }
Ejemplo n.º 8
0
        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            Process[] ps = FastCopy.ListupFastCopy();

            string[] sa = new string[ps.Length];

            for (int i = 0; i < sa.Length; i++)
            {
                sa[i] = ps[i].ProcessName + ":" + ps[i].MainModule.FileName;
            }

            listBox1.Items.AddRange(sa);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="taskService">任务仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <TaskModel> LoadPage(ITaskService taskService,
                                          PageableTaskRepositoryService pageableRepositoryService,
                                          TaskQuery qo)
        {
            TaskQueryImpl query = taskService.CreateTaskQuery() as TaskQueryImpl;

            FastCopy.Copy <TaskQuery, TaskQueryImpl>(qo, query);

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <TaskModel> defs = pageableRepositoryService.PageRetriever.LoadPage(query, qo.Pageable, pageableRepositoryService.TaskConverter);

            return(defs);
        }
        public virtual Task <string> GetProcessModel(ProcessDefinitionQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            ProcessDefinitionQueryImpl qo = repositoryService.CreateProcessDefinitionQuery() as ProcessDefinitionQueryImpl;

            FastCopy.Copy <ProcessDefinitionQuery, ProcessDefinitionQueryImpl>(query, qo);
            qo.SetLatestVersion();

            IProcessDefinition processDefinition = qo.SingleResult();

            return(GetProcessModel(processDefinition.Id));
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 读取分页记录
        /// </summary>
        /// <param name="runtimeService">运行时仓储服务</param>
        /// <param name="pageableRepositoryService">分页仓储服务</param>
        /// <param name="qo">查询对象</param>
        /// <returns></returns>
        public IPage <ProcessInstance> LoadPage(IRuntimeService runtimeService,
                                                PageableProcessInstanceRepositoryService pageableRepositoryService, ProcessInstanceQuery qo)
        {
            ProcessInstanceQueryImpl query = runtimeService.CreateProcessInstanceQuery() as ProcessInstanceQueryImpl;

            FastCopy.Copy <ProcessInstanceQuery, ProcessInstanceQueryImpl>(qo, query);
            query.OnlyProcessInstances = true;

            pageableRepositoryService.SortApplier.ApplySort(query, qo.Pageable);

            IPage <ProcessInstance> defs = pageableRepositoryService.PageRetriever.LoadPage(runtimeService as ServiceImpl, query, qo.Pageable, pageableRepositoryService.ProcessDefinitionConverter, (q, firstResult, pageSize) =>
            {
                return(new GetProcessInstancesCmd(q, firstResult, pageSize));
            });

            return(defs);
        }
Ejemplo n.º 12
0
 public void Straightforward()
 {
     FastCopy.CopyStraightForward(arr2, arr1, ToCopyLength);
 }
Ejemplo n.º 13
0
 public void MyCopy()
 {
     FastCopy.CopyAligned(arr1, arr2, ToCopyLength);
 }
Ejemplo n.º 14
0
        static void Main(string[] args)
        {
            // NFsCgiでpost/getの処理を行う
            NFsCgi cgi = new NFsCgi(args);

            /// lock処理
            if (cgi.CheckLockFile("fastcopy") == false)
            {
                cgi.WriteErr("<b>lock err<b>");
                return;
            }
            string pramD = LoadPref(".pref");

            if ((pramD == "") || (pramD == "dir exists"))
            {
                cgi.WriteErr("<b>pref err<b>");
                cgi.CloseLockFile();
                return;
            }



            // CGIパラメータを獲得
            // 動作モード find listup etc
            string Mode = "";

            cgi.Data.FindValueFromTag("Mode", out Mode);
            // 対象ディレクトリのインデックス文字列
            string TargetIndexStr = "";

            cgi.Data.FindValueFromTag("TargetIndex", out TargetIndexStr);
            // 対象ディレクトリのインデックス
            int TargetIndexValue = 0;

            if (int.TryParse(TargetIndexStr, out TargetIndexValue) == false)
            {
                TargetIndexValue = 0;
            }
            // FormのSelect 項目
            string SelectItemStr = "";

            // 対象ディレクトリの知ると
            string[] TargetDirs = new string[0];

            //prefファイルを読み込む
            //prefファイルにはターゲットリストがあるフォルダパスが入っている
            FastCopyOptList optlist = LoadFastCopy(Path.Combine(pramD, "fastcopy.json"));

            if (optlist.Items.Count <= 0)
            {
                cgi.WriteErr("<b>fastcopy.json err<b>");
                cgi.CloseLockFile();
                return;
            }
            else
            {
                // ターゲットリストからSelect項目のhtmlを作成。
                for (int i = 0; i < optlist.Items.Count; i++)
                {
                    string b  = "<option {0} value=\"{1}\">{2}</option>\r\n";
                    string ss = "";
                    if (TargetIndexValue == i)
                    {
                        ss = "selected";
                    }
                    SelectItemStr += String.Format(b, ss, i, optlist.Items[i].caption);
                }
            }
            if (TargetIndexValue < 0)
            {
                TargetIndexValue = 0;
            }
            else if (TargetIndexValue > optlist.Items.Count - 1)
            {
                TargetIndexValue = optlist.Items.Count - 1;
            }


            // htmlの処理
            string  htmlPath = Path.Combine(pramD, "base.html");
            NFsHtml html     = new NFsHtml(htmlPath);

            //基本htmlがなかったら作成
            if (html.Html == "")
            {
                html.Html = Properties.Resources.baseHtml;
                html.Save(htmlPath);
            }
            // htmlの形成
            html.ReplaceTag("$PATH_INFO", cgi.PATH_INFO);
            html.ReplaceTag("$QUERY_STRING", cgi.QUERY_STRING);
#if DEBUG
            html.ReplaceTag("$Data", cgi.Data.ToJson());
#endif
            html.ReplaceTag("$SelectItems", SelectItemStr);



            if (Mode == "exec")
            {
            }


            Process[] fxs         = FastCopy.ListupFastCopy();
            string    FastCopyNow = "";
            if (fxs.Length > 0)
            {
                for (int i = 0; i < fxs.Length; i++)
                {
                    string      t   = fxs[i].MainWindowTitle;
                    FastCopyOpt fco = new FastCopyOpt();
                    fco.FromJson(t);
                    string ss = "<li>FastCopy src:[{0}] dst:[{1}] start:{2}</li>\r\n";
                    FastCopyNow += String.Format(ss, fco.src, fco.dst, fxs[i].StartTime.ToString());
                }
                FastCopyNow = "<ul>\r\n" + FastCopyNow + "</ul>\r\n";
            }
            else
            {
                FastCopyNow = "起動なし";
            }
            html.ReplaceTag("$FastCopyNow", FastCopyNow);
            //出力
            html.output();

            // lock解除
            cgi.CloseLockFile();
        }