addParameterIfNotNull(xml, "Id", config.getId()); writeAnalyticsFilter(xml, config.getFilter()); writeStorageClassAnalysis(xml, config.getStorageClassAnalysis());
currentConfiguration = new AnalyticsConfiguration();
if (in("AnalyticsConfiguration")) { if (name.equals("Id")) { configuration.setId(getText()); } else if (name.equals("Filter")) { configuration.setFilter(filter); } else if (name.equals("StorageClassAnalysis")) { configuration.setStorageClassAnalysis(storageClassAnalysis);
@Override public SetBucketAnalyticsConfigurationResult setBucketAnalyticsConfiguration( SetBucketAnalyticsConfigurationRequest setBucketAnalyticsConfigurationRequest) throws AmazonServiceException, SdkClientException { setBucketAnalyticsConfigurationRequest = beforeClientExecution(setBucketAnalyticsConfigurationRequest); rejectNull(setBucketAnalyticsConfigurationRequest, "The request cannot be null"); final String bucketName = assertStringNotEmpty( setBucketAnalyticsConfigurationRequest.getBucketName(), "BucketName"); final AnalyticsConfiguration analyticsConfiguration = assertNotNull( setBucketAnalyticsConfigurationRequest.getAnalyticsConfiguration(), "Analytics Configuration"); final String id = assertNotNull(analyticsConfiguration.getId(), "Analytics Id"); Request<SetBucketAnalyticsConfigurationRequest> request = createRequest(bucketName, null, setBucketAnalyticsConfigurationRequest, HttpMethodName.PUT); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutBucketAnalyticsConfiguration"); request.addParameter("analytics", null); request.addParameter("id", id); byte[] bytes = bucketConfigurationXmlFactory.convertToXmlByteArray(analyticsConfiguration); request.addHeader("Content-Length", String.valueOf(bytes.length)); request.addHeader("Content-Type", "application/xml"); request.setContent(new ByteArrayInputStream(bytes)); return invoke(request, new Unmarshallers.SetBucketAnalyticsConfigurationUnmarshaller(), bucketName, null); }
/** * Sets the StorageClassAnalysis object which indicates that data related to access patterns * will be collected and made available to analyze the tradeoffs between different storage classes. * * The {@link AnalyticsConfiguration} object is returned for method chaining. */ public AnalyticsConfiguration withStorageClassAnalysis(StorageClassAnalysis storageClassAnalysis) { setStorageClassAnalysis(storageClassAnalysis); return this; } }
/** * Sets the identifier used to represent an analytics configuration * and returns the {@link AnalyticsConfiguration} object * for method chaining. */ public AnalyticsConfiguration withId(String id) { setId(id); return this; }
/** * Sets the filter used to describe a set of objects for analysis. * If no filter is provided, all objects will be considered in any analysis. * * The {@link AnalyticsConfiguration} object is returned for method chaining. */ public AnalyticsConfiguration withFilter(AnalyticsFilter filter) { setFilter(filter); return this; }
@Override public SetBucketAnalyticsConfigurationResult setBucketAnalyticsConfiguration( SetBucketAnalyticsConfigurationRequest setBucketAnalyticsConfigurationRequest) throws AmazonServiceException, AmazonClientException { assertParameterNotNull(setBucketAnalyticsConfigurationRequest, "The request cannot be null"); final String bucketName = assertStringNotEmpty( setBucketAnalyticsConfigurationRequest.getBucketName(), "BucketName"); final AnalyticsConfiguration analyticsConfiguration = assertNotNull( setBucketAnalyticsConfigurationRequest.getAnalyticsConfiguration(), "Analytics Configuration"); final String id = assertNotNull(analyticsConfiguration.getId(), "Analytics Id"); final Request<SetBucketAnalyticsConfigurationRequest> request = createRequest(bucketName, null, setBucketAnalyticsConfigurationRequest, HttpMethodName.PUT); request.addParameter("analytics", null); request.addParameter("id", id); final byte[] bytes = bucketConfigurationXmlFactory.convertToXmlByteArray(analyticsConfiguration); request.addHeader("Content-Length", String.valueOf(bytes.length)); request.addHeader("Content-Type", "application/xml"); request.setContent(new ByteArrayInputStream(bytes)); return invoke(request, new Unmarshallers.SetBucketAnalyticsConfigurationUnmarshaller(), bucketName, null); }
/** * Sets the StorageClassAnalysis object which indicates that data related to access patterns * will be collected and made available to analyze the tradeoffs between different storage classes. * * The {@link AnalyticsConfiguration} object is returned for method chaining. * @param storageClassAnalysis the storage class analysis. * @return this instance with the specified storage class analysis. */ @SuppressWarnings("checkstyle:hiddenfield") public AnalyticsConfiguration withStorageClassAnalysis(StorageClassAnalysis storageClassAnalysis) { setStorageClassAnalysis(storageClassAnalysis); return this; } }
/** * Sets the identifier used to represent an analytics configuration * and returns the {@link AnalyticsConfiguration} object * for method chaining. * @param id the id. * @return this instance with the specified id. */ @SuppressWarnings("checkstyle:hiddenfield") public AnalyticsConfiguration withId(String id) { setId(id); return this; }
/** * Sets the filter used to describe a set of objects for analysis. * If no filter is provided, all objects will be considered in any analysis. * * The {@link AnalyticsConfiguration} object is returned for method chaining. * @param filter used to describe a set of objects for analysis. * @return this instance wth the specified filter. */ @SuppressWarnings("checkstyle:hiddenfield") public AnalyticsConfiguration withFilter(AnalyticsFilter filter) { setFilter(filter); return this; }
/** * Converts the specified * {@link com.amazonaws.services.s3.model.analytics.AnalyticsConfiguration} * object to an XML fragment that can be sent to Amazon S3. * * @param config The * {@link com.amazonaws.services.s3.model.analytics.AnalyticsConfiguration} */ /* * <AnalyticsConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> * <Id>XXX</Id> <Filter> <And> <Prefix>documents/</Prefix> <Tag> * <Key>foo</Key> <Value>bar</Value> </Tag> </And> </Filter> * <StorageClassAnalysis> <DataExport> * <OutputSchemaVersion>1</OutputSchemaVersion> <Destination> * <S3BucketDestination> <Format>CSV</Format> * <BucketAccountId>123456789</BucketAccountId> * <Bucket>destination-bucket</Bucket> <Prefix>destination-prefix</Prefix> * </S3BucketDestination> </Destination> </DataExport> * </StorageClassAnalysis> </AnalyticsConfiguration> */ public byte[] convertToXmlByteArray(AnalyticsConfiguration config) throws AmazonClientException { final XmlWriter xml = new XmlWriter(); xml.start("AnalyticsConfiguration", "xmlns", Constants.XML_NAMESPACE); addParameterIfNotNull(xml, "Id", config.getId()); writeAnalyticsFilter(xml, config.getFilter()); writeStorageClassAnalysis(xml, config.getStorageClassAnalysis()); xml.end(); return xml.getBytes(); }
currentConfiguration.setId(getText()); } else if (name.equals("Filter")) { currentConfiguration.setFilter(currentFilter); } else if (name.equals("StorageClassAnalysis")) { currentConfiguration.setStorageClassAnalysis(storageClassAnalysis);
@Override public SetBucketAnalyticsConfigurationResult setBucketAnalyticsConfiguration( SetBucketAnalyticsConfigurationRequest setBucketAnalyticsConfigurationRequest) throws AmazonServiceException, AmazonClientException { assertParameterNotNull(setBucketAnalyticsConfigurationRequest, "The request cannot be null"); final String bucketName = assertStringNotEmpty( setBucketAnalyticsConfigurationRequest.getBucketName(), "BucketName"); final AnalyticsConfiguration analyticsConfiguration = assertNotNull( setBucketAnalyticsConfigurationRequest.getAnalyticsConfiguration(), "Analytics Configuration"); final String id = assertNotNull(analyticsConfiguration.getId(), "Analytics Id"); final Request<SetBucketAnalyticsConfigurationRequest> request = createRequest(bucketName, null, setBucketAnalyticsConfigurationRequest, HttpMethodName.PUT); request.addParameter("analytics", null); request.addParameter("id", id); final byte[] bytes = bucketConfigurationXmlFactory.convertToXmlByteArray(analyticsConfiguration); request.addHeader("Content-Length", String.valueOf(bytes.length)); request.addHeader("Content-Type", "application/xml"); request.setContent(new ByteArrayInputStream(bytes)); return invoke(request, new Unmarshallers.SetBucketAnalyticsConfigurationUnmarshaller(), bucketName, null); }
/** * Sets the StorageClassAnalysis object which indicates that data related to access patterns * will be collected and made available to analyze the tradeoffs between different storage classes. * * The {@link AnalyticsConfiguration} object is returned for method chaining. */ public AnalyticsConfiguration withStorageClassAnalysis(StorageClassAnalysis storageClassAnalysis) { setStorageClassAnalysis(storageClassAnalysis); return this; } }
/** * Sets the identifier used to represent an analytics configuration * and returns the {@link AnalyticsConfiguration} object * for method chaining. */ public AnalyticsConfiguration withId(String id) { setId(id); return this; }
/** * Sets the filter used to describe a set of objects for analysis. * If no filter is provided, all objects will be considered in any analysis. * * The {@link AnalyticsConfiguration} object is returned for method chaining. */ public AnalyticsConfiguration withFilter(AnalyticsFilter filter) { setFilter(filter); return this; }
if (in("ListBucketAnalyticsConfigurationsResult")) { if (name.equals("AnalyticsConfiguration")) { currentConfiguration = new AnalyticsConfiguration();
@Test public void getResponse_unmarshalls_properly() throws Exception { AnalyticsConfiguration configuration = parseGetAnalyticsConfigurationResponse(GET_RESPONSE).getAnalyticsConfiguration(); AnalyticsFilter filter = configuration.getFilter(); StorageClassAnalysis storageClassAnalysis = configuration.getStorageClassAnalysis(); assertEquals("analytics-id", configuration.getId()); assertNotNull(filter); List<AnalyticsFilterPredicate> operands = ((AnalyticsAndOperator) filter.getPredicate()).getOperands(); assertEquals(2, operands.size()); assertEquals("documents/", ((AnalyticsPrefixPredicate) operands.get(0)).getPrefix()); assertEquals("foo", ((AnalyticsTagPredicate) operands.get(1)).getTag().getKey()); assertEquals("bar", ((AnalyticsTagPredicate) operands.get(1)).getTag().getValue()); assertEquals(StorageClassAnalysisSchemaVersion.V_1.toString(), storageClassAnalysis.getDataExport().getOutputSchemaVersion()); AnalyticsS3BucketDestination s3BucketDestination = storageClassAnalysis.getDataExport().getDestination().getS3BucketDestination(); assertEquals(AnalyticsS3ExportFileFormat.CSV.toString(), s3BucketDestination.getFormat()); assertEquals("123456789", s3BucketDestination.getBucketAccountId()); assertEquals("arn:aws:s3:::destination-bucket", s3BucketDestination.getBucketArn()); assertEquals("destination-prefix", s3BucketDestination.getPrefix()); }
if (in("AnalyticsConfiguration")) { if (name.equals("Id")) { configuration.setId(getText()); } else if (name.equals("Filter")) { configuration.setFilter(filter); } else if (name.equals("StorageClassAnalysis")) { configuration.setStorageClassAnalysis(storageClassAnalysis);