diff --git a/src/main/java/org/olat/modules/qpool/QPoolService.java b/src/main/java/org/olat/modules/qpool/QPoolService.java index 5d9e52fadddecf82991caf76378fecc02b64a19b..1d1a150d22c887b060a6fc83e865a0f90a79c256 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 d1c14ce42a3fa0030a96c82a216f79c48b98593d..98bcd1eb3513222fb98779176cb95bce0501361e 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 74c05528a8d2b778c13f93d18a847a4bfd5b358d..58b3f8b0fee54f853be81e2d4ef9008940166b9e 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 3ff3be100729e838f5c838d2b6298c035ee13333..e1cbd076c94bf305750ba50df3040b52f0c020e0 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(); }