Updated Branches:
  refs/heads/master 13c1dd9f4 -> db2767306

CAMEL-6428: Applied latest patch from Dhiraj Bokde


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/db276730
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/db276730
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/db276730

Branch: refs/heads/master
Commit: db2767306d3619d37cb1cfb34d81581aa3f780ea
Parents: 13c1dd9
Author: Claus Ibsen <davscl...@apache.org>
Authored: Thu Jun 20 10:51:53 2013 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Thu Jun 20 10:51:53 2013 +0200

----------------------------------------------------------------------
 .../salesforce/StreamingApiIntegrationTest.java |  2 +
 .../camel-salesforce-maven-plugin/pom.xml       | 90 +++++++++++++++++++-
 .../src/it/settings.xml                         | 55 ++++++++++++
 .../src/it/simple-it/pom.xml                    | 61 +++++++++++++
 .../src/it/simple-it/verify.groovy              |  4 +
 .../apache/camel/maven/CamelSalesforceMojo.java | 49 ++++-------
 6 files changed, 229 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/db276730/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/StreamingApiIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/StreamingApiIntegrationTest.java
 
b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/StreamingApiIntegrationTest.java
index f80c2f6..514f17e 100644
--- 
a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/StreamingApiIntegrationTest.java
+++ 
b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/StreamingApiIntegrationTest.java
@@ -56,6 +56,8 @@ public class StreamingApiIntegrationTest extends 
AbstractSalesforceTestBase {
 
             // validate dynamic message headers
             assertNotNull("Missing header CamelSalesforceClientId", 
in.getHeader("CamelSalesforceClientId"));
+            assertNotNull("Missing header CamelSalesforceEventType", 
in.getHeader("CamelSalesforceEventType"));
+            assertNotNull("Missing header CamelSalesforceCreatedDate", 
in.getHeader("CamelSalesforceCreatedDate"));
 
         } finally {
             // remove the test record

http://git-wip-us.apache.org/repos/asf/camel/blob/db276730/components/camel-salesforce/camel-salesforce-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-maven-plugin/pom.xml 
b/components/camel-salesforce/camel-salesforce-maven-plugin/pom.xml
index a5bfdf7..6f8d64e 100644
--- a/components/camel-salesforce/camel-salesforce-maven-plugin/pom.xml
+++ b/components/camel-salesforce/camel-salesforce-maven-plugin/pom.xml
@@ -15,7 +15,8 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
 
   <modelVersion>4.0.0</modelVersion>
 
@@ -38,6 +39,17 @@
       <version>2.0</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
+      <version>3.2</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>3.0.8</version>
+    </dependency>
+    <dependency>
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-salesforce</artifactId>
       <version>${project.version}</version>
@@ -62,6 +74,12 @@
 
     <!-- testing -->
     <dependency>
+      <groupId>org.apache.maven.plugin-testing</groupId>
+      <artifactId>maven-plugin-testing-harness</artifactId>
+      <version>2.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <version>${slf4j-api-version}</version>
@@ -75,4 +93,74 @@
     </dependency>
   </dependencies>
 
+  <build>
+    <plugins>
+      <!-- Generate plugin help -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-plugin-plugin</artifactId>
+        <version>3.2</version>
+        <configuration>
+          <goalPrefix>camel-salesforce</goalPrefix>
+          <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
+        </configuration>
+        <executions>
+          <execution>
+            <id>mojo-descriptor</id>
+            <goals>
+              <goal>descriptor</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>help-goal</id>
+            <goals>
+              <goal>helpmojo</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+  <!-- Plugin integration test profile -->
+  <profiles>
+    <profile>
+      <id>plugin-itest</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-invoker-plugin</artifactId>
+            <version>1.7</version>
+            <configuration>
+              <debug>true</debug>
+              <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
+              <pomIncludes>
+                <pomInclude>*/pom.xml</pomInclude>
+              </pomIncludes>
+              <postBuildHookScript>verify</postBuildHookScript>
+              
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
+              <settingsFile>src/it/settings.xml</settingsFile>
+              <goals>
+                <goal>clean</goal>
+                <goal>test-compile</goal>
+              </goals>
+            </configuration>
+            <executions>
+              <execution>
+                <id>integration-test</id>
+                <goals>
+                  <goal>install</goal>
+                  <goal>integration-test</goal>
+                  <goal>verify</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+
+      </build>
+    </profile>
+  </profiles>
+
 </project>

http://git-wip-us.apache.org/repos/asf/camel/blob/db276730/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/settings.xml
----------------------------------------------------------------------
diff --git 
a/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/settings.xml 
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/settings.xml
new file mode 100644
index 0000000..c8f77f0
--- /dev/null
+++ 
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/settings.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<settings>
+  <profiles>
+    <profile>
+      <id>it-repo</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <repositories>
+        <repository>
+          <id>local.central</id>
+          <url>@localRepositoryUrl@</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>true</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+      <pluginRepositories>
+        <pluginRepository>
+          <id>local.central</id>
+          <url>@localRepositoryUrl@</url>
+          <releases>
+            <enabled>true</enabled>
+          </releases>
+          <snapshots>
+            <enabled>true</enabled>
+          </snapshots>
+        </pluginRepository>
+      </pluginRepositories>
+    </profile>
+  </profiles>
+</settings>

http://git-wip-us.apache.org/repos/asf/camel/blob/db276730/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/simple-it/pom.xml
----------------------------------------------------------------------
diff --git 
a/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/simple-it/pom.xml
 
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/simple-it/pom.xml
new file mode 100644
index 0000000..08142dd
--- /dev/null
+++ 
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/simple-it/pom.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-salesforce-maven-plugin-it</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <description>A simple IT verifying the basic use case.</description>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <build>
+    <plugins>
+      <!-- Read salesforce login properties -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>properties-maven-plugin</artifactId>
+        <version>1.0-alpha-2</version>
+        <executions>
+          <execution>
+            <phase>initialize</phase>
+            <goals><goal>read-project-properties</goal></goals>
+            <configuration>
+              <files>
+                <file>../../../../test-salesforce-login.properties</file>
+              </files>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
+      <!-- Execute salesforce plugin -->
+      <plugin>
+        <groupId>@project.groupId@</groupId>
+        <artifactId>@project.artifactId@</artifactId>
+        <version>@project.version@</version>
+        <executions>
+          <execution>
+            <id>generate</id>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+            <configuration>
+              <includePattern>(.*__c)</includePattern>
+              <!-- Salesforce login info -->
+              <clientId>${clientId}</clientId>
+              <clientSecret>${clientSecret}</clientSecret>
+              <userName>${userName}</userName>
+              <password>${password}</password>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/camel/blob/db276730/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/simple-it/verify.groovy
----------------------------------------------------------------------
diff --git 
a/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/simple-it/verify.groovy
 
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/simple-it/verify.groovy
new file mode 100644
index 0000000..7153082
--- /dev/null
+++ 
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/it/simple-it/verify.groovy
@@ -0,0 +1,4 @@
+// assert that the generated files directory exists
+File sourceDir = new File( basedir, 
"target/generated-sources/camel-salesforce" );
+
+assert sourceDir.isDirectory()

http://git-wip-us.apache.org/repos/asf/camel/blob/db276730/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java
----------------------------------------------------------------------
diff --git 
a/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java
 
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java
index 5513c9c..2adbf7f 100644
--- 
a/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java
+++ 
b/components/camel-salesforce/camel-salesforce-maven-plugin/src/main/java/org/apache/camel/maven/CamelSalesforceMojo.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.maven;
 
+import org.apache.camel.component.salesforce.SalesforceEndpointConfig;
 import org.apache.camel.component.salesforce.SalesforceLoginConfig;
 import org.apache.camel.component.salesforce.api.SalesforceException;
 import org.apache.camel.component.salesforce.api.dto.*;
@@ -27,6 +28,9 @@ import 
org.apache.camel.component.salesforce.internal.client.SyncResponseCallbac
 import org.apache.log4j.Logger;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
@@ -48,10 +52,8 @@ import java.util.regex.Pattern;
 
 /**
  * Goal which generates POJOs for Salesforce SObjects
- *
- * @goal generate
- * @phase generate-sources
  */
+@Mojo(name = "generate", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
 public class CamelSalesforceMojo extends AbstractMojo {
     private static final String JAVA_EXT = ".java";
     private static final String PACKAGE_NAME_PATTERN = 
"^[a-z]+(\\.[a-z][a-z0-9]*)*$";
@@ -65,84 +67,69 @@ public class CamelSalesforceMojo extends AbstractMojo {
 
     /**
      * Salesforce client id
-     *
-     * @parameter property="${clientId}"
-     * @required
      */
+    @Parameter(property = "camelSalesforce.clientId", required = true)
     protected String clientId;
 
     /**
      * Salesforce client secret
-     *
-     * @parameter property="${clientSecret}"
-     * @required
      */
+    @Parameter(property = "camelSalesforce.clientSecret", required = true)
     protected String clientSecret;
 
     /**
      * Salesforce user name
-     *
-     * @parameter property="${userName}"
-     * @required
      */
+    @Parameter(property = "camelSalesforce.userName", required = true)
     protected String userName;
 
     /**
      * Salesforce password
-     *
-     * @parameter property="${password}"
-     * @required
      */
+    @Parameter(property = "camelSalesforce.password", required = true)
     protected String password;
 
     /**
      * Salesforce version
-     *
-     * @parameter property="${version}" default-value="25.0"
      */
+    @Parameter(property = "camelSalesforce.version", defaultValue = 
SalesforceEndpointConfig.DEFAULT_VERSION)
     protected String version;
 
     /**
      * Location of the file.
-     *
-     * @parameter property="${outputDirectory}" 
default-value="${project.build.directory}/generated-sources/camel-salesforce"
-     * @required
      */
+    @Parameter(property = "camelSalesforce.outputDirectory",
+        defaultValue = 
"${project.build.directory}/generated-sources/camel-salesforce")
     protected File outputDirectory;
 
     /**
      * Names of Salesforce SObject for which POJOs must be generated
-     *
-     * @parameter
      */
+    @Parameter
     protected String[] includes;
 
     /**
      * Do NOT generate POJOs for these Salesforce SObjects
-     *
-     * @parameter
      */
+    @Parameter
     protected String[] excludes;
 
     /**
      * Include Salesforce SObjects that match pattern
-     *
-     * @parameter property="${includePattern}"
      */
+    @Parameter(property = "camelSalesforce.includePattern")
     protected String includePattern;
 
     /**
      * Exclude Salesforce SObjects that match pattern
-     *
-     * @parameter property="${excludePattern}"
      */
+    @Parameter(property = "camelSalesforce.excludePattern")
     protected String excludePattern;
 
     /**
      * Java package name for generated POJOs
-     *
-     * @parameter property="${packageName}" 
default-value="org.apache.camel.salesforce.dto"
      */
+    @Parameter(property = "camelSalesforce.packageName", defaultValue = 
"org.apache.camel.salesforce.dto")
     protected String packageName;
 
     private VelocityEngine engine;
@@ -193,7 +180,7 @@ public class CamelSalesforceMojo extends AbstractMojo {
         getLog().info("Salesforce login successful");
 
         // create rest client
-        RestClient restClient = null;
+        RestClient restClient;
         try {
             restClient = new DefaultRestClient(httpClient,
                     version, PayloadFormat.JSON, session);

Reply via email to