private void getParts(Text text) { getParts(text.getBytes(), text.getLength()); }
EdgeColumnParts parts = new EdgeColumnParts(textCf, textCq); builder.setType(parts.get(version.getTypeIndex())); builder.setYyyymmdd(parts.get(version.getYMDIndex())); if (version.getFormat() == EDGE_FORMAT.STATS) { builder.setStatsType(version.getStatsType(parts)); builder.setSourceRelationship(parts.get(version.getRelationshipIndex())); builder.setSourceAttribute1(parts.get(version.getCategoryIndex())); } else { String[] subPieces = StringUtils.splitPreserveAllTokens(parts.get(version.getRelationshipIndex()), COL_SUB_SEPARATOR); builder.setSourceRelationship(subPieces[0]); builder.setSinkRelationship(subPieces[1]); subPieces = StringUtils.splitPreserveAllTokens(parts.get(version.getCategoryIndex()), COL_SUB_SEPARATOR); builder.setSourceAttribute1(subPieces[0]); builder.setSinkAttribute1(subPieces[1]); builder.setAttribute2(parts.get(version.getAttribute2Index())); builder.setAttribute3(parts.get(version.getAttribute3Index())); builder.setDateType(DATE_TYPE.parse(parts.get(version.getDateTypeIndex())));
/** * Determine as fast as possible the date type of an edge key without having to decode into and EdgeKey * * @param key * @return the date type of this accumulo edge key */ public static DATE_TYPE getDateType(Key key) { EdgeColumnParts parts = new EdgeColumnParts(key); EDGE_VERSION version = EDGE_VERSION.getEdgeVersion(parts); if (version == EDGE_VERSION.DATE_STATS_PROTOBUF) { return DATE_TYPE.parse(parts.get(8)); } else if (version == EDGE_VERSION.DATE_PROTOBUF) { return DATE_TYPE.parse(parts.get(6)); } else { return DATE_TYPE.OLD_EVENT; } } }
private void getParts(ByteSequence byteSeq) { byte[] bytes = byteSeq.getBackingArray(); getParts(bytes, byteSeq.length()); }