You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2020/12/07 22:00:05 UTC
[sling-org-apache-sling-app-cms] 01/01: Fixes SLING-9978 - Cleaning
up jackrabbit / oak versions and performed a larger cleanup / update of
versions including syncing versions with the archetype
This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-app-cms.git
commit 4cd443f6670fc0c5cd700c2e41ee168d8e77250b
Author: Dan Klco <dk...@apache.org>
AuthorDate: Mon Dec 7 16:59:46 2020 -0500
Fixes SLING-9978 - Cleaning up jackrabbit / oak versions and performed a larger cleanup / update of versions including syncing versions with the archetype
---
api/pom.xml | 2 +-
archetype/pom.xml | 2 +-
.../META-INF/maven/archetype-metadata.xml | 53 +++++--
.../src/main/resources/archetype-resources/pom.xml | 43 ++----
.../test/java/__package__/HelloWorldModelTest.java | 1 -
core/pom.xml | 10 +-
.../internal/operations/UpdateStatusOperation.java | 4 +-
.../sling/cms/core/helpers/SlingCMSTestHelper.java | 3 +-
feature/pom.xml | 14 +-
feature/src/main/features/app/cms.json | 78 +++++------
feature/src/main/features/app/composum.json | 8 +-
feature/src/main/features/base.json | 38 ++---
feature/src/main/features/boot.json | 154 +++++++++++----------
feature/src/main/features/caconfig.json | 2 +-
feature/src/main/features/discovery.json | 4 +-
.../src/main/features/models-jacksonexporter.json | 6 +-
feature/src/main/features/oak/oak_base.json | 52 +++----
feature/src/main/features/scripting.json | 24 ++--
feature/src/main/features/webconsole.json | 2 +-
pom.xml | 142 ++++++++++++-------
reference/pom.xml | 12 +-
.../cms/reference/forms/impl/FormHandler.java | 19 ++-
.../cms/reference/forms/impl/FormRequestImpl.java | 11 +-
.../forms/impl/actions/SendEmailAction.java | 9 +-
.../cms/reference/form/impl/FormHandlerTest.java | 53 ++++---
.../reference/form/impl/FormRequestImplTest.java | 5 +-
.../reference/form/impl/SlingContextHelper.java | 1 +
.../form/impl/actions/SendEmailActionTest.java | 3 +-
reference/src/test/resources/form-no-actions.json | 148 ++++++++++++++++++++
.../transformer/helpers/SlingCMSContextHelper.java | 3 +-
ui/pom.xml | 6 +-
31 files changed, 575 insertions(+), 337 deletions(-)
diff --git a/api/pom.xml b/api/pom.xml
index 07bbeda..eeab6cd 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -43,7 +43,7 @@
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-api</artifactId>
+ <artifactId>oak-jackrabbit-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
diff --git a/archetype/pom.xml b/archetype/pom.xml
index 5d25d51..0f0f9dc 100644
--- a/archetype/pom.xml
+++ b/archetype/pom.xml
@@ -41,7 +41,7 @@ License. -->
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
- <version>3.1.1</version>
+ <version>3.2.0</version>
</extension>
</extensions>
</build>
diff --git a/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
index 6aa62f0..789c2b2 100644
--- a/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -2,18 +2,55 @@
the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in
writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the
License. -->
-<archetype-descriptor
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0
- http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
- xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- name="quickstart">
+<archetype-descriptor xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0
+ http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="quickstart">
<requiredProperties>
- <requiredProperty key="appName"/>
- <requiredProperty key="package"/>
+
+
+ <requiredProperty key="appName" />
+ <requiredProperty key="package" />
<requiredProperty key="slingcmsVersion">
<defaultValue>${project.version}</defaultValue>
</requiredProperty>
+
+ <!-- Used to share versions with parent -->
+ <requiredProperty key="commons-lang3-version">
+ <defaultValue>${commons-lang3-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="geronimo-atinject_1-0_spec-version">
+ <defaultValue>${geronimo-atinject_1-0_spec-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="javax-annotation-api-version">
+ <defaultValue>${javax-annotation-api-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="jsp-api-version">
+ <defaultValue>${jsp-api-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="jstl-version">
+ <defaultValue>${jstl-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="org-apache-sling-api-version">
+ <defaultValue>${org-apache-sling-api-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="org-apache-sling-models-api-version">
+ <defaultValue>${org-apache-sling-models-api-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="org-apache-sling-scripting-api-version">
+ <defaultValue>${org-apache-sling-scripting-api-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="org-apache-sling-scripting-jsp-taglib-version">
+ <defaultValue>${org-apache-sling-scripting-jsp-taglib-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="osgi-annotation-version">
+ <defaultValue>${osgi-annotation-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="servlet-api-version">
+ <defaultValue>${servlet-api-version}</defaultValue>
+ </requiredProperty>
+ <requiredProperty key="slf4j-version">
+ <defaultValue>${slf4j-version}</defaultValue>
+ </requiredProperty>
+
</requiredProperties>
<fileSets>
<fileSet filtered="true">
diff --git a/archetype/src/main/resources/archetype-resources/pom.xml b/archetype/src/main/resources/archetype-resources/pom.xml
index e82eacd..7d73777 100644
--- a/archetype/src/main/resources/archetype-resources/pom.xml
+++ b/archetype/src/main/resources/archetype-resources/pom.xml
@@ -122,7 +122,7 @@ Sling-Model-Packages: ${package}
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
- <version>1.3.2</version>
+ <version>${javax-annotation-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -134,7 +134,7 @@ Sling-Model-Packages: ${package}
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
- <version>2.0</version>
+ <version>${jsp-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -144,41 +144,33 @@ Sling-Model-Packages: ${package}
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>jstl</groupId>
+ <groupId>org.apache.geronimo.bundles</groupId>
<artifactId>jstl</artifactId>
- <version>1.2</version>
+ <version>${jstl-version}</version>
<scope>provided</scope>
</dependency>
-
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
- <version>2.5</version>
+ <version>${servlet-api-version}</version>
<scope>provided</scope>
</dependency>
-
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.4</version>
+ <version>${commons-lang3-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-atinject_1.0_spec</artifactId>
- <version>1.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-jcr-commons</artifactId>
- <version>2.7.5</version>
+ <version>${geronimo-atinject_1-0_spec-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
- <version>2.18.0</version>
+ <version>${org-apache-sling-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -190,22 +182,21 @@ Sling-Model-Packages: ${package}
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.models.api</artifactId>
- <version>1.3.6</version>
+ <version>${org-apache-sling-models-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.api</artifactId>
- <version>2.2.0</version>
+ <version>${org-apache-sling-scripting-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
- <version>2.4.0</version>
+ <version>${org-apache-sling-scripting-jsp-taglib-version}</version>
<scope>provided</scope>
</dependency>
-
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component.annotations</artifactId>
@@ -221,7 +212,7 @@ Sling-Model-Packages: ${package}
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
- <version>6.0.1</version>
+ <version>${osgi-annotation-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -236,11 +227,10 @@ Sling-Model-Packages: ${package}
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
-
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.7.25</version>
+ <version>${slf4j-version}</version>
<scope>provided</scope>
</dependency>
@@ -251,18 +241,13 @@ Sling-Model-Packages: ${package}
<version>4.12</version>
<scope>provided</scope>
</dependency>
+ <!-- Fixed version due to Scanner issues with 2.6.x -->
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.sling-mock.junit4</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>2.27.0</version>
- <scope>provided</scope>
- </dependency>
</dependencies>
<profiles>
diff --git a/archetype/src/main/resources/archetype-resources/src/test/java/__package__/HelloWorldModelTest.java b/archetype/src/main/resources/archetype-resources/src/test/java/__package__/HelloWorldModelTest.java
index edaf866..bae6eeb 100644
--- a/archetype/src/main/resources/archetype-resources/src/test/java/__package__/HelloWorldModelTest.java
+++ b/archetype/src/main/resources/archetype-resources/src/test/java/__package__/HelloWorldModelTest.java
@@ -23,7 +23,6 @@ import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.Mockito;
public class HelloWorldModelTest {
@Rule
diff --git a/core/pom.xml b/core/pom.xml
index 1644c53..21577fc 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -103,10 +103,6 @@
<artifactId>org.apache.sling.models.api</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-jcr-commons</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.jcr.resource</artifactId>
</dependency>
@@ -135,8 +131,8 @@
<artifactId>org.apache.sling.caconfig.api</artifactId>
</dependency>
<dependency>
- <artifactId>jackrabbit-api</artifactId>
<groupId>org.apache.jackrabbit</groupId>
+ <artifactId>oak-jackrabbit-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
@@ -245,5 +241,9 @@
<groupId>com.github.jknack</groupId>
<artifactId>handlebars</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateStatusOperation.java b/core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateStatusOperation.java
index 6068ae0..76b91ea 100644
--- a/core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateStatusOperation.java
+++ b/core/src/main/java/org/apache/sling/cms/core/internal/operations/UpdateStatusOperation.java
@@ -22,6 +22,7 @@ import java.util.Optional;
import javax.jcr.RepositoryException;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.api.security.user.User;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.cms.AuthorizableWrapper;
@@ -29,7 +30,6 @@ import org.apache.sling.servlets.post.Modification;
import org.apache.sling.servlets.post.PostOperation;
import org.apache.sling.servlets.post.PostResponse;
import org.apache.sling.servlets.post.SlingPostProcessor;
-import org.jsoup.helper.StringUtil;
import org.osgi.service.component.annotations.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,7 +61,7 @@ public class UpdateStatusOperation implements PostOperation {
}
User user = (User) authWrapper.getAuthorizable();
- user.disable(StringUtil.isBlank(reason) ? null : reason);
+ user.disable(StringUtils.isBlank(reason) ? null : reason);
// invoke processors
if (processors != null) {
diff --git a/core/src/test/java/org/apache/sling/cms/core/helpers/SlingCMSTestHelper.java b/core/src/test/java/org/apache/sling/cms/core/helpers/SlingCMSTestHelper.java
index 393e21c..4c77c5f 100644
--- a/core/src/test/java/org/apache/sling/cms/core/helpers/SlingCMSTestHelper.java
+++ b/core/src/test/java/org/apache/sling/cms/core/helpers/SlingCMSTestHelper.java
@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.function.Function;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
@@ -41,8 +42,6 @@ import org.apache.sling.cms.ResourceTree;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.mockito.Mockito;
-import com.google.common.base.Function;
-
public class SlingCMSTestHelper {
public static final void initContext(SlingContext context) {
diff --git a/feature/pom.xml b/feature/pom.xml
index 46e9fe7..42fd519 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -25,20 +25,12 @@
<properties>
<sling.java.version>8</sling.java.version>
<IT.expected.bundles.count>240</IT.expected.bundles.count>
- <cms.version>${project.parent.version}</cms.version>
- <composum.version>1.12.4</composum.version>
- <groovy.version>3.0.6</groovy.version>
- <jackrabbit.version>2.20.0</jackrabbit.version>
- <jackson.version>2.11.1</jackson.version>
- <oak.version>1.32.0</oak.version>
- <slf4j.version>1.7.25</slf4j.version>
<bnd.baseline.skip>true</bnd.baseline.skip>
<run.sling.smoke.test>true</run.sling.smoke.test>
</properties>
<build>
<plugins>
-
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>ianal-maven-plugin</artifactId>
@@ -153,7 +145,7 @@
<goal>attach-featurearchives</goal>
</goals>
<configuration>
- <replacePropertyVariables>cms.version,composum.version,groovy.version,jackrabbit.version,jackson.version,oak.version,slf4j.version</replacePropertyVariables>
+ <replacePropertyVariables>cms-version,composum-version,groovy-version,jackrabbit-version,jackson-version,oak-version,slf4j-version,cocoon-serializers-charsets-version,org.apache.felix.webconsole-version,commons-lang3-version,jstl-version,org-apache-sling-models-api-version,org.apache.sling.scripting.jsp.taglib,geronimo-atinject_1-0_spec-version,commons-io-version,tika-version,pdfbox-version,httpclient-version,org-apache-sling-caconfig-api-version,jsoup-version [...]
</configuration>
</execution>
</executions>
@@ -313,13 +305,13 @@
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.utils</artifactId>
- <version>1.11.2</version>
+ <version>1.11.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.feature.launcher</artifactId>
- <version>1.1.8</version>
+ <version>1.1.14</version>
</dependency>
</dependencies>
</project>
diff --git a/feature/src/main/features/app/cms.json b/feature/src/main/features/app/cms.json
index 7b4a47d..6ed07b2 100644
--- a/feature/src/main/features/app/cms.json
+++ b/feature/src/main/features/app/cms.json
@@ -13,19 +13,19 @@
"start-order": "5"
},
{
- "id": "org.apache.sling:org.apache.sling.cms.api:${cms.version}",
+ "id": "org.apache.sling:org.apache.sling.cms.api:${cms-version}",
"start-order": "20"
},
{
- "id": "org.apache.sling:org.apache.sling.cms.ui:${cms.version}",
+ "id": "org.apache.sling:org.apache.sling.cms.ui:${cms-version}",
"start-order": "20"
},
{
- "id": "com.vladsch.flexmark:flexmark-osgi:0.61.24",
+ "id": "com.vladsch.flexmark:flexmark-osgi:0.62.2",
"start-order": "15"
},
{
- "id": "org.apache.cocoon:cocoon-serializers-charsets:1.0.2",
+ "id": "org.apache.cocoon:cocoon-serializers-charsets:${cocoon-serializers-charsets-version}",
"start-order": "15"
},
{
@@ -45,19 +45,19 @@
"start-order": "15"
},
{
- "id": "org.apache.jackrabbit:oak-auth-external:${oak.version}",
+ "id": "org.apache.jackrabbit:oak-auth-external:${oak-version}",
"start-order": "15"
},
{
- "id": "org.apache.jackrabbit:oak-auth-ldap:${oak.version}",
+ "id": "org.apache.jackrabbit:oak-auth-ldap:${oak-version}",
"start-order": "15"
},
{
- "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlbeans:3.0.2_1",
+ "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.xmlbeans:3.1.0_2",
"start-order": "15"
},
{
- "id": "org.apache.sling:org.apache.sling.fileoptim:0.9.4",
+ "id": "org.apache.sling:org.apache.sling.fileoptim:${org-apache-sling-fileoptim-version}",
"start-order": "20"
},
{
@@ -65,7 +65,7 @@
"start-order": "15"
},
{
- "id": "org.jsoup:jsoup:1.13.1",
+ "id": "org.jsoup:jsoup:${jsoup-version}",
"start-order": "15"
},
{
@@ -73,7 +73,7 @@
"start-order": "15"
},
{
- "id": "org.apache.commons:commons-text:1.8",
+ "id": "org.apache.commons:commons-text:${commons-text-version}",
"start-order": "15"
},
{
@@ -81,23 +81,23 @@
"start-order": "15"
},
{
- "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.poi:4.1.1_1",
+ "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.poi:4.1.2_2",
"start-order": "15"
},
{
- "id": "org.apache.sling:org.apache.sling.cms.core:${cms.version}",
+ "id": "org.apache.sling:org.apache.sling.cms.core:${cms-version}",
"start-order": "20"
},
{
- "id": "org.apache.sling:org.apache.sling.cms.reference:${cms.version}",
+ "id": "org.apache.sling:org.apache.sling.cms.reference:${cms-version}",
"start-order": "20"
},
{
- "id": "org.apache.sling:org.apache.sling.cms.transformer:${cms.version}",
+ "id": "org.apache.sling:org.apache.sling.cms.transformer:${cms-version}",
"start-order": "20"
},
{
- "id": "org.apache.sling:org.apache.sling.cms.login:${cms.version}",
+ "id": "org.apache.sling:org.apache.sling.cms.login:${cms-version}",
"start-order": "20"
},
{
@@ -145,95 +145,95 @@
"start-order": "15"
},
{
- "id": "org.apache.tika:tika-bundle:1.22",
+ "id": "org.apache.tika:tika-bundle:${tika-version}",
"start-order": "15"
},
{
- "id": "org.codehaus.groovy:groovy:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-ant:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-ant:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-astbuilder:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-astbuilder:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-cli-picocli:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-cli-picocli:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-console:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-console:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-datetime:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-datetime:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-docgenerator:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-docgenerator:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-groovydoc:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-groovydoc:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-groovysh:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-groovysh:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-jmx:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-jmx:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-json:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-json:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-jsr223:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-jsr223:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-macro:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-macro:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-nio:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-nio:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-servlet:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-servlet:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-sql:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-sql:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-swing:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-swing:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-templates:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-templates:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-test:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-test:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-test-junit5:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-test-junit5:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-testng:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-testng:${groovy-version}",
"start-order": "20"
},
{
- "id": "org.codehaus.groovy:groovy-xml:${groovy.version}",
+ "id": "org.codehaus.groovy:groovy-xml:${groovy-version}",
"start-order": "20"
}
],
@@ -436,7 +436,7 @@
"end",
"create service user sling-cms-versionmgr",
"set ACL for sling-cms-versionmgr",
- "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /content",
+ "allow jcr:write,jcr:nodeTypeManagement,jcr:versionManagement on /",
"end"
]
}
\ No newline at end of file
diff --git a/feature/src/main/features/app/composum.json b/feature/src/main/features/app/composum.json
index 042e1de..e17efae 100644
--- a/feature/src/main/features/app/composum.json
+++ b/feature/src/main/features/app/composum.json
@@ -2,19 +2,19 @@
{
"bundles":[
{
- "id":"com.composum.sling.core:composum-sling-core-commons:${composum.version}",
+ "id":"com.composum.sling.core:composum-sling-core-commons:${composum-version}",
"start-order":"20"
},
{
- "id":"com.composum.sling.core:composum-sling-core-console:${composum.version}",
+ "id":"com.composum.sling.core:composum-sling-core-console:${composum-version}",
"start-order":"20"
},
{
- "id":"com.composum.sling.core:composum-sling-core-jslibs:${composum.version}",
+ "id":"com.composum.sling.core:composum-sling-core-jslibs:${composum-version}",
"start-order":"20"
},
{
- "id":"com.composum.sling.core:composum-sling-package-manager:${composum.version}",
+ "id":"com.composum.sling.core:composum-sling-package-manager:${composum-version}",
"start-order":"20"
}
],
diff --git a/feature/src/main/features/base.json b/feature/src/main/features/base.json
index d8d2969..77b8be4 100644
--- a/feature/src/main/features/base.json
+++ b/feature/src/main/features/base.json
@@ -2,7 +2,7 @@
{
"bundles":[
{
- "id":"commons-codec:commons-codec:1.14",
+ "id":"commons-codec:commons-codec:1.15",
"start-order":"5"
},
{
@@ -22,15 +22,15 @@
"start-order":"20"
},
{
- "id":"org.apache.geronimo.bundles:jstl:1.2_1",
+ "id":"org.apache.geronimo.bundles:jstl:${jstl-version}",
"start-order":"20"
},
{
- "id":"org.apache.httpcomponents:httpclient-osgi:4.5.10",
+ "id":"org.apache.httpcomponents:httpclient-osgi:${httpclient-version}",
"start-order":"15"
},
{
- "id":"org.apache.httpcomponents:httpcore-osgi:4.4.12",
+ "id":"org.apache.httpcomponents:httpcore-osgi:4.4.14",
"start-order":"15"
},
{
@@ -62,7 +62,7 @@
"start-order":"15"
},
{
- "id":"org.apache.sling:org.apache.sling.commons.scheduler:2.7.6",
+ "id":"org.apache.sling:org.apache.sling.commons.scheduler:2.7.12",
"start-order":"20"
},
{
@@ -70,7 +70,7 @@
"start-order":"15"
},
{
- "id":"org.apache.sling:org.apache.sling.engine:2.7.2",
+ "id":"org.apache.sling:org.apache.sling.engine:${org-apache-sling-engine-version}",
"start-order":"20"
},
{
@@ -90,11 +90,11 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.models.api:1.3.8",
+ "id":"org.apache.sling:org.apache.sling.models.api:${org-apache-sling-models-api-version}",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.models.impl:1.4.12",
+ "id":"org.apache.sling:org.apache.sling.models.impl:1.4.16",
"start-order":"20"
},
{
@@ -102,7 +102,7 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.serviceusermapper:1.4.4",
+ "id":"org.apache.sling:org.apache.sling.serviceusermapper:1.4.6",
"start-order":"15"
},
{
@@ -114,11 +114,11 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.7.8",
+ "id":"org.apache.sling:org.apache.sling.servlets.resolver:2.7.10",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.xss:2.2.6",
+ "id":"org.apache.sling:org.apache.sling.xss:2.2.8",
"start-order":"20"
},
{
@@ -130,7 +130,7 @@
"start-order":"5"
},
{
- "id":"commons-io:commons-io:2.6",
+ "id":"commons-io:commons-io:${commons-io-version}",
"start-order":"5"
},
{
@@ -150,7 +150,7 @@
"start-order":"5"
},
{
- "id":"org.apache.felix:org.apache.felix.http.jetty:4.0.18",
+ "id":"org.apache.felix:org.apache.felix.http.jetty:4.1.4",
"start-order":"5"
},
{
@@ -170,7 +170,7 @@
"start-order":"5"
},
{
- "id":"org.apache.sling:org.apache.sling.api:2.22.0",
+ "id":"org.apache.sling:org.apache.sling.api:${org-apache-sling-api-version}",
"start-order":"5"
},
{
@@ -186,7 +186,7 @@
"start-order":"10"
},
{
- "id":"org.apache.pdfbox:fontbox:2.0.17",
+ "id":"org.apache.pdfbox:fontbox:${pdfbox-version}",
"start-order":"10"
},
{
@@ -194,15 +194,15 @@
"start-order":"10"
},
{
- "id":"org.apache.pdfbox:pdfbox:2.0.17",
+ "id":"org.apache.pdfbox:pdfbox:${pdfbox-version}",
"start-order":"10"
},
{
- "id":"org.apache.tika:tika-core:1.24",
+ "id":"org.apache.tika:tika-core:${tika-version}",
"start-order":"10"
},
{
- "id":"io.dropwizard.metrics:metrics-core:3.2.6",
+ "id":"io.dropwizard.metrics:metrics-core:3.2.5",
"start-order":"15"
},
{
@@ -222,7 +222,7 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.24",
+ "id":"org.apache.sling:org.apache.sling.jcr.repoinit:1.1.26",
"start-order":"20"
}
],
diff --git a/feature/src/main/features/boot.json b/feature/src/main/features/boot.json
index ca0c4ae..0671ec3 100644
--- a/feature/src/main/features/boot.json
+++ b/feature/src/main/features/boot.json
@@ -1,144 +1,146 @@
-
{
"variables": {
"sling.home": null
},
- "bundles":[
+ "bundles": [
{
- "id":"org.apache.aries:org.apache.aries.util:1.1.3",
- "start-order":"1"
+ "id": "org.apache.felix:org.apache.felix.cm.json:1.0.2",
+ "start-order": "1"
},
{
- "id":"org.apache.commons:commons-lang3:3.9",
- "start-order":"1"
+ "id": "org.apache.aries:org.apache.aries.util:1.1.3",
+ "start-order": "1"
},
{
- "id":"org.apache.felix:org.apache.felix.configadmin:1.9.16",
- "start-order":"1"
+ "id": "org.apache.commons:commons-lang3:${commons-lang3-version}",
+ "start-order": "1"
},
{
- "id":"org.apache.felix:org.apache.felix.converter:1.0.14",
- "start-order":"1"
+ "id": "org.apache.felix:org.apache.felix.configadmin:1.9.18",
+ "start-order": "1"
},
{
- "id":"org.apache.felix:org.apache.felix.eventadmin:1.5.0",
- "start-order":"1"
+ "id": "org.apache.felix:org.apache.felix.converter:1.0.14",
+ "start-order": "1"
},
{
- "id":"org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.1",
- "start-order":"1"
+ "id": "org.apache.felix:org.apache.felix.eventadmin:1.5.0",
+ "start-order": "1"
},
{
- "id":"org.apache.geronimo.specs:geronimo-atinject_1.0_spec:1.1",
- "start-order":"1"
+ "id": "org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.3",
+ "start-order": "1"
},
{
- "id":"org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
- "start-order":"1"
+ "id": "org.apache.geronimo.specs:geronimo-atinject_1.0_spec:${geronimo-atinject_1-0_spec-version}",
+ "start-order": "1"
},
{
- "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl:2.2.11_1",
- "start-order":"1"
+ "id": "org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
+ "start-order": "1"
},
{
- "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.3.23_2",
- "start-order":"1"
+ "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxb-impl:2.2.11_1",
+ "start-order": "1"
},
{
- "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2:2.9.0",
- "start-order":"1"
+ "id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.5.1_1",
+ "start-order": "1"
},
{
- "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
- "start-order":"1"
+ "id": "org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api-2.2:2.9.0",
+ "start-order": "1"
},
{
- "id":"org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.8.0",
- "start-order":"1"
+ "id": "org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.commons.johnzon:1.2.4",
- "start-order":"1"
+ "id": "org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.9.0",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.commons.log:5.1.12",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.commons.johnzon:${org-apache-sling-commons-johnzon-version}",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.commons.log:5.1.12",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.commons.osgi:2.4.0",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.installer.core:3.11.2",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.commons.osgi:2.4.2",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.installer.factory.configuration:1.3.2",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.installer.core:3.11.4",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.installer.provider.file:1.3.0",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.installer.factory.configuration:1.3.2",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.javax.activation:0.1.0",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.installer.provider.file:1.3.0",
+ "start-order": "1"
},
{
- "id":"org.apache.sling:org.apache.sling.settings:1.4.0",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.javax.activation:0.2.0",
+ "start-order": "1"
},
{
- "id":"org.jvnet.staxex:stax-ex:1.7.6",
- "start-order":"1"
+ "id": "org.apache.sling:org.apache.sling.settings:1.4.2",
+ "start-order": "1"
},
{
- "id":"org.osgi:org.osgi.service.log:1.4.0",
- "start-order":"1"
+ "id": "org.jvnet.staxex:stax-ex:1.8.3",
+ "start-order": "1"
},
{
- "id":"org.osgi:org.osgi.util.function:1.1.0",
- "start-order":"1"
+ "id": "org.osgi:org.osgi.service.log:1.4.0",
+ "start-order": "1"
},
{
- "id":"org.osgi:org.osgi.util.promise:1.1.1",
- "start-order":"1"
+ "id": "org.osgi:org.osgi.util.function:1.1.0",
+ "start-order": "1"
},
{
- "id":"org.osgi:org.osgi.util.pushstream:1.0.1",
- "start-order":"1"
+ "id": "org.osgi:org.osgi.util.promise:1.1.1",
+ "start-order": "1"
},
{
- "id":"org.slf4j:jcl-over-slf4j:${slf4j.version}",
- "start-order":"1"
+ "id": "org.osgi:org.osgi.util.pushstream:1.0.1",
+ "start-order": "1"
},
{
- "id":"org.slf4j:log4j-over-slf4j:${slf4j.version}",
- "start-order":"1"
+ "id": "org.slf4j:jcl-over-slf4j:${slf4j-version}",
+ "start-order": "1"
},
{
- "id":"org.slf4j:slf4j-api:${slf4j.version}",
- "start-order":"1"
+ "id": "org.slf4j:log4j-over-slf4j:${slf4j-version}",
+ "start-order": "1"
},
{
- "id":"org.apache.felix:org.apache.felix.scr:2.1.20",
- "start-order":"1"
+ "id": "org.slf4j:slf4j-api:${slf4j-version}",
+ "start-order": "1"
+ },
+ {
+ "id": "org.apache.felix:org.apache.felix.scr:2.1.24",
+ "start-order": "1"
}
-
],
- "framework-properties":{
- "localIndexDir":"${sling.home}/repository/index",
- "repository.home":"${sling.home}/repository",
- "sling.jre.java.xml":",javax.xml;version=\"2.1.0\",javax.xml.datatype;uses:=\"javax.xml.namespace\";version=\"2.1.0\",javax.xml.namespace;version=\"2.1.0\",javax.xml.parsers;uses:=\"javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers\";version=\"2.1.0\",javax.xml.stream;uses:=\"javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform\";version=\"1.0.0\",javax.xml.stream.events;uses:=\"javax.xml.namespace,javax.xml.stream\";version=\"1.0.0 [...]
- "felix.systempackages.calculate.uses":"true",
- "org.osgi.framework.system.packages":"org.osgi.framework;version=\"1.9\",org.osgi.framework.dto;version=\"1.8\";uses:=\"org.osgi.dto\",org.osgi.framework.hooks.bundle;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.resolver;version=\"1.0\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.hooks.service;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.weaving;version=\"1.1\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.laun [...]
- "felix.systempackages.substitution":"true",
- "sling.jre-jpms":"{dollar}{felix.jpms.java.base}{dollar}{felix.jpms.java.compiler}{dollar}{felix.jpms.java.datatransfer}{dollar}{felix.jpms.java.desktop}{dollar}{felix.jpms.java.instrument}{dollar}{felix.jpms.java.logging}{dollar}{felix.jpms.java.management}{dollar}{felix.jpms.java.management.rmi}{dollar}{felix.jpms.java.naming}{dollar}{felix.jpms.java.net.http}{dollar}{felix.jpms.java.prefs}{dollar}{felix.jpms.java.rmi}{dollar}{felix.jpms.java.scripting}{dollar}{felix.jpms.java. [...]
- "sling.jpms.java.xml":"{dollar}{sling.jre.java.xml},javax.xml.catalog;uses:=\"javax.xml.namespace\";version=\"1.0.0\"",
- "sling.jre-1.8":",java.applet;version=\"{dollar}{felix.detect.java.version}\",java.awt;version=\"{dollar}{felix.detect.java.version}\",java.awt.color;version=\"{dollar}{felix.detect.java.version}\",java.awt.datatransfer;version=\"{dollar}{felix.detect.java.version}\",java.awt.dnd;version=\"{dollar}{felix.detect.java.version}\",java.awt.event;version=\"{dollar}{felix.detect.java.version}\",java.awt.font;version=\"{dollar}{felix.detect.java.version}\",java.awt.geom;version=\"{dolla [...]
+ "framework-properties": {
+ "localIndexDir": "${sling.home}/repository/index",
+ "repository.home": "${sling.home}/repository",
+ "sling.jre.java.xml": ",javax.xml;version=\"2.1.0\",javax.xml.datatype;uses:=\"javax.xml.namespace\";version=\"2.1.0\",javax.xml.namespace;version=\"2.1.0\",javax.xml.parsers;uses:=\"javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers\";version=\"2.1.0\",javax.xml.stream;uses:=\"javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform\";version=\"1.0.0\",javax.xml.stream.events;uses:=\"javax.xml.namespace,javax.xml.stream\";version=\"1.0. [...]
+ "felix.systempackages.calculate.uses": "true",
+ "org.osgi.framework.system.packages": "org.osgi.framework;version=\"1.9\",org.osgi.framework.dto;version=\"1.8\";uses:=\"org.osgi.dto\",org.osgi.framework.hooks.bundle;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.resolver;version=\"1.0\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.hooks.service;version=\"1.1\";uses:=\"org.osgi.framework\",org.osgi.framework.hooks.weaving;version=\"1.1\";uses:=\"org.osgi.framework.wiring\",org.osgi.framework.lau [...]
+ "felix.systempackages.substitution": "true",
+ "sling.jre-jpms": "{dollar}{felix.jpms.java.base}{dollar}{felix.jpms.java.compiler}{dollar}{felix.jpms.java.datatransfer}{dollar}{felix.jpms.java.desktop}{dollar}{felix.jpms.java.instrument}{dollar}{felix.jpms.java.logging}{dollar}{felix.jpms.java.management}{dollar}{felix.jpms.java.management.rmi}{dollar}{felix.jpms.java.naming}{dollar}{felix.jpms.java.net.http}{dollar}{felix.jpms.java.prefs}{dollar}{felix.jpms.java.rmi}{dollar}{felix.jpms.java.scripting}{dollar}{felix.jpms.java [...]
+ "sling.jpms.java.xml": "{dollar}{sling.jre.java.xml},javax.xml.catalog;uses:=\"javax.xml.namespace\";version=\"1.0.0\"",
+ "sling.jre-1.8": ",java.applet;version=\"{dollar}{felix.detect.java.version}\",java.awt;version=\"{dollar}{felix.detect.java.version}\",java.awt.color;version=\"{dollar}{felix.detect.java.version}\",java.awt.datatransfer;version=\"{dollar}{felix.detect.java.version}\",java.awt.dnd;version=\"{dollar}{felix.detect.java.version}\",java.awt.event;version=\"{dollar}{felix.detect.java.version}\",java.awt.font;version=\"{dollar}{felix.detect.java.version}\",java.awt.geom;version=\"{doll [...]
}
-}
+}
\ No newline at end of file
diff --git a/feature/src/main/features/caconfig.json b/feature/src/main/features/caconfig.json
index 36ac153..4d34392 100644
--- a/feature/src/main/features/caconfig.json
+++ b/feature/src/main/features/caconfig.json
@@ -2,7 +2,7 @@
{
"bundles":[
{
- "id":"org.apache.sling:org.apache.sling.caconfig.api:1.2.0",
+ "id":"org.apache.sling:org.apache.sling.caconfig.api:${org-apache-sling-caconfig-api-version}",
"start-order":"20"
},
{
diff --git a/feature/src/main/features/discovery.json b/feature/src/main/features/discovery.json
index af52a5b..7e0a558 100644
--- a/feature/src/main/features/discovery.json
+++ b/feature/src/main/features/discovery.json
@@ -14,11 +14,11 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.discovery.oak:1.2.28",
+ "id":"org.apache.sling:org.apache.sling.discovery.oak:1.2.30",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.discovery.support:1.0.4",
+ "id":"org.apache.sling:org.apache.sling.discovery.support:1.0.6",
"start-order":"20"
}
],
diff --git a/feature/src/main/features/models-jacksonexporter.json b/feature/src/main/features/models-jacksonexporter.json
index 1bc629a..ec1181e 100644
--- a/feature/src/main/features/models-jacksonexporter.json
+++ b/feature/src/main/features/models-jacksonexporter.json
@@ -2,15 +2,15 @@
{
"bundles":[
{
- "id":"com.fasterxml.jackson.core:jackson-annotations:${jackson.version}",
+ "id":"com.fasterxml.jackson.core:jackson-annotations:${jackson-version}",
"start-order":"20"
},
{
- "id":"com.fasterxml.jackson.core:jackson-core:${jackson.version}",
+ "id":"com.fasterxml.jackson.core:jackson-core:${jackson-version}",
"start-order":"20"
},
{
- "id":"com.fasterxml.jackson.core:jackson-databind:${jackson.version}",
+ "id":"com.fasterxml.jackson.core:jackson-databind:${jackson-version}",
"start-order":"20"
},
{
diff --git a/feature/src/main/features/oak/oak_base.json b/feature/src/main/features/oak/oak_base.json
index 6ae0901..9b41098 100644
--- a/feature/src/main/features/oak/oak_base.json
+++ b/feature/src/main/features/oak/oak_base.json
@@ -10,91 +10,91 @@
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-data:${jackrabbit.version}",
+ "id":"org.apache.jackrabbit:jackrabbit-data:${jackrabbit-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:${jackrabbit.version}",
+ "id":"org.apache.jackrabbit:jackrabbit-jcr-commons:${jackrabbit-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:${jackrabbit.version}",
+ "id":"org.apache.jackrabbit:jackrabbit-jcr-rmi:${jackrabbit-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-spi-commons:${jackrabbit.version}",
+ "id":"org.apache.jackrabbit:jackrabbit-spi-commons:${jackrabbit-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-spi:${jackrabbit.version}",
+ "id":"org.apache.jackrabbit:jackrabbit-spi:${jackrabbit-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:jackrabbit-webdav:${jackrabbit.version}",
+ "id":"org.apache.jackrabbit:jackrabbit-webdav:${jackrabbit-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-api:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-api:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-blob-plugins:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-blob-plugins:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-blob:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-blob:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-commons:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-commons:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-core-spi:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-core-spi:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-core:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-core:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-jackrabbit-api:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-jackrabbit-api:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-jcr:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-jcr:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-lucene:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-lucene:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-query-spi:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-query-spi:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-security-spi:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-security-spi:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-segment-tar:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-segment-tar:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-store-composite:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-store-composite:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-store-document:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-store-document:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-store-spi:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-store-spi:${oak-version}",
"start-order":"15"
},
{
- "id":"org.apache.jackrabbit:oak-authorization-principalbased:${oak.version}",
+ "id":"org.apache.jackrabbit:oak-authorization-principalbased:${oak-version}",
"start-order":"15"
},
{
@@ -102,7 +102,7 @@
"start-order":"15"
},
{
- "id":"org.apache.sling:org.apache.sling.jcr.base:3.1.4",
+ "id":"org.apache.sling:org.apache.sling.jcr.base:3.1.6",
"start-order":"15"
},
{
@@ -122,7 +122,7 @@
"start-order":"15"
},
{
- "id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.2.6",
+ "id":"org.apache.sling:org.apache.sling.jcr.oak.server:1.2.10",
"start-order":"20"
},
{
@@ -142,11 +142,11 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:3.0.6",
+ "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager:3.0.8",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.10",
+ "id":"org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager:2.2.12",
"start-order":"20"
}
],
diff --git a/feature/src/main/features/scripting.json b/feature/src/main/features/scripting.json
index 45c4205..019a536 100644
--- a/feature/src/main/features/scripting.json
+++ b/feature/src/main/features/scripting.json
@@ -2,27 +2,27 @@
{
"bundles":[
{
- "id":"org.antlr:antlr4-runtime:4.7.2",
+ "id":"org.antlr:antlr4-runtime:4.9",
"start-order":"20"
},
{
- "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.rhino:1.7.10_1",
+ "id":"org.apache.servicemix.bundles:org.apache.servicemix.bundles.rhino:1.7.13_1",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.api:2.2.0",
+ "id":"org.apache.sling:org.apache.sling.scripting.api:${org-apache-sling-scripting-api-version}",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.core:2.3.2",
+ "id":"org.apache.sling:org.apache.sling.scripting.core:2.3.4",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.el-api:1.0.2",
+ "id":"org.apache.sling:org.apache.sling.scripting.el-api:1.0.4",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.javascript:3.1.2",
+ "id":"org.apache.sling:org.apache.sling.scripting.javascript:3.1.4",
"start-order":"20"
},
{
@@ -30,7 +30,7 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.jsp.taglib:2.4.0",
+ "id":"org.apache.sling:org.apache.sling.scripting.jsp.taglib:${org-apache-sling-scripting-jsp-taglib-version}",
"start-order":"20"
},
{
@@ -38,15 +38,15 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler.java:1.2.0-1.4.0",
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler.java:1.2.2-1.4.0",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler:1.2.6-1.4.0",
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.compiler:1.2.12-1.4.0",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.sightly.js.provider:1.2.0",
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.js.provider:1.2.6",
"start-order":"20"
},
{
@@ -54,11 +54,11 @@
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.2-1.4.0",
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly.runtime:1.2.4-1.4.0",
"start-order":"20"
},
{
- "id":"org.apache.sling:org.apache.sling.scripting.sightly:1.4.2-1.4.0",
+ "id":"org.apache.sling:org.apache.sling.scripting.sightly:1.4.6-1.4.0",
"start-order":"20"
}
],
diff --git a/feature/src/main/features/webconsole.json b/feature/src/main/features/webconsole.json
index 06156c5..be17373 100644
--- a/feature/src/main/features/webconsole.json
+++ b/feature/src/main/features/webconsole.json
@@ -1,7 +1,7 @@
{
"bundles": [
{
- "id":"org.apache.felix:org.apache.felix.webconsole:4.5.0",
+ "id":"org.apache.felix:org.apache.felix.webconsole:${org.apache.felix.webconsole-version}",
"start-order":"5"
},
{
diff --git a/pom.xml b/pom.xml
index 5305f8d..68018fd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,40 @@
<sling.cms.java.version>8</sling.cms.java.version>
<maven.compiler.source>1.${sling.cms.java.version}</maven.compiler.source>
<maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
+
+ <!-- Common Versions -->
+ <cms-version>${project.parent.version}</cms-version>
+ <cocoon-serializers-charsets-version>1.0.2</cocoon-serializers-charsets-version>
+ <commons-io-version>2.8.0</commons-io-version>
+ <commons-lang3-version>3.11</commons-lang3-version>
+ <commons-text-version>1.9</commons-text-version>
+ <composum-version>1.12.4</composum-version>
+ <geronimo-atinject_1-0_spec-version>1.2</geronimo-atinject_1-0_spec-version>
+ <groovy-version>3.0.7</groovy-version>
+ <httpclient-version>4.5.13</httpclient-version>
+ <jackrabbit-version>2.20.0</jackrabbit-version>
+ <jackson-version>2.12.0</jackson-version>
+ <javax-annotation-api-version>1.3.2</javax-annotation-api-version>
+ <jsoup-version>1.13.1</jsoup-version>
+ <jsp-api-version>2.0</jsp-api-version>
+ <jstl-version>1.2_1</jstl-version>
+ <mockito-core-version>3.6.28</mockito-core-version>
+ <oak-version>1.36</oak-version>
+ <org-apache-sling-api-version>2.23.0</org-apache-sling-api-version>
+ <org-apache-sling-caconfig-api-version>1.2.0</org-apache-sling-caconfig-api-version>
+ <org-apache-sling-commons-johnzon-version>1.2.6</org-apache-sling-commons-johnzon-version>
+ <org-apache-sling-engine-version>2.7.2</org-apache-sling-engine-version>
+ <org-apache-sling-fileoptim-version>0.9.4</org-apache-sling-fileoptim-version>
+ <org-apache-sling-models-api-version>1.3.8</org-apache-sling-models-api-version>
+ <org-apache-sling-scripting-api-version>2.2.0</org-apache-sling-scripting-api-version>
+ <org-apache-sling-scripting-jsp-taglib-version>2.4.0</org-apache-sling-scripting-jsp-taglib-version>
+ <org-apache-sling-testing-sling-mock-junit4-version>2.6.2</org-apache-sling-testing-sling-mock-junit4-version>
+ <org.apache.felix.webconsole-version>4.5.4</org.apache.felix.webconsole-version>
+ <osgi-annotation-version>6.0.1</osgi-annotation-version>
+ <pdfbox-version>2.0.21</pdfbox-version>
+ <servlet-api-version>2.5</servlet-api-version>
+ <slf4j-version>1.7.25</slf4j-version>
+ <tika-version>1.25</tika-version>
</properties>
<modules>
@@ -57,55 +91,55 @@
<dependency>
<groupId>org.apache.cocoon</groupId>
<artifactId>cocoon-serializers-charsets</artifactId>
- <version>1.0.0</version>
+ <version>${cocoon-serializers-charsets-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.webconsole</artifactId>
- <version>4.3.8</version>
+ <version>${org.apache.felix.webconsole-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.bundles</groupId>
<artifactId>jstl</artifactId>
- <version>1.2_1</version>
+ <version>${jstl-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-atinject_1.0_spec</artifactId>
- <version>1.0</version>
+ <version>${geronimo-atinject_1-0_spec-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>4.5.6</version>
+ <version>${httpclient-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-api</artifactId>
- <version>2.18.2</version>
+ <artifactId>oak-jackrabbit-api</artifactId>
+ <version>${oak-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr-commons</artifactId>
- <version>2.7.5</version>
+ <version>${jackrabbit-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>oak-core</artifactId>
- <version>1.16.0</version>
+ <version>${oak-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>oak-jcr</artifactId>
- <version>1.16.0</version>
+ <version>${oak-version}</version>
<scope>provided</scope>
</dependency>
@@ -113,13 +147,13 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
- <version>2.20.0</version>
+ <version>${org-apache-sling-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.caconfig.api</artifactId>
- <version>1.1.2</version>
+ <version>${org-apache-sling-caconfig-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -143,13 +177,13 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.commons.johnzon</artifactId>
- <version>1.1.2</version>
+ <version>${org-apache-sling-commons-johnzon-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<artifactId>org.apache.sling.discovery.api</artifactId>
- <version>1.0.4</version>
<groupId>org.apache.sling</groupId>
+ <version>1.0.4</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -161,7 +195,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.engine</artifactId>
- <version>2.6.18</version>
+ <version>${org-apache-sling-engine-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -173,7 +207,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.fileoptim</artifactId>
- <version>0.9.2</version>
+ <version>${org-apache-sling-fileoptim-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -191,7 +225,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.models.api</artifactId>
- <version>1.3.8</version>
+ <version>${org-apache-sling-models-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -203,13 +237,13 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.api</artifactId>
- <version>2.2.0</version>
+ <version>${org-apache-sling-scripting-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
- <version>2.4.0</version>
+ <version>${org-apache-sling-scripting-jsp-taglib-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -227,83 +261,89 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>15.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${commons-io-version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
- <version>1.3.2</version>
+ <version>${javax-annotation-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.8.1</version>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jsp-api</artifactId>
+ <version>${jsp-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-math</artifactId>
- <version>2.2</version>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>${servlet-api-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
- <artifactId>commons-text</artifactId>
- <version>1.8</version>
+ <artifactId>commons-lang3</artifactId>
+ <version>${commons-lang3-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.6</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-math</artifactId>
+ <version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>15.0</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-text</artifactId>
+ <version>${commons-text-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ <version>20.1.0</version>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
- <version>6.0.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jetbrains</groupId>
- <artifactId>annotations</artifactId>
- <version>16.0.2</version>
+ <version>${osgi-annotation-version}</version>
<scope>provided</scope>
</dependency>
<!-- Document Processing Dependencies -->
<dependency>
<artifactId>jsoup</artifactId>
- <version>1.11.3</version>
<groupId>org.jsoup</groupId>
+ <version>${jsoup-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
- <version>0.4.8</version>
+ <version>0.4.13</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
- <version>2.0.16</version>
+ <version>${pdfbox-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -321,7 +361,7 @@
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
- <version>1.22</version>
+ <version>${tika-version}</version>
<scope>provided</scope>
</dependency>
@@ -329,13 +369,13 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.sling-mock.junit4</artifactId>
- <version>2.3.16</version>
+ <version>${org-apache-sling-testing-sling-mock-junit4-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>2.27.0</version>
+ <version>${mockito-core-version}</version>
<scope>test</scope>
</dependency>
diff --git a/reference/pom.xml b/reference/pom.xml
index 79db357..6c4b682 100644
--- a/reference/pom.xml
+++ b/reference/pom.xml
@@ -103,6 +103,10 @@
<artifactId>jackrabbit-jcr-commons</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>oak-jackrabbit-api</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
</dependency>
@@ -111,9 +115,8 @@
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
- <groupId>jstl</groupId>
+ <groupId>org.apache.geronimo.bundles</groupId>
<artifactId>jstl</artifactId>
- <version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
@@ -122,7 +125,6 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
- <version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
@@ -140,6 +142,10 @@
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ </dependency>
<!-- Testing dependencies -->
<dependency>
diff --git a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormHandler.java b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormHandler.java
index 053098e..1e3ed93 100644
--- a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormHandler.java
+++ b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormHandler.java
@@ -37,6 +37,7 @@ import org.apache.sling.cms.ResourceTree;
import org.apache.sling.cms.reference.forms.FormAction;
import org.apache.sling.cms.reference.forms.FormException;
import org.apache.sling.cms.reference.forms.FormRequest;
+import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferencePolicyOption;
@@ -49,11 +50,15 @@ public class FormHandler extends SlingAllMethodsServlet {
private static final Logger log = LoggerFactory.getLogger(FormHandler.class);
- @Reference(policyOption = ReferencePolicyOption.GREEDY)
- private List<FormAction> formActions;
+ private transient List<FormAction> formActions;
private static final long serialVersionUID = -8149443208959899098L;
+ @Activate
+ public FormHandler(@Reference(policyOption = ReferencePolicyOption.GREEDY) List<FormAction> formActions) {
+ this.formActions = formActions;
+ }
+
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response)
throws ServletException, IOException {
@@ -62,10 +67,13 @@ public class FormHandler extends SlingAllMethodsServlet {
.map(PageManager::getPage).map(Page::getPath)
.orElse(StringUtils.substringBefore(request.getResource().getPath(), "/" + JcrConstants.JCR_CONTENT));
- List<Resource> actionResources = ResourceTree.stream(request.getResource().getChild("actions"))
- .map(ResourceTree::getResource).collect(Collectors.toList());
-
try {
+ if (request.getResource().getChild("actions") == null) {
+ throw new FormException("No actions provided to handle this form submission");
+ }
+ List<Resource> actionResources = ResourceTree.stream(request.getResource().getChild("actions"))
+ .map(ResourceTree::getResource).collect(Collectors.toList());
+
FormRequest formRequest = getFormRequest(request);
if (formRequest == null) {
log.warn("Unable to create form request");
@@ -119,4 +127,5 @@ public class FormHandler extends SlingAllMethodsServlet {
throw new FormException("Unable to adapt to a form request");
}
}
+
}
diff --git a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormRequestImpl.java b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormRequestImpl.java
index c07cc2b..a822990 100644
--- a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormRequestImpl.java
+++ b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/FormRequestImpl.java
@@ -43,7 +43,6 @@ public class FormRequestImpl implements FormRequest {
private static final Logger log = LoggerFactory.getLogger(FormRequestImpl.class);
- @OSGiService(injectionStrategy = InjectionStrategy.OPTIONAL)
private List<FieldHandler> fieldHandlers;
private Map<String, Object> formData = new HashMap<>();
@@ -124,4 +123,14 @@ public class FormRequestImpl implements FormRequest {
return "errorval-" + this.getOriginalRequest().getResource().getPath();
}
+ @OSGiService(injectionStrategy = InjectionStrategy.OPTIONAL)
+ public void setFieldHandlers(List<FieldHandler> fieldHandlers) {
+ this.fieldHandlers = fieldHandlers;
+ }
+
+ @OSGiService(injectionStrategy = InjectionStrategy.OPTIONAL)
+ public void setFormValueProvider(List<FormValueProvider> formValueProvider) {
+ this.formValueProvider = formValueProvider;
+ }
+
}
diff --git a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/SendEmailAction.java b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/SendEmailAction.java
index f4dedc7..630e129 100644
--- a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/SendEmailAction.java
+++ b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/SendEmailAction.java
@@ -43,7 +43,6 @@ public class SendEmailAction implements FormAction {
public static final String SUBJECT = "subject";
public static final String TO = "to";
- @Reference
private MailService mailService;
@Override
@@ -57,8 +56,7 @@ public class SendEmailAction implements FormAction {
try {
@NotNull
final MimeMessage message = mailService.getMessageBuilder()
- .from(sub.replace(properties.get(FROM, String.class)))
- .to(to)
+ .from(sub.replace(properties.get(FROM, String.class))).to(to)
.subject(sub.replace(properties.get(SUBJECT, String.class)))
.text(sub.replace(properties.get(MESSAGE, String.class))).build();
@@ -77,4 +75,9 @@ public class SendEmailAction implements FormAction {
return "reference/components/forms/actions/sendemail".equals(actionResource.getResourceType());
}
+ @Reference
+ public void setMailService(MailService mailService) {
+ this.mailService = mailService;
+ }
+
}
diff --git a/reference/src/test/java/org/apache/sling/cms/reference/form/impl/FormHandlerTest.java b/reference/src/test/java/org/apache/sling/cms/reference/form/impl/FormHandlerTest.java
index cb601b5..030081d 100644
--- a/reference/src/test/java/org/apache/sling/cms/reference/form/impl/FormHandlerTest.java
+++ b/reference/src/test/java/org/apache/sling/cms/reference/form/impl/FormHandlerTest.java
@@ -16,10 +16,17 @@
*/
package org.apache.sling.cms.reference.form.impl;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.never;
+
import java.io.IOException;
import java.util.Arrays;
import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletResponse;
+
+import com.google.common.collect.ImmutableMap;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.cms.reference.forms.FormException;
@@ -36,57 +43,65 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.FieldSetter;
-
-import com.google.common.collect.ImmutableMap;
public class FormHandlerTest {
@Rule
public final SlingContext context = new SlingContext();
private FormHandler formHandler;
private MailService mailService;
+ private FormRequestImpl formRequest;
@Before
public void init() throws NoSuchFieldException, SecurityException, FormException {
SlingContextHelper.initContext(context);
context.request().setMethod("POST");
- context.request().setResource(context.resourceResolver().getResource("/form/jcr:content/container/form"));
-
context.request()
.setParameterMap(ImmutableMap.<String, Object>builder().put("requiredtextarea", "Hello World!")
.put("singleselect", "Hello World!").put("anotherkey", "Hello World!").put("money", "123")
.put("patternfield", "123").put("double", "2.7").put("integer", "2")
.put("datefield", "2019-02-02").build());
- final FormRequestImpl formRequest = new FormRequestImpl(context.request());
+ formRequest = new FormRequestImpl(context.request());
- FieldSetter.setField(formRequest, formRequest.getClass().getDeclaredField("fieldHandlers"),
- Arrays.asList(new SelectionHandler(), new TextareaHandler(), new TextfieldHandler()));
+ formRequest
+ .setFieldHandlers(Arrays.asList(new SelectionHandler(), new TextareaHandler(), new TextfieldHandler()));
- formRequest.init();
+ final SendEmailAction sendEmailAction = new SendEmailAction();
+ mailService = Mockito.mock(MailService.class);
+ Mockito.when(mailService.getMessageBuilder()).thenReturn(new MockMessageBuilder());
+ sendEmailAction.setMailService(mailService);
- formHandler = new FormHandler() {
+ formHandler = new FormHandler(Arrays.asList(sendEmailAction)) {
private static final long serialVersionUID = 1L;
protected FormRequest getFormRequest(final SlingHttpServletRequest request) {
return formRequest;
}
};
+ }
- final SendEmailAction sendEmailAction = new SendEmailAction();
- mailService = Mockito.mock(MailService.class);
- Mockito.when(mailService.getMessageBuilder()).thenReturn(new MockMessageBuilder());
- FieldSetter.setField(sendEmailAction, sendEmailAction.getClass().getDeclaredField("mailService"), mailService);
+ @Test
+ public void testPost() throws ServletException, IOException, FormException {
- FieldSetter.setField(formHandler, FormHandler.class.getDeclaredField("formActions"),
- Arrays.asList(sendEmailAction));
- context.request().setMethod("POST");
+ context.request().setResource(context.resourceResolver().getResource("/form/jcr:content/container/form"));
+ formRequest.init();
+
+ formHandler.service(context.request(), context.response());
+ Mockito.verify(mailService).sendMessage(Mockito.any());
}
@Test
- public void testPost() throws ServletException, IOException {
+ public void testNoActions() throws ServletException, IOException, FormException {
+
+ context.request()
+ .setResource(context.resourceResolver().getResource("/form-no-actions/jcr:content/container/form"));
+ formRequest.init();
+
formHandler.service(context.request(), context.response());
- Mockito.verify(mailService).sendMessage(Mockito.any());
+
+ assertTrue(HttpServletResponse.SC_MOVED_TEMPORARILY == context.response().getStatus());
+ assertEquals("/form-no-actions.html?error=actions", context.response().getHeader("Location"));
+ Mockito.verify(mailService, never()).sendMessage(Mockito.any());
}
}
diff --git a/reference/src/test/java/org/apache/sling/cms/reference/form/impl/FormRequestImplTest.java b/reference/src/test/java/org/apache/sling/cms/reference/form/impl/FormRequestImplTest.java
index 90f9ba7..c4299b1 100644
--- a/reference/src/test/java/org/apache/sling/cms/reference/form/impl/FormRequestImplTest.java
+++ b/reference/src/test/java/org/apache/sling/cms/reference/form/impl/FormRequestImplTest.java
@@ -33,7 +33,6 @@ import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldSetter;
import com.google.common.collect.ImmutableMap;
@@ -55,8 +54,8 @@ public class FormRequestImplTest {
formRequest = new FormRequestImpl(context.request());
- FieldSetter.setField(formRequest, formRequest.getClass().getDeclaredField("fieldHandlers"),
- Arrays.asList(new SelectionHandler(), new TextareaHandler(), new TextfieldHandler()));
+ formRequest
+ .setFieldHandlers(Arrays.asList(new SelectionHandler(), new TextareaHandler(), new TextfieldHandler()));
formRequest.initFields();
}
diff --git a/reference/src/test/java/org/apache/sling/cms/reference/form/impl/SlingContextHelper.java b/reference/src/test/java/org/apache/sling/cms/reference/form/impl/SlingContextHelper.java
index 749aec5..8dafc09 100644
--- a/reference/src/test/java/org/apache/sling/cms/reference/form/impl/SlingContextHelper.java
+++ b/reference/src/test/java/org/apache/sling/cms/reference/form/impl/SlingContextHelper.java
@@ -23,6 +23,7 @@ public class SlingContextHelper {
public static final void initContext(SlingContext context) {
context.load().json("/form.json", "/form");
+ context.load().json("/form-no-actions.json", "/form-no-actions");
}
}
diff --git a/reference/src/test/java/org/apache/sling/cms/reference/form/impl/actions/SendEmailActionTest.java b/reference/src/test/java/org/apache/sling/cms/reference/form/impl/actions/SendEmailActionTest.java
index 7d713fe..81bdd08 100644
--- a/reference/src/test/java/org/apache/sling/cms/reference/form/impl/actions/SendEmailActionTest.java
+++ b/reference/src/test/java/org/apache/sling/cms/reference/form/impl/actions/SendEmailActionTest.java
@@ -33,7 +33,6 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.FieldSetter;
public class SendEmailActionTest {
@@ -54,7 +53,7 @@ public class SendEmailActionTest {
mailService = Mockito.mock(MailService.class);
Mockito.when(mailService.getMessageBuilder()).thenReturn(new MockMessageBuilder());
- FieldSetter.setField(action, action.getClass().getDeclaredField("mailService"), mailService);
+ action.setMailService(mailService);
}
@Test
diff --git a/reference/src/test/resources/form-no-actions.json b/reference/src/test/resources/form-no-actions.json
new file mode 100644
index 0000000..8ffa62e
--- /dev/null
+++ b/reference/src/test/resources/form-no-actions.json
@@ -0,0 +1,148 @@
+{
+ "jcr:primaryType": "sling:Page",
+ "jcr:content": {
+ "jcr:primaryType": "nt:unstructured",
+ "jcr:title": "Test Form",
+ "sling:template": "/conf/site/site/templates/form",
+ "sling:resourceType": "test/components/pages/form",
+ "published": true,
+ "container": {
+ "jcr:primaryType": "nt:unstructured",
+ "invaliddate": {
+ "jcr:primaryType": "nt:unstructured",
+ "required": true,
+ "name": "datefield",
+ "type": "text",
+ "label": "Daty",
+ "saveAs": "date",
+ "sling:resourceType": "reference/components/forms/fields/textfield"
+ },
+ "form": {
+ "jcr:primaryType": "nt:unstructured",
+ "submitText": "Submit",
+ "formId": "Test Form",
+ "sling:resourceType": "reference/components/forms/form",
+ "fields": {
+ "jcr:primaryType": "nt:unstructured",
+ "fieldset": {
+ "jcr:primaryType": "nt:unstructured",
+ "legend": "Section 1",
+ "sling:resourceType": "reference/components/forms/fieldset",
+ "fields": {
+ "jcr:primaryType": "nt:unstructured",
+ "textarea": {
+ "jcr:primaryType": "nt:unstructured",
+ "required": false,
+ "name": "textarea",
+ "label": "Textarea",
+ "sling:resourceType": "reference/components/forms/fields/textarea"
+ },
+ "requiredtextarea": {
+ "jcr:primaryType": "nt:unstructured",
+ "required": true,
+ "name": "requiredtextarea",
+ "label": "Required Textarea",
+ "sling:resourceType": "reference/components/forms/fields/textarea"
+ },
+ "multiselect": {
+ "jcr:primaryType": "nt:unstructured",
+ "tagRoot": "/etc/taxonomy/forms/field",
+ "addClasses": "",
+ "required": false,
+ "noSelection": "",
+ "name": "multiselect",
+ "label": "MultiSelect",
+ "multiple": true,
+ "sling:resourceType": "reference/components/forms/fields/selection",
+ "display": "radioCheckbox"
+ },
+ "textfield": {
+ "jcr:primaryType": "nt:unstructured",
+ "addClasses": "",
+ "required": false,
+ "name": "textfield",
+ "type": "tel",
+ "label": "Money Money Money",
+ "value": "",
+ "placeholder": "$",
+ "sling:resourceType": "reference/components/forms/fields/textfield"
+ },
+ "requiredtextfield": {
+ "jcr:primaryType": "nt:unstructured",
+ "addClasses": "",
+ "additionalAttributes": [
+ "min=1",
+ "max=1000000",
+ "step=1"
+ ],
+ "pattern": "",
+ "required": true,
+ "name": "money",
+ "type": "number",
+ "label": "Money Money Money",
+ "value": "",
+ "saveAs": "integer",
+ "placeholder": "$",
+ "sling:resourceType": "reference/components/forms/fields/textfield"
+ },
+ "patternfield": {
+ "jcr:primaryType": "nt:unstructured",
+ "required": true,
+ "name": "patternfield",
+ "pattern":"\\d+",
+ "sling:resourceType": "reference/components/forms/fields/textfield"
+ },
+ "double": {
+ "jcr:primaryType": "nt:unstructured",
+ "required": true,
+ "name": "double",
+ "type": "number",
+ "label": "Daty",
+ "saveAs": "double",
+ "sling:resourceType": "reference/components/forms/fields/textfield"
+ },
+ "integer": {
+ "jcr:primaryType": "nt:unstructured",
+ "required": true,
+ "name": "integer",
+ "type": "number",
+ "label": "Daty",
+ "saveAs": "integer",
+ "sling:resourceType": "reference/components/forms/fields/textfield"
+ },
+ "datefield": {
+ "jcr:primaryType": "nt:unstructured",
+ "required": true,
+ "name": "datefield",
+ "type": "date",
+ "label": "Daty",
+ "saveAs": "date",
+ "sling:resourceType": "reference/components/forms/fields/textfield"
+ },
+ "singleselect": {
+ "jcr:primaryType": "nt:unstructured",
+ "tagRoot": "/etc/taxonomy/forms/period",
+ "addClasses": "",
+ "required": true,
+ "noSelection": "",
+ "name": "singleselect",
+ "label": "Single Select",
+ "multiple": false,
+ "sling:resourceType": "reference/components/forms/fields/selection",
+ "display": "select"
+ }
+ }
+ }
+ },
+ "providers": {
+ "jcr:primaryType": "nt:unstructured",
+ "userprofile": {
+ "jcr:primaryType": "nt:unstructured",
+ "sling:resourceType": "reference/components/forms/providers/userprofile",
+ "subpath": "jobprofile"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/transformer/src/test/java/org/apache/sling/cms/transformer/helpers/SlingCMSContextHelper.java b/transformer/src/test/java/org/apache/sling/cms/transformer/helpers/SlingCMSContextHelper.java
index f2064f7..a0acb90 100644
--- a/transformer/src/test/java/org/apache/sling/cms/transformer/helpers/SlingCMSContextHelper.java
+++ b/transformer/src/test/java/org/apache/sling/cms/transformer/helpers/SlingCMSContextHelper.java
@@ -17,12 +17,11 @@
package org.apache.sling.cms.transformer.helpers;
import java.io.InputStream;
+import java.util.function.Function;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
-import com.google.common.base.Function;
-
public class SlingCMSContextHelper {
public static final void initContext(SlingContext context) {
diff --git a/ui/pom.xml b/ui/pom.xml
index 39168e3..d4698cc 100644
--- a/ui/pom.xml
+++ b/ui/pom.xml
@@ -25,10 +25,8 @@ License. -->
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
- <groupId>jstl</groupId>
+ <groupId>org.apache.geronimo.bundles</groupId>
<artifactId>jstl</artifactId>
- <version>1.2</version>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
@@ -37,8 +35,6 @@ License. -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
- <version>2.0</version>
- <scope>provided</scope>
</dependency>
</dependencies>