This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0173e55303f7ce538ee75dc67d1a58005b5aeb54
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Thu May 2 12:55:01 2019 +0200

    CAMEL-13453 - Fixed Cs and Regen
---
 .../src/main/docs/azure-blob-component.adoc        |  11 +-
 .../component/azure/blob/BlobServiceComponent.java |  35 +--
 .../BlobServiceComponentConfiguration.java         | 240 +++++++++++++++++++++
 3 files changed, 272 insertions(+), 14 deletions(-)

diff --git a/components/camel-azure/src/main/docs/azure-blob-component.adoc 
b/components/camel-azure/src/main/docs/azure-blob-component.adoc
index 19e828d..f904267 100644
--- a/components/camel-azure/src/main/docs/azure-blob-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-blob-component.adoc
@@ -35,7 +35,16 @@ to("file://blobdirectory");
 
 
 // component options: START
-The Azure Storage Blob Service component has no options.
+The Azure Storage Blob Service component supports 2 options, which are listed 
below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The Blob Service configuration |  | BlobService 
Configuration
+| *resolveProperty Placeholders* (advanced) | Whether the component should 
resolve property placeholders on itself when starting. Only properties which 
are of String type can use property placeholders. | true | boolean
+|===
 // component options: END
 
 
diff --git 
a/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceComponent.java
 
b/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceComponent.java
index 14bd646..3843f94 100644
--- 
a/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceComponent.java
+++ 
b/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceComponent.java
@@ -30,10 +30,10 @@ import org.apache.camel.support.DefaultComponent;
 
 @Component("azure-blob")
 public class BlobServiceComponent extends DefaultComponent {
-       
-    @Metadata(label = "advanced")    
+
+    @Metadata(label = "advanced")
     private BlobServiceConfiguration configuration;
-    
+
     public BlobServiceComponent() {
     }
 
@@ -48,15 +48,15 @@ public class BlobServiceComponent extends DefaultComponent {
 
         String[] parts = null;
         if (remaining != null) {
-            parts = remaining.split("/"); 
+            parts = remaining.split("/");
         }
         if (parts == null || parts.length < 2) {
             throw new IllegalArgumentException("At least the account and 
container names must be specified.");
         }
-        
+
         configuration.setAccountName(parts[0]);
         configuration.setContainerName(parts[1]);
-        
+
         if (parts.length > 2) {
             // Blob names can contain forward slashes
             StringBuilder sb = new StringBuilder();
@@ -70,22 +70,31 @@ public class BlobServiceComponent extends DefaultComponent {
         }
         checkAndSetRegistryClient(configuration);
         checkCredentials(configuration);
-        
+
         BlobServiceEndpoint endpoint = new BlobServiceEndpoint(uri, this, 
configuration);
         setProperties(endpoint, parameters);
         return endpoint;
     }
-    
+
+    public BlobServiceConfiguration getConfiguration() {
+        return configuration;
+    }
+
+    /**
+     * The Blob Service configuration
+     */
+    public void setConfiguration(BlobServiceConfiguration configuration) {
+        this.configuration = configuration;
+    }
+
     private void checkCredentials(BlobServiceConfiguration cfg) {
         CloudBlob client = cfg.getAzureBlobClient();
-        StorageCredentials creds = client == null ? cfg.getCredentials() 
-            : client.getServiceClient().getCredentials(); 
-        if ((creds == null || creds instanceof StorageCredentialsAnonymous)
-            && !cfg.isPublicForRead()) {
+        StorageCredentials creds = client == null ? cfg.getCredentials() : 
client.getServiceClient().getCredentials();
+        if ((creds == null || creds instanceof StorageCredentialsAnonymous) && 
!cfg.isPublicForRead()) {
             throw new IllegalArgumentException("Credentials must be 
specified.");
         }
     }
-    
+
     private void checkAndSetRegistryClient(BlobServiceConfiguration 
configuration) {
         Set<CloudBlob> clients = 
getCamelContext().getRegistry().findByType(CloudBlob.class);
         if (clients.size() == 1) {
diff --git 
a/platforms/spring-boot/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConfiguration.java
index efbbb39..6943cd6 100644
--- 
a/platforms/spring-boot/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConfiguration.java
@@ -16,7 +16,12 @@
  */
 package org.apache.camel.component.azure.blob.springboot;
 
+import java.util.Map;
 import javax.annotation.Generated;
+import com.microsoft.azure.storage.StorageCredentials;
+import com.microsoft.azure.storage.blob.CloudBlob;
+import org.apache.camel.component.azure.blob.BlobServiceOperations;
+import org.apache.camel.component.azure.blob.BlobType;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
@@ -38,12 +43,25 @@ public class BlobServiceComponentConfiguration
      */
     private Boolean enabled;
     /**
+     * The Blob Service configuration
+     */
+    private BlobServiceConfigurationNestedConfiguration configuration;
+    /**
      * Whether the component should resolve property placeholders on itself 
when
      * starting. Only properties which are of String type can use property
      * placeholders.
      */
     private Boolean resolvePropertyPlaceholders = true;
 
+    public BlobServiceConfigurationNestedConfiguration getConfiguration() {
+        return configuration;
+    }
+
+    public void setConfiguration(
+            BlobServiceConfigurationNestedConfiguration configuration) {
+        this.configuration = configuration;
+    }
+
     public Boolean getResolvePropertyPlaceholders() {
         return resolvePropertyPlaceholders;
     }
@@ -52,4 +70,226 @@ public class BlobServiceComponentConfiguration
             Boolean resolvePropertyPlaceholders) {
         this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
     }
+
+    public static class BlobServiceConfigurationNestedConfiguration {
+        public static final Class CAMEL_NESTED_CLASS = 
org.apache.camel.component.azure.blob.BlobServiceConfiguration.class;
+        /**
+         * Blob service operation hint to the producer
+         */
+        private BlobServiceOperations operation = 
BlobServiceOperations.listBlobs;
+        /**
+         * Set the blob service container name
+         */
+        private String containerName;
+        /**
+         * Blob name, required for most operations
+         */
+        private String blobName;
+        /**
+         * Set a blob type, 'blockblob' is default
+         */
+        private BlobType blobType = BlobType.blockblob;
+        /**
+         * Set the size of the buffer for writing block and page blocks
+         */
+        private Integer streamWriteSize;
+        /**
+         * Set the minimum read size in bytes when reading the blob content
+         */
+        private Integer streamReadSize;
+        /**
+         * Set the blob meta-data
+         */
+        private Map blobMetadata;
+        /**
+         * The blob service client
+         */
+        private CloudBlob azureBlobClient;
+        /**
+         * Close the stream after write or keep it open, default is true
+         */
+        private Boolean closeStreamAfterWrite = true;
+        /**
+         * Close the stream after read or keep it open, default is true
+         */
+        private Boolean closeStreamAfterRead = true;
+        /**
+         * Set the file directory where the downloaded blobs will be saved to
+         */
+        private String fileDir;
+        /**
+         * Set the blob offset for the upload or download operations, default 
is
+         * 0
+         */
+        private Long blobOffset = 0L;
+        /**
+         * Set the data length for the download or page blob upload operations
+         */
+        private Long dataLength;
+        /**
+         * Set a prefix which can be used for listing the blobs
+         */
+        private String blobPrefix;
+        /**
+         * Storage resources can be public for reading their content, if this
+         * property is enabled then the credentials do not have to be set
+         */
+        private Boolean publicForRead = false;
+        /**
+         * Specify if the flat or hierarchical blob listing should be used
+         */
+        private Boolean useFlatListing = true;
+        /**
+         * Set the Azure account name
+         */
+        private String accountName;
+        /**
+         * Set the storage credentials, required in most cases
+         */
+        private StorageCredentials credentials;
+
+        public BlobServiceOperations getOperation() {
+            return operation;
+        }
+
+        public void setOperation(BlobServiceOperations operation) {
+            this.operation = operation;
+        }
+
+        public String getContainerName() {
+            return containerName;
+        }
+
+        public void setContainerName(String containerName) {
+            this.containerName = containerName;
+        }
+
+        public String getBlobName() {
+            return blobName;
+        }
+
+        public void setBlobName(String blobName) {
+            this.blobName = blobName;
+        }
+
+        public BlobType getBlobType() {
+            return blobType;
+        }
+
+        public void setBlobType(BlobType blobType) {
+            this.blobType = blobType;
+        }
+
+        public Integer getStreamWriteSize() {
+            return streamWriteSize;
+        }
+
+        public void setStreamWriteSize(Integer streamWriteSize) {
+            this.streamWriteSize = streamWriteSize;
+        }
+
+        public Integer getStreamReadSize() {
+            return streamReadSize;
+        }
+
+        public void setStreamReadSize(Integer streamReadSize) {
+            this.streamReadSize = streamReadSize;
+        }
+
+        public Map getBlobMetadata() {
+            return blobMetadata;
+        }
+
+        public void setBlobMetadata(Map blobMetadata) {
+            this.blobMetadata = blobMetadata;
+        }
+
+        public CloudBlob getAzureBlobClient() {
+            return azureBlobClient;
+        }
+
+        public void setAzureBlobClient(CloudBlob azureBlobClient) {
+            this.azureBlobClient = azureBlobClient;
+        }
+
+        public Boolean getCloseStreamAfterWrite() {
+            return closeStreamAfterWrite;
+        }
+
+        public void setCloseStreamAfterWrite(Boolean closeStreamAfterWrite) {
+            this.closeStreamAfterWrite = closeStreamAfterWrite;
+        }
+
+        public Boolean getCloseStreamAfterRead() {
+            return closeStreamAfterRead;
+        }
+
+        public void setCloseStreamAfterRead(Boolean closeStreamAfterRead) {
+            this.closeStreamAfterRead = closeStreamAfterRead;
+        }
+
+        public String getFileDir() {
+            return fileDir;
+        }
+
+        public void setFileDir(String fileDir) {
+            this.fileDir = fileDir;
+        }
+
+        public Long getBlobOffset() {
+            return blobOffset;
+        }
+
+        public void setBlobOffset(Long blobOffset) {
+            this.blobOffset = blobOffset;
+        }
+
+        public Long getDataLength() {
+            return dataLength;
+        }
+
+        public void setDataLength(Long dataLength) {
+            this.dataLength = dataLength;
+        }
+
+        public String getBlobPrefix() {
+            return blobPrefix;
+        }
+
+        public void setBlobPrefix(String blobPrefix) {
+            this.blobPrefix = blobPrefix;
+        }
+
+        public Boolean getPublicForRead() {
+            return publicForRead;
+        }
+
+        public void setPublicForRead(Boolean publicForRead) {
+            this.publicForRead = publicForRead;
+        }
+
+        public Boolean getUseFlatListing() {
+            return useFlatListing;
+        }
+
+        public void setUseFlatListing(Boolean useFlatListing) {
+            this.useFlatListing = useFlatListing;
+        }
+
+        public String getAccountName() {
+            return accountName;
+        }
+
+        public void setAccountName(String accountName) {
+            this.accountName = accountName;
+        }
+
+        public StorageCredentials getCredentials() {
+            return credentials;
+        }
+
+        public void setCredentials(StorageCredentials credentials) {
+            this.credentials = credentials;
+        }
+    }
 }
\ No newline at end of file

Reply via email to