use of com.amazonaws.services.s3.model.BucketNotificationConfiguration in project aws-sdk-android by aws-amplify.
the class BucketNotificationConfigurationStaxUnmarshaller method unmarshall.
@Override
public BucketNotificationConfiguration unmarshall(InputStream inputStream) throws Exception {
final XmlPullParser xpp = xmlPullParserFactory.newPullParser();
xpp.setInput(inputStream, null);
final StaxUnmarshallerContext context = new StaxUnmarshallerContext(xpp, null);
final int originalDepth = context.getCurrentDepth();
int targetDepth = originalDepth + 1;
if (context.isStartOfDocument()) {
targetDepth += 1;
}
final BucketNotificationConfiguration config = new BucketNotificationConfiguration();
while (true) {
final int xmlEvent = context.nextEvent();
if (xmlEvent == XmlPullParser.END_DOCUMENT) {
break;
} else if (xmlEvent == XmlPullParser.START_TAG) {
if (context.testExpression("TopicConfiguration", targetDepth)) {
final Entry<String, NotificationConfiguration> entry = TopicConfigurationStaxUnmarshaller.getInstance().unmarshall(context);
config.addConfiguration(entry.getKey(), entry.getValue());
} else if (context.testExpression("QueueConfiguration", targetDepth)) {
final Entry<String, NotificationConfiguration> entry = QueueConfigurationStaxUnmarshaller.getInstance().unmarshall(context);
config.addConfiguration(entry.getKey(), entry.getValue());
} else if (context.testExpression("CloudFunctionConfiguration", targetDepth)) {
final Entry<String, NotificationConfiguration> entry = LambdaConfigurationStaxUnmarshaller.getInstance().unmarshall(context);
config.addConfiguration(entry.getKey(), entry.getValue());
}
} else if (xmlEvent == XmlPullParser.END_TAG) {
if (context.getCurrentDepth() < originalDepth) {
return config;
}
}
}
return config;
}
use of com.amazonaws.services.s3.model.BucketNotificationConfiguration in project aws-sdk-android by aws-amplify.
the class BucketNotificationConfigurationStaxUnmarshallerTest method unmarshall_ValidQueueConfiguration.
@Test
public void unmarshall_ValidQueueConfiguration() throws Exception {
final BucketNotificationConfiguration config = unmarshaller.unmarshall(getResource(QUEUE_INPUT));
final QueueConfiguration queueConfig = (QueueConfiguration) config.getConfigurationByName("QueueConfigId");
assertEquals("some-queue-arn", queueConfig.getQueueARN());
assertEventsUnmarshalledCorrectly(queueConfig.getEvents());
assertFilterRulesUnmarshalledCorrectly(queueConfig.getFilter().getS3KeyFilter().getFilterRules());
}
Aggregations