This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a change to branch quarkus-main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
discard b540eafb16 Ref #4894: Make Groovy DSL ITs platform compliant omit c7b033146a Re-sync with main omit a0d03f93ef Add uncommitted files omit 9103b930c6 sync versions omit 78bc38d90c Re-sync with main omit 994c02bd0c Upgrade Quarkus to 3.3.0.CR1 add 5cd05244e4 Updated CHANGELOG.md add 1dc19a9b98 Ref #5067: Make expression extractor supports properties (#5079) add 2c6077e948 Updated CHANGELOG.md add f5d5eb7800 Regen SBOM from commit 2c6077e948dd9d210f3d42005ec9d789f2e1d1cf add 685358ab20 Updated CHANGELOG.md add d804d670d2 Ref #5056: Improve the replacement of RecorderContext#classProxy (#5077) add 0aa1aa1bee Enable Twilio test after the component was fixed via Camel 4.0.0-M2 #4527 add dcf2bc8ca2 NettyHttpJaasTestResource reads config.jaas from disk fix #5083 add c965ed5e19 Updated CHANGELOG.md add 141ad67342 Re-add activemq extension after it was added back in Camel 4.0.0-RC1 fix #5087 add fc71f405e8 Updated CHANGELOG.md add 9faa615581 Fixup 141ad67 Re-add activemq extension after it was added back in Camel 4.0.0-RC1 fix #5087 add d54c3abec1 Velocity $foreach.index, $foreach.count and $foreach.hasNext do not work in native mode fix #5080 add 125a6b2ed6 Add a note to the contributor guide about keeping junit & Co. in Maven test scope add 9b0a2baa08 Updated CHANGELOG.md add 9f6b5cbdc4 [closes #3087] Divide HTTP tests into separate modules add ff464b2e3f [relates #3087] Migrate netty-http module into netty http tests add 93ba0a6b31 [relates #3087] Create grouped module for HTTP tests add 7d5f1d59e0 Replace org.graalvm.nativeimage:svm with org.graalvm.sdk:graal-sdk which has a status of public API add e9f83d3d62 Build Camel on the nightly build instead of relying on the SNAPSHOT repo add c0e3b92018 Updated CHANGELOG.md add 07170bd2bd Regen SBOM from commit c0e3b92018145d9390a2d4789ebd39adee3562f4 add 7a7fab2a95 Updated CHANGELOG.md add 8b71e19022 Bump quarkus-amazon-services-bom from 2.4.0 to 2.4.1 add 644dbbb81a Auto generated changes for dependabot commit bb60f239039b776fdc5d995f0362ffbb3e7407f6 add afa5f15a9b Bump quarkiverse-jsch.version from 3.0.1 to 3.0.2 add 73ae88a07c Auto generated changes for dependabot commit f6a12457a58afb16628ef5c8429fc2385d0e45d1 add 84e9c0e2e2 Bump quarkiverse-tika.version from 2.0.0 to 2.0.2 add 3dee0eb3ec Bump quarkus-qpid-jms-bom from 2.3.0 to 2.4.0 add c8e31f4234 Remove pdfbox dependency excludes from quarkus-tika add 031783b8a7 Updated CHANGELOG.md add b4c9cccfb5 Bump quarkiverse-jgit.version from 3.0.1 to 3.0.2 add cd39c3c5e5 Manage io.dropwizard.metrics dependencies used by camel-quarkus extensions add 0f287c81fd Simplify MicrometerTest.testDumpAsJson results extraction add 6292718cbc Add missing graal-sdk dependency declaration to extensions that use GraalVM APIs add 07cfc1333f Updated CHANGELOG.md add 4d08517039 Added atlassion-groupId for the correct functionality with 'io.atlassian.fugue' add 410ca2b8cd Upgrade Quarkus to 3.2.1.Final add e345ffb15a Temporarily disabled tests + native for ssh, see https://github.com/apache/camel-quarkus/issues/5092 add f0d5689ef7 Updated CHANGELOG.md new 0f5414a1f9 Upgrade Quarkus to 3.3.0.CR1 new c2473c7dcd Ref #4894: Make Groovy DSL ITs platform compliant This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (b540eafb16) \ N -- N -- N refs/heads/quarkus-main (c2473c7dcd) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .github/workflows/camel-master-cron.yaml | 32 +- .mvn/rrf/groupId-atlassian.txt | 1 + CHANGELOG.md | 60 +- camel-quarkus-sbom/camel-quarkus-sbom.json | 24539 ++++++++++--------- camel-quarkus-sbom/camel-quarkus-sbom.xml | 19352 ++++++++------- catalog/pom.xml | 13 + docs/antora.yml | 2 +- docs/modules/ROOT/examples/components/activemq.yml | 13 + docs/modules/ROOT/nav.adoc | 1 + .../pages/contributor-guide/extension-testing.adoc | 7 +- .../ROOT/pages/reference/extensions/activemq.adoc | 87 + extensions-core/core/runtime/pom.xml | 4 +- .../camel/quarkus/core/graal/ResourceUtils.java | 46 - extensions-core/xml-jaxb/runtime/pom.xml | 5 + extensions-support/azure-core/runtime/pom.xml | 4 +- extensions-support/consul-client/runtime/pom.xml | 4 +- extensions-support/debezium/runtime/pom.xml | 4 +- extensions-support/google-cloud/runtime/pom.xml | 4 +- extensions-support/httpclient/runtime/pom.xml | 4 +- extensions-support/language/deployment/pom.xml | 10 + .../language/deployment/dm/DryModeComponent.java | 9 +- .../language/deployment/dm/DryModeEndpoint.java | 5 + .../language/deployment/PropertiesToSetTest.java | 82 + extensions-support/retrofit/runtime/pom.xml | 4 +- extensions-support/spring/runtime/pom.xml | 4 +- extensions-support/swagger/runtime/pom.xml | 5 + .../deployment/XalanNativeImageProcessor.java | 61 +- extensions-support/xalan/runtime/pom.xml | 4 +- .../javax.xml.transform.TransformerFactory | 1 + .../activemq}/deployment/pom.xml | 12 +- .../activemq/deployment/ActiveMQProcessor.java | 141 + .../activemq}/pom.xml | 25 +- .../{openapi-java => activemq}/runtime/pom.xml | 21 +- .../activemq/runtime/src/main/doc/limitations.adoc | 2 + .../activemq/runtime/src/main/doc/usage.adoc | 9 + .../activemq/graal/ActiveMQSubstitutions.java | 43 + .../activemq/graal/SpringJMSSubstitutions.java | 89 + .../main/resources/META-INF/quarkus-extension.yaml | 32 + extensions/atlasmap/runtime/pom.xml | 4 +- extensions/bean-validator/runtime/pom.xml | 4 +- extensions/bean/runtime/pom.xml | 4 +- extensions/disruptor/runtime/pom.xml | 4 +- extensions/fhir/runtime/pom.xml | 4 +- extensions/file-watch/runtime/pom.xml | 4 +- extensions/fop/runtime/pom.xml | 4 +- extensions/google-pubsub/runtime/pom.xml | 4 +- .../groovy/deployment/GroovyProcessor.java | 6 +- .../groovy/runtime/GroovyExpressionRecorder.java | 5 +- extensions/grpc/runtime/pom.xml | 4 +- extensions/hazelcast/runtime/pom.xml | 4 +- extensions/java-joor-dsl/runtime/pom.xml | 5 + extensions/jolt/runtime/pom.xml | 4 +- .../component/joor/deployment/JoorProcessor.java | 10 +- .../joor/runtime/JoorExpressionRecorder.java | 18 +- extensions/jsh-dsl/runtime/pom.xml | 5 + extensions/json-validator/runtime/pom.xml | 5 + extensions/jsonpath/runtime/pom.xml | 4 +- extensions/kotlin-dsl/runtime/pom.xml | 5 + extensions/kudu/runtime/pom.xml | 4 +- extensions/netty/runtime/pom.xml | 4 +- extensions/nitrite/runtime/pom.xml | 5 + extensions/olingo4/runtime/pom.xml | 4 +- extensions/openapi-java/runtime/pom.xml | 4 +- extensions/paho/runtime/pom.xml | 4 +- extensions/pom.xml | 1 + extensions/quartz/runtime/pom.xml | 4 +- extensions/rest/runtime/pom.xml | 4 +- extensions/servicenow/runtime/pom.xml | 6 +- extensions/shiro/runtime/pom.xml | 4 +- extensions/slack/runtime/pom.xml | 4 +- extensions/spring-rabbitmq/runtime/pom.xml | 4 +- extensions/ssh/runtime/pom.xml | 4 +- extensions/tika/runtime/pom.xml | 15 - .../velocity/deployment/VelocityProcessor.java | 19 +- extensions/xchange/runtime/pom.xml | 4 +- extensions/xslt/deployment/pom.xml | 4 +- .../http/README.adoc | 4 +- .../http/common}/pom.xml | 88 +- .../http/common/AbstractHttpResource.java | 71 + .../component/http/common/CommonProducers.java | 49 + .../quarkus/component/http/common/HttpService.java | 50 +- .../src/main/resources/application.properties | 6 + .../common}/src/main/resources/jsse/keystore.p12 | Bin .../common}/src/main/resources/jsse/truststore.jks | Bin .../component/http/common/AbstractHttpTest.java | 125 + .../component/http/common}/HttpTestResource.java | 8 +- .../http/http}/pom.xml | 95 +- .../component/http/http}/HttpProducers.java | 13 +- .../quarkus/component/http/http/HttpResource.java | 178 + .../quarkus/component/http/http/HttpRoutes.java | 29 +- .../quarkus/component/http}/http/it/HttpIT.java | 7 +- .../quarkus/component/http/http/it/HttpTest.java | 88 + .../http/netty-http}/pom.xml | 94 +- .../component/http/netty/NettyHttpProducers.java | 20 +- .../component/http/netty/NettyHttpResource.java | 234 + .../component/http/netty}/NettyHttpRoutes.java | 17 +- .../ProxyCapableClientInitializerFactory.java | 6 +- .../http/netty}/auth/JaasLoginModule.java | 2 +- .../http/netty}/auth/TestAuthenticator.java | 2 +- .../http/netty}/auth/TestRolePrincipal.java | 2 +- .../component/http/netty}/pojo/UserPojo.java | 2 +- .../component/http/netty/it}/NettyHttpIT.java | 2 +- .../http/netty/it}/NettyHttpJaasTest.java | 7 +- .../http/netty/it}/NettyHttpJaasTestResource.java | 11 +- .../component/http/netty/it/NettyHttpTest.java | 215 + .../http/netty/it}/NettyHttpTestResource.java | 2 +- .../http/netty-http/src/test/resources/config.jaas | 3 + integration-test-groups/{ => http}/pom.xml | 32 +- .../http/vertx-http}/pom.xml | 81 +- .../vertx}/VertxClientRelatedBeansProducer.java | 2 +- .../component/http/vertx/VertxHttpService.java | 21 +- .../component/http/vertx/VertxResource.java | 226 + .../quarkus/component/http/vertx/VertxRoutes.java | 17 +- .../src/main/resources/application.properties | 16 +- .../component/http/vertx/it/VertxHttpIT.java | 4 +- .../component/http/vertx/it/VertxHttpTest.java | 113 + integration-test-groups/pom.xml | 1 + integration-tests/{ssh => activemq}/pom.xml | 33 +- .../it/ActiveMQConnectionFactoryProducer.java | 47 + .../quarkus/component/activemq/it/ActiveMQIT.java} | 5 +- .../component/activemq/it/ActiveMQTest.java} | 20 +- .../activemq/it/ActiveMQTestResource.java | 74 + .../http-grouped}/.gitignore | 0 integration-tests/{http => http-grouped}/pom.xml | 143 +- .../component/http/it/GreetingServerEndpoint.java | 48 - .../quarkus/component/http/it/HttpResource.java | 539 - .../camel/quarkus/component/http/it/HttpRoute.java | 95 - .../http/src/main/resources/restcountries/cz.json | 81 - .../camel/quarkus/component/http/it/HttpTest.java | 288 - .../component/micrometer/it/MicrometerTest.java | 17 +- .../component/netty/http/NettyHttpResource.java | 152 - .../component/netty/http/NettyHttpAuthTest.java | 65 - .../component/netty/http/NettyHttpRestIT.java | 23 - .../component/netty/http/NettyHttpRestTest.java | 58 - .../component/netty/http/NettyHttpTest.java | 80 - .../netty-http/src/test/resources/config.jaas | 3 - integration-tests/pom.xml | 6 +- integration-tests/ssh/pom.xml | 5 +- .../camel/quarkus/component/ssh/it/SshTest.java | 2 + .../component/twilio/it/TwilioResource.java | 6 +- .../quarkus/component/velocity/it/Person.java | 5 + .../component/velocity/it/VelocityResource.java | 21 + .../src/main/resources/template/foreach.vm} | 14 +- .../component/velocity/it/VelocityTest.java | 17 + pom.xml | 17 +- poms/bom-test/pom.xml | 11 + poms/bom/pom.xml | 37 +- poms/bom/src/main/generated/flattened-full-pom.xml | 2515 +- .../src/main/generated/flattened-reduced-pom.xml | 128 +- .../generated/flattened-reduced-verbose-pom.xml | 310 +- tooling/scripts/test-categories.yaml | 5 +- 151 files changed, 27925 insertions(+), 23834 deletions(-) create mode 100644 docs/modules/ROOT/examples/components/activemq.yml create mode 100644 docs/modules/ROOT/pages/reference/extensions/activemq.adoc delete mode 100644 extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/core/graal/ResourceUtils.java create mode 100644 extensions-support/language/deployment/src/test/java/org/apache/camel/quarkus/support/language/deployment/PropertiesToSetTest.java create mode 100644 extensions-support/xalan/runtime/src/main/resources/META-INF/services/javax.xml.transform.TransformerFactory copy {extensions-support/language => extensions/activemq}/deployment/pom.xml (85%) create mode 100644 extensions/activemq/deployment/src/main/java/org/apache/camel/quarkus/component/activemq/deployment/ActiveMQProcessor.java copy {integration-test-groups => extensions/activemq}/pom.xml (65%) copy extensions/{openapi-java => activemq}/runtime/pom.xml (87%) create mode 100644 extensions/activemq/runtime/src/main/doc/limitations.adoc create mode 100644 extensions/activemq/runtime/src/main/doc/usage.adoc create mode 100644 extensions/activemq/runtime/src/main/java/org/apache/camel/quarkus/component/activemq/graal/ActiveMQSubstitutions.java create mode 100644 extensions/activemq/runtime/src/main/java/org/apache/camel/quarkus/component/activemq/graal/SpringJMSSubstitutions.java create mode 100644 extensions/activemq/runtime/src/main/resources/META-INF/quarkus-extension.yaml rename {integration-tests => integration-test-groups}/http/README.adoc (78%) copy {integration-tests/ssh => integration-test-groups/http/common}/pom.xml (63%) create mode 100644 integration-test-groups/http/common/src/main/java/org/apache/camel/quarkus/component/http/common/AbstractHttpResource.java create mode 100644 integration-test-groups/http/common/src/main/java/org/apache/camel/quarkus/component/http/common/CommonProducers.java copy integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/VertxClientRelatedBeansProducer.java => integration-test-groups/http/common/src/main/java/org/apache/camel/quarkus/component/http/common/HttpService.java (51%) copy {integration-tests/http => integration-test-groups/http/common}/src/main/resources/application.properties (88%) rename {integration-tests/http => integration-test-groups/http/common}/src/main/resources/jsse/keystore.p12 (100%) rename {integration-tests/http => integration-test-groups/http/common}/src/main/resources/jsse/truststore.jks (100%) create mode 100644 integration-test-groups/http/common/src/test/java/org/apache/camel/quarkus/component/http/common/AbstractHttpTest.java rename {integration-tests/http/src/test/java/org/apache/camel/quarkus/component/http/it => integration-test-groups/http/common/src/test/java/org/apache/camel/quarkus/component/http/common}/HttpTestResource.java (88%) rename {integration-tests/netty-http => integration-test-groups/http/http}/pom.xml (72%) rename {integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it => integration-test-groups/http/http/src/main/java/org/apache/camel/quarkus/component/http/http}/HttpProducers.java (83%) create mode 100644 integration-test-groups/http/http/src/main/java/org/apache/camel/quarkus/component/http/http/HttpResource.java copy integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/NettyHttpTestResource.java => integration-test-groups/http/http/src/main/java/org/apache/camel/quarkus/component/http/http/HttpRoutes.java (51%) copy {integration-tests/http/src/test/java/org/apache/camel/quarkus/component => integration-test-groups/http/http/src/test/java/org/apache/camel/quarkus/component/http}/http/it/HttpIT.java (77%) create mode 100644 integration-test-groups/http/http/src/test/java/org/apache/camel/quarkus/component/http/http/it/HttpTest.java copy {integration-tests/http => integration-test-groups/http/netty-http}/pom.xml (81%) copy integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http/auth/TestRolePrincipal.java => integration-test-groups/http/netty-http/src/main/java/org/apache/camel/quarkus/component/http/netty/NettyHttpProducers.java (71%) create mode 100644 integration-test-groups/http/netty-http/src/main/java/org/apache/camel/quarkus/component/http/netty/NettyHttpResource.java rename {integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/main/java/org/apache/camel/quarkus/component/http/netty}/NettyHttpRoutes.java (87%) rename {integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it => integration-test-groups/http/netty-http/src/main/java/org/apache/camel/quarkus/component/http/netty}/ProxyCapableClientInitializerFactory.java (89%) rename {integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/main/java/org/apache/camel/quarkus/component/http/netty}/auth/JaasLoginModule.java (97%) rename {integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/main/java/org/apache/camel/quarkus/component/http/netty}/auth/TestAuthenticator.java (97%) copy {integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/main/java/org/apache/camel/quarkus/component/http/netty}/auth/TestRolePrincipal.java (94%) rename {integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/main/java/org/apache/camel/quarkus/component/http/netty}/pojo/UserPojo.java (96%) rename {integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/test/java/org/apache/camel/quarkus/component/http/netty/it}/NettyHttpIT.java (94%) rename {integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/test/java/org/apache/camel/quarkus/component/http/netty/it}/NettyHttpJaasTest.java (80%) rename {integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/test/java/org/apache/camel/quarkus/component/http/netty/it}/NettyHttpJaasTestResource.java (83%) create mode 100644 integration-test-groups/http/netty-http/src/test/java/org/apache/camel/quarkus/component/http/netty/it/NettyHttpTest.java rename {integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http => integration-test-groups/http/netty-http/src/test/java/org/apache/camel/quarkus/component/http/netty/it}/NettyHttpTestResource.java (96%) create mode 100644 integration-test-groups/http/netty-http/src/test/resources/config.jaas copy integration-test-groups/{ => http}/pom.xml (52%) copy {integration-tests/ssh => integration-test-groups/http/vertx-http}/pom.xml (68%) rename {integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it => integration-test-groups/http/vertx-http/src/main/java/org/apache/camel/quarkus/component/http/vertx}/VertxClientRelatedBeansProducer.java (96%) rename integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpService.java => integration-test-groups/http/vertx-http/src/main/java/org/apache/camel/quarkus/component/http/vertx/VertxHttpService.java (86%) create mode 100644 integration-test-groups/http/vertx-http/src/main/java/org/apache/camel/quarkus/component/http/vertx/VertxResource.java rename extensions-support/language/runtime/src/main/java/org/apache/camel/quarkus/support/language/runtime/LanguageSupportRecorder.java => integration-test-groups/http/vertx-http/src/main/java/org/apache/camel/quarkus/component/http/vertx/VertxRoutes.java (60%) rename {integration-tests/http => integration-test-groups/http/vertx-http}/src/main/resources/application.properties (65%) rename integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/NettyHttpJaasIT.java => integration-test-groups/http/vertx-http/src/test/java/org/apache/camel/quarkus/component/http/vertx/it/VertxHttpIT.java (88%) create mode 100644 integration-test-groups/http/vertx-http/src/test/java/org/apache/camel/quarkus/component/http/vertx/it/VertxHttpTest.java copy integration-tests/{ssh => activemq}/pom.xml (81%) create mode 100644 integration-tests/activemq/src/main/java/org/apache/camel/quarkus/component/activemq/it/ActiveMQConnectionFactoryProducer.java rename integration-tests/{http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpIT.java => activemq/src/test/java/org/apache/camel/quarkus/component/activemq/it/ActiveMQIT.java} (90%) rename integration-tests/{netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http/auth/TestRolePrincipal.java => activemq/src/test/java/org/apache/camel/quarkus/component/activemq/it/ActiveMQTest.java} (70%) create mode 100644 integration-tests/activemq/src/test/java/org/apache/camel/quarkus/component/activemq/it/ActiveMQTestResource.java copy {integration-tests-jvm/xml-grouped => integration-tests/http-grouped}/.gitignore (100%) rename integration-tests/{http => http-grouped}/pom.xml (64%) delete mode 100644 integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/GreetingServerEndpoint.java delete mode 100644 integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpResource.java delete mode 100644 integration-tests/http/src/main/java/org/apache/camel/quarkus/component/http/it/HttpRoute.java delete mode 100644 integration-tests/http/src/main/resources/restcountries/cz.json delete mode 100644 integration-tests/http/src/test/java/org/apache/camel/quarkus/component/http/it/HttpTest.java delete mode 100644 integration-tests/netty-http/src/main/java/org/apache/camel/quarkus/component/netty/http/NettyHttpResource.java delete mode 100644 integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/NettyHttpAuthTest.java delete mode 100644 integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/NettyHttpRestIT.java delete mode 100644 integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/NettyHttpRestTest.java delete mode 100644 integration-tests/netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/NettyHttpTest.java delete mode 100644 integration-tests/netty-http/src/test/resources/config.jaas rename integration-tests/{netty-http/src/test/java/org/apache/camel/quarkus/component/netty/http/NettyHttpAuthIT.java => velocity/src/main/resources/template/foreach.vm} (79%)