Search in sources :

Example 1 with DocumentTagToDynamicDocumentTag

use of com.formkiq.stacks.dynamodb.DocumentTagToDynamicDocumentTag in project formkiq-core by formkiq.

the class DocumentsS3Update method getObjectTags.

/**
 * Get Object Tags from S3.
 *
 * @param s3 {@link S3Client}
 * @param item {@link DocumentItem}
 * @param bucket {@link String}
 * @param documentId {@link String}
 * @return {@link List} {@link DynamicDocumentTag}
 */
private List<DynamicDocumentTag> getObjectTags(final S3Client s3, final DocumentItem item, final String bucket, final String documentId) {
    GetObjectTaggingResponse objectTags = this.s3service.getObjectTags(s3, bucket, documentId);
    List<DocumentTag> tags = objectTags.tagSet().stream().map(t -> new DocumentTag(documentId, t.key(), t.value(), item.getInsertedDate(), item.getUserId())).collect(Collectors.toList());
    // Any System Defined Tags in the S3 Metadata, set them to SystemDefined.
    tags.stream().filter(t -> SYSTEM_DEFINED_TAGS.contains(t.getKey())).forEach(t -> t.setType(DocumentTagType.SYSTEMDEFINED));
    List<DynamicDocumentTag> dtags = tags.stream().map(t -> new DocumentTagToDynamicDocumentTag().apply(t)).collect(Collectors.toList());
    return dtags;
}
Also used : SdkHttpUtils(software.amazon.awssdk.utils.http.SdkHttpUtils) DocumentService(com.formkiq.stacks.dynamodb.DocumentService) Context(com.amazonaws.services.lambda.runtime.Context) HashMap(java.util.HashMap) RequestHandler(com.amazonaws.services.lambda.runtime.RequestHandler) DynamicDocumentItem(com.formkiq.stacks.dynamodb.DynamicDocumentItem) SiteIdKeyGenerator(com.formkiq.stacks.dynamodb.SiteIdKeyGenerator) SiteIdKeyGenerator.createDatabaseKey(com.formkiq.stacks.dynamodb.SiteIdKeyGenerator.createDatabaseKey) GsonBuilder(com.google.gson.GsonBuilder) ArrayList(java.util.ArrayList) DocumentServiceImpl(com.formkiq.stacks.dynamodb.DocumentServiceImpl) SiteIdKeyGenerator.resetDatabaseKey(com.formkiq.stacks.dynamodb.SiteIdKeyGenerator.resetDatabaseKey) LambdaLogger(com.amazonaws.services.lambda.runtime.LambdaLogger) Gson(com.google.gson.Gson) Map(java.util.Map) DocumentTag(com.formkiq.stacks.dynamodb.DocumentTag) S3ConnectionBuilder(com.formkiq.aws.s3.S3ConnectionBuilder) S3ObjectMetadata(com.formkiq.aws.s3.S3ObjectMetadata) Region(software.amazon.awssdk.regions.Region) S3Service(com.formkiq.aws.s3.S3Service) SqsConnectionBuilder(com.formkiq.aws.sqs.SqsConnectionBuilder) DocumentItemToDynamicDocumentItem(com.formkiq.stacks.dynamodb.DocumentItemToDynamicDocumentItem) S3Client(software.amazon.awssdk.services.s3.S3Client) SYSTEM_DEFINED_TAGS(com.formkiq.stacks.dynamodb.DocumentService.SYSTEM_DEFINED_TAGS) DynamicDocumentTag(com.formkiq.stacks.dynamodb.DynamicDocumentTag) Collectors(java.util.stream.Collectors) FileNotFoundException(java.io.FileNotFoundException) SqsService(com.formkiq.aws.sqs.SqsService) SnsConnectionBuilder(com.formkiq.aws.sns.SnsConnectionBuilder) Reflectable(com.formkiq.graalvm.annotations.Reflectable) List(java.util.List) SnsService(com.formkiq.aws.sns.SnsService) SiteIdKeyGenerator.getSiteId(com.formkiq.stacks.dynamodb.SiteIdKeyGenerator.getSiteId) MimeType(com.formkiq.stacks.common.formats.MimeType) DynamoDbConnectionBuilder(com.formkiq.stacks.dynamodb.DynamoDbConnectionBuilder) MessageAttributeValue(software.amazon.awssdk.services.sns.model.MessageAttributeValue) DocumentTagToDynamicDocumentTag(com.formkiq.stacks.dynamodb.DocumentTagToDynamicDocumentTag) DocumentTagType(com.formkiq.stacks.dynamodb.DocumentTagType) GetObjectTaggingResponse(software.amazon.awssdk.services.s3.model.GetObjectTaggingResponse) DocumentItem(com.formkiq.stacks.dynamodb.DocumentItem) DocumentTag(com.formkiq.stacks.dynamodb.DocumentTag) DynamicDocumentTag(com.formkiq.stacks.dynamodb.DynamicDocumentTag) DocumentTagToDynamicDocumentTag(com.formkiq.stacks.dynamodb.DocumentTagToDynamicDocumentTag) GetObjectTaggingResponse(software.amazon.awssdk.services.s3.model.GetObjectTaggingResponse) DynamicDocumentTag(com.formkiq.stacks.dynamodb.DynamicDocumentTag) DocumentTagToDynamicDocumentTag(com.formkiq.stacks.dynamodb.DocumentTagToDynamicDocumentTag) DocumentTagToDynamicDocumentTag(com.formkiq.stacks.dynamodb.DocumentTagToDynamicDocumentTag)

Aggregations

Context (com.amazonaws.services.lambda.runtime.Context)1 LambdaLogger (com.amazonaws.services.lambda.runtime.LambdaLogger)1 RequestHandler (com.amazonaws.services.lambda.runtime.RequestHandler)1 S3ConnectionBuilder (com.formkiq.aws.s3.S3ConnectionBuilder)1 S3ObjectMetadata (com.formkiq.aws.s3.S3ObjectMetadata)1 S3Service (com.formkiq.aws.s3.S3Service)1 SnsConnectionBuilder (com.formkiq.aws.sns.SnsConnectionBuilder)1 SnsService (com.formkiq.aws.sns.SnsService)1 SqsConnectionBuilder (com.formkiq.aws.sqs.SqsConnectionBuilder)1 SqsService (com.formkiq.aws.sqs.SqsService)1 Reflectable (com.formkiq.graalvm.annotations.Reflectable)1 MimeType (com.formkiq.stacks.common.formats.MimeType)1 DocumentItem (com.formkiq.stacks.dynamodb.DocumentItem)1 DocumentItemToDynamicDocumentItem (com.formkiq.stacks.dynamodb.DocumentItemToDynamicDocumentItem)1 DocumentService (com.formkiq.stacks.dynamodb.DocumentService)1 SYSTEM_DEFINED_TAGS (com.formkiq.stacks.dynamodb.DocumentService.SYSTEM_DEFINED_TAGS)1 DocumentServiceImpl (com.formkiq.stacks.dynamodb.DocumentServiceImpl)1 DocumentTag (com.formkiq.stacks.dynamodb.DocumentTag)1 DocumentTagToDynamicDocumentTag (com.formkiq.stacks.dynamodb.DocumentTagToDynamicDocumentTag)1 DocumentTagType (com.formkiq.stacks.dynamodb.DocumentTagType)1