From dd1659dfca45ee6a77c081b10c4e70418e269536 Mon Sep 17 00:00:00 2001 From: Daniel Kocot Date: Mon, 1 Mar 2021 12:48:13 +0100 Subject: [PATCH] refactored all packages and set to new version 1.1.0 --- .github/workflows/maven.yml | 18 ++++++ .../workflows/release-to-maven-central.yml | 56 ++++++++++++++++++ pom.xml | 6 +- .../com/reedelk/core/ModuleDefinition.java | 7 --- .../core/internal/type/ListOfMessages.java | 10 ---- .../reedelk/core/ModuleDefinition.java | 7 +++ .../core/component/JoinWithDelimiter.java | 20 +++---- .../core/component/JoinWithScript.java | 24 ++++---- .../core/component/LoggerComponent.java | 18 +++--- .../reedelk/core/component/PayloadSet.java | 18 +++--- .../core/component/PayloadToString.java | 20 +++---- .../core/component/ResourceReadBinary.java | 28 ++++----- .../core/component/ResourceReadDynamic.java | 40 ++++++------- .../ResourceReadDynamicConfiguration.java | 6 +- .../core/component/ResourceReadText.java | 26 ++++---- .../core/component/ScriptEvaluator.java | 24 ++++---- .../reedelk/core/component/SplitText.java | 20 +++---- .../core/component/VariableRemove.java | 12 ++-- .../reedelk/core/component/VariableSet.java | 20 +++---- .../core/internal/ModuleActivator.java | 8 +-- .../attribute/ResourceReadAttributes.java | 12 ++-- .../core/internal/commons/LoggerLevel.java | 4 +- .../core/internal/commons/MessageLogger.java | 2 +- .../core/internal/script/BCryptUtil.java | 6 +- .../reedelk/core/internal/script/Config.java | 8 +-- .../core/internal/script/GlobalFunctions.java | 6 +- .../reedelk/core/internal/script/Log.java | 10 ++-- .../reedelk/core/internal/script/Util.java | 6 +- .../core/internal/type/ListOfMessages.java | 10 ++++ ...core.component.JoinWithDelimiter-icon.png} | Bin ...delk.core.component.JoinWithDelimiter.png} | Bin ...lk.core.component.JoinWithScript-icon.png} | Bin ...reedelk.core.component.JoinWithScript.png} | Bin ...k.core.component.LoggerComponent-icon.png} | Bin ...eedelk.core.component.LoggerComponent.png} | Bin ...eedelk.core.component.PayloadSet-icon.png} | Bin ...ric.reedelk.core.component.PayloadSet.png} | Bin ...k.core.component.PayloadToString-icon.png} | Bin ...eedelk.core.component.PayloadToString.png} | Bin ...ore.component.ResourceReadBinary-icon.png} | Bin ...elk.core.component.ResourceReadBinary.png} | Bin ...re.component.ResourceReadDynamic-icon.png} | Bin ...lk.core.component.ResourceReadDynamic.png} | Bin ....core.component.ResourceReadText-icon.png} | Bin ...edelk.core.component.ResourceReadText.png} | Bin ...k.core.component.ScriptEvaluator-icon.png} | Bin ...eedelk.core.component.ScriptEvaluator.png} | Bin ...reedelk.core.component.SplitText-icon.png} | Bin ...tric.reedelk.core.component.SplitText.png} | Bin ...lk.core.component.VariableRemove-icon.png} | Bin ...reedelk.core.component.VariableRemove.png} | Bin ...edelk.core.component.VariableSet-icon.png} | Bin ...ic.reedelk.core.component.VariableSet.png} | Bin src/main/resources/module-descriptor.json | 2 +- .../component/ResourceReadBinaryTest.java | 18 +++--- .../component/ResourceReadDynamicTest.java | 26 ++++---- 56 files changed, 286 insertions(+), 212 deletions(-) create mode 100644 .github/workflows/maven.yml create mode 100644 .github/workflows/release-to-maven-central.yml delete mode 100644 src/main/java/com/reedelk/core/ModuleDefinition.java delete mode 100644 src/main/java/com/reedelk/core/internal/type/ListOfMessages.java create mode 100644 src/main/java/de/codecentric/reedelk/core/ModuleDefinition.java rename src/main/java/{com => de/codecentric}/reedelk/core/component/JoinWithDelimiter.java (82%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/JoinWithScript.java (78%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/LoggerComponent.java (83%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/PayloadSet.java (79%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/PayloadToString.java (81%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/ResourceReadBinary.java (79%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/ResourceReadDynamic.java (80%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/ResourceReadDynamicConfiguration.java (85%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/ResourceReadText.java (80%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/ScriptEvaluator.java (84%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/SplitText.java (79%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/VariableRemove.java (75%) rename src/main/java/{com => de/codecentric}/reedelk/core/component/VariableSet.java (79%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/ModuleActivator.java (75%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/attribute/ResourceReadAttributes.java (50%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/commons/LoggerLevel.java (90%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/commons/MessageLogger.java (66%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/script/BCryptUtil.java (91%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/script/Config.java (95%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/script/GlobalFunctions.java (85%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/script/Log.java (86%) rename src/main/java/{com => de/codecentric}/reedelk/core/internal/script/Util.java (81%) create mode 100644 src/main/java/de/codecentric/reedelk/core/internal/type/ListOfMessages.java rename src/main/resources/{com.reedelk.core.component.JoinWithDelimiter-icon.png => de.codecentric.reedelk.core.component.JoinWithDelimiter-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.JoinWithDelimiter.png => de.codecentric.reedelk.core.component.JoinWithDelimiter.png} (100%) rename src/main/resources/{com.reedelk.core.component.JoinWithScript-icon.png => de.codecentric.reedelk.core.component.JoinWithScript-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.JoinWithScript.png => de.codecentric.reedelk.core.component.JoinWithScript.png} (100%) rename src/main/resources/{com.reedelk.core.component.LoggerComponent-icon.png => de.codecentric.reedelk.core.component.LoggerComponent-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.LoggerComponent.png => de.codecentric.reedelk.core.component.LoggerComponent.png} (100%) rename src/main/resources/{com.reedelk.core.component.PayloadSet-icon.png => de.codecentric.reedelk.core.component.PayloadSet-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.PayloadSet.png => de.codecentric.reedelk.core.component.PayloadSet.png} (100%) rename src/main/resources/{com.reedelk.core.component.PayloadToString-icon.png => de.codecentric.reedelk.core.component.PayloadToString-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.PayloadToString.png => de.codecentric.reedelk.core.component.PayloadToString.png} (100%) rename src/main/resources/{com.reedelk.core.component.ResourceReadBinary-icon.png => de.codecentric.reedelk.core.component.ResourceReadBinary-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.ResourceReadBinary.png => de.codecentric.reedelk.core.component.ResourceReadBinary.png} (100%) rename src/main/resources/{com.reedelk.core.component.ResourceReadDynamic-icon.png => de.codecentric.reedelk.core.component.ResourceReadDynamic-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.ResourceReadDynamic.png => de.codecentric.reedelk.core.component.ResourceReadDynamic.png} (100%) rename src/main/resources/{com.reedelk.core.component.ResourceReadText-icon.png => de.codecentric.reedelk.core.component.ResourceReadText-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.ResourceReadText.png => de.codecentric.reedelk.core.component.ResourceReadText.png} (100%) rename src/main/resources/{com.reedelk.core.component.ScriptEvaluator-icon.png => de.codecentric.reedelk.core.component.ScriptEvaluator-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.ScriptEvaluator.png => de.codecentric.reedelk.core.component.ScriptEvaluator.png} (100%) rename src/main/resources/{com.reedelk.core.component.SplitText-icon.png => de.codecentric.reedelk.core.component.SplitText-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.SplitText.png => de.codecentric.reedelk.core.component.SplitText.png} (100%) rename src/main/resources/{com.reedelk.core.component.VariableRemove-icon.png => de.codecentric.reedelk.core.component.VariableRemove-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.VariableRemove.png => de.codecentric.reedelk.core.component.VariableRemove.png} (100%) rename src/main/resources/{com.reedelk.core.component.VariableSet-icon.png => de.codecentric.reedelk.core.component.VariableSet-icon.png} (100%) rename src/main/resources/{com.reedelk.core.component.VariableSet.png => de.codecentric.reedelk.core.component.VariableSet.png} (100%) rename src/test/java/{com => de/codecentric}/reedelk/core/component/ResourceReadBinaryTest.java (82%) rename src/test/java/{com => de/codecentric}/reedelk/core/component/ResourceReadDynamicTest.java (82%) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000..63c228a --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,18 @@ +name: Maven Build + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v2 + + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + + - name: Build with Maven + run: mvn -B install --no-transfer-progress --file pom.xml diff --git a/.github/workflows/release-to-maven-central.yml b/.github/workflows/release-to-maven-central.yml new file mode 100644 index 0000000..d3a86da --- /dev/null +++ b/.github/workflows/release-to-maven-central.yml @@ -0,0 +1,56 @@ +name: release-to-maven-central +on: + workflow_dispatch: + inputs: + releaseversion: + description: 'Release version' + required: true + default: '1.1.0' +jobs: + publish: + runs-on: ubuntu-latest + steps: + - run: echo "Will start a Maven Central upload with version ${{ github.event.inputs.releaseversion }}" + + - uses: actions/checkout@v2 + + - name: Set up settings.xml for Maven Central Repository + uses: actions/setup-java@v1 + with: + java-version: 11 + server-id: oss.sonatype.org + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE + + - name: Set projects Maven version to GitHub Action GUI set version + run: mvn versions:set "-DnewVersion=${{ github.event.inputs.releaseversion }}" --no-transfer-progress + + - name: Publish package + run: mvn --batch-mode clean deploy --no-transfer-progress -P central-deploy -DskipTests=true + env: + MAVEN_USERNAME: ${{ secrets.OSS_SONATYPE_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSS_SONATYPE_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + + - name: Generate changelog + id: changelog + uses: metcalfc/changelog-generator@v0.4.4 + with: + myToken: ${{ secrets.GITHUB_TOKEN }} + + - name: Create GitHub Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.event.inputs.releaseversion }} + release_name: ${{ github.event.inputs.releaseversion }} + body: | + Grab the new version from Maven central https://repo1.maven.org/maven2/de/codecentric/reedelk/reedelk-runtime/${{ github.event.inputs.releaseversion }}/ + ### Things that changed in this release + ${{ steps.changelog.outputs.changelog }} + draft: false + prerelease: false \ No newline at end of file diff --git a/pom.xml b/pom.xml index dca155a..7ade920 100644 --- a/pom.xml +++ b/pom.xml @@ -5,13 +5,13 @@ 4.0.0 - com.reedelk + de.codecentric.reedelk module-parent - 1.0.6 + 1.1.0 bundle - 1.0.6 + 1.1.0 module-core diff --git a/src/main/java/com/reedelk/core/ModuleDefinition.java b/src/main/java/com/reedelk/core/ModuleDefinition.java deleted file mode 100644 index b0f9c9c..0000000 --- a/src/main/java/com/reedelk/core/ModuleDefinition.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.reedelk.core; - -import com.reedelk.runtime.api.annotation.Module; - -@Module(value = "Core Module") -public class ModuleDefinition { -} diff --git a/src/main/java/com/reedelk/core/internal/type/ListOfMessages.java b/src/main/java/com/reedelk/core/internal/type/ListOfMessages.java deleted file mode 100644 index cad0294..0000000 --- a/src/main/java/com/reedelk/core/internal/type/ListOfMessages.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.reedelk.core.internal.type; - -import com.reedelk.runtime.api.annotation.Type; -import com.reedelk.runtime.api.message.Message; - -import java.util.ArrayList; - -@Type(listItemType = Message.class) -public class ListOfMessages extends ArrayList { -} diff --git a/src/main/java/de/codecentric/reedelk/core/ModuleDefinition.java b/src/main/java/de/codecentric/reedelk/core/ModuleDefinition.java new file mode 100644 index 0000000..8a9d5d1 --- /dev/null +++ b/src/main/java/de/codecentric/reedelk/core/ModuleDefinition.java @@ -0,0 +1,7 @@ +package de.codecentric.reedelk.core; + +import de.codecentric.reedelk.runtime.api.annotation.Module; + +@Module(value = "Core Module") +public class ModuleDefinition { +} diff --git a/src/main/java/com/reedelk/core/component/JoinWithDelimiter.java b/src/main/java/de/codecentric/reedelk/core/component/JoinWithDelimiter.java similarity index 82% rename from src/main/java/com/reedelk/core/component/JoinWithDelimiter.java rename to src/main/java/de/codecentric/reedelk/core/component/JoinWithDelimiter.java index 1a8f28c..dbe63f7 100644 --- a/src/main/java/com/reedelk/core/component/JoinWithDelimiter.java +++ b/src/main/java/de/codecentric/reedelk/core/component/JoinWithDelimiter.java @@ -1,14 +1,14 @@ -package com.reedelk.core.component; +package de.codecentric.reedelk.core.component; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.commons.AttributesUtils; -import com.reedelk.runtime.api.component.Join; -import com.reedelk.runtime.api.converter.ConverterService; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageAttributes; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.commons.AttributesUtils; +import de.codecentric.reedelk.runtime.api.component.Join; +import de.codecentric.reedelk.runtime.api.converter.ConverterService; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageAttributes; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; diff --git a/src/main/java/com/reedelk/core/component/JoinWithScript.java b/src/main/java/de/codecentric/reedelk/core/component/JoinWithScript.java similarity index 78% rename from src/main/java/com/reedelk/core/component/JoinWithScript.java rename to src/main/java/de/codecentric/reedelk/core/component/JoinWithScript.java index dbd6c40..5cdb5f0 100644 --- a/src/main/java/com/reedelk/core/component/JoinWithScript.java +++ b/src/main/java/de/codecentric/reedelk/core/component/JoinWithScript.java @@ -1,16 +1,16 @@ -package com.reedelk.core.component; +package de.codecentric.reedelk.core.component; -import com.reedelk.core.internal.type.ListOfMessages; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.commons.AttributesUtils; -import com.reedelk.runtime.api.component.Join; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageAttributes; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.script.Script; -import com.reedelk.runtime.api.script.ScriptEngineService; +import de.codecentric.reedelk.core.internal.type.ListOfMessages; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.commons.AttributesUtils; +import de.codecentric.reedelk.runtime.api.component.Join; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageAttributes; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.script.Script; +import de.codecentric.reedelk.runtime.api.script.ScriptEngineService; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; diff --git a/src/main/java/com/reedelk/core/component/LoggerComponent.java b/src/main/java/de/codecentric/reedelk/core/component/LoggerComponent.java similarity index 83% rename from src/main/java/com/reedelk/core/component/LoggerComponent.java rename to src/main/java/de/codecentric/reedelk/core/component/LoggerComponent.java index 4c00bd4..ab51bbe 100644 --- a/src/main/java/com/reedelk/core/component/LoggerComponent.java +++ b/src/main/java/de/codecentric/reedelk/core/component/LoggerComponent.java @@ -1,13 +1,13 @@ -package com.reedelk.core.component; +package de.codecentric.reedelk.core.component; -import com.reedelk.core.internal.commons.LoggerLevel; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.exception.PlatformException; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.script.ScriptEngineService; -import com.reedelk.runtime.api.script.dynamicvalue.DynamicObject; +import de.codecentric.reedelk.core.internal.commons.LoggerLevel; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.exception.PlatformException; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.script.ScriptEngineService; +import de.codecentric.reedelk.runtime.api.script.dynamicvalue.DynamicObject; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; diff --git a/src/main/java/com/reedelk/core/component/PayloadSet.java b/src/main/java/de/codecentric/reedelk/core/component/PayloadSet.java similarity index 79% rename from src/main/java/com/reedelk/core/component/PayloadSet.java rename to src/main/java/de/codecentric/reedelk/core/component/PayloadSet.java index 27fd26a..df327c0 100644 --- a/src/main/java/com/reedelk/core/component/PayloadSet.java +++ b/src/main/java/de/codecentric/reedelk/core/component/PayloadSet.java @@ -1,13 +1,13 @@ -package com.reedelk.core.component; +package de.codecentric.reedelk.core.component; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.script.ScriptEngineService; -import com.reedelk.runtime.api.script.dynamicvalue.DynamicObject; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.script.ScriptEngineService; +import de.codecentric.reedelk.runtime.api.script.dynamicvalue.DynamicObject; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; diff --git a/src/main/java/com/reedelk/core/component/PayloadToString.java b/src/main/java/de/codecentric/reedelk/core/component/PayloadToString.java similarity index 81% rename from src/main/java/com/reedelk/core/component/PayloadToString.java rename to src/main/java/de/codecentric/reedelk/core/component/PayloadToString.java index d56ffcf..85bf092 100644 --- a/src/main/java/com/reedelk/core/component/PayloadToString.java +++ b/src/main/java/de/codecentric/reedelk/core/component/PayloadToString.java @@ -1,14 +1,14 @@ -package com.reedelk.core.component; +package de.codecentric.reedelk.core.component; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.converter.ConverterService; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.message.content.TypedContent; -import com.reedelk.runtime.api.message.content.TypedPublisher; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.converter.ConverterService; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.message.content.TypedContent; +import de.codecentric.reedelk.runtime.api.message.content.TypedPublisher; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; diff --git a/src/main/java/com/reedelk/core/component/ResourceReadBinary.java b/src/main/java/de/codecentric/reedelk/core/component/ResourceReadBinary.java similarity index 79% rename from src/main/java/com/reedelk/core/component/ResourceReadBinary.java rename to src/main/java/de/codecentric/reedelk/core/component/ResourceReadBinary.java index 6dc2cca..723da14 100644 --- a/src/main/java/com/reedelk/core/component/ResourceReadBinary.java +++ b/src/main/java/de/codecentric/reedelk/core/component/ResourceReadBinary.java @@ -1,21 +1,21 @@ -package com.reedelk.core.component; - -import com.reedelk.core.internal.attribute.ResourceReadAttributes; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.commons.MimeTypeUtils; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.converter.ConverterService; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageAttributes; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.resource.ResourceBinary; +package de.codecentric.reedelk.core.component; + +import de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.commons.MimeTypeUtils; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.converter.ConverterService; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageAttributes; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.resource.ResourceBinary; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; import org.reactivestreams.Publisher; -import static com.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotNull; +import static de.codecentric.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotNull; import static org.osgi.service.component.annotations.ServiceScope.PROTOTYPE; @ModuleComponent("Resource Read Binary") diff --git a/src/main/java/com/reedelk/core/component/ResourceReadDynamic.java b/src/main/java/de/codecentric/reedelk/core/component/ResourceReadDynamic.java similarity index 80% rename from src/main/java/com/reedelk/core/component/ResourceReadDynamic.java rename to src/main/java/de/codecentric/reedelk/core/component/ResourceReadDynamic.java index fd6f32f..c9c7304 100644 --- a/src/main/java/com/reedelk/core/component/ResourceReadDynamic.java +++ b/src/main/java/de/codecentric/reedelk/core/component/ResourceReadDynamic.java @@ -1,29 +1,29 @@ -package com.reedelk.core.component; - -import com.reedelk.core.internal.attribute.ResourceReadAttributes; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.commons.MimeTypeUtils; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.converter.ConverterService; -import com.reedelk.runtime.api.exception.PlatformException; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageAttributes; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.message.content.TypedPublisher; -import com.reedelk.runtime.api.resource.DynamicResource; -import com.reedelk.runtime.api.resource.ResourceFile; -import com.reedelk.runtime.api.resource.ResourceNotFound; -import com.reedelk.runtime.api.resource.ResourceService; +package de.codecentric.reedelk.core.component; + +import de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.commons.MimeTypeUtils; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.converter.ConverterService; +import de.codecentric.reedelk.runtime.api.exception.PlatformException; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageAttributes; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.message.content.TypedPublisher; +import de.codecentric.reedelk.runtime.api.resource.DynamicResource; +import de.codecentric.reedelk.runtime.api.resource.ResourceFile; +import de.codecentric.reedelk.runtime.api.resource.ResourceNotFound; +import de.codecentric.reedelk.runtime.api.resource.ResourceService; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; import org.reactivestreams.Publisher; import java.util.Optional; -import static com.reedelk.core.component.ResourceReadDynamicConfiguration.DEFAULT_READ_BUFFER_SIZE; -import static com.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotNullOrBlank; +import static de.codecentric.reedelk.core.component.ResourceReadDynamicConfiguration.DEFAULT_READ_BUFFER_SIZE; +import static de.codecentric.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotNullOrBlank; import static org.osgi.service.component.annotations.ServiceScope.PROTOTYPE; @ModuleComponent("Resource Read Dynamic") diff --git a/src/main/java/com/reedelk/core/component/ResourceReadDynamicConfiguration.java b/src/main/java/de/codecentric/reedelk/core/component/ResourceReadDynamicConfiguration.java similarity index 85% rename from src/main/java/com/reedelk/core/component/ResourceReadDynamicConfiguration.java rename to src/main/java/de/codecentric/reedelk/core/component/ResourceReadDynamicConfiguration.java index 482110e..7f6962c 100644 --- a/src/main/java/com/reedelk/core/component/ResourceReadDynamicConfiguration.java +++ b/src/main/java/de/codecentric/reedelk/core/component/ResourceReadDynamicConfiguration.java @@ -1,7 +1,7 @@ -package com.reedelk.core.component; +package de.codecentric.reedelk.core.component; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.component.Implementor; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.component.Implementor; import org.osgi.service.component.annotations.Component; import static org.osgi.service.component.annotations.ServiceScope.PROTOTYPE; diff --git a/src/main/java/com/reedelk/core/component/ResourceReadText.java b/src/main/java/de/codecentric/reedelk/core/component/ResourceReadText.java similarity index 80% rename from src/main/java/com/reedelk/core/component/ResourceReadText.java rename to src/main/java/de/codecentric/reedelk/core/component/ResourceReadText.java index 07e75b2..09ac7b4 100644 --- a/src/main/java/com/reedelk/core/component/ResourceReadText.java +++ b/src/main/java/de/codecentric/reedelk/core/component/ResourceReadText.java @@ -1,19 +1,19 @@ -package com.reedelk.core.component; - -import com.reedelk.core.internal.attribute.ResourceReadAttributes; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.commons.MimeTypeUtils; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageAttributes; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.resource.ResourceText; +package de.codecentric.reedelk.core.component; + +import de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.commons.MimeTypeUtils; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageAttributes; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.resource.ResourceText; import org.osgi.service.component.annotations.Component; import org.reactivestreams.Publisher; -import static com.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotNull; +import static de.codecentric.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotNull; import static org.osgi.service.component.annotations.ServiceScope.PROTOTYPE; @ModuleComponent("Resource Read Text") diff --git a/src/main/java/com/reedelk/core/component/ScriptEvaluator.java b/src/main/java/de/codecentric/reedelk/core/component/ScriptEvaluator.java similarity index 84% rename from src/main/java/com/reedelk/core/component/ScriptEvaluator.java rename to src/main/java/de/codecentric/reedelk/core/component/ScriptEvaluator.java index cbb2b7a..9b1e225 100644 --- a/src/main/java/com/reedelk/core/component/ScriptEvaluator.java +++ b/src/main/java/de/codecentric/reedelk/core/component/ScriptEvaluator.java @@ -1,15 +1,15 @@ -package com.reedelk.core.component; - -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.commons.DynamicValueUtils; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.script.Script; -import com.reedelk.runtime.api.script.ScriptEngineService; -import com.reedelk.runtime.api.script.dynamicvalue.DynamicString; +package de.codecentric.reedelk.core.component; + +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.commons.DynamicValueUtils; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.script.Script; +import de.codecentric.reedelk.runtime.api.script.ScriptEngineService; +import de.codecentric.reedelk.runtime.api.script.dynamicvalue.DynamicString; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; diff --git a/src/main/java/com/reedelk/core/component/SplitText.java b/src/main/java/de/codecentric/reedelk/core/component/SplitText.java similarity index 79% rename from src/main/java/com/reedelk/core/component/SplitText.java rename to src/main/java/de/codecentric/reedelk/core/component/SplitText.java index c33b7b0..365a982 100644 --- a/src/main/java/com/reedelk/core/component/SplitText.java +++ b/src/main/java/de/codecentric/reedelk/core/component/SplitText.java @@ -1,13 +1,13 @@ -package com.reedelk.core.component; +package de.codecentric.reedelk.core.component; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.converter.ConverterService; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.MessageBuilder; -import com.reedelk.runtime.api.message.content.TypedContent; -import com.reedelk.runtime.api.type.ListOfString; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.converter.ConverterService; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.MessageBuilder; +import de.codecentric.reedelk.runtime.api.message.content.TypedContent; +import de.codecentric.reedelk.runtime.api.type.ListOfString; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; @@ -15,7 +15,7 @@ import java.util.Collections; import java.util.List; -import static com.reedelk.runtime.api.commons.StringUtils.isBlank; +import static de.codecentric.reedelk.runtime.api.commons.StringUtils.isBlank; import static org.osgi.service.component.annotations.ServiceScope.PROTOTYPE; @ModuleComponent("Split Text") diff --git a/src/main/java/com/reedelk/core/component/VariableRemove.java b/src/main/java/de/codecentric/reedelk/core/component/VariableRemove.java similarity index 75% rename from src/main/java/com/reedelk/core/component/VariableRemove.java rename to src/main/java/de/codecentric/reedelk/core/component/VariableRemove.java index e8816e9..1216b45 100644 --- a/src/main/java/com/reedelk/core/component/VariableRemove.java +++ b/src/main/java/de/codecentric/reedelk/core/component/VariableRemove.java @@ -1,12 +1,12 @@ -package com.reedelk.core.component; +package de.codecentric.reedelk.core.component; -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; import org.osgi.service.component.annotations.Component; -import static com.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotBlank; +import static de.codecentric.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotBlank; import static org.osgi.service.component.annotations.ServiceScope.PROTOTYPE; @ModuleComponent("Variable Remove") diff --git a/src/main/java/com/reedelk/core/component/VariableSet.java b/src/main/java/de/codecentric/reedelk/core/component/VariableSet.java similarity index 79% rename from src/main/java/com/reedelk/core/component/VariableSet.java rename to src/main/java/de/codecentric/reedelk/core/component/VariableSet.java index 974c977..850f6b7 100644 --- a/src/main/java/com/reedelk/core/component/VariableSet.java +++ b/src/main/java/de/codecentric/reedelk/core/component/VariableSet.java @@ -1,16 +1,16 @@ -package com.reedelk.core.component; - -import com.reedelk.runtime.api.annotation.*; -import com.reedelk.runtime.api.component.ProcessorSync; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.script.ScriptEngineService; -import com.reedelk.runtime.api.script.dynamicvalue.DynamicObject; +package de.codecentric.reedelk.core.component; + +import de.codecentric.reedelk.runtime.api.annotation.*; +import de.codecentric.reedelk.runtime.api.component.ProcessorSync; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.script.ScriptEngineService; +import de.codecentric.reedelk.runtime.api.script.dynamicvalue.DynamicObject; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import static com.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotBlank; +import static de.codecentric.reedelk.runtime.api.commons.ComponentPrecondition.Configuration.requireNotBlank; import static org.osgi.service.component.annotations.ServiceScope.PROTOTYPE; @ModuleComponent("Variable Set") diff --git a/src/main/java/com/reedelk/core/internal/ModuleActivator.java b/src/main/java/de/codecentric/reedelk/core/internal/ModuleActivator.java similarity index 75% rename from src/main/java/com/reedelk/core/internal/ModuleActivator.java rename to src/main/java/de/codecentric/reedelk/core/internal/ModuleActivator.java index 813e27a..17a982a 100644 --- a/src/main/java/com/reedelk/core/internal/ModuleActivator.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/ModuleActivator.java @@ -1,8 +1,8 @@ -package com.reedelk.core.internal; +package de.codecentric.reedelk.core.internal; -import com.reedelk.core.internal.script.GlobalFunctions; -import com.reedelk.runtime.api.configuration.ConfigurationService; -import com.reedelk.runtime.api.script.ScriptEngineService; +import de.codecentric.reedelk.core.internal.script.GlobalFunctions; +import de.codecentric.reedelk.runtime.api.configuration.ConfigurationService; +import de.codecentric.reedelk.runtime.api.script.ScriptEngineService; import org.osgi.framework.BundleContext; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; diff --git a/src/main/java/com/reedelk/core/internal/attribute/ResourceReadAttributes.java b/src/main/java/de/codecentric/reedelk/core/internal/attribute/ResourceReadAttributes.java similarity index 50% rename from src/main/java/com/reedelk/core/internal/attribute/ResourceReadAttributes.java rename to src/main/java/de/codecentric/reedelk/core/internal/attribute/ResourceReadAttributes.java index 0461883..5e1c356 100644 --- a/src/main/java/com/reedelk/core/internal/attribute/ResourceReadAttributes.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/attribute/ResourceReadAttributes.java @@ -1,11 +1,11 @@ -package com.reedelk.core.internal.attribute; +package de.codecentric.reedelk.core.internal.attribute; -import com.reedelk.runtime.api.annotation.Type; -import com.reedelk.runtime.api.annotation.TypeProperty; -import com.reedelk.runtime.api.message.MessageAttributes; +import de.codecentric.reedelk.runtime.api.annotation.Type; +import de.codecentric.reedelk.runtime.api.annotation.TypeProperty; +import de.codecentric.reedelk.runtime.api.message.MessageAttributes; -import static com.reedelk.core.internal.attribute.ResourceReadAttributes.RESOURCE_PATH; -import static com.reedelk.core.internal.attribute.ResourceReadAttributes.TIMESTAMP; +import static de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes.RESOURCE_PATH; +import static de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes.TIMESTAMP; @Type @TypeProperty(name = RESOURCE_PATH, type = String.class) diff --git a/src/main/java/com/reedelk/core/internal/commons/LoggerLevel.java b/src/main/java/de/codecentric/reedelk/core/internal/commons/LoggerLevel.java similarity index 90% rename from src/main/java/com/reedelk/core/internal/commons/LoggerLevel.java rename to src/main/java/de/codecentric/reedelk/core/internal/commons/LoggerLevel.java index ae841d6..0536832 100644 --- a/src/main/java/com/reedelk/core/internal/commons/LoggerLevel.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/commons/LoggerLevel.java @@ -1,6 +1,6 @@ -package com.reedelk.core.internal.commons; +package de.codecentric.reedelk.core.internal.commons; -import com.reedelk.runtime.api.annotation.DisplayName; +import de.codecentric.reedelk.runtime.api.annotation.DisplayName; import org.slf4j.Logger; public enum LoggerLevel implements MessageLogger { diff --git a/src/main/java/com/reedelk/core/internal/commons/MessageLogger.java b/src/main/java/de/codecentric/reedelk/core/internal/commons/MessageLogger.java similarity index 66% rename from src/main/java/com/reedelk/core/internal/commons/MessageLogger.java rename to src/main/java/de/codecentric/reedelk/core/internal/commons/MessageLogger.java index 2f656d6..7912cee 100644 --- a/src/main/java/com/reedelk/core/internal/commons/MessageLogger.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/commons/MessageLogger.java @@ -1,4 +1,4 @@ -package com.reedelk.core.internal.commons; +package de.codecentric.reedelk.core.internal.commons; import org.slf4j.Logger; diff --git a/src/main/java/com/reedelk/core/internal/script/BCryptUtil.java b/src/main/java/de/codecentric/reedelk/core/internal/script/BCryptUtil.java similarity index 91% rename from src/main/java/com/reedelk/core/internal/script/BCryptUtil.java rename to src/main/java/de/codecentric/reedelk/core/internal/script/BCryptUtil.java index 7ffba53..2d4aad2 100644 --- a/src/main/java/com/reedelk/core/internal/script/BCryptUtil.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/script/BCryptUtil.java @@ -1,7 +1,7 @@ -package com.reedelk.core.internal.script; +package de.codecentric.reedelk.core.internal.script; -import com.reedelk.runtime.api.annotation.Type; -import com.reedelk.runtime.api.annotation.TypeFunction; +import de.codecentric.reedelk.runtime.api.annotation.Type; +import de.codecentric.reedelk.runtime.api.annotation.TypeFunction; import org.mindrot.jbcrypt.BCrypt; @Type(global = true, description = diff --git a/src/main/java/com/reedelk/core/internal/script/Config.java b/src/main/java/de/codecentric/reedelk/core/internal/script/Config.java similarity index 95% rename from src/main/java/com/reedelk/core/internal/script/Config.java rename to src/main/java/de/codecentric/reedelk/core/internal/script/Config.java index 5de5656..c59714f 100644 --- a/src/main/java/com/reedelk/core/internal/script/Config.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/script/Config.java @@ -1,8 +1,8 @@ -package com.reedelk.core.internal.script; +package de.codecentric.reedelk.core.internal.script; -import com.reedelk.runtime.api.annotation.Type; -import com.reedelk.runtime.api.annotation.TypeFunction; -import com.reedelk.runtime.api.configuration.ConfigurationService; +import de.codecentric.reedelk.runtime.api.annotation.Type; +import de.codecentric.reedelk.runtime.api.annotation.TypeFunction; +import de.codecentric.reedelk.runtime.api.configuration.ConfigurationService; @Type(global = true, description = diff --git a/src/main/java/com/reedelk/core/internal/script/GlobalFunctions.java b/src/main/java/de/codecentric/reedelk/core/internal/script/GlobalFunctions.java similarity index 85% rename from src/main/java/com/reedelk/core/internal/script/GlobalFunctions.java rename to src/main/java/de/codecentric/reedelk/core/internal/script/GlobalFunctions.java index 8716f28..b8b1fb0 100644 --- a/src/main/java/com/reedelk/core/internal/script/GlobalFunctions.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/script/GlobalFunctions.java @@ -1,7 +1,7 @@ -package com.reedelk.core.internal.script; +package de.codecentric.reedelk.core.internal.script; -import com.reedelk.runtime.api.configuration.ConfigurationService; -import com.reedelk.runtime.api.script.ScriptGlobalFunctions; +import de.codecentric.reedelk.runtime.api.configuration.ConfigurationService; +import de.codecentric.reedelk.runtime.api.script.ScriptGlobalFunctions; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/reedelk/core/internal/script/Log.java b/src/main/java/de/codecentric/reedelk/core/internal/script/Log.java similarity index 86% rename from src/main/java/com/reedelk/core/internal/script/Log.java rename to src/main/java/de/codecentric/reedelk/core/internal/script/Log.java index c42e19e..1e0e65d 100644 --- a/src/main/java/com/reedelk/core/internal/script/Log.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/script/Log.java @@ -1,9 +1,9 @@ -package com.reedelk.core.internal.script; +package de.codecentric.reedelk.core.internal.script; -import com.reedelk.core.component.LoggerComponent; -import com.reedelk.core.internal.commons.LoggerLevel; -import com.reedelk.runtime.api.annotation.Type; -import com.reedelk.runtime.api.annotation.TypeFunction; +import de.codecentric.reedelk.core.component.LoggerComponent; +import de.codecentric.reedelk.core.internal.commons.LoggerLevel; +import de.codecentric.reedelk.runtime.api.annotation.Type; +import de.codecentric.reedelk.runtime.api.annotation.TypeFunction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/com/reedelk/core/internal/script/Util.java b/src/main/java/de/codecentric/reedelk/core/internal/script/Util.java similarity index 81% rename from src/main/java/com/reedelk/core/internal/script/Util.java rename to src/main/java/de/codecentric/reedelk/core/internal/script/Util.java index 16a0fb1..5a0be52 100644 --- a/src/main/java/com/reedelk/core/internal/script/Util.java +++ b/src/main/java/de/codecentric/reedelk/core/internal/script/Util.java @@ -1,7 +1,7 @@ -package com.reedelk.core.internal.script; +package de.codecentric.reedelk.core.internal.script; -import com.reedelk.runtime.api.annotation.Type; -import com.reedelk.runtime.api.annotation.TypeFunction; +import de.codecentric.reedelk.runtime.api.annotation.Type; +import de.codecentric.reedelk.runtime.api.annotation.TypeFunction; import java.util.UUID; diff --git a/src/main/java/de/codecentric/reedelk/core/internal/type/ListOfMessages.java b/src/main/java/de/codecentric/reedelk/core/internal/type/ListOfMessages.java new file mode 100644 index 0000000..d44b3c0 --- /dev/null +++ b/src/main/java/de/codecentric/reedelk/core/internal/type/ListOfMessages.java @@ -0,0 +1,10 @@ +package de.codecentric.reedelk.core.internal.type; + +import de.codecentric.reedelk.runtime.api.annotation.Type; +import de.codecentric.reedelk.runtime.api.message.Message; + +import java.util.ArrayList; + +@Type(listItemType = Message.class) +public class ListOfMessages extends ArrayList { +} diff --git a/src/main/resources/com.reedelk.core.component.JoinWithDelimiter-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.JoinWithDelimiter-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.JoinWithDelimiter-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.JoinWithDelimiter-icon.png diff --git a/src/main/resources/com.reedelk.core.component.JoinWithDelimiter.png b/src/main/resources/de.codecentric.reedelk.core.component.JoinWithDelimiter.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.JoinWithDelimiter.png rename to src/main/resources/de.codecentric.reedelk.core.component.JoinWithDelimiter.png diff --git a/src/main/resources/com.reedelk.core.component.JoinWithScript-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.JoinWithScript-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.JoinWithScript-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.JoinWithScript-icon.png diff --git a/src/main/resources/com.reedelk.core.component.JoinWithScript.png b/src/main/resources/de.codecentric.reedelk.core.component.JoinWithScript.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.JoinWithScript.png rename to src/main/resources/de.codecentric.reedelk.core.component.JoinWithScript.png diff --git a/src/main/resources/com.reedelk.core.component.LoggerComponent-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.LoggerComponent-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.LoggerComponent-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.LoggerComponent-icon.png diff --git a/src/main/resources/com.reedelk.core.component.LoggerComponent.png b/src/main/resources/de.codecentric.reedelk.core.component.LoggerComponent.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.LoggerComponent.png rename to src/main/resources/de.codecentric.reedelk.core.component.LoggerComponent.png diff --git a/src/main/resources/com.reedelk.core.component.PayloadSet-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.PayloadSet-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.PayloadSet-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.PayloadSet-icon.png diff --git a/src/main/resources/com.reedelk.core.component.PayloadSet.png b/src/main/resources/de.codecentric.reedelk.core.component.PayloadSet.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.PayloadSet.png rename to src/main/resources/de.codecentric.reedelk.core.component.PayloadSet.png diff --git a/src/main/resources/com.reedelk.core.component.PayloadToString-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.PayloadToString-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.PayloadToString-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.PayloadToString-icon.png diff --git a/src/main/resources/com.reedelk.core.component.PayloadToString.png b/src/main/resources/de.codecentric.reedelk.core.component.PayloadToString.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.PayloadToString.png rename to src/main/resources/de.codecentric.reedelk.core.component.PayloadToString.png diff --git a/src/main/resources/com.reedelk.core.component.ResourceReadBinary-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.ResourceReadBinary-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.ResourceReadBinary-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.ResourceReadBinary-icon.png diff --git a/src/main/resources/com.reedelk.core.component.ResourceReadBinary.png b/src/main/resources/de.codecentric.reedelk.core.component.ResourceReadBinary.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.ResourceReadBinary.png rename to src/main/resources/de.codecentric.reedelk.core.component.ResourceReadBinary.png diff --git a/src/main/resources/com.reedelk.core.component.ResourceReadDynamic-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.ResourceReadDynamic-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.ResourceReadDynamic-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.ResourceReadDynamic-icon.png diff --git a/src/main/resources/com.reedelk.core.component.ResourceReadDynamic.png b/src/main/resources/de.codecentric.reedelk.core.component.ResourceReadDynamic.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.ResourceReadDynamic.png rename to src/main/resources/de.codecentric.reedelk.core.component.ResourceReadDynamic.png diff --git a/src/main/resources/com.reedelk.core.component.ResourceReadText-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.ResourceReadText-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.ResourceReadText-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.ResourceReadText-icon.png diff --git a/src/main/resources/com.reedelk.core.component.ResourceReadText.png b/src/main/resources/de.codecentric.reedelk.core.component.ResourceReadText.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.ResourceReadText.png rename to src/main/resources/de.codecentric.reedelk.core.component.ResourceReadText.png diff --git a/src/main/resources/com.reedelk.core.component.ScriptEvaluator-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.ScriptEvaluator-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.ScriptEvaluator-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.ScriptEvaluator-icon.png diff --git a/src/main/resources/com.reedelk.core.component.ScriptEvaluator.png b/src/main/resources/de.codecentric.reedelk.core.component.ScriptEvaluator.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.ScriptEvaluator.png rename to src/main/resources/de.codecentric.reedelk.core.component.ScriptEvaluator.png diff --git a/src/main/resources/com.reedelk.core.component.SplitText-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.SplitText-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.SplitText-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.SplitText-icon.png diff --git a/src/main/resources/com.reedelk.core.component.SplitText.png b/src/main/resources/de.codecentric.reedelk.core.component.SplitText.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.SplitText.png rename to src/main/resources/de.codecentric.reedelk.core.component.SplitText.png diff --git a/src/main/resources/com.reedelk.core.component.VariableRemove-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.VariableRemove-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.VariableRemove-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.VariableRemove-icon.png diff --git a/src/main/resources/com.reedelk.core.component.VariableRemove.png b/src/main/resources/de.codecentric.reedelk.core.component.VariableRemove.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.VariableRemove.png rename to src/main/resources/de.codecentric.reedelk.core.component.VariableRemove.png diff --git a/src/main/resources/com.reedelk.core.component.VariableSet-icon.png b/src/main/resources/de.codecentric.reedelk.core.component.VariableSet-icon.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.VariableSet-icon.png rename to src/main/resources/de.codecentric.reedelk.core.component.VariableSet-icon.png diff --git a/src/main/resources/com.reedelk.core.component.VariableSet.png b/src/main/resources/de.codecentric.reedelk.core.component.VariableSet.png similarity index 100% rename from src/main/resources/com.reedelk.core.component.VariableSet.png rename to src/main/resources/de.codecentric.reedelk.core.component.VariableSet.png diff --git a/src/main/resources/module-descriptor.json b/src/main/resources/module-descriptor.json index d0265ed..9cce5cb 100644 --- a/src/main/resources/module-descriptor.json +++ b/src/main/resources/module-descriptor.json @@ -1 +1 @@ -{"name":"module-core","displayName":"Core Module","version":"1.0.6","components":[{"hidden":false,"displayName":"Join With Delimiter","description":"Can only be placed after a Fork. It joins the payloads of the messages resulting from the execution of the Fork with the provided delimiter. A delimiter can be a single character or any other string. The mime type property specifies the mime type of the joined payloads. This component automatically converts the payload of each single input message to string in case they are not a string type already.","fullyQualifiedName":"com.reedelk.core.component.JoinWithDelimiter","type":"JOIN","input":{"description":"The messages to join using the given delimiter","payload":["com.reedelk.runtime.api.message.Message[]"]},"output":{"description":"The joined content of the input messages payloads using the delimiter as separator. If a message does not have a payload of type string, it is converted to string before joining.","dynamicPropertyName":"","payload":["java.lang.String"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the mime type of the joined content in the message.","displayName":"Mime type","defaultValue":"text/plain","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"delimiter","example":";","initValue":",","description":"The delimiter char (or string) to be used to join the content of the messages.","displayName":"Delimiter","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]}]},{"hidden":false,"displayName":"Join With Script","description":"Can only be placed after a Fork. It joins the payloads of the messages resulting from the execution of the Fork with the provided script function. The mime type property specifies the mime type of the joined payloads. If the result of the script is null, an empty message payload content is set.","fullyQualifiedName":"com.reedelk.core.component.JoinWithScript","type":"JOIN","input":{"description":"The messages to join using the given script","payload":["com.reedelk.runtime.api.message.Message[]"]},"output":{"description":"The joined content of the input messages payloads using by evaluating the given script.","dynamicPropertyName":"","payload":["java.lang.Object"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the mime type of the joined content in the message.","displayName":"Mime type","defaultValue":"text/plain","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"script","example":"joiners/joinByType.groovy","initValue":"###USE_DEFAULT_VALUE###","description":"The path of the script function to be invoked when executing the component","displayName":"Script","type":{"classname":"com.reedelk.module.descriptor.model.property.ScriptDescriptor","instance":{"type":"com.reedelk.runtime.api.script.Script"}},"scriptSignature":{"arguments":[{"argumentName":"context","argumentType":"com.reedelk.runtime.api.flow.FlowContext"},{"argumentName":"messages","argumentType":"com.reedelk.core.internal.type.ListOfMessages"}]},"whens":[]}]},{"hidden":false,"displayName":"Logger","description":"This component allows to log information within a flow such as message payload, attributes, context variables and so on. A logger component can be added anywhere in a flow and it can log a simple text value or a dynamic expression. The Log Message input field type can be toggled to enter a static or dynamic expression value.","fullyQualifiedName":"com.reedelk.core.component.LoggerComponent","type":"PROCESSOR","input":{"description":"Any payload to be logged","payload":["java.lang.Object"]},"output":{"description":"","dynamicPropertyName":"","payload":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"level","example":"DEBUG","initValue":"INFO","description":"The logger level used to log the given message. Log levels can be configured from the \u003ci\u003e{RUNTIME_HOME}/config/logback.xml\u003c/i\u003e file.","displayName":"Logger Level","defaultValue":"INFO","type":{"classname":"com.reedelk.module.descriptor.model.property.EnumDescriptor","instance":{"nameAndDisplayNameMap":{"TRACE":"Trace","ERROR":"Error","INFO":"Info","DEBUG":"Debug","WARN":"Warn"},"type":"java.lang.Enum"}},"whens":[]},{"mandatory":false,"name":"message","example":"\u003ccode\u003e\u0027Attributes:\u0027 + message.attributes()\u003c/code\u003e","initValue":"#[message]","hintValue":"my log message","description":"Sets the message to be logged. It can be a static or dynamic value.","displayName":"Log message","defaultValue":"\u003ccode\u003emessage\u003c/code\u003e","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicObject"}},"whens":[]}]},{"hidden":false,"displayName":"Payload Set","description":"Sets the content of the current message payload to the given payload value. The payload value could be a static text value or a dynamic expression. The mime type specifies the type of the new payload value.","fullyQualifiedName":"com.reedelk.core.component.PayloadSet","type":"PROCESSOR","input":{"description":"Any payload input to be evaluated","payload":["java.lang.Object"]},"output":{"description":"Sets the new message payload by evaluating the expression. The attributes are not changed.","dynamicPropertyName":"payload","payload":["com.reedelk.runtime.api.annotation.ComponentOutput$InferFromDynamicProperty"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the mime type of the new payload being set.","displayName":"Mime type","defaultValue":"*/*","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"payload","example":"\u003ccode\u003eJson.stringify([ data: message.attributes().pathParams.name, id: Util.uuid() ])\u003c/code\u003e","initValue":"#[message.payload()]","hintValue":"Payload text","description":"The new payload to be set to the current flow message.","displayName":"Payload","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicObject"}},"whens":[]}]},{"hidden":false,"displayName":"Payload To String","description":"Transforms the message payload to string type. This component can be used when the payload is a byte array or a byte array stream and we want to convert it to a string for further processing. This might be necessary for instance when the result of a REST Call does not have a mime type assigned. In this case the result will be a byte array and in order to further process the content with a script we must convert it to a string type.","fullyQualifiedName":"com.reedelk.core.component.PayloadToString","type":"PROCESSOR","input":{"description":"Any payload input to be converted to a string","payload":["java.lang.Object"]},"output":{"description":"Converts the payload to a string","dynamicPropertyName":"","payload":["java.lang.String"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the new mime type of the payload content.","displayName":"Mime Type","defaultValue":"text/plain","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[]}]},{"hidden":false,"displayName":"Resource Read Binary","description":"Reads a file from the project\u0027s resources folder and sets its content into the flow message. The type of the message payload is byte array. This component might be used to load binary data (e.g a picture file) from the project\u0027s resources folder. The Mime Type property assign the mime type of the file to the message payload. If Auto Mime Type is selected, the mime type is automatically determined from the file extension.","fullyQualifiedName":"com.reedelk.core.component.ResourceReadBinary","type":"PROCESSOR","input":{"description":"The input payload is not used by this component. The resource is read from the given Resource File path property.","payload":["java.lang.Object"]},"output":{"description":"The content of the resource file read from the project\u0027s resources folder.","dynamicPropertyName":"","payload":["byte[]"],"attributes":["com.reedelk.core.internal.attribute.ResourceReadAttributes"]},"properties":[{"mandatory":true,"name":"resourceFile","example":"assets/my_image.jpg","initValue":"###USE_DEFAULT_VALUE###","description":"The path and name of the file to be read from the project\u0027s resources folder.","displayName":"Resource file","type":{"classname":"com.reedelk.module.descriptor.model.property.ResourceBinaryDescriptor","instance":{"hintBrowseFile":"Select Resource Binary File ...","type":"com.reedelk.runtime.api.resource.ResourceBinary"}},"whens":[]},{"mandatory":false,"name":"autoMimeType","example":"true","initValue":"true","description":"If true, the mime type of the payload is determined from the extension of the resource read.","displayName":"Auto mime type","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"boolean"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"image/jpeg","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the resource read from local project\u0027s resources directory.","displayName":"Mime type","defaultValue":"application/octet-stream","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[{"propertyName":"autoMimeType","propertyValue":"false"},{"propertyName":"autoMimeType","propertyValue":"###BLANK###"}]}]},{"hidden":false,"displayName":"Resource Read Dynamic","description":"Reads a file from the project\u0027s resources folder and sets its content into the flow message. The type of the message payload is byte array. The Mime Type property assign the mime type of the file to the message payload. If Auto Mime Type is selected, the mime type is automatically determined from the file extension. This component allows to specify the path and file name of the resource with a dynamic value instead of a static one. This component might be used to load binary data (e.g a picture file) from the project\u0027s resources folder in a dynamic fashion: for instance loading files from a given REST Listener request path\u0027s value.","fullyQualifiedName":"com.reedelk.core.component.ResourceReadDynamic","type":"PROCESSOR","input":{"description":"The input payload is not used by this component. The resource is read from the given Resource File path property.","payload":["java.lang.Object"]},"output":{"description":"The content of the resource file read from the project\u0027s resources folder. The output is string if the mime type is a string based type e.g text/plain, otherwise a byte array.","dynamicPropertyName":"","payload":["byte[]","java.lang.String"],"attributes":["com.reedelk.core.internal.attribute.ResourceReadAttributes"]},"properties":[{"mandatory":true,"name":"resourceFile","example":"\u003ccode\u003emessage.attributes().get(\u0027pathParams\u0027).filePathParam\u003c/code\u003e","initValue":"#[\u0027/assets/sample.jpg\u0027]","hintValue":"/assets/sample.jpg","description":"The path and name of the file to be read from the project\u0027s resources folder. The value which might be static or a dynamic expression must point to a file existing in the project\u0027s resources directory","displayName":"Resource file","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.resource.DynamicResource"}},"whens":[]},{"mandatory":false,"name":"autoMimeType","example":"true","initValue":"true","description":"If true, the mime type of the payload is determined from the extension of the resource read.","displayName":"Auto mime type","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"boolean"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"image/jpeg","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the resource read from local project\u0027s resources directory.","displayName":"Mime type","defaultValue":"application/octet-stream","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[{"propertyName":"autoMimeType","propertyValue":"false"},{"propertyName":"autoMimeType","propertyValue":"###BLANK###"}]},{"mandatory":false,"name":"configuration","group":"Configuration","initValue":"###USE_DEFAULT_VALUE###","displayName":"Configuration","type":{"classname":"com.reedelk.module.descriptor.model.property.ObjectDescriptor","instance":{"shared":"NO","collapsible":"YES","typeFullyQualifiedName":"com.reedelk.core.component.ResourceReadDynamicConfiguration","objectProperties":[{"mandatory":false,"name":"readBufferSize","example":"524288","initValue":"###USE_DEFAULT_VALUE###","hintValue":"65536","description":"The buffer size used to read the files from the resources folder. This parameter can be used to improve read performances. If the files are big the buffer size should be bigger, otherwise for very small files it should be kept smaller.","displayName":"Read buffer size","defaultValue":"65536","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[]}],"type":"com.reedelk.module.descriptor.model.property.ObjectDescriptor$TypeObject"}},"whens":[]}]},{"hidden":false,"displayName":"Resource Read Text","description":"Reads a file from the project\u0027s resources folder and sets its content into the flow message. The type of the message payload is string. This component might be used to load text files (e.g .txt, .json, .xml) from the project\u0027s resources folder. The Mime Type property assign the mime type of the file to the message payload. If Auto Mime Type is selected, the mime type is automatically determined from the file extension.","fullyQualifiedName":"com.reedelk.core.component.ResourceReadText","type":"PROCESSOR","input":{"description":"The input payload is not used by this component. The resource is read from the given Resource File path property.","payload":["java.lang.Object"]},"output":{"description":"The content of the resource file read from the project\u0027s resources folder.","dynamicPropertyName":"","payload":["java.lang.String"],"attributes":["com.reedelk.core.internal.attribute.ResourceReadAttributes"]},"properties":[{"mandatory":true,"name":"resourceFile","example":"assets/data_model.json","initValue":"###USE_DEFAULT_VALUE###","hintValue":"assets/sample.txt","description":"The path and name of the file to be read from the project\u0027s resources folder.","displayName":"Resource file","type":{"classname":"com.reedelk.module.descriptor.model.property.ResourceTextDescriptor","instance":{"hintBrowseFile":"Select Resource Text File ...","type":"com.reedelk.runtime.api.resource.ResourceText"}},"whens":[]},{"mandatory":false,"name":"autoMimeType","example":"true","initValue":"true","description":"If true, the mime type of the payload is determined from the extension of the resource read.","displayName":"Auto mime type","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"boolean"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the resource read from local project\u0027s resources directory.","displayName":"Mime type","defaultValue":"text/plain","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[{"propertyName":"autoMimeType","propertyValue":"false"},{"propertyName":"autoMimeType","propertyValue":"###BLANK###"}]}]},{"hidden":false,"displayName":"Script","description":"Executes the given script function and sets the result of its evaluation in the payload content. The script function must be defined in a file with .groovy extension in the project\u0027s \u003ci\u003eresources/scripts\u003c/i\u003e folder. The function must have the following signature:\u003cbr\u003e\u003cbr\u003e\u003cpre\u003e\u003ccode\u003e fun myFunctionName(context, message) {\u003cbr\u003e // Function code\u003cbr\u003e \u0027my result\u0027\u003cbr\u003e }\u003cbr\u003e\u003c/code\u003e\u003c/pre\u003e\u003cbr\u003eThe \u003ci\u003econtext\u003c/i\u003e variable can be used to access data stored in the flow context and the \u003ci\u003emessage\u003c/i\u003e variable is the current flow message object. To access the message content from the script use \u003ccode\u003emessage.payload()\u003c/code\u003e.","fullyQualifiedName":"com.reedelk.core.component.ScriptEvaluator","type":"PROCESSOR","input":{"description":"The message data to be evaluated by this script","payload":["java.lang.Object"]},"output":{"description":"The result of the evaluated script","dynamicPropertyName":"","payload":["java.lang.Object"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"text/xml","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the mime type of the script result in the message payload; e.g: if the result of the script is JSON, then \u003ci\u003eapplication/json\u003c/i\u003e should be selected.This is useful to let the following components in the flow know how to process the message payload set by this script. For instance, the REST listener would use this information to set the correct content type in the request\u0027s response body.","displayName":"Mime type","defaultValue":"text/plain","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"script","example":"mapJsonModel.groovy","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the script file to be executed by this component. Must be a file path and name starting from the project\u0027s resources/scripts directory.","displayName":"Script","type":{"classname":"com.reedelk.module.descriptor.model.property.ScriptDescriptor","instance":{"type":"com.reedelk.runtime.api.script.Script"}},"whens":[]},{"mandatory":false,"name":"target","group":"Advanced","example":"myScriptResult","initValue":"###USE_DEFAULT_VALUE###","hintValue":"myScriptResult","description":"If the property is not empty, the result of the script evaluation is assigned to the given context variable instead of the message payload.","displayName":"Target Variable","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]}]},{"hidden":false,"displayName":"Split Text","description":"The Split Text component splits the text from the Message payload using the provided delimiter or regular expression. A collection containing all the strings computed by splitting the message payload with the delimiter.","fullyQualifiedName":"com.reedelk.core.component.SplitText","type":"PROCESSOR","input":{"description":"Any payload input string to be split using the delimiter. If the input is not a string, it is first converted to string using the default system charset.","payload":["java.lang.String"]},"output":{"description":"A list containing the segments of the input payload split using the delimiter.","dynamicPropertyName":"","payload":["com.reedelk.runtime.api.type.ListOfString"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"delimiter","example":";","initValue":",","hintValue":",","description":"The delimiter to be used to split the message payload. A regular expression can be used.","displayName":"Delimiter","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]}]},{"hidden":false,"displayName":"Variable Remove","description":"Removes a variable previously set in the flow context.","fullyQualifiedName":"com.reedelk.core.component.VariableRemove","type":"PROCESSOR","input":{"description":"Any input. The input message is not used by this component.","payload":["java.lang.Object"]},"output":{"description":"","dynamicPropertyName":"","payload":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"name","example":"mySampleVariable","initValue":"###USE_DEFAULT_VALUE###","hintValue":"mySampleVariable","description":"The name of the variable to be removed from the flow context.","displayName":"Name","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]}]},{"hidden":false,"displayName":"Variable Set","description":"Sets a variable in the flow context with the provided value.","fullyQualifiedName":"com.reedelk.core.component.VariableSet","type":"PROCESSOR","input":{"description":"Any input. The input message is used to evaluate the dynamic expression whose result is assigned to the context variable with the given name.","payload":["java.lang.Object"]},"output":{"description":"","dynamicPropertyName":"","payload":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"],"attributes":["com.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"name","example":"mySampleVariable","initValue":"###USE_DEFAULT_VALUE###","hintValue":"mySampleVariable","description":"The name of the variable to be set in the flow context.","displayName":"Name","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the value this context variable will be bound to.","displayName":"Mime type","defaultValue":"*/*","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"value","example":"\u003ccode\u003emessage.attributes().pathParams\u003c/code\u003e","initValue":"#[message.payload()]","hintValue":"my variable content","description":"The value to assign to the context variable being set. It might be a static or dynamic value.","displayName":"Value","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicObject"}},"whens":[]}]}],"types":[{"global":false,"type":"com.reedelk.core.internal.attribute.ResourceReadAttributes","extendsType":"com.reedelk.runtime.api.message.MessageAttributes","description":"","mapKeyType":"java.lang.Object","mapValueType":"java.lang.Object","functions":[],"properties":[{"name":"resourcePath","type":"java.lang.String","example":"","description":""},{"name":"timestamp","type":"long","example":"","description":""}]},{"global":true,"type":"com.reedelk.core.internal.script.BCryptUtil","description":"Provides a set of functions to hash a password, generate salt and check passwords using OpenBSD BCrypt scheme.","functions":[{"name":"hashpw","example":"BCryptUtil.hashpw(\u0027myPassword\u0027, \u0027aabbcc\u0027)","signature":"hashpw(String password, String salt)","returnType":"java.lang.String","description":"Hash a password using the OpenBSD bcrypt scheme.","cursorOffset":1},{"name":"checkpw","example":"BCryptUtil.checkpw(\u0027myPassword\u0027, \u0027aabbcc\u0027)","signature":"checkpw(String plaintext, String hashed)","returnType":"boolean","description":"Check that a plaintext password matches a previously hashed one.","cursorOffset":1},{"name":"gensalt","example":"BCryptUtil.gensalt()","signature":"gensalt()","returnType":"java.lang.String","description":"Generate a salt for use with the BCryptUtil.hashpw() method, selecting a reasonable default for the number of hashing rounds to apply.","cursorOffset":0},{"name":"gensalt","example":"BCryptUtil.gensalt(12)","signature":"gensalt(int logRounds)","returnType":"java.lang.String","description":"Generate a salt for use with the BCryptUtil.hashpw() method using the provided log2 of the number of rounds of hashing to apply.","cursorOffset":0}],"properties":[]},{"global":true,"type":"com.reedelk.core.internal.script.Config","description":"The Config type provides a set of functions to retrieve configuration properties given a config key and (optionally) a default value. Configuration properties must be defined in the \u003ci\u003e{RUNTIME_HOME}/config/configuration.properties\u003c/i\u003e file.","functions":[{"name":"asString","example":"Config.asString(\u0027endpoint.host\u0027)","signature":"asString(String configKey)","returnType":"java.lang.String","description":"Returns the configuration value of the given config key as String type.","cursorOffset":1},{"name":"asString","example":"Config.asString(\u0027endpoint.host\u0027, \u0027localhost\u0027)","signature":"asString(String configKey, String defaultValue)","returnType":"java.lang.String","description":"Returns the configuration value of the given config key as a String type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asInt","example":"Config.asInt(\u0027endpoint.port\u0027)","signature":"asInt(String configKey)","returnType":"int","description":"Returns the configuration value of the given config key as int type.","cursorOffset":1},{"name":"asInt","example":"Config.asInt(\u0027endpoint.port\u0027, 8282)","signature":"asInt(String configKey, int defaultValue)","returnType":"int","description":"Returns the configuration value of the given config key as a int type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asLong","example":"Config.asLong(\u0027my.config.property\u0027)","signature":"asLong(String configKey)","returnType":"long","description":"Returns the configuration value of the given config key as long type.","cursorOffset":1},{"name":"asLong","example":"Config.asLong(\u0027my.config.property\u0027, 540221)","signature":"asLong(String configKey, long defaultValue)","returnType":"long","description":"Returns the configuration value of the given config key as a long type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asDouble","example":"Config.asDouble(\u0027my.config.property\u0027)","signature":"asDouble(String configKey)","returnType":"double","description":"Returns the configuration value of the given config key as double type.","cursorOffset":1},{"name":"asDouble","example":"Config.asDouble(\u0027my.config.property\u0027, 21.7823)","signature":"asDouble(String configKey, double defaultValue)","returnType":"double","description":"Returns the configuration value of the given config key as a double type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asFloat","example":"Config.asFloat(\u0027my.config.property\u0027)","signature":"asFloat(String configKey)","returnType":"float","description":"Returns the configuration value of the given config key as float type.","cursorOffset":1},{"name":"asFloat","example":"Config.asFloat(\u0027my.config.property\u0027, 3.1)","signature":"asFloat(String configKey, float defaultValue)","returnType":"float","description":"Returns the configuration value of the given config key as a float type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asBoolean","example":"Config.asBoolean(\u0027my.config.property\u0027)","signature":"asBoolean(String configKey)","returnType":"boolean","description":"Returns the configuration value of the given config key as boolean type.","cursorOffset":1},{"name":"asBoolean","example":"Config.asBoolean(\u0027my.config.property\u0027, true)","signature":"asBoolean(String configKey, boolean defaultValue)","returnType":"boolean","description":"Returns the configuration value of the given config key as a boolean type if present, otherwise the given default value is returned.","cursorOffset":1}],"properties":[]},{"global":true,"type":"com.reedelk.core.internal.script.Log","description":"The Log type provides a set of functions to log messages from scripts for several logging levels.","functions":[{"name":"info","example":"Log.info(\u0027my info log message\u0027)","signature":"info(Object message)","returnType":"void","description":"Logs a message with INFO logger level.","cursorOffset":1},{"name":"warn","example":"Log.warn(\u0027my warn log message\u0027)","signature":"warn(Object message)","returnType":"void","description":"Logs a message with WARN logger level.","cursorOffset":1},{"name":"error","example":"Log.error(\u0027my error log message\u0027)","signature":"error(Object message)","returnType":"void","description":"Logs a message with ERROR logger level.","cursorOffset":1},{"name":"trace","example":"Log.trace(\u0027my trace log message\u0027)","signature":"trace(Object message)","returnType":"void","description":"Logs a message with TRACE logger level.","cursorOffset":1},{"name":"debug","example":"Log.debug(\u0027my debug log message\u0027)","signature":"debug(Object message)","returnType":"void","description":"Logs a message with DEBUG logger level.","cursorOffset":1}],"properties":[]},{"global":true,"type":"com.reedelk.core.internal.script.Util","description":"The Util type provides a set of utility functions such as generating UUIDs or getting temporary directory on the file system.","functions":[{"name":"tmpdir","example":"Util.tmpdir()","signature":"tmpdir()","returnType":"java.lang.String","description":"Returns a temporary directory which can be used to temporarily create and store files.","cursorOffset":0},{"name":"uuid","example":"Util.uuid()","signature":"uuid()","returnType":"java.lang.String","description":"Returns a type 4 (pseudo randomly generated) uuid.","cursorOffset":0}],"properties":[]},{"global":false,"type":"com.reedelk.core.internal.type.ListOfMessages","extendsType":"java.util.ArrayList","description":"","listItemType":"com.reedelk.runtime.api.message.Message","functions":[],"properties":[]}]} \ No newline at end of file +{"name":"module-core","displayName":"Core Module","version":"1.1.0","components":[{"hidden":false,"displayName":"Join With Delimiter","description":"Can only be placed after a Fork. It joins the payloads of the messages resulting from the execution of the Fork with the provided delimiter. A delimiter can be a single character or any other string. The mime type property specifies the mime type of the joined payloads. This component automatically converts the payload of each single input message to string in case they are not a string type already.","fullyQualifiedName":"de.codecentric.reedelk.core.component.JoinWithDelimiter","type":"JOIN","input":{"description":"The messages to join using the given delimiter","payload":["de.codecentric.reedelk.runtime.api.message.Message[]"]},"output":{"description":"The joined content of the input messages payloads using the delimiter as separator. If a message does not have a payload of type string, it is converted to string before joining.","dynamicPropertyName":"","payload":["java.lang.String"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the mime type of the joined content in the message.","displayName":"Mime type","defaultValue":"text/plain","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"delimiter","example":";","initValue":",","description":"The delimiter char (or string) to be used to join the content of the messages.","displayName":"Delimiter","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]}]},{"hidden":false,"displayName":"Join With Script","description":"Can only be placed after a Fork. It joins the payloads of the messages resulting from the execution of the Fork with the provided script function. The mime type property specifies the mime type of the joined payloads. If the result of the script is null, an empty message payload content is set.","fullyQualifiedName":"de.codecentric.reedelk.core.component.JoinWithScript","type":"JOIN","input":{"description":"The messages to join using the given script","payload":["de.codecentric.reedelk.runtime.api.message.Message[]"]},"output":{"description":"The joined content of the input messages payloads using by evaluating the given script.","dynamicPropertyName":"","payload":["java.lang.Object"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the mime type of the joined content in the message.","displayName":"Mime type","defaultValue":"text/plain","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"script","example":"joiners/joinByType.groovy","initValue":"###USE_DEFAULT_VALUE###","description":"The path of the script function to be invoked when executing the component","displayName":"Script","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ScriptDescriptor","instance":{"type":"de.codecentric.reedelk.runtime.api.script.Script"}},"scriptSignature":{"arguments":[{"argumentName":"context","argumentType":"de.codecentric.reedelk.runtime.api.flow.FlowContext"},{"argumentName":"messages","argumentType":"de.codecentric.reedelk.core.internal.type.ListOfMessages"}]},"whens":[]}]},{"hidden":false,"displayName":"Logger","description":"This component allows to log information within a flow such as message payload, attributes, context variables and so on. A logger component can be added anywhere in a flow and it can log a simple text value or a dynamic expression. The Log Message input field type can be toggled to enter a static or dynamic expression value.","fullyQualifiedName":"de.codecentric.reedelk.core.component.LoggerComponent","type":"PROCESSOR","input":{"description":"Any payload to be logged","payload":["java.lang.Object"]},"output":{"description":"","dynamicPropertyName":"","payload":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"level","example":"DEBUG","initValue":"INFO","description":"The logger level used to log the given message. Log levels can be configured from the \u003ci\u003e{RUNTIME_HOME}/config/logback.xml\u003c/i\u003e file.","displayName":"Logger Level","defaultValue":"INFO","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.EnumDescriptor","instance":{"nameAndDisplayNameMap":{"TRACE":"Trace","ERROR":"Error","INFO":"Info","DEBUG":"Debug","WARN":"Warn"},"type":"java.lang.Enum"}},"whens":[]},{"mandatory":false,"name":"message","example":"\u003ccode\u003e\u0027Attributes:\u0027 + message.attributes()\u003c/code\u003e","initValue":"#[message]","hintValue":"my log message","description":"Sets the message to be logged. It can be a static or dynamic value.","displayName":"Log message","defaultValue":"\u003ccode\u003emessage\u003c/code\u003e","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"de.codecentric.reedelk.runtime.api.script.dynamicvalue.DynamicObject"}},"whens":[]}]},{"hidden":false,"displayName":"Payload Set","description":"Sets the content of the current message payload to the given payload value. The payload value could be a static text value or a dynamic expression. The mime type specifies the type of the new payload value.","fullyQualifiedName":"de.codecentric.reedelk.core.component.PayloadSet","type":"PROCESSOR","input":{"description":"Any payload input to be evaluated","payload":["java.lang.Object"]},"output":{"description":"Sets the new message payload by evaluating the expression. The attributes are not changed.","dynamicPropertyName":"payload","payload":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$InferFromDynamicProperty"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the mime type of the new payload being set.","displayName":"Mime type","defaultValue":"*/*","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"payload","example":"\u003ccode\u003eJson.stringify([ data: message.attributes().pathParams.name, id: Util.uuid() ])\u003c/code\u003e","initValue":"#[message.payload()]","hintValue":"Payload text","description":"The new payload to be set to the current flow message.","displayName":"Payload","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"de.codecentric.reedelk.runtime.api.script.dynamicvalue.DynamicObject"}},"whens":[]}]},{"hidden":false,"displayName":"Payload To String","description":"Transforms the message payload to string type. This component can be used when the payload is a byte array or a byte array stream and we want to convert it to a string for further processing. This might be necessary for instance when the result of a REST Call does not have a mime type assigned. In this case the result will be a byte array and in order to further process the content with a script we must convert it to a string type.","fullyQualifiedName":"de.codecentric.reedelk.core.component.PayloadToString","type":"PROCESSOR","input":{"description":"Any payload input to be converted to a string","payload":["java.lang.Object"]},"output":{"description":"Converts the payload to a string","dynamicPropertyName":"","payload":["java.lang.String"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the new mime type of the payload content.","displayName":"Mime Type","defaultValue":"text/plain","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[]}]},{"hidden":false,"displayName":"Resource Read Binary","description":"Reads a file from the project\u0027s resources folder and sets its content into the flow message. The type of the message payload is byte array. This component might be used to load binary data (e.g a picture file) from the project\u0027s resources folder. The Mime Type property assign the mime type of the file to the message payload. If Auto Mime Type is selected, the mime type is automatically determined from the file extension.","fullyQualifiedName":"de.codecentric.reedelk.core.component.ResourceReadBinary","type":"PROCESSOR","input":{"description":"The input payload is not used by this component. The resource is read from the given Resource File path property.","payload":["java.lang.Object"]},"output":{"description":"The content of the resource file read from the project\u0027s resources folder.","dynamicPropertyName":"","payload":["byte[]"],"attributes":["de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes"]},"properties":[{"mandatory":true,"name":"resourceFile","example":"assets/my_image.jpg","initValue":"###USE_DEFAULT_VALUE###","description":"The path and name of the file to be read from the project\u0027s resources folder.","displayName":"Resource file","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ResourceBinaryDescriptor","instance":{"hintBrowseFile":"Select Resource Binary File ...","type":"de.codecentric.reedelk.runtime.api.resource.ResourceBinary"}},"whens":[]},{"mandatory":false,"name":"autoMimeType","example":"true","initValue":"true","description":"If true, the mime type of the payload is determined from the extension of the resource read.","displayName":"Auto mime type","defaultValue":"false","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"boolean"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"image/jpeg","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the resource read from local project\u0027s resources directory.","displayName":"Mime type","defaultValue":"application/octet-stream","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[{"propertyName":"autoMimeType","propertyValue":"false"},{"propertyName":"autoMimeType","propertyValue":"###BLANK###"}]}]},{"hidden":false,"displayName":"Resource Read Dynamic","description":"Reads a file from the project\u0027s resources folder and sets its content into the flow message. The type of the message payload is byte array. The Mime Type property assign the mime type of the file to the message payload. If Auto Mime Type is selected, the mime type is automatically determined from the file extension. This component allows to specify the path and file name of the resource with a dynamic value instead of a static one. This component might be used to load binary data (e.g a picture file) from the project\u0027s resources folder in a dynamic fashion: for instance loading files from a given REST Listener request path\u0027s value.","fullyQualifiedName":"de.codecentric.reedelk.core.component.ResourceReadDynamic","type":"PROCESSOR","input":{"description":"The input payload is not used by this component. The resource is read from the given Resource File path property.","payload":["java.lang.Object"]},"output":{"description":"The content of the resource file read from the project\u0027s resources folder. The output is string if the mime type is a string based type e.g text/plain, otherwise a byte array.","dynamicPropertyName":"","payload":["byte[]","java.lang.String"],"attributes":["de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes"]},"properties":[{"mandatory":true,"name":"resourceFile","example":"\u003ccode\u003emessage.attributes().get(\u0027pathParams\u0027).filePathParam\u003c/code\u003e","initValue":"#[\u0027/assets/sample.jpg\u0027]","hintValue":"/assets/sample.jpg","description":"The path and name of the file to be read from the project\u0027s resources folder. The value which might be static or a dynamic expression must point to a file existing in the project\u0027s resources directory","displayName":"Resource file","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"de.codecentric.reedelk.runtime.api.resource.DynamicResource"}},"whens":[]},{"mandatory":false,"name":"autoMimeType","example":"true","initValue":"true","description":"If true, the mime type of the payload is determined from the extension of the resource read.","displayName":"Auto mime type","defaultValue":"false","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"boolean"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"image/jpeg","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the resource read from local project\u0027s resources directory.","displayName":"Mime type","defaultValue":"application/octet-stream","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[{"propertyName":"autoMimeType","propertyValue":"false"},{"propertyName":"autoMimeType","propertyValue":"###BLANK###"}]},{"mandatory":false,"name":"configuration","group":"Configuration","initValue":"###USE_DEFAULT_VALUE###","displayName":"Configuration","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ObjectDescriptor","instance":{"shared":"NO","collapsible":"YES","typeFullyQualifiedName":"de.codecentric.reedelk.core.component.ResourceReadDynamicConfiguration","objectProperties":[{"mandatory":false,"name":"readBufferSize","example":"524288","initValue":"###USE_DEFAULT_VALUE###","hintValue":"65536","description":"The buffer size used to read the files from the resources folder. This parameter can be used to improve read performances. If the files are big the buffer size should be bigger, otherwise for very small files it should be kept smaller.","displayName":"Read buffer size","defaultValue":"65536","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[]}],"type":"de.codecentric.reedelk.module.descriptor.model.property.ObjectDescriptor$TypeObject"}},"whens":[]}]},{"hidden":false,"displayName":"Resource Read Text","description":"Reads a file from the project\u0027s resources folder and sets its content into the flow message. The type of the message payload is string. This component might be used to load text files (e.g .txt, .json, .xml) from the project\u0027s resources folder. The Mime Type property assign the mime type of the file to the message payload. If Auto Mime Type is selected, the mime type is automatically determined from the file extension.","fullyQualifiedName":"de.codecentric.reedelk.core.component.ResourceReadText","type":"PROCESSOR","input":{"description":"The input payload is not used by this component. The resource is read from the given Resource File path property.","payload":["java.lang.Object"]},"output":{"description":"The content of the resource file read from the project\u0027s resources folder.","dynamicPropertyName":"","payload":["java.lang.String"],"attributes":["de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes"]},"properties":[{"mandatory":true,"name":"resourceFile","example":"assets/data_model.json","initValue":"###USE_DEFAULT_VALUE###","hintValue":"assets/sample.txt","description":"The path and name of the file to be read from the project\u0027s resources folder.","displayName":"Resource file","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ResourceTextDescriptor","instance":{"hintBrowseFile":"Select Resource Text File ...","type":"de.codecentric.reedelk.runtime.api.resource.ResourceText"}},"whens":[]},{"mandatory":false,"name":"autoMimeType","example":"true","initValue":"true","description":"If true, the mime type of the payload is determined from the extension of the resource read.","displayName":"Auto mime type","defaultValue":"false","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"boolean"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the resource read from local project\u0027s resources directory.","displayName":"Mime type","defaultValue":"text/plain","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[{"propertyName":"autoMimeType","propertyValue":"false"},{"propertyName":"autoMimeType","propertyValue":"###BLANK###"}]}]},{"hidden":false,"displayName":"Script","description":"Executes the given script function and sets the result of its evaluation in the payload content. The script function must be defined in a file with .groovy extension in the project\u0027s \u003ci\u003eresources/scripts\u003c/i\u003e folder. The function must have the following signature:\u003cbr\u003e\u003cbr\u003e\u003cpre\u003e\u003ccode\u003e fun myFunctionName(context, message) {\u003cbr\u003e // Function code\u003cbr\u003e \u0027my result\u0027\u003cbr\u003e }\u003cbr\u003e\u003c/code\u003e\u003c/pre\u003e\u003cbr\u003eThe \u003ci\u003econtext\u003c/i\u003e variable can be used to access data stored in the flow context and the \u003ci\u003emessage\u003c/i\u003e variable is the current flow message object. To access the message content from the script use \u003ccode\u003emessage.payload()\u003c/code\u003e.","fullyQualifiedName":"de.codecentric.reedelk.core.component.ScriptEvaluator","type":"PROCESSOR","input":{"description":"The message data to be evaluated by this script","payload":["java.lang.Object"]},"output":{"description":"The result of the evaluated script","dynamicPropertyName":"","payload":["java.lang.Object"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"mimeType","example":"text/xml","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the mime type of the script result in the message payload; e.g: if the result of the script is JSON, then \u003ci\u003eapplication/json\u003c/i\u003e should be selected.This is useful to let the following components in the flow know how to process the message payload set by this script. For instance, the REST listener would use this information to set the correct content type in the request\u0027s response body.","displayName":"Mime type","defaultValue":"text/plain","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"script","example":"mapJsonModel.groovy","initValue":"###USE_DEFAULT_VALUE###","description":"Sets the script file to be executed by this component. Must be a file path and name starting from the project\u0027s resources/scripts directory.","displayName":"Script","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ScriptDescriptor","instance":{"type":"de.codecentric.reedelk.runtime.api.script.Script"}},"whens":[]},{"mandatory":false,"name":"target","group":"Advanced","example":"myScriptResult","initValue":"###USE_DEFAULT_VALUE###","hintValue":"myScriptResult","description":"If the property is not empty, the result of the script evaluation is assigned to the given context variable instead of the message payload.","displayName":"Target Variable","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"de.codecentric.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]}]},{"hidden":false,"displayName":"Split Text","description":"The Split Text component splits the text from the Message payload using the provided delimiter or regular expression. A collection containing all the strings computed by splitting the message payload with the delimiter.","fullyQualifiedName":"de.codecentric.reedelk.core.component.SplitText","type":"PROCESSOR","input":{"description":"Any payload input string to be split using the delimiter. If the input is not a string, it is first converted to string using the default system charset.","payload":["java.lang.String"]},"output":{"description":"A list containing the segments of the input payload split using the delimiter.","dynamicPropertyName":"","payload":["de.codecentric.reedelk.runtime.api.type.ListOfString"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"delimiter","example":";","initValue":",","hintValue":",","description":"The delimiter to be used to split the message payload. A regular expression can be used.","displayName":"Delimiter","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]}]},{"hidden":false,"displayName":"Variable Remove","description":"Removes a variable previously set in the flow context.","fullyQualifiedName":"de.codecentric.reedelk.core.component.VariableRemove","type":"PROCESSOR","input":{"description":"Any input. The input message is not used by this component.","payload":["java.lang.Object"]},"output":{"description":"","dynamicPropertyName":"","payload":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"name","example":"mySampleVariable","initValue":"###USE_DEFAULT_VALUE###","hintValue":"mySampleVariable","description":"The name of the variable to be removed from the flow context.","displayName":"Name","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]}]},{"hidden":false,"displayName":"Variable Set","description":"Sets a variable in the flow context with the provided value.","fullyQualifiedName":"de.codecentric.reedelk.core.component.VariableSet","type":"PROCESSOR","input":{"description":"Any input. The input message is used to evaluate the dynamic expression whose result is assigned to the context variable with the given name.","payload":["java.lang.Object"]},"output":{"description":"","dynamicPropertyName":"","payload":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"],"attributes":["de.codecentric.reedelk.runtime.api.annotation.ComponentOutput$PreviousComponent"]},"properties":[{"mandatory":false,"name":"name","example":"mySampleVariable","initValue":"###USE_DEFAULT_VALUE###","hintValue":"mySampleVariable","description":"The name of the variable to be set in the flow context.","displayName":"Name","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"application/json","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the value this context variable will be bound to.","displayName":"Mime type","defaultValue":"*/*","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"de.codecentric.reedelk.runtime.api.annotation.Combo"}},"whens":[]},{"mandatory":false,"name":"value","example":"\u003ccode\u003emessage.attributes().pathParams\u003c/code\u003e","initValue":"#[message.payload()]","hintValue":"my variable content","description":"The value to assign to the context variable being set. It might be a static or dynamic value.","displayName":"Value","type":{"classname":"de.codecentric.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"de.codecentric.reedelk.runtime.api.script.dynamicvalue.DynamicObject"}},"whens":[]}]}],"types":[{"global":false,"type":"de.codecentric.reedelk.core.internal.attribute.ResourceReadAttributes","extendsType":"de.codecentric.reedelk.runtime.api.message.MessageAttributes","description":"","mapKeyType":"java.lang.Object","mapValueType":"java.lang.Object","functions":[],"properties":[{"name":"resourcePath","type":"java.lang.String","example":"","description":""},{"name":"timestamp","type":"long","example":"","description":""}]},{"global":true,"type":"de.codecentric.reedelk.core.internal.script.BCryptUtil","description":"Provides a set of functions to hash a password, generate salt and check passwords using OpenBSD BCrypt scheme.","functions":[{"name":"hashpw","example":"BCryptUtil.hashpw(\u0027myPassword\u0027, \u0027aabbcc\u0027)","signature":"hashpw(String password, String salt)","returnType":"java.lang.String","description":"Hash a password using the OpenBSD bcrypt scheme.","cursorOffset":1},{"name":"checkpw","example":"BCryptUtil.checkpw(\u0027myPassword\u0027, \u0027aabbcc\u0027)","signature":"checkpw(String plaintext, String hashed)","returnType":"boolean","description":"Check that a plaintext password matches a previously hashed one.","cursorOffset":1},{"name":"gensalt","example":"BCryptUtil.gensalt()","signature":"gensalt()","returnType":"java.lang.String","description":"Generate a salt for use with the BCryptUtil.hashpw() method, selecting a reasonable default for the number of hashing rounds to apply.","cursorOffset":0},{"name":"gensalt","example":"BCryptUtil.gensalt(12)","signature":"gensalt(int logRounds)","returnType":"java.lang.String","description":"Generate a salt for use with the BCryptUtil.hashpw() method using the provided log2 of the number of rounds of hashing to apply.","cursorOffset":0}],"properties":[]},{"global":true,"type":"de.codecentric.reedelk.core.internal.script.Config","description":"The Config type provides a set of functions to retrieve configuration properties given a config key and (optionally) a default value. Configuration properties must be defined in the \u003ci\u003e{RUNTIME_HOME}/config/configuration.properties\u003c/i\u003e file.","functions":[{"name":"asString","example":"Config.asString(\u0027endpoint.host\u0027)","signature":"asString(String configKey)","returnType":"java.lang.String","description":"Returns the configuration value of the given config key as String type.","cursorOffset":1},{"name":"asString","example":"Config.asString(\u0027endpoint.host\u0027, \u0027localhost\u0027)","signature":"asString(String configKey, String defaultValue)","returnType":"java.lang.String","description":"Returns the configuration value of the given config key as a String type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asInt","example":"Config.asInt(\u0027endpoint.port\u0027)","signature":"asInt(String configKey)","returnType":"int","description":"Returns the configuration value of the given config key as int type.","cursorOffset":1},{"name":"asInt","example":"Config.asInt(\u0027endpoint.port\u0027, 8282)","signature":"asInt(String configKey, int defaultValue)","returnType":"int","description":"Returns the configuration value of the given config key as a int type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asLong","example":"Config.asLong(\u0027my.config.property\u0027)","signature":"asLong(String configKey)","returnType":"long","description":"Returns the configuration value of the given config key as long type.","cursorOffset":1},{"name":"asLong","example":"Config.asLong(\u0027my.config.property\u0027, 540221)","signature":"asLong(String configKey, long defaultValue)","returnType":"long","description":"Returns the configuration value of the given config key as a long type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asDouble","example":"Config.asDouble(\u0027my.config.property\u0027)","signature":"asDouble(String configKey)","returnType":"double","description":"Returns the configuration value of the given config key as double type.","cursorOffset":1},{"name":"asDouble","example":"Config.asDouble(\u0027my.config.property\u0027, 21.7823)","signature":"asDouble(String configKey, double defaultValue)","returnType":"double","description":"Returns the configuration value of the given config key as a double type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asFloat","example":"Config.asFloat(\u0027my.config.property\u0027)","signature":"asFloat(String configKey)","returnType":"float","description":"Returns the configuration value of the given config key as float type.","cursorOffset":1},{"name":"asFloat","example":"Config.asFloat(\u0027my.config.property\u0027, 3.1)","signature":"asFloat(String configKey, float defaultValue)","returnType":"float","description":"Returns the configuration value of the given config key as a float type if present, otherwise the given default value is returned.","cursorOffset":1},{"name":"asBoolean","example":"Config.asBoolean(\u0027my.config.property\u0027)","signature":"asBoolean(String configKey)","returnType":"boolean","description":"Returns the configuration value of the given config key as boolean type.","cursorOffset":1},{"name":"asBoolean","example":"Config.asBoolean(\u0027my.config.property\u0027, true)","signature":"asBoolean(String configKey, boolean defaultValue)","returnType":"boolean","description":"Returns the configuration value of the given config key as a boolean type if present, otherwise the given default value is returned.","cursorOffset":1}],"properties":[]},{"global":true,"type":"de.codecentric.reedelk.core.internal.script.Log","description":"The Log type provides a set of functions to log messages from scripts for several logging levels.","functions":[{"name":"info","example":"Log.info(\u0027my info log message\u0027)","signature":"info(Object message)","returnType":"void","description":"Logs a message with INFO logger level.","cursorOffset":1},{"name":"warn","example":"Log.warn(\u0027my warn log message\u0027)","signature":"warn(Object message)","returnType":"void","description":"Logs a message with WARN logger level.","cursorOffset":1},{"name":"error","example":"Log.error(\u0027my error log message\u0027)","signature":"error(Object message)","returnType":"void","description":"Logs a message with ERROR logger level.","cursorOffset":1},{"name":"trace","example":"Log.trace(\u0027my trace log message\u0027)","signature":"trace(Object message)","returnType":"void","description":"Logs a message with TRACE logger level.","cursorOffset":1},{"name":"debug","example":"Log.debug(\u0027my debug log message\u0027)","signature":"debug(Object message)","returnType":"void","description":"Logs a message with DEBUG logger level.","cursorOffset":1}],"properties":[]},{"global":true,"type":"de.codecentric.reedelk.core.internal.script.Util","description":"The Util type provides a set of utility functions such as generating UUIDs or getting temporary directory on the file system.","functions":[{"name":"tmpdir","example":"Util.tmpdir()","signature":"tmpdir()","returnType":"java.lang.String","description":"Returns a temporary directory which can be used to temporarily create and store files.","cursorOffset":0},{"name":"uuid","example":"Util.uuid()","signature":"uuid()","returnType":"java.lang.String","description":"Returns a type 4 (pseudo randomly generated) uuid.","cursorOffset":0}],"properties":[]},{"global":false,"type":"de.codecentric.reedelk.core.internal.type.ListOfMessages","extendsType":"java.util.ArrayList","description":"","listItemType":"de.codecentric.reedelk.runtime.api.message.Message","functions":[],"properties":[]}]} \ No newline at end of file diff --git a/src/test/java/com/reedelk/core/component/ResourceReadBinaryTest.java b/src/test/java/de/codecentric/reedelk/core/component/ResourceReadBinaryTest.java similarity index 82% rename from src/test/java/com/reedelk/core/component/ResourceReadBinaryTest.java rename to src/test/java/de/codecentric/reedelk/core/component/ResourceReadBinaryTest.java index 68ac4b1..82297b9 100644 --- a/src/test/java/com/reedelk/core/component/ResourceReadBinaryTest.java +++ b/src/test/java/de/codecentric/reedelk/core/component/ResourceReadBinaryTest.java @@ -1,11 +1,11 @@ -package com.reedelk.core.component; - -import com.reedelk.runtime.api.converter.ConverterService; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.message.content.TypedContent; -import com.reedelk.runtime.api.resource.ResourceBinary; +package de.codecentric.reedelk.core.component; + +import de.codecentric.reedelk.runtime.api.converter.ConverterService; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.message.content.TypedContent; +import de.codecentric.reedelk.runtime.api.resource.ResourceBinary; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -60,7 +60,7 @@ void shouldNotConvertContentWhenBinaryMimeType() { .expectNextMatches(bytes -> Arrays.equals(bytes, "two".getBytes())) .verifyComplete(); - assertThat(result.attributes()).containsEntry("component", "com.reedelk.core.component.ResourceReadBinary"); + assertThat(result.attributes()).containsEntry("component", "de.codecentric.reedelk.core.component.ResourceReadBinary"); assertThat(result.attributes()).containsEntry("resourcePath", "assets/img/donkey.jpg"); assertThat(result.attributes()).containsKey("timestamp"); } diff --git a/src/test/java/com/reedelk/core/component/ResourceReadDynamicTest.java b/src/test/java/de/codecentric/reedelk/core/component/ResourceReadDynamicTest.java similarity index 82% rename from src/test/java/com/reedelk/core/component/ResourceReadDynamicTest.java rename to src/test/java/de/codecentric/reedelk/core/component/ResourceReadDynamicTest.java index 038a767..df827b0 100644 --- a/src/test/java/com/reedelk/core/component/ResourceReadDynamicTest.java +++ b/src/test/java/de/codecentric/reedelk/core/component/ResourceReadDynamicTest.java @@ -1,14 +1,14 @@ -package com.reedelk.core.component; - -import com.reedelk.runtime.api.commons.ModuleContext; -import com.reedelk.runtime.api.converter.ConverterService; -import com.reedelk.runtime.api.flow.FlowContext; -import com.reedelk.runtime.api.message.Message; -import com.reedelk.runtime.api.message.content.MimeType; -import com.reedelk.runtime.api.message.content.TypedPublisher; -import com.reedelk.runtime.api.resource.DynamicResource; -import com.reedelk.runtime.api.resource.ResourceFile; -import com.reedelk.runtime.api.resource.ResourceService; +package de.codecentric.reedelk.core.component; + +import de.codecentric.reedelk.runtime.api.commons.ModuleContext; +import de.codecentric.reedelk.runtime.api.converter.ConverterService; +import de.codecentric.reedelk.runtime.api.flow.FlowContext; +import de.codecentric.reedelk.runtime.api.message.Message; +import de.codecentric.reedelk.runtime.api.message.content.MimeType; +import de.codecentric.reedelk.runtime.api.message.content.TypedPublisher; +import de.codecentric.reedelk.runtime.api.resource.DynamicResource; +import de.codecentric.reedelk.runtime.api.resource.ResourceFile; +import de.codecentric.reedelk.runtime.api.resource.ResourceService; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -64,7 +64,7 @@ void shouldNotConvertContentWhenBinaryMimeType() { // Then byte[] payload = result.payload(); assertThat(payload).isEqualTo(payloadAsBytes); - assertThat(result.attributes()).containsEntry("component", "com.reedelk.core.component.ResourceReadDynamic"); + assertThat(result.attributes()).containsEntry("component", "de.codecentric.reedelk.core.component.ResourceReadDynamic"); assertThat(result.attributes()).containsEntry("resourcePath", "/assets/image.jpg"); assertThat(result.attributes()).containsKey("timestamp"); } @@ -93,7 +93,7 @@ void shouldConvertContentWhenTextPlainMimeType() { // Then String payload = result.payload(); assertThat(payload).isEqualTo(sampleText); - assertThat(result.attributes()).containsEntry("component", "com.reedelk.core.component.ResourceReadDynamic"); + assertThat(result.attributes()).containsEntry("component", "de.codecentric.reedelk.core.component.ResourceReadDynamic"); assertThat(result.attributes()).containsEntry("resourcePath", "/assets/mytext.txt"); assertThat(result.attributes()).containsKey("timestamp"); }