@Override public boolean transform(Media media, String docNewId, DocumentMetadata.Builder dmBuider,DocumentProtos.DocumentWrapper.Builder builder) { byte[] b = media.getContent().toByteArray(); byte[] c = Arrays.copyOf(b, b.length); ScholarRecordP record; BasicMetadata.Builder bmBuilder = BasicMetadata.newBuilder(); try { record = ScholarRecordP.parseFrom(c); } catch (InvalidProtocolBufferException ex) { java.util.logging.Logger.getLogger(GsMediaToBw2Metadata.class.getName()).log(Level.SEVERE, null, ex); return false; } AuthorData ad = new AuthorData(); ad.docId = docNewId; if (translateGoogleScholarToDocumentMetadata(record, dmBuider, bmBuilder, ad)) { dmBuider.setBasicMetadata(bmBuilder); return true; } return false; } }
dmb.setBasicMetadata(bm); dwb.setDocumentMetadata(dmb);
public Tuple exec(Tuple input) throws IOException { if (input == null || input.size() != 3) { return null; } try{ String key = (String) input.get(0); DocumentWrapper dw = DocumentWrapper.parseFrom(((DataByteArray) input.get(1)).get()); String correctedDoi = (String) input.get(2); DocumentWrapper.Builder dwb = DocumentWrapper.newBuilder(dw); DocumentMetadata.Builder dmb = DocumentMetadata.newBuilder(dw.getDocumentMetadata()); BasicMetadata.Builder bmb = BasicMetadata.newBuilder(dmb.getBasicMetadata()); bmb.setDoi(correctedDoi); dmb.setBasicMetadata(bmb); dwb.setDocumentMetadata(dmb); Tuple ret = TupleFactory.getInstance().newTuple(); ret.append(key); ret.append(new DataByteArray(dwb.build().toByteArray())); return ret; }catch(Exception e){ logger.error("Error in processing input row:"+ StackTraceExtractor.getStackTrace(e), e); throw new IOException("Caught exception processing input row:\n" + StackTraceExtractor.getStackTrace(e)); } } }
commonDocumentMetadata.setBasicMetadata(commonBasicMetadata.build()); DocumentWrapper.Builder commonDocumentWrapper = DocumentWrapper.newBuilder(); commonDocumentWrapper.setDocumentMetadata(commonDocumentMetadata);
basicMetadata.addAuthor(author); documentMetadata.setBasicMetadata(basicMetadata);
private void incorporateDataToDWBuilder(Builder dwb, BasicMetadata.Builder bm, List<Author> myAuthorList) { bm.clearAuthor(); bm.addAllAuthor(myAuthorList); DocumentMetadata.Builder dmb = dwb.getDocumentMetadataBuilder(); dmb.setBasicMetadata(bm); dwb.setDocumentMetadata(dmb); }