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

shuber pushed a commit to branch UNOMI-254-groovy-actions
in repository https://gitbox.apache.org/repos/asf/unomi.git


The following commit(s) were added to refs/heads/UNOMI-254-groovy-actions by 
this push:
     new feda0ac  UNOMI-254 Groovy Actions - Moved HttpBuilder and Jsoup 
library to Groovy Action feature - Added example of retrieving data from event 
- Added DynamicImport-Package for Groovy script dependencies (is there a better 
way to do this ?) - Fix dynamic reloading of Groovy scripts from project source 
code
feda0ac is described below

commit feda0ac62802562ee819cd0255a8f3f1c2cd0c5b
Author: Serge Huber <[email protected]>
AuthorDate: Fri Nov 15 21:36:12 2019 +0100

    UNOMI-254 Groovy Actions
    - Moved HttpBuilder and Jsoup library to Groovy Action feature
    - Added example of retrieving data from event
    - Added DynamicImport-Package for Groovy script dependencies (is there a 
better way to do this ?)
    - Fix dynamic reloading of Groovy scripts from project source code
    
    Signed-off-by: Serge Huber <[email protected]>
---
 extensions/groovy-actions/karaf-kar/pom.xml              | 10 ++++++++++
 .../actions/groovy/GroovyBundleResourceConnector.java    |  2 +-
 samples/groovy-actions/pom.xml                           | 16 ++++------------
 .../META-INF/cxs/actions/testGroovyAction.groovy         |  5 +++++
 4 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/extensions/groovy-actions/karaf-kar/pom.xml 
b/extensions/groovy-actions/karaf-kar/pom.xml
index d74fbc8..47804e9 100644
--- a/extensions/groovy-actions/karaf-kar/pom.xml
+++ b/extensions/groovy-actions/karaf-kar/pom.xml
@@ -51,6 +51,16 @@
             <artifactId>unomi-groovy-actions-services</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>io.github.http-builder-ng</groupId>
+            <artifactId>http-builder-ng-core</artifactId>
+            <version>1.0.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jsoup</groupId>
+            <artifactId>jsoup</artifactId>
+            <version>1.12.1</version>
+        </dependency>
 
     </dependencies>
 
diff --git 
a/extensions/groovy-actions/services/src/main/java/org/apache/unomi/services/actions/groovy/GroovyBundleResourceConnector.java
 
b/extensions/groovy-actions/services/src/main/java/org/apache/unomi/services/actions/groovy/GroovyBundleResourceConnector.java
index 1ba791f..af316fd 100644
--- 
a/extensions/groovy-actions/services/src/main/java/org/apache/unomi/services/actions/groovy/GroovyBundleResourceConnector.java
+++ 
b/extensions/groovy-actions/services/src/main/java/org/apache/unomi/services/actions/groovy/GroovyBundleResourceConnector.java
@@ -52,7 +52,7 @@ public class GroovyBundleResourceConnector implements 
ResourceConnector {
         if (headers.get("Unomi-Source-Folders") != null) {
             File moduleSourceFolder = new 
File(headers.get("Unomi-Source-Folders"));
             if (moduleSourceFolder.exists()) {
-                File resourcesSourceFolder = new File(moduleSourceFolder, 
"src/main/resources/META-INF/cxs/actions");
+                File resourcesSourceFolder = new File(moduleSourceFolder, 
"src/main/resources");
                 if (resourcesSourceFolder.exists()) {
                     File resourceFile = new File(resourcesSourceFolder, 
resourcePath);
                     if (resourceFile.exists()) {
diff --git a/samples/groovy-actions/pom.xml b/samples/groovy-actions/pom.xml
index dd88a01..ffb0cc2 100644
--- a/samples/groovy-actions/pom.xml
+++ b/samples/groovy-actions/pom.xml
@@ -40,11 +40,13 @@
             <groupId>io.github.http-builder-ng</groupId>
             <artifactId>http-builder-ng-core</artifactId>
             <version>1.0.4</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.jsoup</groupId>
             <artifactId>jsoup</artifactId>
             <version>1.12.1</version>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.codehaus.groovy</groupId>
@@ -63,18 +65,8 @@
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
-                        <Import-Package>
-                            com.opencsv;resolution:=optional,
-                            groovy.json;resolution:=optional,
-                            org.cyberneko.html.parsers;resolution:=optional,
-                            org.codehaus.groovy.runtime.callsite,
-                            org.codehaus.groovy.reflection,
-                            groovy.lang,
-                            groovy.util.slurpersupport,
-                            org.codehaus.groovy.runtime.typehandling,
-                            org.apache.unomi.api.services,
-                            *
-                        </Import-Package>
+                        
<Unomi-Source-Folders>${project.basedir}</Unomi-Source-Folders>
+                        <DynamicImport-Package>*</DynamicImport-Package>
                         
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
                     </instructions>
                 </configuration>
diff --git 
a/samples/groovy-actions/src/main/resources/META-INF/cxs/actions/testGroovyAction.groovy
 
b/samples/groovy-actions/src/main/resources/META-INF/cxs/actions/testGroovyAction.groovy
index 5e93f3f..87190cb 100644
--- 
a/samples/groovy-actions/src/main/resources/META-INF/cxs/actions/testGroovyAction.groovy
+++ 
b/samples/groovy-actions/src/main/resources/META-INF/cxs/actions/testGroovyAction.groovy
@@ -26,6 +26,11 @@ Document page = configure {
 
 String license = page.select('span.b.lic').collect { it.text() }.join(', ')
 
+println "Event type:${event.getEventType()}"
+println "Profile ID=${event.getProfile().getItemId()}"
+println "Action name=${action.actionType.metadata.name}"
+println "Action parameters=${action.parameterValues}"
+
 println "Groovy is licensed under: ${license}"
 
 EventService.NO_CHANGE
\ No newline at end of file

Reply via email to