@Override public Map exec(Tuple input) throws IOException { try { DataByteArray protoMetadata = (DataByteArray) input.get(0); DocumentMetadata metadata = DocumentMetadata.parseFrom(protoMetadata.get()); String titles; String abstracts; List<String> titleList = new ArrayList<String>(); for (TextWithLanguage title : metadata.getBasicMetadata().getTitleList()) { titleList.add(title.getText()); } titles = Joiner.on(" ").join(titleList); List<String> abstractsList = new ArrayList<String>(); for (TextWithLanguage documentAbstract : metadata.getBasicMetadata().getTitleList()) { abstractsList.add(documentAbstract.getText()); } abstracts = Joiner.on(" ").join(abstractsList); Map<String, Object> map = new HashMap<String, Object>(); map.put("key", metadata.getKey()); map.put("title", titles); map.put("keywords", getConcatenated(metadata.getKeywordsList())); map.put("abstract", abstracts); map.put("categories", getCategories(metadata.getBasicMetadata().getClassifCodeList())); return map; } catch (Exception e) { logger.error("Error in processing input row:", e); throw new IOException("Caught exception processing input row:\n" + StackTraceExtractor.getStackTrace(e)); } }
map.put("keywords", getConcatenated(metadata.getKeywordsList())); map.put("abstract", abstracts); DataBag db = getCategories(metadata.getBasicMetadata().getClassifCodeList()); map.put("categories", db); long num = db.size();
DataBag db = getCategories(metadata.getBasicMetadata().getClassifCodeList()); if (db.size() > 0) { Map<String, Object> map = new HashMap<String, Object>();
for (ClassifCode code : dm.getBasicMetadata().getClassifCodeList()) { for (String co_str : code.getValueList()) { bagsize++;
DataBag db = new DefaultDataBag(); int bagsize = 0; for (ClassifCode code : dm.getBasicMetadata().getClassifCodeList()) { for (String co_str : code.getValueList()) { bagsize++;
for (ClassifCode cc : dm.getBasicMetadata().getClassifCodeList()) { for (String s : cc.getValueList()) { ctgs.add(s);
DataBag db = new DefaultDataBag(); int bagsize = 0; for (ClassifCode code : dm.getBasicMetadata().getClassifCodeList()) { for (String co_str : code.getValueList()) { bagsize++;
@Override public Tuple exec(Tuple input) throws IOException { if (input == null || input.size() == 0) { return null; } try { Object obj = (DataByteArray) input.get(1); DataByteArray dba = (DataByteArray) obj; DocumentMetadata dm = DocumentMetadata.parseFrom(dba.get()); String key = dm.getKey(); DataBag db = new DefaultDataBag(); for (ClassifCode code : dm.getBasicMetadata().getClassifCodeList()) { if (ProtoConstants.documentClassifCodeMsc.equals(code.getSource())) { db.add(TupleFactory.getInstance().newTuple(code.getValueList())); } } Object[] to = new Object[]{key, db}; return TupleFactory.getInstance().newTuple(Arrays.asList(to)); } catch (Exception e) { logger.error("Error in processing input row:", e); throw new IOException("Caught exception processing input row:\n" + StackTraceExtractor.getStackTrace(e)); } } }