예제 #1
0
 public static void UpdateActivity(IndexingActivity activity)
 {
     using (var context = new IndexingDataContext())
     {
         context.CommandTimeout = RepositoryConfiguration.SqlCommandTimeout;
         context.IndexingActivities.Attach(activity, true);
         context.SubmitChanges();
     }
 }
예제 #2
0
        public static void RegisterActivity(IndexingActivity activity)
        {
            var transaction = DataProvider.GetCurrentTransaction();

            using (var context = transaction == null ? new IndexingDataContext() : new IndexingDataContext(transaction))
            {
                context.CommandTimeout = RepositoryConfiguration.SqlCommandTimeout;
                context.IndexingActivities.InsertOnSubmit(activity);
                context.SubmitChanges();
            }
        }
예제 #3
0
        public static void ExecuteActivity(IndexingActivity activity, bool waitForComplete, bool distribute)
        {
            var lucAct = activity.CreateLuceneActivity();

            if (distribute)
            {
                lucAct.Distribute();
            }
            lucAct.InternalExecute();
            if (waitForComplete)
            {
                lucAct.WaitForComplete();
            }
        }
예제 #4
0
        internal static LuceneIndexingActivity CreateLucActivity(IndexingActivity activity)
        {
            switch (activity.ActivityType)
            {
            case IndexingActivityType.AddDocument:
                return(LuceneIndexingActivity.CreateFromIndexingActivity <AddDocumentActivity>(activity));

            case IndexingActivityType.AddTree:
                return(LuceneIndexingActivity.CreateFromIndexingActivity <AddTreeActivity>(activity));

            case IndexingActivityType.UpdateDocument:
                return(LuceneIndexingActivity.CreateFromIndexingActivity <UpdateDocumentActivity>(activity));

            case  IndexingActivityType.RemoveTree:
                return(LuceneIndexingActivity.CreateFromIndexingActivity <RemoveTreeActivity>(activity));

            case IndexingActivityType.RemoveDocument:
                return(LuceneIndexingActivity.CreateFromIndexingActivity <RemoveDocumentActivity>(activity));
            }
            throw new ArgumentException("Invalid ActivityType value", activity.ActivityType.ToString());
        }
예제 #5
0
        public static void ExecuteActivityDirect(IndexingActivity activity)
        {
            var lucAct = activity.CreateLuceneActivity();

            lucAct.Execute();
        }
예제 #6
0
 partial void DeleteIndexingActivity(IndexingActivity instance);
예제 #7
0
 partial void UpdateIndexingActivity(IndexingActivity instance);
예제 #8
0
 partial void InsertIndexingActivity(IndexingActivity instance);
예제 #9
0
 private static void ExecuteActivity(IndexingActivity activity)
 {
     IndexingActivityManager.RegisterActivity(activity);
     IndexingActivityManager.ExecuteActivity(activity, true, true);
 }