use of org.apache.beam.vendor.grpc.v1p26p0.com.google.protobuf.ByteString in project etcd-java by IBM.
the class KeyUtils method plusOne.
public static ByteString plusOne(ByteString key) {
int max = key.size() - 1;
if (max < 0)
return singleByte(1);
int last = key.byteAt(max);
ByteString excludeLast = key.substring(0, max);
return last == 0xff ? plusOne(excludeLast) : excludeLast.concat(singleByte(last + 1));
}
use of org.apache.beam.vendor.grpc.v1p26p0.com.google.protobuf.ByteString in project java-docs-samples by GoogleCloudPlatform.
the class Redact method redactImage.
// [START dlp_redact_image]
/*
* Redact sensitive data from an image using the Data Loss Prevention API.
*
* @param filePath The path to a local file to inspect. Can be a JPG or PNG image file.
* @param minLikelihood The minimum likelihood required before redacting a match.
* @param infoTypes The infoTypes of information to redact.
* @param outputPath The local path to save the resulting image to.
* @param projectId The project ID to run the API call under.
*/
private static void redactImage(String filePath, Likelihood minLikelihood, List<InfoType> infoTypes, String outputPath, String projectId) throws Exception {
// Instantiate the DLP client
try (DlpServiceClient dlpClient = DlpServiceClient.create()) {
String mimeType = URLConnection.guessContentTypeFromName(filePath);
if (mimeType == null) {
mimeType = MimetypesFileTypeMap.getDefaultFileTypeMap().getContentType(filePath);
}
ByteContentItem.BytesType bytesType;
switch(mimeType) {
case "image/jpeg":
bytesType = ByteContentItem.BytesType.IMAGE_JPEG;
break;
case "image/bmp":
bytesType = ByteContentItem.BytesType.IMAGE_BMP;
break;
case "image/png":
bytesType = ByteContentItem.BytesType.IMAGE_PNG;
break;
case "image/svg":
bytesType = ByteContentItem.BytesType.IMAGE_SVG;
break;
default:
bytesType = ByteContentItem.BytesType.BYTES_TYPE_UNSPECIFIED;
break;
}
byte[] data = Files.readAllBytes(Paths.get(filePath));
InspectConfig inspectConfig = InspectConfig.newBuilder().addAllInfoTypes(infoTypes).setMinLikelihood(minLikelihood).build();
ByteContentItem byteContentItem = ByteContentItem.newBuilder().setType(bytesType).setData(ByteString.copyFrom(data)).build();
List<RedactImageRequest.ImageRedactionConfig> imageRedactionConfigs = infoTypes.stream().map(infoType -> RedactImageRequest.ImageRedactionConfig.newBuilder().setInfoType(infoType).build()).collect(Collectors.toList());
RedactImageRequest redactImageRequest = RedactImageRequest.newBuilder().setParent(ProjectName.of(projectId).toString()).addAllImageRedactionConfigs(imageRedactionConfigs).setByteItem(byteContentItem).setInspectConfig(inspectConfig).build();
RedactImageResponse redactImageResponse = dlpClient.redactImage(redactImageRequest);
// redacted image data
ByteString redactedImageData = redactImageResponse.getRedactedImage();
FileOutputStream outputStream = new FileOutputStream(outputPath);
outputStream.write(redactedImageData.toByteArray());
outputStream.close();
}
}
use of org.apache.beam.vendor.grpc.v1p26p0.com.google.protobuf.ByteString in project bookkeeper by apache.
the class TableStoreImpl method buildRangeOp.
private RangeOp<byte[], byte[]> buildRangeOp(RoutingHeader header, RangeRequest request) {
ByteString rKey = header.getRKey();
ByteString lKey = request.getKey();
ByteString lEndKey = request.getRangeEnd();
byte[] storeKey = newStoreKey(rKey, lKey);
byte[] storeEndKey = null;
if (null != lEndKey && lEndKey.size() > 0) {
storeEndKey = newStoreKey(rKey, lEndKey);
}
RangeOptionBuilder<byte[]> optionBuilder = store.getOpFactory().optionFactory().newRangeOption();
if (request.getLimit() > 0) {
optionBuilder.limit(request.getLimit());
}
if (request.getMaxCreateRevision() > 0) {
optionBuilder.maxCreateRev(request.getMaxCreateRevision());
}
if (request.getMaxModRevision() > 0) {
optionBuilder.maxModRev(request.getMaxModRevision());
}
if (request.getMinCreateRevision() > 0) {
optionBuilder.minCreateRev(request.getMinCreateRevision());
}
if (request.getMinModRevision() > 0) {
optionBuilder.minModRev(request.getMinModRevision());
}
if (null != storeEndKey) {
optionBuilder.endKey(storeEndKey);
}
return store.getOpFactory().newRange(storeKey, optionBuilder.build());
}
use of org.apache.beam.vendor.grpc.v1p26p0.com.google.protobuf.ByteString in project bookkeeper by apache.
the class TableStoreImpl method buildPutOp.
private PutOp<byte[], byte[]> buildPutOp(RoutingHeader header, PutRequest request) {
ByteString rKey = header.getRKey();
ByteString lKey = request.getKey();
byte[] storeKey = newStoreKey(rKey, lKey);
return store.getOpFactory().newPut(storeKey, request.getValue().toByteArray(), store.getOpFactory().optionFactory().newPutOption().prevKv(request.getPrevKv()).build());
}
use of org.apache.beam.vendor.grpc.v1p26p0.com.google.protobuf.ByteString in project bookkeeper by apache.
the class TableStoreUtils method processPutResult.
static PutResponse processPutResult(RoutingHeader routingHeader, PutResult<byte[], byte[]> result) {
ByteString rKey = routingHeader.getRKey();
PutResponse.Builder putRespBuilder = PutResponse.newBuilder().setHeader(ResponseHeader.newBuilder().setRoutingHeader(routingHeader).build());
if (null != result.prevKv()) {
putRespBuilder = putRespBuilder.setPrevKv(newKeyValue(rKey, result.prevKv()));
}
return putRespBuilder.build();
}
Aggregations