/** * If metadata field contains multiple values, then add each value to the map separately * * @param FIELD metadata field */ protected void addMultipleValues(String FIELD) { String fieldConfig = googleScholarSettings.get(FIELD); ArrayList<MetadataValue> fields = resolveMetadataFields(fieldConfig); if (null != fields && !fields.isEmpty()) { for (MetadataValue field : fields) { //TODO if this is author field, first-name first metadataMappings.put(FIELD, field.getValue()); } } }
/** * @param field to aggregate all values of in a matching option * @param delimiter to delimit field values with */ protected void addAggregateValues(String field, String delimiter) { String authorConfig = googleScholarSettings.get(field); ArrayList<MetadataValue> fields = resolveMetadataFields(authorConfig); if (null != fields && !fields.isEmpty()) { StringBuilder fieldMetadata = new StringBuilder(); int count = 0; for (MetadataValue metadataValue : fields) { fieldMetadata.append(metadataValue.getValue()); if (count < fields.size() - 1) { fieldMetadata.append(delimiter).append(" "); count++; } } metadataMappings.put(field, fieldMetadata.toString()); } }
ArrayList<MetadataValue> presentMD = resolveMetadataFields(sb.toString()); if (null != presentMD && presentMD.size() != 0) { for (MetadataValue v : presentMD) {