mediaBuild.setMediaType(CrossrefConstants.TYPE_CROSSREF_UNIXREF_RECORD); mediaBuild.setContent(ByteString.copyFrom(m)); build.getMediaContainerBuilder().addMedia(mediaBuild); mediaBuild.setMediaType(CrossrefConstants.TYPE_CROSSREF_JSON_RECORD); mediaBuild.setContent(ByteString.copyFrom(m)); build.getMediaContainerBuilder().addMedia(mediaBuild);
protected void addBwmetaMedia(List<YExportable> bwmeta, String docNewId, DocumentProtos.DocumentWrapper.Builder builder) throws UnsupportedEncodingException { for (YExportable ex : bwmeta) { if (ex instanceof YElement) { if (((YElement) ex).getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL) != null && HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_ARTICLE.equalsIgnoreCase(((YElement) ex) .getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL).getCurrent().getLevel())) { if (NON_ID_CHARS.matcher(ex.getId()).find()) { String nid = docNewId; nid = nid.replaceAll("[^a-zA-Z0-9\\-_]", "_"); ((YElement) ex).setId(nid); } } else { if (NON_ID_CHARS.matcher(ex.getId()).find()) { String nid = ex.getId(); nid = nid.replaceAll("[^a-zA-Z0-9\\-_]", "_"); ((YElement) ex).setId(nid); } } } } String bwmetas = ywriter.write(bwmeta); builder.getMediaContainerBuilder().addMediaBuilder(). setKey(BWMeta2Constants.KEY_BWMETA2_RECORD). setMediaType(BWMeta2Constants.TYPE_BWMETA2_RECORD). setContent(ByteString.copyFrom(bwmetas.getBytes("utf-8"))); }
@Override public boolean transform(DocumentProtos.Media media, String docNewId, MultiTypeParseResult dmBuider, DocumentProtos.MediaContainerOrBuilder mediaToCopy) { DocumentProtos.DocumentWrapperOrBuilder dwo=findWrapperForThisId(docNewId, dmBuider); DocumentProtos.DocumentWrapper.Builder dwb; if (dwo!=null) { dwb=(dwo instanceof DocumentProtos.DocumentWrapper.Builder)? (DocumentProtos.DocumentWrapper.Builder)dwo:((DocumentProtos.DocumentWrapper)dwo).toBuilder(); dmBuider.getDocuments().remove(dwo); } else { dwb=DocumentProtos.DocumentWrapper.newBuilder(); DocumentProtos.MediaContainer.Builder builder=dwb.getMediaContainerBuilder(); for (Media m:mediaToCopy.getMediaList()) { Media.Builder mb=m.toBuilder(); builder.addMedia(mb); } } boolean transform=transform(media, docNewId, dwb.getDocumentMetadataBuilder(),dwb); if (transform) { dpu.setIDFor(dwb, docNewId); dmBuider.add(dwb); } return transform; }
/** * Put metadata as pl.edu.icm.coansys.models.DocumentProtos.Media along with * content as java.util.List<pl.edu.icm.coansys.models.DocumentProtos.Media> * * @param rowId * @param metadata * @param content */ public void put(String rowId, Media metadata, List<Media> content) { final DocumentProtos.DocumentWrapper.Builder dwb = DocumentProtos.DocumentWrapper .newBuilder(); final DocumentProtos.MediaContainer.Builder mcb = DocumentProtos.MediaContainer .newBuilder(); dwb.setRowId(rowId); mcb.addMedia(metadata); addContent(content, mcb); dwb.setMediaContainer(mcb); put(dwb.build()); }
private DocumentWrapper prepareMetadataAndContent(final List<Row> rows) throws IOException { final DocumentWrapper documentWrapper = prepareDocumentWrapper(rows, HBaseConstant.FAMILY_METADATA , HBaseConstant.FAMILY_METADATA_DOCUMENT_QUALIFIER_PROTO); final DocumentWrapper documentWrapperContent = prepareDocumentWrapper(rows, HBaseConstant.FAMILY_CONTENT , HBaseConstant.FAMILY_CONTENT_QUALIFIER_PROTO); if (null != documentWrapper && null != documentWrapperContent) { final DocumentProtos.DocumentWrapper.Builder dwb = DocumentProtos.DocumentWrapper.newBuilder(); final DocumentProtos.MediaContainer.Builder mcb = DocumentProtos.MediaContainer.newBuilder(); dwb.setRowId(documentWrapper.getRowId()); mcb.addAllMedia(documentWrapper.getMediaContainer().getMediaList()); mcb.addAllMedia(documentWrapperContent.getMediaContainer().getMediaList()); dwb.setMediaContainer(mcb); return dwb.build(); } return null; }
public DocumentDTO addMedia(Media media) { this.medias.addMedia(media); return this; }
public DocumentDTO addMedia(Collection medias) { this.medias.addAllMedia(medias); return this; }
private DocumentWrapper documentWrapper(String id, String bwmeta) { final DocumentProtos.Media media = DocumentProtos.Media.newBuilder() .setKey("bwmeta2") .setMediaType("application/xml") .setContent(ByteString.copyFromUtf8(bwmeta)) .build(); final DocumentProtos.MediaContainer.Builder mediaContainer = DocumentProtos.MediaContainer.newBuilder() .addMedia(media); return DocumentProtos.DocumentWrapper.newBuilder() .setRowId(id) .setMediaContainer(mediaContainer) .build(); }
public MediaContainer getMediaConteiner() { return medias.build(); }
private DocumentProtos.MediaContainer.Builder addMedia(List<Media> mediaList) { DocumentProtos.MediaContainer.Builder builder = DocumentProtos.MediaContainer .newBuilder(); for (Media m : mediaList) { builder.addMedia(m); } return builder; }
public Pair<ImmutableBytesWritable, Put> prepareDocument(final byte[] valueBytes, final String newId_url , final String recordKey, final String recordValue) { final Pair<ImmutableBytesWritable, Put> keyValuePair = new Pair<ImmutableBytesWritable, Put>(); final DocumentProtos.MediaContainer.Builder mcb = DocumentProtos.MediaContainer.newBuilder(); mcb.addMedia(prepareMedia(valueBytes, recordKey, recordValue)); keyValuePair.setSecond(DocumentWrapper2HBasePut.translate(prepareDocumentWrapperBuilder(newId_url, mcb).build())); keyValuePair.setFirst(new ImmutableBytesWritable(newId_url.getBytes())); return keyValuePair; }
private void addContent(final List<Media> content, final DocumentProtos.MediaContainer.Builder mcb) { if (content != null) { for (Media cnt : content) { mcb.addMedia(cnt); } } }