示例#1
0
  /**
   * Add MDRecord to database
   *
   * @param request
   * @param ingestedRecords
   */
  protected void addMdRecord2Database(Request request, List<RecordRepox> ingestedRecords) {
    try {
      Repox2Sip repox2Sip = RepoxContextUtil.getRepoxManager().getDataManager().getRepox2sip();
      List<MetadataRecord> allMetadataRecords = new ArrayList<MetadataRecord>();
      for (RecordRepox rp : ingestedRecords) {
        allMetadataRecords.add(rp.createRecordSip());
        // rp.addRecord2DataBase(request.getId(), repox2Sip);
      }
      repox2Sip.addMetadataRecords(request.getId(), allMetadataRecords);

    } catch (Repox2SipException e) {
      log.error("Could not add MetadataRecord to Data Base", e);
      e.printStackTrace();
    }
  }
 private List<String> indexRecordRepoxMarc(RecordRepox repoxRecord) {
   Record record =
       (repoxRecord instanceof RecordRepoxMarc
           ? ((RecordRepoxMarc) repoxRecord).getRecord()
           : MarcXChangeDom4jBuilder.parseRecord(repoxRecord.getDom()));
   List<String> idxVals = new ArrayList<String>();
   List<Field> fields = record.getField(tag);
   for (Field f : fields) {
     if (subfield == null) {
       String val = f.getValue();
       if (val != null) {
         idxVals.add(IndexUtil.encode(val));
       }
     } else {
       for (String val : f.getSubfieldValues(subfield)) {
         String[] indVals = IndexUtil.encode(val).split(" ");
         for (String word : indVals) {
           idxVals.add(word);
         }
       }
     }
   }
   return idxVals;
 }