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


The following commit(s) were added to refs/heads/master by this push:
     new 6532ff7  CAMEL-15297 camel-pgevent issue with URI verification (#4073)
6532ff7 is described below

commit 6532ff750c1858a8fef79d3bf848ca0695d5ef13
Author: Zineb BENDHIBA <bendhiba.zi...@gmail.com>
AuthorDate: Wed Aug 5 18:10:02 2020 +0200

    CAMEL-15297 camel-pgevent issue with URI verification (#4073)
---
 .../resources/org/apache/camel/component/pgevent/pgevent.json  |  2 +-
 components/camel-pgevent/src/main/docs/pgevent-component.adoc  |  2 +-
 .../org/apache/camel/component/pgevent/PgEventEndpoint.java    | 10 +++++-----
 .../pgevent/integration/PgEventPubSubIntegrationTest.java      |  4 ++--
 .../PgEventWithDefinedDatasourceIntegrationTest.java           |  2 +-
 .../camel-pgevent/src/test/resources/test-options.properties   |  2 +-
 .../apache/camel/builder/endpoint/StaticEndpointBuilders.java  |  8 ++++++--
 .../builder/endpoint/dsl/PgEventEndpointBuilderFactory.java    |  8 ++++++--
 8 files changed, 23 insertions(+), 15 deletions(-)

diff --git 
a/components/camel-pgevent/src/generated/resources/org/apache/camel/component/pgevent/pgevent.json
 
b/components/camel-pgevent/src/generated/resources/org/apache/camel/component/pgevent/pgevent.json
index 1e9a076..85be139 100644
--- 
a/components/camel-pgevent/src/generated/resources/org/apache/camel/component/pgevent/pgevent.json
+++ 
b/components/camel-pgevent/src/generated/resources/org/apache/camel/component/pgevent/pgevent.json
@@ -28,7 +28,7 @@
   "properties": {
     "host": { "kind": "path", "displayName": "Host", "group": "common", 
"label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "defaultValue": 
"localhost", "description": "To connect using hostname and port to the 
database." },
     "port": { "kind": "path", "displayName": "Port", "group": "common", 
"label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "secret": false, "defaultValue": 
"5432", "description": "To connect using hostname and port to the database." },
-    "database": { "kind": "path", "displayName": "Database", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "secret": 
false, "description": "The database name" },
+    "database": { "kind": "path", "displayName": "Database", "group": 
"common", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "secret": 
false, "description": "The database name. The database name can take any 
characters because it is sent as a quoted identifier. It is part of the 
endpoint URI, so diacritical marks and non-Latin letters have to be URL 
encoded." },
     "channel": { "kind": "path", "displayName": "Channel", "group": "common", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "secret": 
false, "description": "The channel name" },
     "datasource": { "kind": "parameter", "displayName": "Datasource", "group": 
"common", "label": "", "required": false, "type": "object", "javaType": 
"javax.sql.DataSource", "deprecated": false, "secret": false, "description": 
"To connect using the given javax.sql.DataSource instead of using hostname and 
port." },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
diff --git a/components/camel-pgevent/src/main/docs/pgevent-component.adoc 
b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
index fe890b9..21a22e4 100644
--- a/components/camel-pgevent/src/main/docs/pgevent-component.adoc
+++ b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
@@ -78,7 +78,7 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *host* | To connect using hostname and port to the database. | localhost | 
String
 | *port* | To connect using hostname and port to the database. | 5432 | Integer
-| *database* | *Required* The database name |  | String
+| *database* | *Required* The database name. The database name can take any 
characters because it is sent as a quoted identifier. It is part of the 
endpoint URI, so diacritical marks and non-Latin letters have to be URL 
encoded. |  | String
 | *channel* | *Required* The channel name |  | String
 |===
 
diff --git 
a/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
 
b/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
index 8a0a4cd..5d83ce5 100644
--- 
a/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
+++ 
b/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
@@ -46,10 +46,10 @@ public class PgEventEndpoint extends DefaultEndpoint {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(PgEventEndpoint.class);
 
-    private static final String FORMAT1 = 
"^pgevent://([^:]*):(\\d+)/(\\w+)/(\\w+).*$";
-    private static final String FORMAT2 = 
"^pgevent://([^:]+)/(\\w+)/(\\w+).*$";
-    private static final String FORMAT3 = "^pgevent:///(\\w+)/(\\w+).*$";
-    private static final String FORMAT4 = "^pgevent:(\\w+)/(\\w+)/(\\w+).*$";
+    private static final String FORMAT1 = 
"^pgevent://([^:]*):(\\d+)/(.+)/(\\w+).*$";
+    private static final String FORMAT2 = "^pgevent://([^:]+)/(.+)/(\\w+).*$";
+    private static final String FORMAT3 = "^pgevent:///(.+)/(\\w+).*$";
+    private static final String FORMAT4 = "^pgevent:(.+)/(\\w+)/(\\w+).*$";
 
     @UriPath(defaultValue = "localhost")
     private String host = "localhost";
@@ -186,7 +186,7 @@ public class PgEventEndpoint extends DefaultEndpoint {
     }
 
     /**
-     * The database name
+     * The database name. The database name can take any characters because it 
is sent as a quoted identifier. It is part of the endpoint URI, so diacritical 
marks and non-Latin letters have to be URL encoded.
      */
     public void setDatabase(String database) {
         this.database = database;
diff --git 
a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/PgEventPubSubIntegrationTest.java
 
b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/PgEventPubSubIntegrationTest.java
index 8a38e79..0ca7ef1 100644
--- 
a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/PgEventPubSubIntegrationTest.java
+++ 
b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/PgEventPubSubIntegrationTest.java
@@ -25,10 +25,10 @@ import org.junit.jupiter.api.Test;
 
 public class PgEventPubSubIntegrationTest extends 
AbstractPgEventIntegrationTest {
 
-    
@EndpointInject("pgevent://{{host}}:{{port}}/{{database}}/testchannel?user={{userName}}&pass={{password}}")
+    
@EndpointInject("pgevent://{{host}}:{{port}}/{{database}}/testchannel?user={{databaseUser}}&pass={{password}}")
     private Endpoint subscribeEndpoint;
 
-    
@EndpointInject("pgevent://{{host}}:{{port}}/{{database}}/testchannel?user={{userName}}&pass={{password}}")
+    
@EndpointInject("pgevent://{{host}}:{{port}}/{{database}}/testchannel?user={{databaseUser}}&pass={{password}}")
     private Endpoint notifyEndpoint;
 
     @EndpointInject("timer://test?repeatCount=1&period=1")
diff --git 
a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/PgEventWithDefinedDatasourceIntegrationTest.java
 
b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/PgEventWithDefinedDatasourceIntegrationTest.java
index 3138eaf..b0db447 100644
--- 
a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/PgEventWithDefinedDatasourceIntegrationTest.java
+++ 
b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/PgEventWithDefinedDatasourceIntegrationTest.java
@@ -50,7 +50,7 @@ public class PgEventWithDefinedDatasourceIntegrationTest 
extends AbstractPgEvent
         dataSource.setHost(properties.getProperty("host"));
         dataSource.setPort(Integer.parseInt(properties.getProperty("port")));
         dataSource.setDatabaseName(properties.getProperty("database"));
-        dataSource.setUser(properties.getProperty("userName"));
+        dataSource.setUser(properties.getProperty("databaseUser"));
         dataSource.setPassword(properties.getProperty("password"));
 
 
diff --git 
a/components/camel-pgevent/src/test/resources/test-options.properties 
b/components/camel-pgevent/src/test/resources/test-options.properties
index 08ff2c4..0b6b18e 100644
--- a/components/camel-pgevent/src/test/resources/test-options.properties
+++ b/components/camel-pgevent/src/test/resources/test-options.properties
@@ -28,7 +28,7 @@ host=localhost
 port=5432
 
 # The user name used for connecting to PostgreSQL
-userName=postgres
+databaseUser=postgres
 
 # The password used for connecting to PostgreSQL
 password=mysecretpassword
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 45bbb89..9d56656 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -11351,7 +11351,9 @@ public class StaticEndpointBuilders {
      * Default value: 5432
      * 
      * Path parameter: database (required)
-     * The database name
+     * The database name. The database name can take any characters because it
+     * is sent as a quoted identifier. It is part of the endpoint URI, so
+     * diacritical marks and non-Latin letters have to be URL encoded.
      * 
      * Path parameter: channel (required)
      * The channel name
@@ -11381,7 +11383,9 @@ public class StaticEndpointBuilders {
      * Default value: 5432
      * 
      * Path parameter: database (required)
-     * The database name
+     * The database name. The database name can take any characters because it
+     * is sent as a quoted identifier. It is part of the endpoint URI, so
+     * diacritical marks and non-Latin letters have to be URL encoded.
      * 
      * Path parameter: channel (required)
      * The channel name
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PgEventEndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PgEventEndpointBuilderFactory.java
index 16eec9a..0ed4728 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PgEventEndpointBuilderFactory.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PgEventEndpointBuilderFactory.java
@@ -569,7 +569,9 @@ public interface PgEventEndpointBuilderFactory {
          * Default value: 5432
          * 
          * Path parameter: database (required)
-         * The database name
+         * The database name. The database name can take any characters because
+         * it is sent as a quoted identifier. It is part of the endpoint URI, 
so
+         * diacritical marks and non-Latin letters have to be URL encoded.
          * 
          * Path parameter: channel (required)
          * The channel name
@@ -598,7 +600,9 @@ public interface PgEventEndpointBuilderFactory {
          * Default value: 5432
          * 
          * Path parameter: database (required)
-         * The database name
+         * The database name. The database name can take any characters because
+         * it is sent as a quoted identifier. It is part of the endpoint URI, 
so
+         * diacritical marks and non-Latin letters have to be URL encoded.
          * 
          * Path parameter: channel (required)
          * The channel name

Reply via email to