Skip to content

Commit

Permalink
Merge pull request #945 from sheiksalahudeen/develop
Browse files Browse the repository at this point in the history
OLE-8731 : Fixed the issue with the overlay and attaching the PO to existing holdings and eholdings.
  • Loading branch information
sheiksalahudeen authored Dec 14, 2016
2 parents ff44d47 + 733b679 commit 3b2c057
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,26 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.kuali.incubator.SolrRequestReponseHandler;
import org.kuali.ole.Exchange;
import org.kuali.ole.OLEConstants;
import org.kuali.ole.constants.OleNGConstants;
import org.kuali.ole.docstore.common.constants.DocstoreConstants;
import org.kuali.ole.docstore.common.document.Bib;
import org.kuali.ole.docstore.common.pojo.RecordDetails;
import org.kuali.ole.module.purap.PurapConstants;
import org.kuali.ole.docstore.common.util.BusinessObjectServiceHelperUtil;
import org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.BibInfoRecord;
import org.kuali.ole.oleng.batch.profile.model.BatchProcessProfile;
import org.kuali.ole.oleng.handler.CreateReqAndPOBaseServiceHandler;
import org.kuali.ole.oleng.service.OrderImportService;
import org.kuali.ole.oleng.service.impl.OrderImportServiceImpl;
import org.kuali.ole.pojo.OleBibRecord;
import org.kuali.ole.pojo.OleOrderRecord;
import org.kuali.ole.pojo.OleTxRecord;
import org.kuali.ole.select.OleSelectConstant;
import org.kuali.ole.spring.batch.BatchUtil;

import java.util.*;

/**
* Created by SheikS on 3/10/2016.
*/
public class OleNGPOHelperUtil {
public class OleNGPOHelperUtil extends BusinessObjectServiceHelperUtil {
private static final Logger LOG = Logger.getLogger(OleNGPOHelperUtil.class);
private OrderImportService oleOrderImportService;
private SolrRequestReponseHandler solrRequestReponseHandler;
Expand Down Expand Up @@ -101,28 +95,17 @@ private void addPOIdToMap(Integer purapId, List<OleOrderRecord> oleOrderRecords,


private Bib getBibDetails(String bibId) {
String query = "id:" + bibId;
SolrDocumentList solrDocumentList = getSolrRequestReponseHandler().getSolrDocumentList(query);
if (solrDocumentList.size() > 0) {
BibInfoRecord bySinglePrimaryKey = getBusinessObjectService().findBySinglePrimaryKey(BibInfoRecord.class, bibId);
if(null != bySinglePrimaryKey) {
Bib bib = new Bib();
SolrDocument solrDocument = solrDocumentList.get(0);

List<String> authors = (List<String>) solrDocument.getFieldValue(DocstoreConstants.TITLE_DISPLAY);
String author = (CollectionUtils.isNotEmpty(authors)) ? authors.get(0) : "";

List<String> titles = (List<String>) solrDocument.getFieldValue(DocstoreConstants.TITLE_DISPLAY);
String title = (CollectionUtils.isNotEmpty(titles)) ? titles.get(0) : "";

List<String> isbns = (List<String>) solrDocument.getFieldValue(DocstoreConstants.ISBN_DISPLAY);
String isbn = (CollectionUtils.isNotEmpty(isbns)) ? isbns.get(0) : "";

List<String> publishers = (List<String>) solrDocument.getFieldValue(DocstoreConstants.PUBLISHER_DISPLAY);
String publisher = (CollectionUtils.isNotEmpty(publishers)) ? publishers.get(0) : "";

bib.setTitle(title);
bib.setAuthor(author);
bib.setPublisher(publisher);
bib.setIsbn(isbn);
String author = bySinglePrimaryKey.getAuthor();
String title = bySinglePrimaryKey.getTitle();
String publisher = bySinglePrimaryKey.getPublisher();
String isbn = bySinglePrimaryKey.getIsxn();
bib.setTitle(StringUtils.isNotBlank(title)? title : "");
bib.setAuthor(StringUtils.isNotBlank(author) ? author : "");
bib.setPublisher(StringUtils.isNotBlank(publisher)? publisher : "");
bib.setIsbn(StringUtils.isNotBlank(isbn)? isbn : "");
return bib;
}
return null;
Expand Down
40 changes: 23 additions & 17 deletions ole-app/olefs/src/main/resources/org/kuali/ole/batch/ojb-batch.xml
Original file line number Diff line number Diff line change
Expand Up @@ -550,9 +550,11 @@
<field-descriptor name="statusUpdatedDate" column="STATUS_UPDATED_DATE" jdbc-type="TIMESTAMP"/>
<field-descriptor name="uniqueIdPrefix" column="UNIQUE_ID_PREFIX" jdbc-type="VARCHAR"/>
<field-descriptor name="content" column="CONTENT" jdbc-type="CLOB"/>
<!--<collection-descriptor name="holdingsRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">-->
<!--<inverse-foreignkey field-ref="bibId" />-->
<!--</collection-descriptor>-->
<collection-descriptor name="holdingsRecords" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsRecord"
collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
auto-retrieve="true" auto-update="none" auto-delete="none" proxy="true">
<inverse-foreignkey field-ref="bibId" />
</collection-descriptor>
</class-descriptor>


Expand Down Expand Up @@ -643,46 +645,50 @@
<reference-descriptor name="receiptStatusRecord" class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.ReceiptStatusRecord" auto-retrieve="true" auto-update="none" auto-delete="none">
<foreignkey field-ref="receiptStatusId" />
</reference-descriptor>
<collection-descriptor name="extentOfOwnerShipRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.ExtentOfOwnerShipRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="false" auto-update="none" auto-delete="none">
<collection-descriptor name="extentOfOwnerShipRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.ExtentOfOwnerShipRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="false" auto-update="object" auto-delete="object">
<inverse-foreignkey field-ref="holdingsId" />
</collection-descriptor>
<collection-descriptor name="holdingsNoteRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsNoteRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">
<collection-descriptor name="holdingsNoteRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsNoteRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="object" auto-delete="object">
<inverse-foreignkey field-ref="holdingsId" />
</collection-descriptor>
<collection-descriptor name="holdingsUriRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsUriRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">
<collection-descriptor name="holdingsUriRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsUriRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="object" auto-delete="object">
<inverse-foreignkey field-ref="holdingsId" />
</collection-descriptor>

<collection-descriptor name="eInstanceCoverageRecordList" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.EInstanceCoverageRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">
<collection-descriptor name="eInstanceCoverageRecordList" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.EInstanceCoverageRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="object" auto-delete="object">
<inverse-foreignkey field-ref="holdingsId"/>
</collection-descriptor>

<collection-descriptor name="eInstancePerpetualAccessRecordList" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.EInstancePerpetualAccessRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">
<collection-descriptor name="eInstancePerpetualAccessRecordList" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.EInstancePerpetualAccessRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="object" auto-delete="object">
<inverse-foreignkey field-ref="holdingsId"/>
</collection-descriptor>
<reference-descriptor name="authenticationType" class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.AuthenticationTypeRecord" auto-retrieve="true" auto-update="none" auto-delete="none">
<foreignkey field-ref="authenticationTypeId" />
</reference-descriptor>

<!--<collection-descriptor name="itemRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.ItemRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">-->
<!--<inverse-foreignkey field-ref="holdingsId" />-->
<!--</collection-descriptor>-->
<collection-descriptor name="itemRecords" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.ItemRecord"
collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
auto-retrieve="true" auto-update="none" auto-delete="none" proxy="true">
<inverse-foreignkey field-ref="holdingsId" />
</collection-descriptor>

<collection-descriptor name="holdingsStatisticalSearchRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsStatisticalSearchRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">
<collection-descriptor name="holdingsStatisticalSearchRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsStatisticalSearchRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="object" auto-delete="object">
<inverse-foreignkey field-ref="holdingsId" />
</collection-descriptor>

<collection-descriptor name="holdingsAccessLocations" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsAccessLocation" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">
<collection-descriptor name="holdingsAccessLocations" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.HoldingsAccessLocation" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="object" auto-delete="object">
<inverse-foreignkey field-ref="holdingsId" />
</collection-descriptor>

<!--<collection-descriptor name="itemRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.ItemRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">-->
<!--<inverse-foreignkey field-ref="holdingsId" />-->
<!--</collection-descriptor>-->
<!--<collection-descriptor name="bibRecords" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.BibRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">-->
<!--<inverse-foreignkey field-ref="bibId" />-->
<!--</collection-descriptor>-->
<collection-descriptor name="donorList" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.OLEHoldingsDonorRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="none" auto-delete="none">
<collection-descriptor name="bibRecords" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.BibRecord"
collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList"
auto-retrieve="true" auto-update="none" auto-delete="none" proxy="true">
<inverse-foreignkey field-ref="bibId" />
</collection-descriptor>
<collection-descriptor name="donorList" proxy="true" element-class-ref="org.kuali.ole.docstore.engine.service.storage.rdbms.pojo.OLEHoldingsDonorRecord" collection-class="org.apache.ojb.broker.util.collections.ManageableArrayList" auto-retrieve="true" auto-update="object" auto-delete="object">
<inverse-foreignkey field-ref="holdingsId" />
</collection-descriptor>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ public ObjectMapper getObjectMapper() {

public void addValidationErrorMessageToExchange(Exchange exchange, String validationErrorMessage) {
ArrayList errorMessages = (ArrayList) exchange.get("validationErrorMessages");
if(null == errorMessages) {
errorMessages = new ArrayList<>();
}
errorMessages.add(validationErrorMessage);
exchange.add("validationErrorMessages", errorMessages);
}
}

0 comments on commit 3b2c057

Please sign in to comment.