From 613e75d77ab7cc12bc07f7fd055cfaf4ad445b14 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 2 Mar 2016 15:08:41 +0100 Subject: [PATCH] OO-1917: index questions after import --- .../java/org/olat/modules/qpool/QPoolService.java | 7 ++++++- .../qpool/manager/QuestionPoolServiceImpl.java | 14 +++++++++++++- .../qpool/ui/datasource/MarkedItemsSource.java | 1 + .../modules/qpool/ui/datasource/MyItemsSource.java | 1 + 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/modules/qpool/QPoolService.java b/src/main/java/org/olat/modules/qpool/QPoolService.java index 5d9e52faddd..1d1a150d22c 100644 --- a/src/main/java/org/olat/modules/qpool/QPoolService.java +++ b/src/main/java/org/olat/modules/qpool/QPoolService.java @@ -135,7 +135,7 @@ public interface QPoolService { public ResultInfos<QuestionItemView> getSharedItemByResource(OLATResource resource, SearchQuestionItemParams params, int firstResult, int maxResults, SortKey... orderBy); public List<QuestionItem2Resource> getSharedResourceInfosByItem(QuestionItem item); - + //list public QuestionItemCollection createCollection(Identity owner, String collectionName, List<QuestionItemShort> initialItems); @@ -153,6 +153,11 @@ public interface QPoolService { public ResultInfos<QuestionItemView> getItemsOfCollection(QuestionItemCollection collection, SearchQuestionItemParams params, int firstResult, int maxResults, SortKey... orderBy); + /** + * Send the message to index this list of items. + * @param items + */ + public void index(List<? extends QuestionItemShort> items); //study field admin public List<TaxonomyLevel> getTaxonomyLevels(); diff --git a/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java b/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java index d1c14ce42a3..98bcd1eb351 100644 --- a/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java +++ b/src/main/java/org/olat/modules/qpool/manager/QuestionPoolServiceImpl.java @@ -187,7 +187,18 @@ public class QuestionPoolServiceImpl implements QPoolService { lifeIndexer.indexDocument(QItemDocument.TYPE, mergedItem.getKey()); return mergedItem; } - + + @Override + public void index(List<? extends QuestionItemShort> items) { + if(items == null || items.isEmpty()) return; + + List<Long> keys = new ArrayList<>(); + for(QuestionItemShort item:items) { + keys.add(item.getKey()); + } + lifeIndexer.indexDocument(QItemDocument.TYPE, keys); + } + @Override public List<QuestionItem> copyItems(Identity owner, List<QuestionItemShort> itemsToCopy) { List<QuestionItem> copies = new ArrayList<QuestionItem>(); @@ -539,6 +550,7 @@ public class QuestionPoolServiceImpl implements QPoolService { for(QuestionItemShort item:items) { questionItemDao.share(item, resources, editable); } + index(items); } @Override diff --git a/src/main/java/org/olat/modules/qpool/ui/datasource/MarkedItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/datasource/MarkedItemsSource.java index 74c05528a8d..58b3f8b0fee 100644 --- a/src/main/java/org/olat/modules/qpool/ui/datasource/MarkedItemsSource.java +++ b/src/main/java/org/olat/modules/qpool/ui/datasource/MarkedItemsSource.java @@ -58,6 +58,7 @@ public class MarkedItemsSource extends DefaultItemsSource { String businessPath = "[QuestionItem:" + item.getResourceableId() + "]"; markManager.setMark(item, identity, null, businessPath); } + qpoolService.index(items); return items.size(); } diff --git a/src/main/java/org/olat/modules/qpool/ui/datasource/MyItemsSource.java b/src/main/java/org/olat/modules/qpool/ui/datasource/MyItemsSource.java index 3ff3be10072..e1cbd076c94 100644 --- a/src/main/java/org/olat/modules/qpool/ui/datasource/MyItemsSource.java +++ b/src/main/java/org/olat/modules/qpool/ui/datasource/MyItemsSource.java @@ -45,6 +45,7 @@ public class MyItemsSource extends DefaultItemsSource { @Override public int postImport(List<QuestionItem> items, boolean editable) { + qpoolService.index(items); return items == null ? 0 : items.size(); } -- GitLab