private BibTrees fetchResultSet(int batchSize, BatchStatistics batchStatistics, Boolean isBibOnly) throws Exception { StopWatch stopWatch = new StopWatch(); stopWatch.start(); BibTrees bibTrees = new BibTrees(); int count = 0; if (batchSize <= 0) { return bibTrees; } while (bibResultSet.next()) { count++; BibTree bibTree = new BibTree(); Bib bib = fetchBibRecord(); bibTree.setBib(bib); if (!isBibOnly) { List<HoldingsTree> holdingsList = fetchHoldingsTreeForBib(Integer.parseInt(bib.getLocalId())); bibTree.getHoldingsTrees().addAll(holdingsList); batchStatistics.addHoldingsCount(holdingsList.size()); for (HoldingsTree holdingsTree : holdingsList) { batchStatistics.addItemCount(holdingsTree.getItems().size()); } } bibTrees.getBibTrees().add(bibTree); if (count == batchSize) { break; } } stopWatch.stop(); batchStatistics.addTimeTaken(stopWatch.getTotalTimeMillis()); batchStatistics.addBibCount(bibTrees.getBibTrees().size()); return bibTrees; }
public Map<String, Map> updateItemsToDocstore(List<Item> itemList) { org.kuali.ole.docstore.common.document.BibTrees bibTrees = new org.kuali.ole.docstore.common.document.BibTrees(); org.kuali.ole.docstore.common.document.BibTree bibTree = new org.kuali.ole.docstore.common.document.BibTree(); org.kuali.ole.docstore.common.document.Bib bib = new org.kuali.ole.docstore.common.document.Bib(); bibTree.setBib(bib); bib.setId(""); org.kuali.ole.docstore.common.document.HoldingsTree holdingsTree = new org.kuali.ole.docstore.common.document.HoldingsTree(); org.kuali.ole.docstore.common.document.Holdings holdings = new org.kuali.ole.docstore.common.document.Holdings(); holdings.setId(""); holdingsTree.setHoldings(holdings); List<String> locationLevel = BatchBibImportUtil.getLocationLevel(); for (Iterator<Item> iterator = itemList.iterator(); iterator.hasNext(); ) { Item item = iterator.next(); if (CollectionUtils.isNotEmpty(locationLevel)) { populateLocationLevels(item, locationLevel); } item.buildLocationLevels( (org.kuali.ole.docstore.common.document.content.instance.Item) item.getContentObject()); item.setOperation( org.kuali.ole.docstore.common.document.DocstoreDocument.OperationType.UPDATE); item.serializeContent(); holdingsTree.getItems().add(item); } bibTree.getHoldingsTrees().add(holdingsTree); bibTrees.getBibTrees().add(bibTree); BibTrees responseBibTree = null; try { responseBibTree = getDocstoreClientLocator().getDocstoreClient().processBibTrees(bibTrees); } catch (Exception e) { e.printStackTrace(); } Map<String, Map> statusMap = generateResultMapForBibTreeWithItemUuidAndResultType(responseBibTree); return statusMap; }