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