use of com.amazonaws.services.s3.model.LambdaConfiguration in project aws-sdk-android by aws-amplify.
the class BucketConfigurationXmlFactory method convertToXmlByteArray.
/**
* Converts the specified notification configuration into an XML byte array.
*
* @param notificationConfiguration The configuration to convert.
* @return The XML byte array representation.
*/
public byte[] convertToXmlByteArray(BucketNotificationConfiguration notificationConfiguration) {
final XmlWriter xml = new XmlWriter();
xml.start("NotificationConfiguration", "xmlns", Constants.XML_NAMESPACE);
final Map<String, NotificationConfiguration> configurations = notificationConfiguration.getConfigurations();
for (final Map.Entry<String, NotificationConfiguration> entry : configurations.entrySet()) {
final String configName = entry.getKey();
final NotificationConfiguration config = entry.getValue();
if (config instanceof TopicConfiguration) {
xml.start("TopicConfiguration");
xml.start("Id").value(configName).end();
xml.start("Topic").value(((TopicConfiguration) config).getTopicARN()).end();
addEventsAndFilterCriteria(xml, config);
xml.end();
} else if (config instanceof QueueConfiguration) {
xml.start("QueueConfiguration");
xml.start("Id").value(configName).end();
xml.start("Queue").value(((QueueConfiguration) config).getQueueARN()).end();
addEventsAndFilterCriteria(xml, config);
xml.end();
} else if (config instanceof CloudFunctionConfiguration) {
xml.start("CloudFunctionConfiguration");
xml.start("Id").value(configName).end();
xml.start("InvocationRole").value(((CloudFunctionConfiguration) config).getInvocationRoleARN()).end();
xml.start("CloudFunction").value(((CloudFunctionConfiguration) config).getCloudFunctionARN()).end();
addEventsAndFilterCriteria(xml, config);
xml.end();
} else if (config instanceof LambdaConfiguration) {
xml.start("CloudFunctionConfiguration");
xml.start("Id").value(configName).end();
xml.start("CloudFunction").value(((LambdaConfiguration) config).getFunctionARN()).end();
addEventsAndFilterCriteria(xml, config);
xml.end();
}
}
xml.end();
return xml.getBytes();
}
use of com.amazonaws.services.s3.model.LambdaConfiguration in project aws-sdk-android by aws-amplify.
the class BucketNotificationConfigurationStaxUnmarshallerTest method unmarshall_ValidLambdaConfiguration.
@Test
public void unmarshall_ValidLambdaConfiguration() throws Exception {
final BucketNotificationConfiguration config = unmarshaller.unmarshall(getResource(LAMBDA_INPUT));
final LambdaConfiguration lambdaConfig = (LambdaConfiguration) config.getConfigurationByName("LambdaConfigId");
assertEquals("some-lambda-function-arn", lambdaConfig.getFunctionARN());
assertEventsUnmarshalledCorrectly(lambdaConfig.getEvents());
assertFilterRulesUnmarshalledCorrectly(lambdaConfig.getFilter().getS3KeyFilter().getFilterRules());
}
Aggregations