From 90dde2f5a7bd352f61948edbded9936f00b58b32 Mon Sep 17 00:00:00 2001 From: Samuel Lucidi Date: Thu, 22 Jun 2023 15:29:41 -0400 Subject: [PATCH] Initial commit Signed-off-by: Sam Lucidi --- LICENSE | 201 ++ Makefile | 11 + README.md | 5 + cmd/prepare.go | 142 + go.mod | 9 + go.sum | 7 + hack/rulesets.yaml | 85 + pkg/doc.go | 1 + pkg/jobfunction.go | 7 + pkg/ruleset.go | 171 ++ pkg/seed.go | 163 ++ pkg/tagcategory.go | 12 + resources/jobfunctions.yaml | 0 resources/rulesets.yaml | 110 + resources/rulesets/00-discovery/0.yaml | 88 + resources/rulesets/00-discovery/image.svg | 3 + resources/rulesets/00-discovery/ruleset.yaml | 4 + .../azure/01-azure-file-system.windup.yaml | 77 + .../azure/02-azure-logging.windup.yaml | 36 + .../azure/03-azure-os-specific.windup.yaml | 42 + .../azure/04-azure-password.windup.yaml | 39 + ...-azure-appservice-certificates.windup.yaml | 27 + ...e-appservice-datasource-driver.windup.yaml | 138 + ...pservice-environment-variables.windup.yaml | 31 + ...08-eap-to-azure-appservice-pom.windup.yaml | 35 + .../09-spring-boot-to-azure-apm.windup.yaml | 42 + .../10-spring-boot-to-azure-cache.windup.yaml | 70 + ...ng-boot-to-azure-config-server.windup.yaml | 28 + ...-spring-boot-to-azure-database.windup.yaml | 126 + ...13-spring-boot-to-azure-eureka.windup.yaml | 67 + .../14-spring-boot-to-azure-feign.windup.yaml | 31 + ...oot-to-azure-identity-provider.windup.yaml | 33 + ...6-spring-boot-to-azure-java-fx.windup.yaml | 21 + ...pring-boot-to-azure-jms-broker.windup.yaml | 34 + ...spring-boot-to-azure-mq-config.windup.yaml | 77 + .../19-spring-boot-to-azure-port.windup.yaml | 21 + ...ing-boot-to-azure-schedule-job.windup.yaml | 32 + ...g-boot-to-azure-static-content.windup.yaml | 29 + .../22-spring-boot-to-azure-swing.windup.yaml | 20 + ...3-spring-boot-to-azure-version.windup.yaml | 72 + ...24-spring-boot-to-azure-zipkin.windup.yaml | 28 + ...-spring-cloud-to-azure-version.windup.yaml | 77 + ...at-to-azure-external-resources.windup.yaml | 26 + resources/rulesets/azure/image.svg | 51 + resources/rulesets/azure/ruleset.yaml | 3 + .../camel3/27-component-changes.windup.yaml | 33 + .../camel3/28-java-dsl-changes.windup.yaml | 19 + .../29-java-generic-information.windup.yaml | 826 ++++++ ...-per-application-not-supported.windup.yaml | 46 + .../camel3/31-xml-dsl-changes.windup.yaml | 227 ++ .../camel3/32-xml-java-versions.windup.yaml | 93 + .../33-xml-moved-components.windup.yaml | 84 + .../34-xml-removed-components.windup.yaml | 263 ++ .../35-xml-renamed-components.windup.yaml | 590 ++++ resources/rulesets/camel3/image.svg | 3 + resources/rulesets/camel3/ruleset.yaml | 3 + .../droolsjbpm/36-kie-api.windup.yaml | 323 +++ resources/rulesets/droolsjbpm/image.svg | 7 + resources/rulesets/droolsjbpm/ruleset.yaml | 3 + .../rulesets/eap6/37-commonj.windup.yaml | 152 ++ .../eap6/38-xml-glassfish.windup.yaml | 40 + .../eap6/39-java-ee-jaxrpc.windup.yaml | 27 + .../rulesets/eap6/40-seam-java.windup.yaml | 839 ++++++ .../rulesets/eap6/41-seam-ui.windup.yaml | 1000 +++++++ .../eap6/42-xml-webservices.windup.yaml | 212 ++ .../eap6/43-eap4-xml-config.windup.yaml | 600 ++++ .../eap6/44-jboss-eap5-java.windup.yaml | 418 +++ .../eap6/45-jboss-eap5-xml.windup.yaml | 410 +++ .../rulesets/eap6/46-resteasy.windup.yaml | 25 + .../rulesets/eap6/47-xml-jonas.windup.yaml | 1 + resources/rulesets/eap6/48-jotm.rhamt.yaml | 27 + .../eap6/49-jrun-catchall.windup.yaml | 30 + .../rulesets/eap6/50-xml-jrun.windup.yaml | 43 + resources/rulesets/eap6/51-jsp.windup.yaml | 17 + resources/rulesets/eap6/52-log4j.windup.yaml | 54 + .../rulesets/eap6/53-xml-orion.windup.yaml | 63 + .../rulesets/eap6/54-xml-resin.windup.yaml | 23 + .../eap6/55-environment-dependent.windup.yaml | 169 ++ .../eap6/56-generic-catchall.windup.yaml | 290 ++ .../eap6/57-ignore-references.windup.yaml | 1 + resources/rulesets/eap6/image.svg | 12 + resources/rulesets/eap6/ruleset.yaml | 3 + .../eap7/100-websphere-mq.windup.yaml | 95 + .../eap7/101-websphere-mqe.windup.yaml | 125 + .../eap7/102-websphere-other.windup.yaml | 52 + .../eap7/103-websphere-xml.windup.yaml | 194 ++ .../58-jboss-eap4and5to6and7-java.windup.yaml | 76 + .../59-jboss-eap4and5to6and7-xml.windup.yaml | 201 ++ resources/rulesets/eap7/60-base64.windup.yaml | 23 + resources/rulesets/eap7/61-jaxrpc.windup.yaml | 23 + .../eap7/62-jboss-eap5-7-java.windup.yaml | 433 +++ .../eap7/63-jboss-eap5-7-xml.windup.yaml | 149 + .../64-jboss-eap5and6to7-java.windup.yaml | 215 ++ .../eap7/65-jboss-eap5and6to7-xml.windup.yaml | 686 +++++ .../rulesets/eap7/66-resteasy.windup.yaml | 28 + .../rulesets/eap7/67-eap6-xml.windup.yaml | 50 + resources/rulesets/eap7/68-eap6.windup.yaml | 129 + .../eap7/69-hibernate4-xml.windup.yaml | 144 + .../rulesets/eap7/70-hibernate4.windup.yaml | 982 +++++++ .../rulesets/eap7/71-hsearch.windup.yaml | 1624 +++++++++++ resources/rulesets/eap7/72-jax-ws.windup.yaml | 29 + .../rulesets/eap7/73-resteasy.windup.yaml | 1140 ++++++++ .../rulesets/eap7/74-ws-security.windup.yaml | 69 + .../eap7/75-hibernate50-51.windup.yaml | 58 + .../eap7/76-hibernate51-53.windup.yaml | 569 ++++ .../rulesets/eap7/77-picketlink25.windup.yaml | 22 + .../eap7/78-resteasy30-36.windup.yaml | 22 + .../79-deprecated-singletonpolicy.rhamt.yaml | 19 + .../80-maven-artemis-jms-client.rhamt.yaml | 30 + .../eap7/81-maven-javax-to-jakarta.rhamt.yaml | 369 +++ ...82-maven-jboss-rmi-api_1.0_spec.rhamt.yaml | 20 + ...to-microprofile-rest-client-1.3.rhamt.yaml | 21 + .../eap7/84-singleton-sessionbean.rhamt.yaml | 29 + .../85-microprofile_removed_from_eap.mta.yaml | 110 + ...6-embedded-framework-libraries.windup.yaml | 129 + .../rulesets/eap7/87-java-wsdl-mapping.yaml | 1 + .../eap7/88-weblogic-catchall.windup.yaml | 121 + .../rulesets/eap7/89-weblogic-ejb.windup.yaml | 102 + .../90-weblogic-ignore-references.windup.yaml | 1 + .../rulesets/eap7/91-weblogic-jms.windup.yaml | 188 ++ .../eap7/92-weblogic-services.windup.yaml | 69 + .../eap7/93-weblogic-webapp.windup.yaml | 230 ++ .../eap7/94-weblogic-webservices.windup.yaml | 173 ++ .../95-weblogic-xml-descriptors.windup.yaml | 430 +++ .../rulesets/eap7/96-weblogic.windup.yaml | 381 +++ .../eap7/97-websphere-catchall.windup.yaml | 71 + ...98-websphere-ignore-references.windup.yaml | 1 + .../eap7/99-websphere-jms.windup.yaml | 163 ++ resources/rulesets/eap7/image.svg | 12 + resources/rulesets/eap7/ruleset.yaml | 4 + .../rulesets/eap8/104-eap8-faces.windup.yaml | 234 ++ .../eap8/105-eap8-resteasy.windup.yaml | 234 ++ .../eap8/106-eap8-xml-binding.windup.yaml | 227 ++ .../rulesets/eap8/107-eap8.ejb.windup.yaml | 69 + .../eap8/108-empty-beans-xml.windup.yaml | 34 + .../eap8/109-hibernate-6.2.windup.yaml | 116 + .../eap8/110-hibernate-search-6.1.windup.yaml | 412 +++ .../eap8/111-hibernate-search.windup.yaml | 2425 +++++++++++++++++ .../rulesets/eap8/112-hibernate6.windup.yaml | 741 +++++ .../rulesets/eap8/113-jakarta-cdi.windup.yaml | 84 + .../rulesets/eap8/114-jakarta-el.windup.yaml | 32 + .../eap8/115-jakarta-faces.windup.yaml | 25 + .../eap8/116-jakarta-json-binding.windup.yaml | 20 + .../eap8/117-jakarta-soap.windup.yaml | 33 + .../eap8/118-jakarta-ws-rs.windup.yaml | 21 + ...9-javaee-to-jakarta-namespaces.windup.yaml | 1203 ++++++++ ...to-jakarta-bootstrapping-files.windup.yaml | 18 + ...-javax-to-jakarta-dependencies.windup.yaml | 147 + .../122-javax-to-jakarta-package.windup.yaml | 20 + ...23-javax-to-jakarta-properties.windup.yaml | 17 + .../124-javax-to-jakarta-servlet.windup.yaml | 531 ++++ .../eap8/125-jboss-dependencies.windup.yaml | 538 ++++ .../eap8/126-keycloak-openid.windup.yaml | 37 + .../eap8/127-legacy-vault.windup.yaml | 16 + .../eap8/128-login-modules.windup.yaml | 33 + .../rulesets/eap8/129-picketlink.windup.yaml | 43 + resources/rulesets/eap8/image.svg | 12 + resources/rulesets/eap8/ruleset.yaml | 2 + ...aven_plugin_configuration_changes.mta.yaml | 26 + ...horntail_yaml_configuration_files.mta.yaml | 22 + .../eapxp/132-replace_thorntail_boms.mta.yaml | 56 + .../133-replace_thorntail_fractions.mta.yaml | 1200 ++++++++ ...34-replace_thorntail_maven_plugin.mta.yaml | 27 + resources/rulesets/eapxp/image.svg | 12 + resources/rulesets/eapxp/ruleset.yaml | 4 + ...-package-to-organization-names.windup.yaml | 1 + .../136-file-mappings.windup.yaml | 1 + resources/rulesets/filemappings/image.svg | 7 + resources/rulesets/filemappings/ruleset.yaml | 3 + .../140-soa-p-5.windup.yaml | 960 +++++++ .../rulesets/fuse-service-works/image.svg | 7 + .../rulesets/fuse-service-works/ruleset.yaml | 3 + .../fuse/137-sonic-catchall.windup.yaml | 25 + .../rulesets/fuse/138-sonic-esb.windup.yaml | 449 +++ .../fuse/139-xml-sonic-esb.windup.yaml | 15 + resources/rulesets/fuse/image.svg | 7 + resources/rulesets/fuse/ruleset.yaml | 3 + .../141-hibernate-catchall.windup.yaml | 23 + .../hibernate/142-hibernate-xml.windup.yaml | 74 + .../hibernate/143-hibernate.windup.yaml | 235 ++ resources/rulesets/hibernate/image.svg | 7 + resources/rulesets/hibernate/ruleset.yaml | 3 + .../144-spring-components.windup.yaml | 47 + resources/rulesets/jakarta-ee9/image.svg | 7 + resources/rulesets/jakarta-ee9/ruleset.yaml | 3 + .../openjdk11/145-java-removals.windup.yaml | 349 +++ .../146-removed-javaee-modules.windup.yaml | 67 + resources/rulesets/openjdk11/image.svg | 6 + resources/rulesets/openjdk11/ruleset.yaml | 3 + .../147-applet-api-deprecation.windup.yaml | 24 + .../rulesets/openjdk17/148-lombok.windup.yaml | 20 + .../openjdk17/149-removed-classes.windup.yaml | 25 + .../150-removed-packages.windup.yaml | 44 + ...1-security-manager-deprecation.windup.yaml | 157 ++ resources/rulesets/openjdk17/image.svg | 6 + resources/rulesets/openjdk17/ruleset.yaml | 3 + .../openjdk7/152-oracle2openjdk.rhamt.yaml | 222 ++ resources/rulesets/openjdk7/image.svg | 6 + resources/rulesets/openjdk7/ruleset.yaml | 3 + ...-java-unavailable-technologies.windup.yaml | 307 +++ ...phere-unavailable-technologies.windup.yaml | 1470 ++++++++++ resources/rulesets/openliberty/image.svg | 7 + resources/rulesets/openliberty/ruleset.yaml | 3 + .../155-embedded-cache-libraries.windup.yaml | 271 ++ .../openshift/156-java-rmi.windup.yaml | 47 + .../openshift/157-java-rpc.windup.yaml | 30 + .../rulesets/openshift/158-jca.windup.yaml | 26 + .../openshift/159-jni-native-code.windup.yaml | 56 + .../openshift/160-local-storage.windup.yaml | 194 ++ .../openshift/161-logging.windup.yaml | 58 + .../rulesets/openshift/162-mail.windup.yaml | 36 + .../openshift/163-session.windup.yaml | 74 + .../164-socket-communication.windup.yaml | 52 + resources/rulesets/openshift/image.svg | 7 + resources/rulesets/openshift/ruleset.yaml | 3 + .../rulesets/os/165-os-specific.windup.yaml | 34 + resources/rulesets/os/image.svg | 7 + resources/rulesets/os/ruleset.yaml | 3 + .../quarkus/166-cdi-to-quarkus.windup.yaml | 70 + .../quarkus/167-jaxrs-to-quarkus.windup.yaml | 38 + ...springboot-actuator-to-quarkus.windup.yaml | 46 + ...ingboot-annotations-to-quarkus.windup.yaml | 24 + ...70-springboot-cache-to-quarkus.windup.yaml | 23 + ...cloud-config-client-to-quarkus.windup.yaml | 26 + ...springboot-data-jpa-to-quarkus.windup.yaml | 27 + ...springboot-devtools-to-quarkus.windup.yaml | 22 + .../174-springboot-di-to-quarkus.windup.yaml | 77 + ...75-springboot-generic-catchall.windup.yaml | 26 + ...ingboot-integration-to-quarkus.windup.yaml | 39 + .../177-springboot-jmx-to-quarkus.windup.yaml | 37 + ...-springboot-metrics-to-quarkus.windup.yaml | 53 + ...ringboot-parent-pom-to-quarkus.windup.yaml | 32 + ...-springboot-plugins-to-quarkus.windup.yaml | 23 + ...ringboot-properties-to-quarkus.windup.yaml | 132 + ...pringboot-scheduled-to-quarkus.windup.yaml | 20 + ...springboot-security-to-quarkus.windup.yaml | 28 + ...84-springboot-shell-to-quarkus.windup.yaml | 23 + .../185-springboot-web-to-quarkus.windup.yaml | 64 + ...6-springboot-webmvc-to-quarkus.windup.yaml | 47 + resources/rulesets/quarkus/image.svg | 7 + resources/rulesets/quarkus/ruleset.yaml | 3 + ...springboot-associated-artifacts.rhamt.yaml | 335 +++ .../rhr/188-springboot-rhr.rhamt.yaml | 74 + resources/rulesets/rhr/image.svg | 7 + resources/rulesets/rhr/ruleset.yaml | 3 + .../03-web-technology-usage.windup.yaml | 211 ++ ...st-frameworks-technology-usage.windup.yaml | 518 ++++ .../08-security-technology-usage.windup.yaml | 380 +++ ...observability-technology-usage.windup.yaml | 28 + ...-non-xml-rules-technology-usage.rhamt.yaml | 238 ++ .../13-mvc-technology-usage.windup.yaml | 714 +++++ .../14-messaging-technology-usage.windup.yaml | 1 + .../15-markup-technology-usage.windup.yaml | 14 + .../17-logging-technology-usage.windup.yaml | 406 +++ .../19-jta-technology-usage.windup.yaml | 293 ++ .../190-3rd-party.windup.yaml | 285 ++ .../192-clustering.windup.yaml | 35 + .../194-configuration-management.windup.yaml | 81 + .../197-discovery-target.windup.yaml | 1 + .../technology-usage/199-ejb.windup.yaml | 18 + .../201-embedded-framework.windup.yaml | 950 +++++++ .../204-integration.windup.yaml | 256 ++ .../technology-usage/207-javase.windup.yaml | 36 + .../technology-usage/209-jta.windup.yaml | 336 +++ .../21-javase-technology-usage.windup.yaml | 14 + .../211-logging-usage.windup.yaml | 405 +++ .../technology-usage/215-mvc.windup.yaml | 810 ++++++ .../218-observability.windup.yaml | 47 + .../22-javaee-technology-usage.windup.yaml | 861 ++++++ .../technology-usage/220-security.windup.yaml | 409 +++ .../221-spring-catchall.windup.yaml | 15 + .../223-test-frameworks-usage.windup.yaml | 555 ++++ .../technology-usage/225-web.windup.yaml | 231 ++ ...4-integration-technology-usage.windup.yaml | 210 ++ .../25-http-technology-usage.windup.yaml | 1 + ...ded-framework-technology-usage.windup.yaml | 1078 ++++++++ .../29-ejb-technology-usage.windup.yaml | 14 + .../31-database-technology-usage.windup.yaml | 252 ++ .../32-connect-technology-usage.windup.yaml | 340 +++ ...on-management-technology-usage.windup.yaml | 42 + ...36-clustering-technology-usage.windup.yaml | 28 + .../38-3rd-party-technology-usage.windup.yaml | 266 ++ resources/rulesets/technology-usage/image.svg | 3 + .../rulesets/technology-usage/ruleset.yaml | 3 + resources/tags.yaml | 0 285 files changed, 44982 insertions(+) create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 cmd/prepare.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 hack/rulesets.yaml create mode 100644 pkg/doc.go create mode 100644 pkg/jobfunction.go create mode 100644 pkg/ruleset.go create mode 100644 pkg/seed.go create mode 100644 pkg/tagcategory.go create mode 100644 resources/jobfunctions.yaml create mode 100644 resources/rulesets.yaml create mode 100644 resources/rulesets/00-discovery/0.yaml create mode 100644 resources/rulesets/00-discovery/image.svg create mode 100644 resources/rulesets/00-discovery/ruleset.yaml create mode 100644 resources/rulesets/azure/01-azure-file-system.windup.yaml create mode 100644 resources/rulesets/azure/02-azure-logging.windup.yaml create mode 100644 resources/rulesets/azure/03-azure-os-specific.windup.yaml create mode 100644 resources/rulesets/azure/04-azure-password.windup.yaml create mode 100644 resources/rulesets/azure/05-eap-to-azure-appservice-certificates.windup.yaml create mode 100644 resources/rulesets/azure/06-eap-to-azure-appservice-datasource-driver.windup.yaml create mode 100644 resources/rulesets/azure/07-eap-to-azure-appservice-environment-variables.windup.yaml create mode 100644 resources/rulesets/azure/08-eap-to-azure-appservice-pom.windup.yaml create mode 100644 resources/rulesets/azure/09-spring-boot-to-azure-apm.windup.yaml create mode 100644 resources/rulesets/azure/10-spring-boot-to-azure-cache.windup.yaml create mode 100644 resources/rulesets/azure/11-spring-boot-to-azure-config-server.windup.yaml create mode 100644 resources/rulesets/azure/12-spring-boot-to-azure-database.windup.yaml create mode 100644 resources/rulesets/azure/13-spring-boot-to-azure-eureka.windup.yaml create mode 100644 resources/rulesets/azure/14-spring-boot-to-azure-feign.windup.yaml create mode 100644 resources/rulesets/azure/15-spring-boot-to-azure-identity-provider.windup.yaml create mode 100644 resources/rulesets/azure/16-spring-boot-to-azure-java-fx.windup.yaml create mode 100644 resources/rulesets/azure/17-spring-boot-to-azure-jms-broker.windup.yaml create mode 100644 resources/rulesets/azure/18-spring-boot-to-azure-mq-config.windup.yaml create mode 100644 resources/rulesets/azure/19-spring-boot-to-azure-port.windup.yaml create mode 100644 resources/rulesets/azure/20-spring-boot-to-azure-schedule-job.windup.yaml create mode 100644 resources/rulesets/azure/21-spring-boot-to-azure-static-content.windup.yaml create mode 100644 resources/rulesets/azure/22-spring-boot-to-azure-swing.windup.yaml create mode 100644 resources/rulesets/azure/23-spring-boot-to-azure-version.windup.yaml create mode 100644 resources/rulesets/azure/24-spring-boot-to-azure-zipkin.windup.yaml create mode 100644 resources/rulesets/azure/25-spring-cloud-to-azure-version.windup.yaml create mode 100644 resources/rulesets/azure/26-tomcat-to-azure-external-resources.windup.yaml create mode 100644 resources/rulesets/azure/image.svg create mode 100644 resources/rulesets/azure/ruleset.yaml create mode 100644 resources/rulesets/camel3/27-component-changes.windup.yaml create mode 100644 resources/rulesets/camel3/28-java-dsl-changes.windup.yaml create mode 100644 resources/rulesets/camel3/29-java-generic-information.windup.yaml create mode 100644 resources/rulesets/camel3/30-java-multiple-camelcontexts-per-application-not-supported.windup.yaml create mode 100644 resources/rulesets/camel3/31-xml-dsl-changes.windup.yaml create mode 100644 resources/rulesets/camel3/32-xml-java-versions.windup.yaml create mode 100644 resources/rulesets/camel3/33-xml-moved-components.windup.yaml create mode 100644 resources/rulesets/camel3/34-xml-removed-components.windup.yaml create mode 100644 resources/rulesets/camel3/35-xml-renamed-components.windup.yaml create mode 100644 resources/rulesets/camel3/image.svg create mode 100644 resources/rulesets/camel3/ruleset.yaml create mode 100644 resources/rulesets/droolsjbpm/36-kie-api.windup.yaml create mode 100644 resources/rulesets/droolsjbpm/image.svg create mode 100644 resources/rulesets/droolsjbpm/ruleset.yaml create mode 100644 resources/rulesets/eap6/37-commonj.windup.yaml create mode 100644 resources/rulesets/eap6/38-xml-glassfish.windup.yaml create mode 100644 resources/rulesets/eap6/39-java-ee-jaxrpc.windup.yaml create mode 100644 resources/rulesets/eap6/40-seam-java.windup.yaml create mode 100644 resources/rulesets/eap6/41-seam-ui.windup.yaml create mode 100644 resources/rulesets/eap6/42-xml-webservices.windup.yaml create mode 100644 resources/rulesets/eap6/43-eap4-xml-config.windup.yaml create mode 100644 resources/rulesets/eap6/44-jboss-eap5-java.windup.yaml create mode 100644 resources/rulesets/eap6/45-jboss-eap5-xml.windup.yaml create mode 100644 resources/rulesets/eap6/46-resteasy.windup.yaml create mode 100644 resources/rulesets/eap6/47-xml-jonas.windup.yaml create mode 100644 resources/rulesets/eap6/48-jotm.rhamt.yaml create mode 100644 resources/rulesets/eap6/49-jrun-catchall.windup.yaml create mode 100644 resources/rulesets/eap6/50-xml-jrun.windup.yaml create mode 100644 resources/rulesets/eap6/51-jsp.windup.yaml create mode 100644 resources/rulesets/eap6/52-log4j.windup.yaml create mode 100644 resources/rulesets/eap6/53-xml-orion.windup.yaml create mode 100644 resources/rulesets/eap6/54-xml-resin.windup.yaml create mode 100644 resources/rulesets/eap6/55-environment-dependent.windup.yaml create mode 100644 resources/rulesets/eap6/56-generic-catchall.windup.yaml create mode 100644 resources/rulesets/eap6/57-ignore-references.windup.yaml create mode 100644 resources/rulesets/eap6/image.svg create mode 100644 resources/rulesets/eap6/ruleset.yaml create mode 100644 resources/rulesets/eap7/100-websphere-mq.windup.yaml create mode 100644 resources/rulesets/eap7/101-websphere-mqe.windup.yaml create mode 100644 resources/rulesets/eap7/102-websphere-other.windup.yaml create mode 100644 resources/rulesets/eap7/103-websphere-xml.windup.yaml create mode 100644 resources/rulesets/eap7/58-jboss-eap4and5to6and7-java.windup.yaml create mode 100644 resources/rulesets/eap7/59-jboss-eap4and5to6and7-xml.windup.yaml create mode 100644 resources/rulesets/eap7/60-base64.windup.yaml create mode 100644 resources/rulesets/eap7/61-jaxrpc.windup.yaml create mode 100644 resources/rulesets/eap7/62-jboss-eap5-7-java.windup.yaml create mode 100644 resources/rulesets/eap7/63-jboss-eap5-7-xml.windup.yaml create mode 100644 resources/rulesets/eap7/64-jboss-eap5and6to7-java.windup.yaml create mode 100644 resources/rulesets/eap7/65-jboss-eap5and6to7-xml.windup.yaml create mode 100644 resources/rulesets/eap7/66-resteasy.windup.yaml create mode 100644 resources/rulesets/eap7/67-eap6-xml.windup.yaml create mode 100644 resources/rulesets/eap7/68-eap6.windup.yaml create mode 100644 resources/rulesets/eap7/69-hibernate4-xml.windup.yaml create mode 100644 resources/rulesets/eap7/70-hibernate4.windup.yaml create mode 100644 resources/rulesets/eap7/71-hsearch.windup.yaml create mode 100644 resources/rulesets/eap7/72-jax-ws.windup.yaml create mode 100644 resources/rulesets/eap7/73-resteasy.windup.yaml create mode 100644 resources/rulesets/eap7/74-ws-security.windup.yaml create mode 100644 resources/rulesets/eap7/75-hibernate50-51.windup.yaml create mode 100644 resources/rulesets/eap7/76-hibernate51-53.windup.yaml create mode 100644 resources/rulesets/eap7/77-picketlink25.windup.yaml create mode 100644 resources/rulesets/eap7/78-resteasy30-36.windup.yaml create mode 100644 resources/rulesets/eap7/79-deprecated-singletonpolicy.rhamt.yaml create mode 100644 resources/rulesets/eap7/80-maven-artemis-jms-client.rhamt.yaml create mode 100644 resources/rulesets/eap7/81-maven-javax-to-jakarta.rhamt.yaml create mode 100644 resources/rulesets/eap7/82-maven-jboss-rmi-api_1.0_spec.rhamt.yaml create mode 100644 resources/rulesets/eap7/83-move-to-microprofile-rest-client-1.3.rhamt.yaml create mode 100644 resources/rulesets/eap7/84-singleton-sessionbean.rhamt.yaml create mode 100644 resources/rulesets/eap7/85-microprofile_removed_from_eap.mta.yaml create mode 100644 resources/rulesets/eap7/86-embedded-framework-libraries.windup.yaml create mode 100644 resources/rulesets/eap7/87-java-wsdl-mapping.yaml create mode 100644 resources/rulesets/eap7/88-weblogic-catchall.windup.yaml create mode 100644 resources/rulesets/eap7/89-weblogic-ejb.windup.yaml create mode 100644 resources/rulesets/eap7/90-weblogic-ignore-references.windup.yaml create mode 100644 resources/rulesets/eap7/91-weblogic-jms.windup.yaml create mode 100644 resources/rulesets/eap7/92-weblogic-services.windup.yaml create mode 100644 resources/rulesets/eap7/93-weblogic-webapp.windup.yaml create mode 100644 resources/rulesets/eap7/94-weblogic-webservices.windup.yaml create mode 100644 resources/rulesets/eap7/95-weblogic-xml-descriptors.windup.yaml create mode 100644 resources/rulesets/eap7/96-weblogic.windup.yaml create mode 100644 resources/rulesets/eap7/97-websphere-catchall.windup.yaml create mode 100644 resources/rulesets/eap7/98-websphere-ignore-references.windup.yaml create mode 100644 resources/rulesets/eap7/99-websphere-jms.windup.yaml create mode 100644 resources/rulesets/eap7/image.svg create mode 100644 resources/rulesets/eap7/ruleset.yaml create mode 100644 resources/rulesets/eap8/104-eap8-faces.windup.yaml create mode 100644 resources/rulesets/eap8/105-eap8-resteasy.windup.yaml create mode 100644 resources/rulesets/eap8/106-eap8-xml-binding.windup.yaml create mode 100644 resources/rulesets/eap8/107-eap8.ejb.windup.yaml create mode 100644 resources/rulesets/eap8/108-empty-beans-xml.windup.yaml create mode 100644 resources/rulesets/eap8/109-hibernate-6.2.windup.yaml create mode 100644 resources/rulesets/eap8/110-hibernate-search-6.1.windup.yaml create mode 100644 resources/rulesets/eap8/111-hibernate-search.windup.yaml create mode 100644 resources/rulesets/eap8/112-hibernate6.windup.yaml create mode 100644 resources/rulesets/eap8/113-jakarta-cdi.windup.yaml create mode 100644 resources/rulesets/eap8/114-jakarta-el.windup.yaml create mode 100644 resources/rulesets/eap8/115-jakarta-faces.windup.yaml create mode 100644 resources/rulesets/eap8/116-jakarta-json-binding.windup.yaml create mode 100644 resources/rulesets/eap8/117-jakarta-soap.windup.yaml create mode 100644 resources/rulesets/eap8/118-jakarta-ws-rs.windup.yaml create mode 100644 resources/rulesets/eap8/119-javaee-to-jakarta-namespaces.windup.yaml create mode 100644 resources/rulesets/eap8/120-javax-to-jakarta-bootstrapping-files.windup.yaml create mode 100644 resources/rulesets/eap8/121-javax-to-jakarta-dependencies.windup.yaml create mode 100644 resources/rulesets/eap8/122-javax-to-jakarta-package.windup.yaml create mode 100644 resources/rulesets/eap8/123-javax-to-jakarta-properties.windup.yaml create mode 100644 resources/rulesets/eap8/124-javax-to-jakarta-servlet.windup.yaml create mode 100644 resources/rulesets/eap8/125-jboss-dependencies.windup.yaml create mode 100644 resources/rulesets/eap8/126-keycloak-openid.windup.yaml create mode 100644 resources/rulesets/eap8/127-legacy-vault.windup.yaml create mode 100644 resources/rulesets/eap8/128-login-modules.windup.yaml create mode 100644 resources/rulesets/eap8/129-picketlink.windup.yaml create mode 100644 resources/rulesets/eap8/image.svg create mode 100644 resources/rulesets/eap8/ruleset.yaml create mode 100644 resources/rulesets/eapxp/130-eapxp_bootable_jar_maven_plugin_configuration_changes.mta.yaml create mode 100644 resources/rulesets/eapxp/131-remove_thorntail_yaml_configuration_files.mta.yaml create mode 100644 resources/rulesets/eapxp/132-replace_thorntail_boms.mta.yaml create mode 100644 resources/rulesets/eapxp/133-replace_thorntail_fractions.mta.yaml create mode 100644 resources/rulesets/eapxp/134-replace_thorntail_maven_plugin.mta.yaml create mode 100644 resources/rulesets/eapxp/image.svg create mode 100644 resources/rulesets/eapxp/ruleset.yaml create mode 100644 resources/rulesets/filemappings/135-default-package-to-organization-names.windup.yaml create mode 100644 resources/rulesets/filemappings/136-file-mappings.windup.yaml create mode 100644 resources/rulesets/filemappings/image.svg create mode 100644 resources/rulesets/filemappings/ruleset.yaml create mode 100644 resources/rulesets/fuse-service-works/140-soa-p-5.windup.yaml create mode 100644 resources/rulesets/fuse-service-works/image.svg create mode 100644 resources/rulesets/fuse-service-works/ruleset.yaml create mode 100644 resources/rulesets/fuse/137-sonic-catchall.windup.yaml create mode 100644 resources/rulesets/fuse/138-sonic-esb.windup.yaml create mode 100644 resources/rulesets/fuse/139-xml-sonic-esb.windup.yaml create mode 100644 resources/rulesets/fuse/image.svg create mode 100644 resources/rulesets/fuse/ruleset.yaml create mode 100644 resources/rulesets/hibernate/141-hibernate-catchall.windup.yaml create mode 100644 resources/rulesets/hibernate/142-hibernate-xml.windup.yaml create mode 100644 resources/rulesets/hibernate/143-hibernate.windup.yaml create mode 100644 resources/rulesets/hibernate/image.svg create mode 100644 resources/rulesets/hibernate/ruleset.yaml create mode 100644 resources/rulesets/jakarta-ee9/144-spring-components.windup.yaml create mode 100644 resources/rulesets/jakarta-ee9/image.svg create mode 100644 resources/rulesets/jakarta-ee9/ruleset.yaml create mode 100644 resources/rulesets/openjdk11/145-java-removals.windup.yaml create mode 100644 resources/rulesets/openjdk11/146-removed-javaee-modules.windup.yaml create mode 100644 resources/rulesets/openjdk11/image.svg create mode 100644 resources/rulesets/openjdk11/ruleset.yaml create mode 100644 resources/rulesets/openjdk17/147-applet-api-deprecation.windup.yaml create mode 100644 resources/rulesets/openjdk17/148-lombok.windup.yaml create mode 100644 resources/rulesets/openjdk17/149-removed-classes.windup.yaml create mode 100644 resources/rulesets/openjdk17/150-removed-packages.windup.yaml create mode 100644 resources/rulesets/openjdk17/151-security-manager-deprecation.windup.yaml create mode 100644 resources/rulesets/openjdk17/image.svg create mode 100644 resources/rulesets/openjdk17/ruleset.yaml create mode 100644 resources/rulesets/openjdk7/152-oracle2openjdk.rhamt.yaml create mode 100644 resources/rulesets/openjdk7/image.svg create mode 100644 resources/rulesets/openjdk7/ruleset.yaml create mode 100644 resources/rulesets/openliberty/153-liberty-java-unavailable-technologies.windup.yaml create mode 100644 resources/rulesets/openliberty/154-liberty-websphere-unavailable-technologies.windup.yaml create mode 100644 resources/rulesets/openliberty/image.svg create mode 100644 resources/rulesets/openliberty/ruleset.yaml create mode 100644 resources/rulesets/openshift/155-embedded-cache-libraries.windup.yaml create mode 100644 resources/rulesets/openshift/156-java-rmi.windup.yaml create mode 100644 resources/rulesets/openshift/157-java-rpc.windup.yaml create mode 100644 resources/rulesets/openshift/158-jca.windup.yaml create mode 100644 resources/rulesets/openshift/159-jni-native-code.windup.yaml create mode 100644 resources/rulesets/openshift/160-local-storage.windup.yaml create mode 100644 resources/rulesets/openshift/161-logging.windup.yaml create mode 100644 resources/rulesets/openshift/162-mail.windup.yaml create mode 100644 resources/rulesets/openshift/163-session.windup.yaml create mode 100644 resources/rulesets/openshift/164-socket-communication.windup.yaml create mode 100644 resources/rulesets/openshift/image.svg create mode 100644 resources/rulesets/openshift/ruleset.yaml create mode 100644 resources/rulesets/os/165-os-specific.windup.yaml create mode 100644 resources/rulesets/os/image.svg create mode 100644 resources/rulesets/os/ruleset.yaml create mode 100644 resources/rulesets/quarkus/166-cdi-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/167-jaxrs-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/168-springboot-actuator-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/169-springboot-annotations-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/170-springboot-cache-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/171-springboot-cloud-config-client-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/172-springboot-data-jpa-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/173-springboot-devtools-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/174-springboot-di-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/175-springboot-generic-catchall.windup.yaml create mode 100644 resources/rulesets/quarkus/176-springboot-integration-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/177-springboot-jmx-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/178-springboot-metrics-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/179-springboot-parent-pom-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/180-springboot-plugins-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/181-springboot-properties-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/182-springboot-scheduled-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/183-springboot-security-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/184-springboot-shell-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/185-springboot-web-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/186-springboot-webmvc-to-quarkus.windup.yaml create mode 100644 resources/rulesets/quarkus/image.svg create mode 100644 resources/rulesets/quarkus/ruleset.yaml create mode 100644 resources/rulesets/rhr/187-springboot-associated-artifacts.rhamt.yaml create mode 100644 resources/rulesets/rhr/188-springboot-rhr.rhamt.yaml create mode 100644 resources/rulesets/rhr/image.svg create mode 100644 resources/rulesets/rhr/ruleset.yaml create mode 100644 resources/rulesets/technology-usage/03-web-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/05-test-frameworks-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/08-security-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/10-observability-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/11-non-xml-rules-technology-usage.rhamt.yaml create mode 100644 resources/rulesets/technology-usage/13-mvc-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/14-messaging-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/15-markup-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/17-logging-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/19-jta-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/190-3rd-party.windup.yaml create mode 100644 resources/rulesets/technology-usage/192-clustering.windup.yaml create mode 100644 resources/rulesets/technology-usage/194-configuration-management.windup.yaml create mode 100644 resources/rulesets/technology-usage/197-discovery-target.windup.yaml create mode 100644 resources/rulesets/technology-usage/199-ejb.windup.yaml create mode 100644 resources/rulesets/technology-usage/201-embedded-framework.windup.yaml create mode 100644 resources/rulesets/technology-usage/204-integration.windup.yaml create mode 100644 resources/rulesets/technology-usage/207-javase.windup.yaml create mode 100644 resources/rulesets/technology-usage/209-jta.windup.yaml create mode 100644 resources/rulesets/technology-usage/21-javase-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/211-logging-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/215-mvc.windup.yaml create mode 100644 resources/rulesets/technology-usage/218-observability.windup.yaml create mode 100644 resources/rulesets/technology-usage/22-javaee-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/220-security.windup.yaml create mode 100644 resources/rulesets/technology-usage/221-spring-catchall.windup.yaml create mode 100644 resources/rulesets/technology-usage/223-test-frameworks-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/225-web.windup.yaml create mode 100644 resources/rulesets/technology-usage/24-integration-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/25-http-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/27-embedded-framework-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/29-ejb-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/31-database-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/32-connect-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/34-configuration-management-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/36-clustering-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/38-3rd-party-technology-usage.windup.yaml create mode 100644 resources/rulesets/technology-usage/image.svg create mode 100644 resources/rulesets/technology-usage/ruleset.yaml create mode 100644 resources/tags.yaml diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under 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. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4956919 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +BUILD = -o bin/prepare github.com/konveyor/tackle2-seed/cmd +PKG = ./cmd/... ./pkg/... + +cmd: fmt vet + go build ${BUILD} + +fmt: + go fmt ${PKG} + +vet: + go vet ${PKG} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..785f3c4 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# tackle2-seed +Hub database seeds and seeding tools. + +## Code of Conduct +Refer to Konveyor's Code of Conduct [here](https://github.com/konveyor/community/blob/main/CODE_OF_CONDUCT.md). diff --git a/cmd/prepare.go b/cmd/prepare.go new file mode 100644 index 0000000..935c94b --- /dev/null +++ b/cmd/prepare.go @@ -0,0 +1,142 @@ +package main + +import ( + "fmt" + "github.com/google/uuid" + "github.com/konveyor/tackle2-seed/pkg" + "gopkg.in/yaml.v3" + "os" + "path" + "strings" + "syscall" +) + +func main() { + if len(os.Args) != 3 { + fmt.Printf("usage: %s \n", os.Args[0]) + syscall.Exit(1) + } + + inPath := os.Args[1] + outPath := os.Args[2] + + seeds, _, err := pkg.ReadFromDir(inPath, pkg.AllVersions) + if err != nil { + panic(err) + } + seedsByFile := make(map[string][]*pkg.Seed) + rulesetUUIDs := make(map[string]string) + + // apply missing UUIDs + for i := range seeds { + seed := &seeds[i] + switch strings.ToLower(seed.Kind) { + case pkg.KindJobFunction: + for i := range seed.Items { + item := &seed.Items[i] + jf := pkg.JobFunction{} + err = item.Decode(&jf) + if err != nil { + panic(err) + } + if jf.UUID == "" { + jf.UUID = uuid.NewString() + } + err = item.Encode(jf) + if err != nil { + panic(err) + } + } + case pkg.KindTagCategory: + for _, item := range seed.Items { + tc := pkg.TagCategory{} + err = item.Decode(&tc) + if err != nil { + panic(err) + } + if tc.UUID == "" { + tc.UUID = uuid.NewString() + } + for _, tag := range tc.Tags { + if tag.UUID == "" { + tag.UUID = uuid.NewString() + } + } + err = item.Encode(tc) + if err != nil { + panic(err) + } + } + case pkg.KindRuleSet: + for i := range seed.Items { + item := &seed.Items[i] + rs := pkg.RuleSet{} + err = item.Decode(&rs) + if err != nil { + panic(err) + } + if rs.UUID == "" { + rs.UUID = uuid.NewString() + } + rulesetUUIDs[rs.Directory] = rs.UUID + err = item.Encode(rs) + if err != nil { + panic(err) + } + } + default: + } + seedsByFile[seed.Filename()] = append(seedsByFile[seed.Filename()], seed) + } + + // resolve ruleset dependencies + for i := range seeds { + seed := &seeds[i] + switch strings.ToLower(seed.Kind) { + case pkg.KindRuleSet: + for j := range seed.Items { + item := &seed.Items[j] + rs := pkg.RuleSet{} + err = item.Decode(&rs) + if err != nil { + panic(err) + } + + for k, dep := range rs.Dependencies { + if strings.HasPrefix(dep, "@") { + u, found := rulesetUUIDs[dep[1:]] + if !found { + fmt.Printf("Could not resolve RuleSet depdendency `%s`\n", dep) + continue + } + rs.Dependencies[k] = u + } + } + err = item.Encode(rs) + if err != nil { + panic(err) + } + } + default: + } + } + + for file, list := range seedsByFile { + func() { + f, fErr := os.Create(path.Join(outPath, file)) + if fErr != nil { + panic(fErr) + } + defer f.Close() + + encoder := yaml.NewEncoder(f) + for _, seed := range list { + err = encoder.Encode(seed) + if err != nil { + panic(err) + } + } + defer encoder.Close() + }() + } +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..7d69e35 --- /dev/null +++ b/go.mod @@ -0,0 +1,9 @@ +module github.com/konveyor/tackle2-seed + +go 1.19 + +require ( + github.com/google/uuid v1.3.0 // indirect + github.com/jortel/go-utils v0.1.1 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..de14aef --- /dev/null +++ b/go.sum @@ -0,0 +1,7 @@ +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/jortel/go-utils v0.1.1 h1:zkAAA+i5Z+151zUG7lkjILGxSo3pQ4bkLTRcPTCy3hs= +github.com/jortel/go-utils v0.1.1/go.mod h1:sl6vav63ODI0sUfSz8e0pImNmCVFnVsuOFhZmwe9GDk= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/hack/rulesets.yaml b/hack/rulesets.yaml new file mode 100644 index 0000000..56a8038 --- /dev/null +++ b/hack/rulesets.yaml @@ -0,0 +1,85 @@ +kind: RuleSet +version: 7 +items: + - dir: rulesets/00-discovery + - dir: rulesets/azure + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/camel3 + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/droolsjbpm + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/eap6 + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/eap7 + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/eap8 + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/eapxp + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/filemappings + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/fuse + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/fuse-service-works + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/hibernate + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/jakarta-ee9 + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/openjdk7 + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/openjdk11 + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/openjdk17 + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/openliberty + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/openshift + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/os + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/quarkus + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/rhr + dependencies: + - "@rulesets/00-discovery" + - "@rulesets/technology-usage" + - dir: rulesets/technology-usage \ No newline at end of file diff --git a/pkg/doc.go b/pkg/doc.go new file mode 100644 index 0000000..c1caffe --- /dev/null +++ b/pkg/doc.go @@ -0,0 +1 @@ +package pkg diff --git a/pkg/jobfunction.go b/pkg/jobfunction.go new file mode 100644 index 0000000..76688ad --- /dev/null +++ b/pkg/jobfunction.go @@ -0,0 +1,7 @@ +package pkg + +// JobFunction is a representation of the Hub's JobFunction that is fit for seeding. +type JobFunction struct { + UUID string + Name string +} diff --git a/pkg/ruleset.go b/pkg/ruleset.go new file mode 100644 index 0000000..957a987 --- /dev/null +++ b/pkg/ruleset.go @@ -0,0 +1,171 @@ +package pkg + +import ( + liberr "github.com/jortel/go-utils/error" + "gopkg.in/yaml.v3" + "os" + "path" + "strings" +) + +// RuleSet constants +const ( + RuleSuffix = ".yaml" + RuleSetYaml = "ruleset.yaml" + RuleSetImage = "image.svg" +) + +// Rule seed representation. +type Rule struct { + labels map[string]bool + checksum []byte + Path string +} + +// AppendLabel adds a label to the rule without duplication. +func (r *Rule) AppendLabel(label string) { + if r.labels == nil { + r.labels = make(map[string]bool) + } + r.labels[label] = true +} + +// Labels returns a slice of the rule's labels. +func (r *Rule) Labels() (labels []string) { + for l, _ := range r.labels { + labels = append(labels, l) + } + return +} + +// RuleSet seed representation. +type RuleSet struct { + UUID string `yaml:",omitempty"` + Name string `yaml:",omitempty"` + Description string `yaml:",omitempty"` + Labels []string `yaml:",omitempty"` + Directory string `yaml:",omitempty"` + Dependencies []string `yaml:",omitempty"` + Checksum string `yaml:",omitempty"` + Rules []Rule `yaml:"-"` + seedDir string `yaml:"-"` +} + +// Dir returns the path to the directory containing the rule files. +func (r *RuleSet) Dir() string { + return path.Join(r.seedDir, r.Directory) +} + +// Yaml returns the path to the ruleset.yaml file. +func (r *RuleSet) Yaml() string { + return path.Join(r.seedDir, r.Directory, RuleSetYaml) +} + +// Image returns the path to the image.svg file. +func (r *RuleSet) Image() string { + return path.Join(r.seedDir, r.Directory, RuleSetImage) +} + +// Load populates the seed representation with values +// from the analyzer ruleset yaml. +func (r *RuleSet) Load() (err error) { + err = r.readRuleSet() + if err != nil { + return + } + err = r.readRules() + if err != nil { + return + } + return +} + +// readRuleSet reads the analyzer ruleset yaml to set +// fields on the seed RuleSet representation. +func (r *RuleSet) readRuleSet() (err error) { + type analyzerRuleset struct { + Name string + Description string + Labels []string + } + rs := analyzerRuleset{} + + f, err := os.Open(r.Yaml()) + if err != nil { + err = liberr.Wrap(err) + return + } + defer f.Close() + + decoder := yaml.NewDecoder(f) + err = decoder.Decode(&rs) + if err != nil { + err = liberr.Wrap(err) + return + } + if r.Name == "" { + r.Name = rs.Name + } + if r.Description == "" { + r.Description = rs.Description + } + r.Labels = rs.Labels + r.Rules = []Rule{{Path: r.Yaml()}} + return +} + +// readRules reads the analyzer rule files from the dir +// specified by the RuleSet's Directory field relative to the +// supplied base path, and uses the contents to populate +// seed Rule representations on the RuleSet. +func (r *RuleSet) readRules() (err error) { + entries, err := os.ReadDir(r.Dir()) + if err != nil { + err = liberr.Wrap(err) + } + for _, entry := range entries { + if entry.IsDir() { + continue + } + if entry.Name() == RuleSetYaml { + continue + } + if !strings.HasSuffix(entry.Name(), RuleSuffix) { + continue + } + err = func() (err error) { + filePath := path.Join(r.Dir(), entry.Name()) + f, err := os.Open(filePath) + if err != nil { + err = liberr.Wrap(err) + return + } + defer f.Close() + + type analyzerRule struct { + Labels []string + } + analyzerRules := []analyzerRule{} + decoder := yaml.NewDecoder(f) + err = decoder.Decode(&analyzerRules) + if err != nil { + err = liberr.Wrap(err) + return + } + + rule := Rule{Path: filePath} + for _, ar := range analyzerRules { + for _, label := range ar.Labels { + rule.AppendLabel(label) + } + } + for _, label := range r.Labels { + rule.AppendLabel(label) + } + r.Rules = append(r.Rules, rule) + return + }() + } + + return +} diff --git a/pkg/seed.go b/pkg/seed.go new file mode 100644 index 0000000..ab9efe7 --- /dev/null +++ b/pkg/seed.go @@ -0,0 +1,163 @@ +package pkg + +import ( + "crypto/sha256" + "errors" + "fmt" + liberr "github.com/jortel/go-utils/error" + "gopkg.in/yaml.v3" + "io" + "os" + "path" + "strings" +) + +const ( + AllVersions = 0 +) + +// Seedable kinds +const ( + KindJobFunction = "jobfunction" + KindRuleSet = "ruleset" + KindTagCategory = "tagcategory" +) + +// Seed document structure. +type Seed struct { + path string `yaml:"-"` + Kind string + Version uint + Items []yaml.Node +} + +// Filename returns the name of the file containing this Seed. +func (r *Seed) Filename() string { + return path.Base(r.path) +} + +// Dir returns the path to the directory that contains this Seed. +func (r *Seed) Dir() string { + return path.Dir(r.path) +} + +// DecodeItems decodes the yaml nodes of the Items slice on the Seed +// into their proper representations based on the Seed's Kind. +func (r *Seed) DecodeItems() (decoded []interface{}, err error) { + for _, encoded := range r.Items { + switch strings.ToLower(r.Kind) { + case KindTagCategory: + item := TagCategory{} + err = encoded.Decode(&item) + if err != nil { + return + } + decoded = append(decoded, item) + case KindJobFunction: + item := JobFunction{} + err = encoded.Decode(&item) + if err != nil { + return + } + decoded = append(decoded, item) + case KindRuleSet: + item := RuleSet{seedDir: r.Dir()} + err = encoded.Decode(&item) + if err != nil { + return + } + err = item.Load() + if err != nil { + return + } + decoded = append(decoded, item) + default: + err = liberr.New("unknown kind") + return + } + } + + return +} + +// ReadFromDir reads all seeds from the given directory. +func ReadFromDir(dir string, version uint) (seeds []Seed, checksum []byte, err error) { + entries, err := os.ReadDir(dir) + if err != nil { + err = liberr.Wrap(err) + } + + h := sha256.New() + + for _, entry := range entries { + if strings.HasPrefix(entry.Name(), ".") { + continue + } + if entry.IsDir() { + continue + } + s, sum, rErr := ReadFromFile(path.Join(dir, entry.Name()), version) + if rErr != nil { + err = rErr + return + } + _, err = fmt.Fprint(h, sum) + if err != nil { + err = liberr.Wrap(err) + } + seeds = append(seeds, s...) + } + + checksum = h.Sum(nil) + return +} + +// ReadFromFile reads all seeds from the given file. +func ReadFromFile(filePath string, version uint) (seeds []Seed, checksum []byte, err error) { + f, err := os.Open(filePath) + if err != nil { + err = liberr.Wrap(err) + return + } + defer f.Close() + + checksum, err = Checksum(f) + if err != nil { + return + } + _, err = f.Seek(0, 0) + if err != nil { + err = liberr.Wrap(err) + return + } + + decoder := yaml.NewDecoder(f) + for { + seed := Seed{path: filePath} + err = decoder.Decode(&seed) + if err != nil { + if errors.Is(err, io.EOF) { + err = nil + break + } + err = liberr.Wrap(err) + return + } + if version == AllVersions || seed.Version == version { + seeds = append(seeds, seed) + } + } + return +} + +// Checksum calculates a checksum for the contents of a reader. +func Checksum(r io.Reader) (sum []byte, err error) { + h := sha256.New() + _, err = io.Copy(h, r) + if err != nil { + err = liberr.Wrap(err) + return + } + sum = h.Sum(nil) + return +} diff --git a/pkg/tagcategory.go b/pkg/tagcategory.go new file mode 100644 index 0000000..8c8c4c6 --- /dev/null +++ b/pkg/tagcategory.go @@ -0,0 +1,12 @@ +package pkg + +// TagCategory is a representation of the Hub's TagCategory that is fit for seeding. +type TagCategory struct { + UUID string + Name string + Color string + Tags []struct { + UUID string + Name string + } +} diff --git a/resources/jobfunctions.yaml b/resources/jobfunctions.yaml new file mode 100644 index 0000000..e69de29 diff --git a/resources/rulesets.yaml b/resources/rulesets.yaml new file mode 100644 index 0000000..2837c53 --- /dev/null +++ b/resources/rulesets.yaml @@ -0,0 +1,110 @@ +kind: RuleSet +version: 7 +items: + - uuid: 10667615-e067-45b4-a925-563a79ea0949 + directory: rulesets/00-discovery + - uuid: 2eed70c0-305c-4061-bb92-d638ee834e47 + directory: rulesets/azure + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: e92057bc-5b66-4f7d-976f-f76aa3ad50e6 + directory: rulesets/camel3 + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: eb900f9e-6ff3-413d-9023-167765ce1311 + directory: rulesets/droolsjbpm + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 17b03c9f-ba19-4680-a3c2-ca159c5d74f0 + directory: rulesets/eap6 + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 1a523b92-1fb3-422b-aaf7-35f43a259fb9 + directory: rulesets/eap7 + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 3c471738-dfcf-46e8-b803-df07c304acc7 + directory: rulesets/eap8 + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 288037b2-279f-4d11-9ea9-f91ff274447f + directory: rulesets/eapxp + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: d51b30c0-a0a1-49ff-a0bb-861c43343c6b + directory: rulesets/filemappings + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 66bfcc38-3816-4d87-8d10-f8374af73c34 + directory: rulesets/fuse + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 416ffaad-3d9b-4808-953e-623d9f2d7314 + directory: rulesets/fuse-service-works + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: e4db9c96-103c-409b-a347-098e7a04f172 + directory: rulesets/hibernate + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: e461ca80-60d1-4083-a298-f1983b5c9b24 + directory: rulesets/jakarta-ee9 + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 72b74cb6-dba7-452d-93a3-1a26855051e0 + directory: rulesets/openjdk7 + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: e83339db-4dd8-4b06-bb31-6dfcb29c964a + directory: rulesets/openjdk11 + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: c73c3986-64a5-4c2e-8149-fba57347af99 + directory: rulesets/openjdk17 + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 53ba6b0f-ad48-4211-9673-a2065c2a4b4d + directory: rulesets/openliberty + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: cf7aa432-5881-43dc-bdbc-a522ebd24299 + directory: rulesets/openshift + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: feb6648e-dd3c-4536-bf99-e40ee124653d + directory: rulesets/os + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 23f92444-0366-47c8-abc2-f67e6bcd95f2 + directory: rulesets/quarkus + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 9179982c-6007-4e40-b67c-9a7272e44e87 + directory: rulesets/rhr + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 + - uuid: 1b2a0eef-511c-4c07-a36a-d301b15d8207 + directory: rulesets/technology-usage + dependencies: + - 10667615-e067-45b4-a925-563a79ea0949 + - 1b2a0eef-511c-4c07-a36a-d301b15d8207 diff --git a/resources/rulesets/00-discovery/0.yaml b/resources/rulesets/00-discovery/0.yaml new file mode 100644 index 0000000..d4b6ab5 --- /dev/null +++ b/resources/rulesets/00-discovery/0.yaml @@ -0,0 +1,88 @@ +- ruleID: discover-license + description: "Discover project license" + tag: + - License={{matchingText}} + when: + or: + - builtin.filecontent: + pattern: "Apache License 1.0" + - builtin.filecontent: + pattern: "Apache License 1.1" + - builtin.filecontent: + pattern: "Apache License 2.0" + - builtin.filecontent: + pattern: "Mozilla Public License 2.0" + - builtin.filecontent: + pattern: "GNU GPL" + - builtin.filecontent: + pattern: "GNU LGPL" + - builtin.filecontent: + pattern: "CDDL" + - builtin.filecontent: + pattern: "Eclipse Public License 1.0" + - builtin.filecontent: + pattern: "BSD License" + - builtin.filecontent: + pattern: "Public Domain License" +- ruleID: hardcoded-ip-address + description: "Hardcoded IP Address\nWhen migrating environments, hard-coded IP addresses may need to be modified or eliminated." + labels: + - konveyor.io/target=cloud-readiness + when: + builtin.filecontent: + pattern: ([0-9]{1,3}\.){3}[0-9]{1,3} + filePattern: ".*\\.(java|properties)" + category: mandatory + effort: 1 + message: "When migrating environments, hard-coded IP addresses may need to be modified or eliminated." +- ruleID: discover-properties-file + description: "Properties file" + when: + builtin.file: + pattern: "^.*\\.properties$" + tag: ["Properties"] +- ruleID: discover-manifest-file + description: "Manifest file" + when: + builtin.file: + pattern: "MANIFEST.MF" + tag: ["Manifest"] +- ruleID: discover-java-files + description: "Java source files" + when: + builtin.file: + pattern: "*.java" + tag: ["Java Source"] +- ruleID: discover-maven-xml + description: "Maven XML file" + when: + builtin.file: + pattern: "pom.xml" + tag: ["Maven XML"] +- ruleID: windup-discover-ejb-configuration + tag: ["EJB XML"] + when: + builtin.xml: + xpath: "/(jboss:ejb-jar or ejb-jar)" +- ruleID: windup-discover-spring-configuration + tag: ["Spring XML"] + when: + builtin.xml: + xpath: "/beans" +- ruleID: windup-discover-jpa-configuration + tag: ["JPA XML"] + message: "Persistence unit" + when: + or: + - builtin.xml: + xpath: '/persistence[boolean(namespace-uri(/persistence)="http://java.sun.com/xml/ns/persistence")]' + - builtin.xml: + xpath: '/persistence[boolean(namespace-uri(/persistence)="http://xmlns.jcp.org/xml/ns/persistence")]' + - builtin.xml: + xpath: '/persistence[boolean(namespace-uri(/persistence)="https://jakarta.ee/xml/ns/persistence")]' +- ruleID: windup-discover-web-configuration + tag: ["Web XML"] + when: + # TODO extract version as in rules-java-ee/addon/src/main/java/org/jboss/windup/rules/apps/javaee/rules/DiscoverWebXmlRuleProvider.java + builtin.xml: + xpath: /web-app \ No newline at end of file diff --git a/resources/rulesets/00-discovery/image.svg b/resources/rulesets/00-discovery/image.svg new file mode 100644 index 0000000..cfed55b --- /dev/null +++ b/resources/rulesets/00-discovery/image.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/resources/rulesets/00-discovery/ruleset.yaml b/resources/rulesets/00-discovery/ruleset.yaml new file mode 100644 index 0000000..4ac10be --- /dev/null +++ b/resources/rulesets/00-discovery/ruleset.yaml @@ -0,0 +1,4 @@ + +name: discovery-rules +labels: +- discovery diff --git a/resources/rulesets/azure/01-azure-file-system.windup.yaml b/resources/rulesets/azure/01-azure-file-system.windup.yaml new file mode 100644 index 0000000..13ab050 --- /dev/null +++ b/resources/rulesets/azure/01-azure-file-system.windup.yaml @@ -0,0 +1,77 @@ +- category: optional + customVariables: [] + description: |- + The application uses Java APIs to read/write from the file system + The application uses Java APIs to read/write from the file system.. Any usage of the file system on the application will require reconfiguration or, in rare cases, architectural changes. + effort: 5 + labels: + - konveyor.io/source=eap7 + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - file-system + links: + - title: Java APIs found in the application to read/write from the file system + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-cloud-to-azure-spring-apps?pivots=sc-standard-tier#determine-whether-and-how-the-file-system-is-used + - title: Azure Spring Boot Starter for Azure Storage + url: https://search.maven.org/artifact/com.azure.spring/azure-spring-boot-starter-storage + message: The application uses Java APIs to read/write from the file system.. Any + usage of the file system on the application will require reconfiguration or, in + rare cases, architectural changes. + ruleID: azure-file-system-01000 + when: + or: + - java.referenced: + pattern: java.io.(File|FileWriter|FileReader|FileInputStream|FileOutputStream) + - java.referenced: + pattern: java.nio* + - java.referenced: + pattern: org.apache.commons.io* +- category: optional + customVariables: [] + description: |- + Relative path found + Relative path found.. Any usage of the file system on the application will require reconfiguration or, in rare cases, architectural changes. + effort: 5 + labels: + - konveyor.io/source=eap7 + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - file-system + links: + - title: Relative path found in the application + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-cloud-to-azure-spring-apps?pivots=sc-standard-tier#determine-whether-and-how-the-file-system-is-used + message: Relative path found.. Any usage of the file system on the application will + require reconfiguration or, in rare cases, architectural changes. + ruleID: azure-file-system-02000 + when: + builtin.filecontent: + pattern: \.\/. +- category: optional + customVariables: [] + description: |- + Home path found + Home path found.. Any usage of the file system on the application will require reconfiguration or, in rare cases, architectural changes. + effort: 5 + labels: + - konveyor.io/source=eap7 + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - file-system + links: + - title: Home path found in the application + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-cloud-to-azure-spring-apps?pivots=sc-standard-tier#determine-whether-and-how-the-file-system-is-used + message: Home path found.. Any usage of the file system on the application will + require reconfiguration or, in rare cases, architectural changes. + ruleID: azure-file-system-03000 + when: + builtin.filecontent: + pattern: \/home diff --git a/resources/rulesets/azure/02-azure-logging.windup.yaml b/resources/rulesets/azure/02-azure-logging.windup.yaml new file mode 100644 index 0000000..4915cb4 --- /dev/null +++ b/resources/rulesets/azure/02-azure-logging.windup.yaml @@ -0,0 +1,36 @@ +- category: mandatory + customVariables: [] + description: |- + Don't log to file system + Logging to the file system is not recommended when running applications in the cloud.. Instead, use a console appender to log to standard output. + effort: 1 + labels: + - konveyor.io/source=eap7 + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - logging + links: [] + message: Logging to the file system is not recommended when running applications + in the cloud.. Instead, use a console appender to log to standard output. + ruleID: azure-logging-0000 + tag: + - Logging to file system + when: + or: + - builtin.filecontent: + pattern: (?i)((Daily)?Rolling)?FileAppender|type\s*=\s*((Daily)?Rolling)?File|<\/((Daily)?Rolling)?File> + - java.referenced: + location: IMPORT + pattern: org.apache*log4j*FileAppender* + - java.referenced: + location: IMPORT + pattern: java.util.logging.FileHandler* + - java.referenced: + location: IMPORT + pattern: ch.qos.logback.core.FileAppender + - java.referenced: + location: IMPORT + pattern: org.pmw.tinylog.writers.FileWriter diff --git a/resources/rulesets/azure/03-azure-os-specific.windup.yaml b/resources/rulesets/azure/03-azure-os-specific.windup.yaml new file mode 100644 index 0000000..5908f7e --- /dev/null +++ b/resources/rulesets/azure/03-azure-os-specific.windup.yaml @@ -0,0 +1,42 @@ +- category: mandatory + customVariables: [] + description: |- + Windows file system path + This file system path is Microsoft Windows platform dependent. It needs to be replaced with a Linux-style path. + effort: 1 + labels: + - konveyor.io/source=eap7 + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - ms-windows + links: [] + message: This file system path is Microsoft Windows platform dependent. It needs + to be replaced with a Linux-style path. + ruleID: azure-os-specific-00001 + when: + builtin.filecontent: + pattern: (\W|\s|^)(?:[a-zA-Z]\:|\\\\[\w\s\.]+)([\\\/][^\n\t]+)+ +- category: mandatory + customVariables: [] + description: |- + Dynamic-Link Library (DLL) + This Dynamic-Link Library is Microsoft Windows platform dependent. It needs to be replaced with a Linux-style shared library. + effort: 5 + labels: + - konveyor.io/source=eap7 + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - ms-windows + links: [] + message: This Dynamic-Link Library is Microsoft Windows platform dependent. It needs + to be replaced with a Linux-style shared library. + ruleID: azure-os-specific-00002 + when: + builtin.file: + pattern: .*\.dll diff --git a/resources/rulesets/azure/04-azure-password.windup.yaml b/resources/rulesets/azure/04-azure-password.windup.yaml new file mode 100644 index 0000000..127df28 --- /dev/null +++ b/resources/rulesets/azure/04-azure-password.windup.yaml @@ -0,0 +1,39 @@ +- category: potential + customVariables: [] + description: |- + Password found in configuration file + Password found in configuration file.. Consider using Azure Key Vault and/or parameter injection with application settings where possible. + effort: 3 + labels: + - konveyor.io/source=springboot + - konveyor.io/source=eap7 + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - password + - security + links: + - title: Password found in configuration file + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-apps#inventory-configuration-sources-and-secrets + - title: Key Vault + url: https://docs.microsoft.com/azure/key-vault/ + - title: Use Key Vault references + url: https://docs.microsoft.com/azure/app-service/app-service-key-vault-references?tabs=azure-cli + - title: Read a secret from Azure Key Vault in a Spring Boot application + url: https://docs.microsoft.com/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-key-vault + - title: Azure Spring Boot Starter for Azure Key Vault Secrets + url: https://search.maven.org/artifact/com.azure.spring/azure-spring-boot-starter-keyvault-secrets + message: Password found in configuration file.. Consider using Azure Key Vault and/or + parameter injection with application settings where possible. + ruleID: azure-password-01000 + when: + or: + - builtin.filecontent: + pattern: (password|pwd) + - builtin.xml: + namespaces: {} + xpath: //password + - builtin.xml: + namespaces: {} + xpath: //*[@name='Password'] diff --git a/resources/rulesets/azure/05-eap-to-azure-appservice-certificates.windup.yaml b/resources/rulesets/azure/05-eap-to-azure-appservice-certificates.windup.yaml new file mode 100644 index 0000000..080ca7c --- /dev/null +++ b/resources/rulesets/azure/05-eap-to-azure-appservice-certificates.windup.yaml @@ -0,0 +1,27 @@ +- category: optional + customVariables: [] + description: |- + Azure - The application loads certificates into a KeyStore + Azure - The application loads certificates into a KeyStore + effort: 5 + labels: + - konveyor.io/source=eap7 + - konveyor.io/target=azure-appservice + links: + - title: Configure a Java app for Azure App Service - Initialize the Java Key Store + url: https://docs.microsoft.com/en-us/azure/app-service/configure-language-java?pivots=platform-linux#initialize-the-java-key-store + - title: Migrate JBoss EAP applications to JBoss EAP on Azure App Service - Inventory + all certificates + url: https://docs.microsoft.com/en-us/azure/developer/java/migration/migrate-jboss-eap-to-jboss-eap-on-azure-app-service#inventory-all-certificates + message: Azure - The application loads certificates into a KeyStore + ruleID: eap-to-azure-appservice-certificates-001 + tag: + - Azure + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: java.security.KeyStore.getInstance* + - java.referenced: + location: METHOD_CALL + pattern: java.security.KeyStore.load* diff --git a/resources/rulesets/azure/06-eap-to-azure-appservice-datasource-driver.windup.yaml b/resources/rulesets/azure/06-eap-to-azure-appservice-datasource-driver.windup.yaml new file mode 100644 index 0000000..76693b7 --- /dev/null +++ b/resources/rulesets/azure/06-eap-to-azure-appservice-datasource-driver.windup.yaml @@ -0,0 +1,138 @@ +- category: potential + customVariables: [] + description: |- + Datasource driver found in configuration file + A datasource driver was found in a configuration file.. There are three core steps when registering a data source with JBoss EAP in Azure App Service: uploading the JDBC driver, adding the JDBC driver as a module, and registering the module.. App Service is a stateless hosting service, so the configuration commands for adding and registering the data source module must be scripted and applied as the container starts.. For more information, see Datasource Management in the JBoss EAP documentation. + effort: 3 + labels: + - konveyor.io/source=eap7 + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - password + - security + links: + - title: Migrate JBoss EAP applications to JBoss EAP on Azure App Service - Datasources + url: https://docs.microsoft.com/en-us/azure/developer/java/migration/migrate-jboss-eap-to-jboss-eap-on-azure-app-service#datasources + - title: Migrate JBoss EAP applications to JBoss EAP on Azure App Service - Set + up data sources + url: https://docs.microsoft.com/en-us/azure/developer/java/migration/migrate-jboss-eap-to-jboss-eap-on-azure-app-service#set-up-data-sources + - title: Datasource Management + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/configuration_guide/datasource_management + message: 'A datasource driver was found in a configuration file.. There are three + core steps when registering a data source with JBoss EAP in Azure App Service: + uploading the JDBC driver, adding the JDBC driver as a module, and registering + the module.. App Service is a stateless hosting service, so the configuration + commands for adding and registering the data source module must be scripted and + applied as the container starts.. For more information, see Datasource Management + in the JBoss EAP documentation.' + ruleID: eap-to-azure-appservice-datasource-driver-01000 + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/datasource/connection-url[contains(text(),'jdbc:db2')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/drivers/driver/xa-datasource-class[contains(text(),'db2')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/datasource/connection-url[contains(text(),'jdbc:mysql')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/drivers/driver/xa-datasource-class[contains(text(),'mysql')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/datasource/connection-url[contains(text(),'jdbc:oracle')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/drivers/driver/xa-datasource-class[contains(text(),'oracle')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/datasource/connection-url[contains(text(),'jdbc:postgres')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/drivers/driver/xa-datasource-class[contains(text(),'postgres')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/datasource/connection-url[contains(text(),'jdbc:microsoft:sqlserver')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/drivers/driver/xa-datasource-class[contains(text(),'sqlserver')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/datasource/connection-url[contains(text(),'jdbc:sybase')] + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/drivers/driver/xa-datasource-class[contains(text(),'sybase')] diff --git a/resources/rulesets/azure/07-eap-to-azure-appservice-environment-variables.windup.yaml b/resources/rulesets/azure/07-eap-to-azure-appservice-environment-variables.windup.yaml new file mode 100644 index 0000000..dd804b0 --- /dev/null +++ b/resources/rulesets/azure/07-eap-to-azure-appservice-environment-variables.windup.yaml @@ -0,0 +1,31 @@ +- category: optional + customVariables: [] + description: |- + App Service - The application reads environment variables + App Service - The application reads environment variables.. Any environment variables used in the code will need to be defined as App Settings, which are exposed. as environment variables in App Service.. Any System properties that the code depends on will need to be provided either in a custom Startup Script. or by defining an App Setting with the name JAVA_OPTS and include any system properties in it. + effort: 1 + labels: + - konveyor.io/source=eap7 + - konveyor.io/target=azure-appservice + - JBossEAP + - Azure + links: + - title: Customization and tuning + url: https://aka.ms/webapps-java-perf + - title: Environment variables and app settings in Azure App Service + url: https://aka.ms/webapps-env-vars + message: App Service - The application reads environment variables.. Any environment + variables used in the code will need to be defined as App Settings, which are + exposed. as environment variables in App Service.. Any System properties that + the code depends on will need to be provided either in a custom Startup Script. + or by defining an App Setting with the name JAVA_OPTS and include any system properties + in it. + ruleID: eap-to-azure-appservice-environment-variables-001 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: java.lang.System.getenv* + - java.referenced: + location: METHOD_CALL + pattern: java.lang.System.getProperty* diff --git a/resources/rulesets/azure/08-eap-to-azure-appservice-pom.windup.yaml b/resources/rulesets/azure/08-eap-to-azure-appservice-pom.windup.yaml new file mode 100644 index 0000000..f40ab7c --- /dev/null +++ b/resources/rulesets/azure/08-eap-to-azure-appservice-pom.windup.yaml @@ -0,0 +1,35 @@ +- category: optional + customVariables: [] + description: |- + Get started with JBoss EAP on App Service + Get started with JBoss EAP on App Service with the CLI commands below. Don't have the Azure CLI installed? Go to [https://aka.ms/azure-cli](https://aka.ms/azure-cli).
. # Customize these variables. $resourceGroup=jboss-rg. $location=eastus. $appName=jboss-app. $appServicePlan=jboss-asp. az group create --resource-group $resourceGroup --location $location. az appservice plan create --resource-group $resourceGroup --name $appServicePlan --is-linux --sku P1V3. az webapp create --resource-group $resourceGroup --name $appName --plan $appServicePlan --runtime "JBOSSEAP|7.3-java8". # Build your app with:. mvn package. # Run one of the following commands depending on the artifact type. # To deploy WAR files:. az webapp deploy --resource-group $resourceGroup --plan $appServicePlan --name $appName --type war --src-path app.war. # To deploy EAR files:. az webapp deploy --resource-group $resourceGroup --plan $appServicePlan --name $appName --type ear --src-path app.ear. 
+ effort: 1 + labels: + - konveyor.io/source=eap7 + - konveyor.io/target=azure-appservice + - Azure + links: + - title: Get the Azure CLI + url: https://aka.ms/azure-cli + - title: Configure a Java app for Azure App Service - Deploying your app + url: https://aka.ms/webapps-deployment-apis + - title: Migrate JBoss EAP applications to JBoss EAP on Azure App Service + url: https://aka.ms/webapps-jboss-migrate-guide + message: 'Get started with JBoss EAP on App Service with the CLI commands below. + Don''t have the Azure CLI installed? Go to [https://aka.ms/azure-cli](https://aka.ms/azure-cli). +
. # Customize these variables. $resourceGroup=jboss-rg. $location=eastus.
+    $appName=jboss-app. $appServicePlan=jboss-asp. az group create --resource-group
+    $resourceGroup --location $location. az appservice plan create --resource-group
+    $resourceGroup --name $appServicePlan --is-linux --sku P1V3. az webapp create
+    --resource-group $resourceGroup --name $appName --plan $appServicePlan --runtime
+    "JBOSSEAP|7.3-java8". # Build your app with:. mvn package. # Run one of the following
+    commands depending on the artifact type. # To deploy WAR files:. az webapp deploy
+    --resource-group $resourceGroup --plan $appServicePlan --name $appName --type
+    war --src-path app.war. # To deploy EAR files:. az webapp deploy --resource-group
+    $resourceGroup --plan $appServicePlan --name $appName --type ear --src-path app.ear.
+    
' + ruleID: eap-to-azure-appservice-pom-001 + when: + java.dependency: + lowerbound: 7.3.0.Final + name: org.jboss.bom.eap-runtime-artifacts diff --git a/resources/rulesets/azure/09-spring-boot-to-azure-apm.windup.yaml b/resources/rulesets/azure/09-spring-boot-to-azure-apm.windup.yaml new file mode 100644 index 0000000..519ebfc --- /dev/null +++ b/resources/rulesets/azure/09-spring-boot-to-azure-apm.windup.yaml @@ -0,0 +1,42 @@ +- category: potential + customVariables: [] + description: |- + APM + The application uses an Application Performance Management (APM) tool.. Azure Spring Apps supports integration with Application Insights, New Relic, Elastic APM, Dynatrace, and AppDynamics.. You can configure the APM tool with ease in migration to Azure Spring Apps. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-container-apps + - apm + - APM + links: + - title: Spring Boot to Azure - identify APM dependencies + url: http://aka.ms/spring-cloud-to-asa?pivots=sc-standard-tier#identify-application-performance-management-apm-agents + - title: Configure application performance management (APM) integrations + url: http://aka.ms/spring-cloud-to-asa?pivots=sc-standard-tier#configure-application-performance-management-apm-integrations + - title: Application Insights + url: https://docs.microsoft.com/azure/azure-monitor/app/app-insights-overview + message: The application uses an Application Performance Management (APM) tool.. + Azure Spring Apps supports integration with Application Insights, New Relic, Elastic + APM, Dynatrace, and AppDynamics.. You can configure the APM tool with ease in + migration to Azure Spring Apps. + ruleID: spring-boot-to-azure-apm-01000 + tag: + - APM + when: + or: + - java.dependency: + lowerbound: 0.0.0 + nameregex: com\.microsoft\.azure\..*applicationinsights.* + - java.dependency: + lowerbound: 0.0.0 + nameregex: .*newrelic.* + - java.dependency: + lowerbound: 0.0.0 + nameregex: .*elastic\.apm.* + - java.dependency: + lowerbound: 0.0.0 + nameregex: .*dynatrace\.oneagent.* diff --git a/resources/rulesets/azure/10-spring-boot-to-azure-cache.windup.yaml b/resources/rulesets/azure/10-spring-boot-to-azure-cache.windup.yaml new file mode 100644 index 0000000..437d14c --- /dev/null +++ b/resources/rulesets/azure/10-spring-boot-to-azure-cache.windup.yaml @@ -0,0 +1,70 @@ +- category: potential + customVariables: [] + description: |- + Redis Cache found in the application + The application uses a Redis Cache.. Checkout Azure Cache for Redis for a fully managed cache on Azure. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - cache + - redis + links: + - title: Redis Cache found in the application + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-apps#identify-external-caches + - title: Azure Cache for Redis + url: https://azure.microsoft.com/services/cache + - title: Spring Data Redis + url: https://spring.io/projects/spring-data-redis/ + - title: Azure Spring Cloud Starter Cache + url: https://search.maven.org/artifact/com.azure.spring/azure-spring-cloud-starter-cache + message: The application uses a Redis Cache.. Checkout Azure Cache for Redis for + a fully managed cache on Azure. + ruleID: spring-boot-to-azure-cache-redis-01000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-data-redis + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.data.spring-data-redis + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.session.spring-session-data-redis + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.integration.spring-integration-redis +- category: potential + customVariables: [] + description: |- + Redis Cache connection string found + Redis Cache connection string, username, or password used in this application.. Checkout Azure Cache for Redis for a fully managed cache on Azure. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - cache + - redis + links: + - title: Redis Cache found in the application + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-apps#identify-external-caches + - title: Azure Cache for Redis + url: https://azure.microsoft.com/services/cache + - title: Spring Data Redis + url: https://spring.io/projects/spring-data-redis/ + - title: Azure Spring Cloud Starter Cache + url: https://search.maven.org/artifact/com.azure.spring/azure-spring-cloud-starter-cache + message: Redis Cache connection string, username, or password used in this application.. + Checkout Azure Cache for Redis for a fully managed cache on Azure. + ruleID: spring-boot-to-azure-cache-redis-02000 + when: + or: + - builtin.filecontent: + pattern: (redis|jedis|lettuce)\.(.*\.)?(url|host|nodes|username|password) diff --git a/resources/rulesets/azure/11-spring-boot-to-azure-config-server.windup.yaml b/resources/rulesets/azure/11-spring-boot-to-azure-config-server.windup.yaml new file mode 100644 index 0000000..a12b1e1 --- /dev/null +++ b/resources/rulesets/azure/11-spring-boot-to-azure-config-server.windup.yaml @@ -0,0 +1,28 @@ +- category: potential + customVariables: [] + description: |- + Explicit Config Server connection info found in configuration file + The application uses a Spring Cloud Config Server connection string.. If you are migrating to Azure Spring Apps, the connection info of Config Server will be injected upon app start.. Please remove the connection info from your configuration file. Configure the Config Server after creating an Azure Spring Apps instance. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - Spring Cloud Config + links: + - title: Remove restricted configurations + url: http://aka.ms/spring-cloud-to-asa?toc=%2Fazure%2Fspring-apps%2Ftoc.json&bc=%2Fazure%2Fspring-apps%2Fbreadcrumb%2Ftoc.json&pivots=sc-standard-tier#remove-restricted-configurations + - title: Prepare the Spring Cloud Config server + url: http://aka.ms/spring-cloud-to-asa?toc=%2Fazure%2Fspring-apps%2Ftoc.json&bc=%2Fazure%2Fspring-apps%2Fbreadcrumb%2Ftoc.json&pivots=sc-standard-tier#prepare-the-spring-cloud-config-server + message: The application uses a Spring Cloud Config Server connection string.. If + you are migrating to Azure Spring Apps, the connection info of Config Server will + be injected upon app start.. Please remove the connection info from your configuration + file. Configure the Config Server after creating an Azure Spring Apps instance. + ruleID: spring-boot-to-azure-config-server-01000 + tag: + - Spring Cloud Config + when: + builtin.filecontent: + pattern: spring\.config\.import|spring\.cloud\.config\.uri diff --git a/resources/rulesets/azure/12-spring-boot-to-azure-database.windup.yaml b/resources/rulesets/azure/12-spring-boot-to-azure-database.windup.yaml new file mode 100644 index 0000000..4e3ee02 --- /dev/null +++ b/resources/rulesets/azure/12-spring-boot-to-azure-database.windup.yaml @@ -0,0 +1,126 @@ +- category: potential + customVariables: [] + description: |- + JDBC connection found in configuration file + The application uses a JDBC connection string, username or password in the configuration file.. Checkout the different types of databases that are fully managed on Azure. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - database + - jdbc + links: + - title: JDBC connection string found in configuration file + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-apps#databases + - title: Types of Databases on Azure + url: https://azure.microsoft.com/product-categories/databases/ + - title: Use Spring Data JDBC with Azure Database for MySQL + url: https://docs.microsoft.com/azure/developer/java/spring-framework/configure-spring-data-jdbc-with-azure-mysql + - title: Use Spring Data JDBC with Azure Database for PostgreSQL + url: https://docs.microsoft.com/azure/developer/java/spring-framework/configure-spring-data-jdbc-with-azure-postgresql + - title: Use Spring Data JDBC with Azure SQL Database + url: https://docs.microsoft.com/azure/developer/java/spring-framework/configure-spring-data-jdbc-with-azure-sql-server + message: The application uses a JDBC connection string, username or password in + the configuration file.. Checkout the different types of databases that are fully + managed on Azure. + ruleID: spring-boot-to-azure-database-jdbc-01000 + when: + or: + - builtin.filecontent: + pattern: 'jdbc:' + - builtin.filecontent: + pattern: datasource.url + - builtin.filecontent: + pattern: datasource.u-r-l + - builtin.filecontent: + pattern: datasource.jdbc-url + - builtin.filecontent: + pattern: datasource.username + - builtin.filecontent: + pattern: datasource.user + - builtin.filecontent: + pattern: datasource.password + - builtin.filecontent: + pattern: jdbc.url + - builtin.filecontent: + pattern: jdbc.username + - builtin.filecontent: + pattern: jdbc.password +- category: potential + customVariables: [] + description: |- + MongoDB connection found in configuration file + The application uses a MongoDB connection string.. Checkout the different types of databases that are fully managed on Azure. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - database + - mongodb + links: + - title: MongoDB connection string found in configuration file + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-apps#databases + - title: Types of Databases on Azure + url: https://azure.microsoft.com/product-categories/databases/ + - title: How to use Spring Data MongoDB API with Azure Cosmos DB + url: https://docs.microsoft.com/azure/developer/java/spring-framework/configure-spring-data-mongodb-with-cosmos-db + - title: Spring Cloud Azure Starter Data Cosmos DB + url: https://search.maven.org/artifact/com.azure.spring/spring-cloud-azure-starter-data-cosmos + message: The application uses a MongoDB connection string.. Checkout the different + types of databases that are fully managed on Azure. + ruleID: spring-boot-to-azure-database-mongodb-02000 + when: + or: + - builtin.filecontent: + pattern: 'mongodb:' + - builtin.filecontent: + pattern: mongodb.uri + - builtin.filecontent: + pattern: mongodb.username + - builtin.filecontent: + pattern: mongodb.password +- category: potential + customVariables: [] + description: |- + R2DBC connection found in configuration file + The application uses a R2DBC connection string, username or password in the configuration file.. Checkout the different types of databases that are fully managed on Azure. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - database + - r2dbc + links: + - title: R2DBC connection string found in configuration file + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-apps#databases + - title: Types of Databases on Azure + url: https://azure.microsoft.com/product-categories/databases/ + - title: Use Spring Data R2DBC with Azure Database for MySQL + url: https://learn.microsoft.com/azure/developer/java/spring-framework/configure-spring-data-r2dbc-with-azure-mysql + - title: Use Spring Data R2DBC with Azure Database for PostgreSQL + url: https://learn.microsoft.com/azure/developer/java/spring-framework/configure-spring-data-r2dbc-with-azure-postgresql + - title: Use Spring Data R2DBC with Azure SQL Database + url: https://learn.microsoft.com/azure/developer/java/spring-framework/configure-spring-data-r2dbc-with-azure-sql-server + message: The application uses a R2DBC connection string, username or password in + the configuration file.. Checkout the different types of databases that are fully + managed on Azure. + ruleID: spring-boot-to-azure-database-r2dbc-03000 + when: + or: + - builtin.filecontent: + pattern: 'r2dbc:' + - builtin.filecontent: + pattern: r2dbc.username + - builtin.filecontent: + pattern: r2dbc.password + - builtin.filecontent: + pattern: r2dbc.url diff --git a/resources/rulesets/azure/13-spring-boot-to-azure-eureka.windup.yaml b/resources/rulesets/azure/13-spring-boot-to-azure-eureka.windup.yaml new file mode 100644 index 0000000..c7f4831 --- /dev/null +++ b/resources/rulesets/azure/13-spring-boot-to-azure-eureka.windup.yaml @@ -0,0 +1,67 @@ +- category: potential + customVariables: [] + description: |- + eureka + The application uses Eureka.. Azure Spring Apps will host eureka server for you.. Eureka connection configurations will be injected automatically by ASA, if you put these configurations in your Config Server, please remove them. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-container-apps + - eureka + links: + - title: Azure Spring Apps - Enable Service Registration + url: https://learn.microsoft.com/azure/spring-apps/how-to-service-registration?pivots=programming-language-java + - title: Azure Spring Apps - Access Config Server and Service Registry + url: https://learn.microsoft.com/azure/spring-apps/how-to-access-data-plane-azure-ad-rbac + - title: Restricted configurations + url: http://aka.ms/spring-cloud-to-asa?pivots=sc-standard-tier#remove-restricted-configurations + message: The application uses Eureka.. Azure Spring Apps will host eureka server + for you.. Eureka connection configurations will be injected automatically by ASA, + if you put these configurations in your Config Server, please remove them. + ruleID: spring-boot-to-azure-eureka-01000 + tag: + - Eureka + when: + or: + - java.dependency: + lowerbound: 0.0.0 + nameregex: org\.springframework\.cloud\.spring-cloud-netflix-eureka.* + - java.dependency: + lowerbound: 0.0.0 + nameregex: org\.springframework\.cloud\.spring-cloud-starter-netflix-eureka.* + - java.dependency: + lowerbound: 0.0.0 + nameregex: com\.netflix\.eureka\..* +- category: potential + customVariables: [] + description: |- + Explicit eureka connection info found in configuration file + The application uses an eureka connection string.. Azure Spring Apps will host eureka server for you.. Eureka connection configurations will be injected automatically by ASA, if you put these configurations in your Config Server, please remove them. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-container-apps + - eureka + links: + - title: Azure Spring Apps - Enable Service Registration + url: https://learn.microsoft.com/azure/spring-apps/how-to-service-registration?pivots=programming-language-java + - title: Azure Spring Apps - Access Config Server and Service Registry + url: https://learn.microsoft.com/azure/spring-apps/how-to-access-data-plane-azure-ad-rbac + - title: Restricted configurations + url: http://aka.ms/spring-cloud-to-asa?pivots=sc-standard-tier#remove-restricted-configurations + message: The application uses an eureka connection string.. Azure Spring Apps will + host eureka server for you.. Eureka connection configurations will be injected + automatically by ASA, if you put these configurations in your Config Server, please + remove them. + ruleID: spring-boot-to-azure-eureka-02000 + tag: + - Eureka + when: + builtin.filecontent: + pattern: eureka\.client\.(service-url|serviceUrl) diff --git a/resources/rulesets/azure/14-spring-boot-to-azure-feign.windup.yaml b/resources/rulesets/azure/14-spring-boot-to-azure-feign.windup.yaml new file mode 100644 index 0000000..8b2bd3c --- /dev/null +++ b/resources/rulesets/azure/14-spring-boot-to-azure-feign.windup.yaml @@ -0,0 +1,31 @@ +- category: mandatory + customVariables: [] + description: |- + Feign + The application uses Feign. Spring Cloud Service Registry uses OpenFeign instead. When migrating to Spring Cloud Service Registry, the Feign invocations will no longer be possible.. Update the clients to use Spring Cloud OpenFeign instead. + effort: 3 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - feign + links: + - title: Migrate clients bypassing the service registry + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-cloud-to-azure-spring-apps?pivots=sc-standard-tier#identify-clients-that-bypass-the-service-registry + - title: Spring Cloud OpenFeign + url: https://spring.io/projects/spring-cloud-openfeign/ + message: The application uses Feign. Spring Cloud Service Registry uses OpenFeign + instead. When migrating to Spring Cloud Service Registry, the Feign invocations + will no longer be possible.. Update the clients to use Spring Cloud OpenFeign + instead. + ruleID: spring-boot-to-azure-feign-01000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + nameregex: com\.netflix\.feign\..* + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.cloud.spring-cloud-starter-feign diff --git a/resources/rulesets/azure/15-spring-boot-to-azure-identity-provider.windup.yaml b/resources/rulesets/azure/15-spring-boot-to-azure-identity-provider.windup.yaml new file mode 100644 index 0000000..bd64ba9 --- /dev/null +++ b/resources/rulesets/azure/15-spring-boot-to-azure-identity-provider.windup.yaml @@ -0,0 +1,33 @@ +- category: potential + customVariables: [] + description: |- + Spring Security-related dependencies + The application uses Spring security.. Checkout Azure Active Directory as an identity provider. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - security + links: + - title: Spring Security-related dependencies found in the project + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-app-service#identity-providers + - title: Azure Active Directory (Azure AD) identity provider for External Identities + url: https://docs.microsoft.com/azure/active-directory/external-identities/azure-ad-account + - title: Spring Security + url: https://docs.spring.io/spring-security/reference/index.html + - title: 'Spring Boot API: Authorization' + url: https://auth0.com/docs/quickstart/backend/java-spring-security5/01-authorization + message: The application uses Spring security.. Checkout Azure Active Directory + as an identity provider. + ruleID: spring-boot-to-azure-identity-provider-01000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-security + - java.dependency: + lowerbound: 0.0.0 + nameregex: org\.springframework\.security\..* diff --git a/resources/rulesets/azure/16-spring-boot-to-azure-java-fx.windup.yaml b/resources/rulesets/azure/16-spring-boot-to-azure-java-fx.windup.yaml new file mode 100644 index 0000000..d1f4ba4 --- /dev/null +++ b/resources/rulesets/azure/16-spring-boot-to-azure-java-fx.windup.yaml @@ -0,0 +1,21 @@ +- category: mandatory + customVariables: [] + description: |- + JavaFX usage + The application uses JavaFX.. JavaFX is not cloud compatible and requires the JRE on the remote device. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - JavaFX + links: [] + message: The application uses JavaFX.. JavaFX is not cloud compatible and requires + the JRE on the remote device. + ruleID: spring-boot-to-azure-java-fx-01000 + when: + java.referenced: + location: IMPORT + pattern: javafx* diff --git a/resources/rulesets/azure/17-spring-boot-to-azure-jms-broker.windup.yaml b/resources/rulesets/azure/17-spring-boot-to-azure-jms-broker.windup.yaml new file mode 100644 index 0000000..7792e70 --- /dev/null +++ b/resources/rulesets/azure/17-spring-boot-to-azure-jms-broker.windup.yaml @@ -0,0 +1,34 @@ +- category: potential + customVariables: [] + description: |- + Active MQ Broker + The application uses an ActiveMQ message broker.. Checkout Azure Service Bus for a fully managed message broker. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - broker + - activemq + links: + - title: Spring Boot application using an Active MQ Broker + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-apps#jms-message-brokers + - title: Azure Service Bus + url: https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview + - title: How to use the Spring Boot Starter for Azure Service Bus JMS + url: https://docs.microsoft.com/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-service-bus + - title: Azure Spring Boot Starter for Azure Service Bus JMS + url: https://search.maven.org/artifact/com.azure.spring/azure-spring-boot-starter-servicebus-jms + message: The application uses an ActiveMQ message broker.. Checkout Azure Service + Bus for a fully managed message broker. + ruleID: spring-boot-to-azure-jms-broker-01000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-activemq + - java.dependency: + lowerbound: 0.0.0 + nameregex: org\.apache\.activemq\..* diff --git a/resources/rulesets/azure/18-spring-boot-to-azure-mq-config.windup.yaml b/resources/rulesets/azure/18-spring-boot-to-azure-mq-config.windup.yaml new file mode 100644 index 0000000..00db6c5 --- /dev/null +++ b/resources/rulesets/azure/18-spring-boot-to-azure-mq-config.windup.yaml @@ -0,0 +1,77 @@ +- category: potential + customVariables: [] + description: |- + Kafka connection string, username or password found in configuration file + The application uses a Kafka connection string or password.. Consider connecting Apache Kafka on Confluent Cloud to Azure Spring Apps using Service Connector + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - message queue + - kafka + links: + - title: Spring Boot app to Kafka on Confluent Cloud + url: https://learn.microsoft.com/azure/service-connector/tutorial-java-spring-confluent-kafka + message: The application uses a Kafka connection string or password.. Consider connecting + Apache Kafka on Confluent Cloud to Azure Spring Apps using Service Connector + ruleID: spring-boot-to-azure-mq-config-kafka-01000 + tag: + - Kafka Client + when: + builtin.filecontent: + pattern: kafka\.(.*\.)?(properties\.)?(bootstrap[\.-]servers|sasl\.jaas\.config|schema\.registry) +- category: potential + customVariables: [] + description: |- + RabbitMQ connection string, username or password found in configuration file + The application uses a RabbitMQ connection string, username, or password.. Consider using Azure Event Grid/Azure Event Hubs/Azure Service Bus or Apache Kafka on Confluent Cloud and connect it with Service Connector + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - message queue + - RabbitMQ Client + links: + - title: Service connection in Azure Spring Apps + url: https://learn.microsoft.com/azure/service-connector/quickstart-portal-spring-cloud-connection + message: The application uses a RabbitMQ connection string, username, or password.. + Consider using Azure Event Grid/Azure Event Hubs/Azure Service Bus or Apache Kafka + on Confluent Cloud and connect it with Service Connector + ruleID: spring-boot-to-azure-mq-config-rabbitmq-01000 + tag: + - RabbitMQ Client + when: + builtin.filecontent: + pattern: rabbitmq\.(.*\.)?(addresses|host|virtual-host|username|password) +- category: potential + customVariables: [] + description: |- + ActiveMQ Artemis connection string, username or password found in configuration file + The application uses an ActiveMQ Artemis connection string, username, or password.. Consider using Azure Event Grid/Azure Event Hubs/Azure Service Bus or Apache Kafka on Confluent Cloud and connect it with Service Connector + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - message queue + - ActiveMQ + links: + - title: Service connection in Azure Spring Apps + url: https://learn.microsoft.com/azure/service-connector/quickstart-portal-spring-cloud-connection + message: The application uses an ActiveMQ Artemis connection string, username, or + password.. Consider using Azure Event Grid/Azure Event Hubs/Azure Service Bus + or Apache Kafka on Confluent Cloud and connect it with Service Connector + ruleID: spring-boot-to-azure-mq-config-artemis-01000 + tag: + - ActiveMQ + when: + builtin.filecontent: + pattern: artemis\.(broker-url|user|password) diff --git a/resources/rulesets/azure/19-spring-boot-to-azure-port.windup.yaml b/resources/rulesets/azure/19-spring-boot-to-azure-port.windup.yaml new file mode 100644 index 0000000..3957bdc --- /dev/null +++ b/resources/rulesets/azure/19-spring-boot-to-azure-port.windup.yaml @@ -0,0 +1,21 @@ +- category: potential + customVariables: [] + description: |- + Server port configuration found + The application is setting the server port. Please be aware of potential port reliance issues during the migration process + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-container-apps + - port + - server port + links: [] + message: The application is setting the server port. Please be aware of potential + port reliance issues during the migration process + ruleID: spring-boot-to-azure-port-01000 + when: + builtin.filecontent: + pattern: (^|\s)server\.port diff --git a/resources/rulesets/azure/20-spring-boot-to-azure-schedule-job.windup.yaml b/resources/rulesets/azure/20-spring-boot-to-azure-schedule-job.windup.yaml new file mode 100644 index 0000000..9905b25 --- /dev/null +++ b/resources/rulesets/azure/20-spring-boot-to-azure-schedule-job.windup.yaml @@ -0,0 +1,32 @@ +- category: mandatory + customVariables: [] + description: |- + The application uses Quartz to scheduled jobs + Scheduled jobs, such as Quartz Scheduler tasks or cron jobs, can't be used with App Service.. App Service won't prevent you from deploying an application containing scheduled tasks internally.. However, if your application is scaled out, the same scheduled job may run more than once per scheduled period.. This situation can lead to unintended consequences.. Inventory any scheduled jobs, inside or outside the application process. + effort: 7 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - scheduler + - quartz + links: + - title: The application uses Quartz to scheduled jobs + url: https://docs.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-app-service#determine-whether-application-relies-on-scheduled-jobs + message: Scheduled jobs, such as Quartz Scheduler tasks or cron jobs, can't be used + with App Service.. App Service won't prevent you from deploying an application + containing scheduled tasks internally.. However, if your application is scaled + out, the same scheduled job may run more than once per scheduled period.. This + situation can lead to unintended consequences.. Inventory any scheduled jobs, + inside or outside the application process. + ruleID: spring-boot-to-azure-schedule-job-01000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + nameregex: org\.quartz-scheduler\..* + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-quartz diff --git a/resources/rulesets/azure/21-spring-boot-to-azure-static-content.windup.yaml b/resources/rulesets/azure/21-spring-boot-to-azure-static-content.windup.yaml new file mode 100644 index 0000000..c029bc1 --- /dev/null +++ b/resources/rulesets/azure/21-spring-boot-to-azure-static-content.windup.yaml @@ -0,0 +1,29 @@ +- category: optional + customVariables: [] + description: |- + Static content found in the application + Your application currently serves static content, you'll need an alternate location for it. You may wish to consider moving static content to Azure Blob Storage and adding Azure CDN for lightning-fast downloads globally.. For more information, see Static website hosting in Azure Storage and Quickstart: Integrate an Azure storage account with Azure CDN. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - static-content + links: + - title: Static content found in the application + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-boot-to-azure-spring-apps#read-only-static-content + - title: Static website hosting in Azure Storage + url: https://docs.microsoft.com/azure/storage/blobs/storage-blob-static-website + - title: 'Quickstart: Integrate an Azure Storage account with Azure CDN' + url: https://docs.microsoft.com/azure/cdn/cdn-create-a-storage-account-with-cdn + message: 'Your application currently serves static content, you''ll need an alternate + location for it. You may wish to consider moving static content to Azure Blob + Storage and adding Azure CDN for lightning-fast downloads globally.. For more + information, see Static website hosting in Azure Storage and Quickstart: Integrate + an Azure storage account with Azure CDN.' + ruleID: spring-boot-to-azure-static-content-01000 + when: + builtin.file: + pattern: .*\.(htm|html|css|scss|js) diff --git a/resources/rulesets/azure/22-spring-boot-to-azure-swing.windup.yaml b/resources/rulesets/azure/22-spring-boot-to-azure-swing.windup.yaml new file mode 100644 index 0000000..5fd73b6 --- /dev/null +++ b/resources/rulesets/azure/22-spring-boot-to-azure-swing.windup.yaml @@ -0,0 +1,20 @@ +- category: mandatory + customVariables: [] + description: |- + Java Swing usage + The application uses Java Swing.. Upgrade to modern cloud native UI framework. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - Swing + links: [] + message: The application uses Java Swing.. Upgrade to modern cloud native UI framework. + ruleID: spring-boot-to-azure-swing-01000 + when: + java.referenced: + location: IMPORT + pattern: javax.swing* diff --git a/resources/rulesets/azure/23-spring-boot-to-azure-version.windup.yaml b/resources/rulesets/azure/23-spring-boot-to-azure-version.windup.yaml new file mode 100644 index 0000000..defe69b --- /dev/null +++ b/resources/rulesets/azure/23-spring-boot-to-azure-version.windup.yaml @@ -0,0 +1,72 @@ +- category: mandatory + customVariables: [] + description: |- + Spring Boot version too low + The application uses Spring Boot 1.x, which is too low.. Update to open source support version of Spring Boot. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - version + links: + - title: Spring Boot Support Versions + url: https://github.com/spring-projects/spring-boot/wiki/Supported-Versions + message: The application uses Spring Boot 1.x, which is too low.. Update to open + source support version of Spring Boot. + ruleID: spring-boot-to-azure-version-01000 + when: + java.dependency: + lowerbound: "1" + nameregex: org\.springframework\.boot\..* + upperbound: "1.9" +- category: potential + customVariables: [] + description: |- + Spring Boot version out of support + Spring boot version is out of any spring boot support scope.. Update to open source support version of Spring Boot. + effort: 2 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - version + links: + - title: Spring Boot Supported Versions + url: https://github.com/spring-projects/spring-boot/wiki/Supported-Versions + message: Spring boot version is out of any spring boot support scope.. Update to + open source support version of Spring Boot. + ruleID: spring-boot-to-azure-version-02000 + when: + java.dependency: + lowerbound: "2" + nameregex: org\.springframework\.boot\..* + upperbound: 2.4.99 +- category: potential + customVariables: [] + description: |- + Spring Boot version out of OSS support + Spring Boot version is out of open source software support.. Update to open source support version of Spring Boot, if you don't have commercial support. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - version + links: + - title: Spring Boot Supported Versions + url: https://github.com/spring-projects/spring-boot/wiki/Supported-Versions + message: Spring Boot version is out of open source software support.. Update to + open source support version of Spring Boot, if you don't have commercial support. + ruleID: spring-boot-to-azure-version-03000 + when: + java.dependency: + lowerbound: "2.5" + nameregex: org\.springframework\.boot\..* + upperbound: 2.6.99 diff --git a/resources/rulesets/azure/24-spring-boot-to-azure-zipkin.windup.yaml b/resources/rulesets/azure/24-spring-boot-to-azure-zipkin.windup.yaml new file mode 100644 index 0000000..81d2f1a --- /dev/null +++ b/resources/rulesets/azure/24-spring-boot-to-azure-zipkin.windup.yaml @@ -0,0 +1,28 @@ +- category: potential + customVariables: [] + description: |- + Zipkin + The application uses Zipkin. + effort: 0 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-container-apps + - zipkin + links: + - title: Spring Boot to Azure - identify Zipkin dependencies + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-spring-cloud-to-azure-spring-apps?pivots=sc-standard-tier#identify-zipkin-dependencies + - title: Distributed Tracing + url: https://learn.microsoft.com/azure/azure-monitor/app/distributed-tracing-telemetry-correlation + message: The application uses Zipkin. + ruleID: spring-boot-to-azure-zipkin-01000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-cloud-starter-zipkin + - java.dependency: + lowerbound: 0.0.0 + nameregex: io\.zipkin.* diff --git a/resources/rulesets/azure/25-spring-cloud-to-azure-version.windup.yaml b/resources/rulesets/azure/25-spring-cloud-to-azure-version.windup.yaml new file mode 100644 index 0000000..6ac3893 --- /dev/null +++ b/resources/rulesets/azure/25-spring-cloud-to-azure-version.windup.yaml @@ -0,0 +1,77 @@ +- category: mandatory + customVariables: [] + description: |- + spring cloud version too low + Spring Cloud version too low.. Update to open source support version of Spring Cloud. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-container-apps + - version + links: + - title: Spring Cloud Supported Versions + url: https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions + message: Spring Cloud version too low.. Update to open source support version of + Spring Cloud. + ruleID: spring-cloud-to-azure-version-01000 + when: + java.dependency: + lowerbound: Angel + name: org.springframework.cloud.spring-cloud-dependencies + upperbound: Edgware.9 +- category: potential + customVariables: [] + description: |- + spring cloud version out of support + Spring Cloud version is out of any Spring Cloud support scope.. Update to open source support version of Spring Cloud. + effort: 2 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-container-apps + - version + links: + - title: Spring Cloud Supported Versions + url: https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions + message: Spring Cloud version is out of any Spring Cloud support scope.. Update + to open source support version of Spring Cloud. + ruleID: spring-cloud-to-azure-version-02000 + when: + java.dependency: + lowerbound: Finchley + name: org.springframework.cloud.spring-cloud-dependencies + upperbound: Hoxton.9 +- category: potential + customVariables: [] + description: |- + spring cloud version out of OSS support + Spring Cloud version is out of open source software support.. Update to open source support version of Spring Cloud, if you don't have commercial support. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-container-apps + - version + links: + - title: Spring Cloud Supported Versions + url: https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions + message: Spring Cloud version is out of open source software support.. Update to + open source support version of Spring Cloud, if you don't have commercial support. + ruleID: spring-cloud-to-azure-version-03000 + when: + or: + - java.dependency: + lowerbound: Ilford + name: org.springframework.cloud.spring-cloud-dependencies + upperbound: Ilford.9 + - java.dependency: + lowerbound: "2020" + name: org.springframework.cloud.spring-cloud-dependencies + upperbound: "2020.9" diff --git a/resources/rulesets/azure/26-tomcat-to-azure-external-resources.windup.yaml b/resources/rulesets/azure/26-tomcat-to-azure-external-resources.windup.yaml new file mode 100644 index 0000000..66b5991 --- /dev/null +++ b/resources/rulesets/azure/26-tomcat-to-azure-external-resources.windup.yaml @@ -0,0 +1,26 @@ +- category: mandatory + customVariables: [] + description: |- + External resources found in configuration file + External resources, such as data sources, JMS message brokers, and others are injected via Java Naming and Directory Interface (JNDI).. Some such resources may require migration or reconfiguration. + effort: 5 + labels: + - konveyor.io/target=azure-spring-apps + - konveyor.io/target=azure-appservice + - konveyor.io/target=azure-aks + - konveyor.io/target=azure-container-apps + - konveyor.io/source + - tomcat + links: + - title: Inventory external resources + url: https://learn.microsoft.com/azure/developer/java/migration/migrate-tomcat-to-azure-spring-apps + message: External resources, such as data sources, JMS message brokers, and others + are injected via Java Naming and Directory Interface (JNDI).. Some such resources + may require migration or reconfiguration. + ruleID: tomcat-to-azure-external-resources-01000 + when: + builtin.xml: + filepaths: + - context.xml + namespaces: {} + xpath: /Context/Resource diff --git a/resources/rulesets/azure/image.svg b/resources/rulesets/azure/image.svg new file mode 100644 index 0000000..75031f1 --- /dev/null +++ b/resources/rulesets/azure/image.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/azure/ruleset.yaml b/resources/rulesets/azure/ruleset.yaml new file mode 100644 index 0000000..a7c9baf --- /dev/null +++ b/resources/rulesets/azure/ruleset.yaml @@ -0,0 +1,3 @@ +name: azure/springboot +description: This ruleset identifies message queue connection strings, usernames, + or passwords. diff --git a/resources/rulesets/camel3/27-component-changes.windup.yaml b/resources/rulesets/camel3/27-component-changes.windup.yaml new file mode 100644 index 0000000..0044eb7 --- /dev/null +++ b/resources/rulesets/camel3/27-component-changes.windup.yaml @@ -0,0 +1,33 @@ +- category: mandatory + customVariables: [] + description: |- + The `org.apache.camel:camel-kafka` component has removed the options `bridgeEndpoint` and `circularEndpointDetection` + The `org.apache.camel:camel-kafka` component has removed the options `bridgeEndpoint` and `circularEndpointDetection` as they are no longer needed because the component is acting as bridging would work on Camel 2.x. In other words camel-kafka will send messages to the topic from the endpoint uri. To override this use the KafkaConstants.OVERRIDE_TOPIC header with the new topic. See more details in the camel-kafka component documentation. + effort: 3 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Kafka' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_kafka + message: The `org.apache.camel:camel-kafka` component has removed the options `bridgeEndpoint` + and `circularEndpointDetection` as they are no longer needed because the component + is acting as bridging would work on Camel 2.x. In other words camel-kafka will + send messages to the topic from the endpoint uri. To override this use the KafkaConstants.OVERRIDE_TOPIC + header with the new topic. See more details in the camel-kafka component documentation. + ruleID: component-changes-00019 + when: + or: + - builtin.filecontent: + pattern: .to("kafka:{[^"]+}(circularTopicDetection|bridgeEndpoint)=* + - java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.component.kafka.KafkaConfiguration.(setBridgeEndpoint|setCircularTopicDetection)* + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:to/@uri[matches(self::node(), 'kafka:{*}(circularTopicDetection|bridgeEndpoint){*}')] + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/blueprint + xpath: //*/c:to/@uri[matches(self::node(), 'kafka:{*}(circularTopicDetection|bridgeEndpoint){*}')] diff --git a/resources/rulesets/camel3/28-java-dsl-changes.windup.yaml b/resources/rulesets/camel3/28-java-dsl-changes.windup.yaml new file mode 100644 index 0000000..e5b4f23 --- /dev/null +++ b/resources/rulesets/camel3/28-java-dsl-changes.windup.yaml @@ -0,0 +1,19 @@ +- category: mandatory + customVariables: [] + description: |- + `hystrix()` has been renamed. + Hystrix circuit breaker has been generalized as circuit breaker. Use `circuitBreaker()`. instead of `hystrix()` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide - Hystrix EIP + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_hystrix_eip + message: Hystrix circuit breaker has been generalized as circuit breaker. Use `circuitBreaker()`. + instead of `hystrix()` + ruleID: java-dsl-changes-00001 + when: + java.referenced: + location: METHOD_CALL + pattern: '*.hystrix()' diff --git a/resources/rulesets/camel3/29-java-generic-information.windup.yaml b/resources/rulesets/camel3/29-java-generic-information.windup.yaml new file mode 100644 index 0000000..c875dc9 --- /dev/null +++ b/resources/rulesets/camel3/29-java-generic-information.windup.yaml @@ -0,0 +1,826 @@ +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.processor.aggregate.AggregationStrategy` has been moved + The class `org.apache.camel.processor.aggregate.AggregationStrategy` has been moved to `org.apache.camel.AggregationStrategy`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Generic Information' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: The class `org.apache.camel.processor.aggregate.AggregationStrategy` has + been moved to `org.apache.camel.AggregationStrategy`. + ruleID: java-generic-information-00000 + when: + java.referenced: + location: IMPORT + pattern: org.apache.camel.processor.aggregate.AggregationStrategy +- category: mandatory + customVariables: + - name: SupportClass + nameOfCaptureGroup: SupportClass + pattern: org.apache.camel.impl.(?P(BaseSelectorProducer|AsyncCallbackToCompletableFutureAdapter|BridgeExceptionHandlerToErrorHandler|DefaultAsyncProducer|DefaultComponent|DefaultConsumer|DefaultEndpoint|DefaultExchange|DefaultExchangeHolder|DefaultHeaderFilterStrategy|DefaultMessage|DefaultMessageHistory|DefaultPollingConsumerPollStrategy|DefaultPollingEndpoint|DefaultProducer|DefaultScheduledPollConsumer|DefaultScheduledPollConsumerScheduler|DefaultThreadPoolFactory|EventDrivenPollingConsumer|ExpressionAdapter|ExpressionComparator|ExpressionListComparator|ExpressionSupport|HeaderFilterStrategyComponent|HeaderSelectorProducer|LoggingExceptionHandler|MessageSupport|PollingConsumerSupport|ProcessorEndpoint|ProcessorPollingConsumer|ScheduledBatchPollingConsumer|ScheduledPollConsumer|ScheduledPollEndpoint|SimpleRegistry|SimpleUuidGeneratorSynchronizationAdapter|SynchronousDelegateProducer))? + description: | + `org.apache.camel.impl.{SupportClass}` has been moved + effort: 3 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Migrating custom Components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_migrating_custom_components + message: The class `org.apache.camel.impl.{{SupportClass}}` has been moved to `org.apache.camel.support.{{SupportClass}}`. + It has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support`. + ruleID: java-generic-information-00001 + when: + java.referenced: + location: IMPORT + pattern: org.apache.camel.impl.(BaseSelectorProducer|AsyncCallbackToCompletableFutureAdapter|BridgeExceptionHandlerToErrorHandler|DefaultAsyncProducer|DefaultComponent|DefaultConsumer|DefaultEndpoint|DefaultExchange|DefaultExchangeHolder|DefaultHeaderFilterStrategy|DefaultMessage|DefaultMessageHistory|DefaultPollingConsumerPollStrategy|DefaultPollingEndpoint|DefaultProducer|DefaultScheduledPollConsumer|DefaultScheduledPollConsumerScheduler|DefaultThreadPoolFactory|EventDrivenPollingConsumer|ExpressionAdapter|ExpressionComparator|ExpressionListComparator|ExpressionSupport|HeaderFilterStrategyComponent|HeaderSelectorProducer|LoggingExceptionHandler|MessageSupport|PollingConsumerSupport|ProcessorEndpoint|ProcessorPollingConsumer|ScheduledBatchPollingConsumer|ScheduledPollConsumer|ScheduledPollEndpoint|SimpleRegistry|SimpleUuidGeneratorSynchronizationAdapter|SynchronousDelegateProducer) +- category: mandatory + customVariables: [] + description: |- + `zip` and `gzip` dataformat was renamed + `zip` and `gzip` dataformats were renamed to `zipdeflater and `gzipdeflater` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: '`zip` and `gzip` dataformats were renamed to `zipdeflater and `gzipdeflater`' + ruleID: java-generic-information-00002 + when: + or: + - or: + - builtin.filecontent: + pattern: .zip(*) + from: routeBuilders + - builtin.filecontent: + pattern: .gzip(*) + from: routeBuilders + - as: routeBuilders + java.referenced: + location: INHERITANCE + pattern: org.apache.camel.builder.RouteBuilder +- category: mandatory + customVariables: + - name: registry + nameOfCaptureGroup: registry + pattern: org.apache.camel.impl.(?P(PropertyPlaceholderDelegateRegistry|CompositeRegistry))? + description: | + `org.apache.camel.impl.{registry}` has been removed. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: The class `org.apache.camel.impl.{{registry}}` has been removed. Use `org.apache.camel.support.DefaultRegistry` + instead. + ruleID: java-generic-information-00004 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.impl.(PropertyPlaceholderDelegateRegistry|CompositeRegistry) +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.processor.loadbalancer.SimpleLoadBalancerSupport` has been removed. + The class `org.apache.camel.processor.loadbalancer.SimpleLoadBalancerSupport` has been removed. Use. `org.apache.camel.processor.loadbalancer.LoadBalancerSupport` instead. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Generic Information' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: The class `org.apache.camel.processor.loadbalancer.SimpleLoadBalancerSupport` + has been removed. Use. `org.apache.camel.processor.loadbalancer.LoadBalancerSupport` + instead. + ruleID: java-generic-information-00005 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.processor.loadbalancer.SimpleLoadBalancerSupport +- category: mandatory + customVariables: + - name: removed + nameOfCaptureGroup: removed + pattern: org.apache.camel.(?P(impl.FileWatcherReloadStrategy|support.ReloadStrategySupport))? + description: | + `org.apache.camel.{removed}` has been removed. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Generic Information' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: The class `org.apache.camel.{{removed}}` has been removed. + ruleID: java-generic-information-00006 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.(impl.FileWatcherReloadStrategy|support.ReloadStrategySupport) +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.util.toolbox.AggregationStrategies` has been moved + The class `org.apache.camel.util.toolbox.AggregationStrategies` has been moved to `org.apache.camel.builder.AggregationStrategies`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Generic Information' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: The class `org.apache.camel.util.toolbox.AggregationStrategies` has been + moved to `org.apache.camel.builder.AggregationStrategies`. + ruleID: java-generic-information-00008 + when: + java.referenced: + location: IMPORT + pattern: org.apache.camel.util.toolbox.AggregationStrategies +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.management.JmxSystemPropertyKeys` has been moved + The class `org.apache.camel.management.JmxSystemPropertyKeys` has been moved to ` org.apache.camel.api.management.JmxSystemPropertyKeys`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Generic Information' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: The class `org.apache.camel.management.JmxSystemPropertyKeys` has been + moved to ` org.apache.camel.api.management.JmxSystemPropertyKeys`. + ruleID: java-generic-information-00009 + when: + java.referenced: + location: IMPORT + pattern: org.apache.camel.management.JmxSystemPropertyKeys +- category: mandatory + customVariables: [] + description: |- + `includeRoutes` method has been removed + `includeRoutes` method has been removed + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: '`includeRoutes` method has been removed' + ruleID: java-generic-information-00010 + when: + builtin.filecontent: + pattern: .includeRoutes(*) +- category: mandatory + customVariables: [] + description: |- + Annotation `org.apache.camel.language.Bean` method has been moved + Annotation `org.apache.camel.language.Bean` has been moved to `org.apache.camel.language.bean.Bean` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Annotation `org.apache.camel.language.Bean` has been moved to `org.apache.camel.language.bean.Bean` + ruleID: java-generic-information-00011 + when: + as: annotations + java.referenced: + location: IMPORT + pattern: org.apache.camel.language.Bean +- category: mandatory + customVariables: [] + description: |- + Annotation `org.apache.camel.language.Simple` method has been moved + Annotation `org.apache.camel.language.Simple` has been moved to `org.apache.camel.language.simple.Simple` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Annotation `org.apache.camel.language.Simple` has been moved to `org.apache.camel.language.simple.Simple` + ruleID: java-generic-information-00012 + when: + as: annotations + java.referenced: + location: IMPORT + pattern: org.apache.camel.language.Simple +- category: mandatory + customVariables: [] + description: |- + Annotation `org.apache.camel.language.SpEL` method has been moved + Annotation `org.apache.camel.language.SpEL` has been moved to `org.apache.camel.language.spel.SpEL` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Annotation `org.apache.camel.language.SpEL` has been moved to `org.apache.camel.language.spel.SpEL` + ruleID: java-generic-information-00013 + when: + as: annotations + java.referenced: + location: IMPORT + pattern: org.apache.camel.language.SpEL +- category: mandatory + customVariables: + - name: annotation + nameOfCaptureGroup: annotation + pattern: org.apache.camel.(?P(InvokeOnHeaders|InvokeOnHeader))? + description: | + Annotation `org.apache.camel.{annotation}` has been moved + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Annotation `org.apache.camel.{{annotation}}` has been moved to `org.apache.camel.spi.{{annotation}}` + ruleID: java-generic-information-00014 + when: + as: annotations + java.referenced: + location: IMPORT + pattern: org.apache.camel.(InvokeOnHeaders|InvokeOnHeader) +- category: mandatory + customVariables: [] + description: |- + Annotation `org.apache.camel.Constant`has been removed + Annotation `org.apache.camel.Constant` has been removed. Use `@Simple` instead.` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Annotation `org.apache.camel.Constant` has been removed. Use `@Simple` + instead.` + ruleID: java-generic-information-00015 + when: + as: annotation + java.referenced: + location: IMPORT + pattern: org.apache.camel.Constant +- category: mandatory + customVariables: [] + description: |- + Annotation `org.apache.camel.builder.xml.XPathBuilder`has been moved + Class `org.apache.camel.builder.xml.XPathBuilder` has been moved to `org.apache.camel.language.xpath.XPathBuilder`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Class `org.apache.camel.builder.xml.XPathBuilder` has been moved to `org.apache.camel.language.xpath.XPathBuilder`. + ruleID: java-generic-information-00016 + when: + as: class + java.referenced: + location: IMPORT + pattern: org.apache.camel.builder.xml.XPathBuilder +- category: mandatory + customVariables: [] + description: |- + Annotation `org.apache.camel.language.XPath` has been moved + Annotation `org.apache.camel.language.XPath` has been moved to `org.apache.camel.language.xpath.XPath` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Annotation `org.apache.camel.language.XPath` has been moved to `org.apache.camel.language.xpath.XPath` + ruleID: java-generic-information-00017 + when: + as: annotations + java.referenced: + location: IMPORT + pattern: org.apache.camel.language.XPath +- category: mandatory + customVariables: [] + description: |- + Exception `org.apache.camel.builder.xml.InvalidXPathExpression` has been moved + Exception `org.apache.camel.builder.xml.InvalidXPathExpression` has been moved to `org.apache.camel.language.xpath.InvalidXPathException ` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Exception `org.apache.camel.builder.xml.InvalidXPathExpression` has been + moved to `org.apache.camel.language.xpath.InvalidXPathException ` + ruleID: java-generic-information-00018 + when: + as: annotations + java.referenced: + location: IMPORT + pattern: org.apache.camel.builder.xml.InvalidXPathExpression +- category: mandatory + customVariables: [] + description: |- + Exception `org.apache.camel.processor.validation.PredicateValidationException` has been moved + Exception `org.apache.camel.processor.validation.PredicateValidationException` has been moved to `org.apache.camel.support.processor.validation.PredicateValidationException` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: Exception `org.apache.camel.processor.validation.PredicateValidationException` + has been moved to `org.apache.camel.support.processor.validation.PredicateValidationException` + ruleID: java-generic-information-00019 + when: + as: annotations + java.referenced: + location: IMPORT + pattern: org.apache.camel.processor.validation.PredicateValidationException +- category: mandatory + customVariables: [] + description: |- + xslt method was removed from `org.apache.camel.util.toolbox.AggregationStrategies` + xslt method was removed from `org.apache.camel.util.toolbox.AggregationStrategies`. Instead use the `XsltAggregationStrategy` from `camel-xslt` JAR directly + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_generic_information + message: xslt method was removed from `org.apache.camel.util.toolbox.AggregationStrategies`. + Instead use the `XsltAggregationStrategy` from `camel-xslt` JAR directly + ruleID: java-generic-information-00021 + when: + java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.util.toolbox.AggregationStrategies.xslt* +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.language.LanguageAnnotation` has been moved + The class `org.apache.camel.language.LanguageAnnotation` has been moved to `org.apache.camel.support.language.LanguageAnnotation`. It has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Migrating custom languages' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_migrating_custom_languages + message: The class `org.apache.camel.language.LanguageAnnotation` has been moved + to `org.apache.camel.support.language.LanguageAnnotation`. It has been moved out + of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support`. + ruleID: java-generic-information-00022 + when: + java.referenced: + location: IMPORT + pattern: org.apache.camel.language.LanguageAnnotation +- category: mandatory + customVariables: + - name: moved + nameOfCaptureGroup: moved + pattern: org.apache.camel.util.(?P(AsyncProcessorHelper|AsyncProcessorConverterHelper|EndpointHelper|EventHelper|ExchangeHelper|GZIPHelper|JsonSchemaHelper|MessageHelper|PlatformHelper|PredicateAssertHelper|ResolverHelper|ResourceHelper|UnitOfWorkHelper))? + description: | + `org.apache.camel.util.{moved}` has been moved. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: The class `org.apache.camel.util.{{moved}}` has been moved to `org.apache.camel.support.{{moved}}`. + It has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support` + ruleID: java-generic-information-00023 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.util.(AsyncProcessorHelper|AsyncProcessorConverterHelper|EndpointHelper|EventHelper|ExchangeHelper|GZIPHelper|JsonSchemaHelper|MessageHelper|PlatformHelper|PredicateAssertHelper|ResolverHelper|ResourceHelper|UnitOfWorkHelper) +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.util.ServiceHelper` has been moved. + The class `org.apache.camel.util.ServiceHelper` has been moved to `org.apache.camel.support.service.ServiceHelper`. It has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-api` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: The class `org.apache.camel.util.ServiceHelper` has been moved to `org.apache.camel.support.service.ServiceHelper`. + It has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-api` + ruleID: java-generic-information-00024 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.util.ServiceHelper +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.spi.RestProducerFactoryHelper` has been moved. + The class `org.apache.camel.spi.RestProducerFactoryHelper` has been moved to `org.apache.camel.support.RestProducerFactoryHelper`. It has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: The class `org.apache.camel.spi.RestProducerFactoryHelper` has been moved + to `org.apache.camel.support.RestProducerFactoryHelper`. It has been moved out + of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support` + ruleID: java-generic-information-00025 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.spi.RestProducerFactoryHelper +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.util.ObjectHelper` has been moved. + The class `org.apache.camel.util.ObjectHelper` has been moved out of the `org.apache.camel:camel-core` and has been split into two classes: `org.apache.camel.support.ObjectHelper` (`org.apache.camel:camel-support`) and `org.apache.camel.util.ObjectHelper` (`org.apache.camel:camel-util`). This has been done to isolate the methods using `org.apache.camel:camel-api`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: 'The class `org.apache.camel.util.ObjectHelper` has been moved out of the + `org.apache.camel:camel-core` and has been split into two classes: `org.apache.camel.support.ObjectHelper` + (`org.apache.camel:camel-support`) and `org.apache.camel.util.ObjectHelper` (`org.apache.camel:camel-util`). + This has been done to isolate the methods using `org.apache.camel:camel-api`.' + ruleID: java-generic-information-00026 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.util.ObjectHelper +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.support.RoutePolicySupport` has been moved. + The class `org.apache.camel.support.RoutePolicySupport` has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support`. The return type from `startConsumer` and `stopConsumer` has been changed from boolean to void as they always returned true before. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: The class `org.apache.camel.support.RoutePolicySupport` has been moved + out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support`. + The return type from `startConsumer` and `stopConsumer` has been changed from + boolean to void as they always returned true before. + ruleID: java-generic-information-00027 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.support.RoutePolicySupport +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.impl.ThrottlingInflightRoutePolicy` has been moved. + The class `org.apache.camel.impl.ThrottlingInflightRoutePolicy` has been moved to `org.apache.camel.throttling.ThrottlingInflightRoutePolicy`. It has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-base`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: The class `org.apache.camel.impl.ThrottlingInflightRoutePolicy` has been + moved to `org.apache.camel.throttling.ThrottlingInflightRoutePolicy`. It has been + moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-base`. + ruleID: java-generic-information-00028 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.impl.ThrottlingInflightRoutePolicy +- category: mandatory + customVariables: [] + description: | + `org.apache.camel.processor.idempotent.{moved}` has been moved + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Idempotent repositories' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_idempotent_repositories + message: The class `org.apache.camel.processor.idempotent.{{moved}}` has been moved + to `org.apache.camel.support.processor.idempotent.{{moved}}`. It has been moved + out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-support`. + ruleID: java-generic-information-00029 + when: + or: + - java.referenced: + location: IMPORT + pattern: org.apache.camel.processor.idempotent.(FileIdempotentRepository|MemoryIdempotentRepository) +- category: mandatory + customVariables: [] + description: |- + Annotation `org.apache.camel.FallbackConverter` has been removed + Annotation `org.apache.camel.FallbackConverter` has been removed. You should use `@org.apache.camel.Converter(fallback = true)` from `org.apache.camel:camel-api` instead. You can also set `@org.apache.camel.Converter(generateLoader = true)` on the converter class to allow Camel to generate source code for loading type converters in a faster way. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Fallback Type Converters' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_fallback_type_converters + message: Annotation `org.apache.camel.FallbackConverter` has been removed. You should + use `@org.apache.camel.Converter(fallback = true)` from `org.apache.camel:camel-api` + instead. You can also set `@org.apache.camel.Converter(generateLoader = true)` + on the converter class to allow Camel to generate source code for loading type + converters in a faster way. + ruleID: java-generic-information-00030 + when: + java.referenced: + location: IMPORT + pattern: org.apache.camel.FallbackConverter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.util.toolbox.XsltAggregationStrategy` has been moved. + The class `org.apache.camel.util.toolbox.XsltAggregationStrategy` has been moved to `org.apache.camel.component.xslt.XsltAggregationStrategy`. It has been moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-xslt`. When using the option `groupedExchange` on the `aggregator` EIP, the output of the aggregation is no longer stored in the exchange property `Exchange.GROUPED_EXCHANGE`. This behaviour was already deprecated from Camel 2.13 onwards. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Aggregation' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_aggregation + message: The class `org.apache.camel.util.toolbox.XsltAggregationStrategy` has been + moved to `org.apache.camel.component.xslt.XsltAggregationStrategy`. It has been + moved out of `org.apache.camel:camel-core` and into `org.apache.camel:camel-xslt`. + When using the option `groupedExchange` on the `aggregator` EIP, the output of + the aggregation is no longer stored in the exchange property `Exchange.GROUPED_EXCHANGE`. + This behaviour was already deprecated from Camel 2.13 onwards. + ruleID: java-generic-information-00031 + when: + or: + - java.referenced: + location: IMPORT + pattern: org.apache.camel.util.toolbox.XsltAggregationStrategy + - builtin.xml: + namespaces: + c: http://www.springframework.org/schema/beans + xpath: //*/c:bean/@class[matches(self::node(), 'org.apache.camel.util.toolbox.XsltAggregationStrategy')] + - builtin.xml: + namespaces: + c: http://www.osgi.org/xmlns/blueprint/v1.0.0 + xpath: //*/c:bean/@class[matches(self::node(), 'org.apache.camel.util.toolbox.XsltAggregationStrategy')] +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.CamelContext` property methods have been removed. + The `getProperties` and `setProperty` methods have been removed from `org.apache.camel.CamelContext`. Please use `getGlobalOptions` and `setGlobalOptions` instead + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: CONFIGURING GLOBAL OPTIONS ON CAMELCONTEXT' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_configuring_global_options_on_camelcontext + message: The `getProperties` and `setProperty` methods have been removed from `org.apache.camel.CamelContext`. + Please use `getGlobalOptions` and `setGlobalOptions` instead + ruleID: java-generic-information-00032 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.CamelContext.{get|set}Propert{y|ies}* + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //c:camelContext/c:properties + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/blueprint + xpath: //c:camelContext/c:properties +- category: potential + customVariables: [] + description: |- + `org.apache.camel:camel-fhir` default FHIR specification has changed from DSTU3 to R4 + The default FHIR specification in the `org.apache.camel:camel-fhir` artifact has changed from DSTU3 to R4. Therefore if DSTU3 is desired it has to be explicitly set. + effort: 0 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: FHIR' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_fhir + message: The default FHIR specification in the `org.apache.camel:camel-fhir` artifact + has changed from DSTU3 to R4. Therefore if DSTU3 is desired it has to be explicitly + set. + ruleID: java-generic-information-00033 + when: + java.dependency: + name: org.apache.camel.camel-fhir + upperbound: "2" +- category: mandatory + customVariables: + - name: method + nameOfCaptureGroup: method + pattern: org.apache.camel.CamelContext.(?P(getManagedCamelContext|getManagedProcessor|getManagedRoute))?({*}) + description: | + The methods on `CamelContext` that are related to JMX has been moved into a new `ManagedCamelContext` interface present in the `org.apache.camel:camel-management-api` artifact + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Managed Camel Context + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_jmx + message: The method `org.apache.camel.CamelContext.{{method}}` has been moved to + `org.apache.camel.api.management.ManagedCamelContext.{{method}}`. You can access + it by adapting your CamelContext like so:. `ManagedCamelContext managed = context.adapt(ManagedCamelContext.class);`. + `managed.{{method}}(...);`. If you want JMX to be enabled out of the box, `org.apache.camel:camel-management` + needs to be on the classpath. + ruleID: java-generic-information-00045 + when: + java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.CamelContext.(getManagedCamelContext|getManagedProcessor|getManagedRoute)* +- category: mandatory + customVariables: [] + description: | + The functionality to change the simple language tokens for start/end functions has been removed. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Simple Language' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_simple_language + message: The functionality to change the simple language tokens for start/end functions + has been removed. The default tokens with `${{xxx}}` and `$simple{{xxx}}` is now + hardcoded (optimized). The functionality to change these tokens was never really + in use and would only confuse Camel users if a new syntax was used. + ruleID: java-generic-information-00046 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.language.simple.SimpleLanguage.(changeFunctionStartToken|changeFunctionEndToken|setFunctionStartToken|setFunctionEndToken)* + - java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.language.simple.SimpleTokenizer.(changeFunctionStartToken|changeFunctionEndToken))* + - builtin.xml: + namespaces: + c: http://www.springframework.org/schema/beans + xpath: //c:bean[@class='org.apache.camel.language.simple.SimpleLanguage']/c:property[@name='functionStartToken' + or @name='functionEndToken'] + - builtin.xml: + namespaces: + c: http://www.osgi.org/xmlns/blueprint/v1.0.0 + xpath: //c:bean[@class='org.apache.camel.language.simple.SimpleLanguage']/c:property[@name='functionStartToken' + or @name='functionEndToken'] +- category: optional + customVariables: + - name: class + nameOfCaptureGroup: class + pattern: org.apache.camel.(?P(Consume|EndpointInject|Produce))? + description: | + @{class}: `uri` attribute has been deprecated + effort: 0 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Pojo Annotations + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_pojo_annotations + message: The `uri` attribute in the @{{class}} annotation has been deprecated. Instead + use `value`, which allows a shorthand style, from using `@{{class}}(uri = "jms:cheese")` + to `@{{class}}("jms:cheese")`. + ruleID: java-generic-information-00047 + when: + java.referenced: + location: ANNOTATION + pattern: org.apache.camel.(Consume|EndpointInject|Produce) +- category: mandatory + customVariables: + - name: class + nameOfCaptureGroup: class + pattern: org.apache.camel.(?P(Consume|EndpointInject|Produce))? + description: | + @{class}: `ref` attribute has been removed + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Pojo Annotations + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_pojo_annotations + message: The `ref` attribute in the @{{class}} annotation has been removed. Instead + use the `ref` component in the `value` attribute, e.g @{{class}}("ref:myName"). + ruleID: java-generic-information-00048 + when: + java.referenced: + location: ANNOTATION + pattern: org.apache.camel.(Consume|EndpointInject|Produce) +- category: mandatory + customVariables: + - name: method + nameOfCaptureGroup: method + pattern: org.apache.camel.CamelContext.(?P(getComponentParameterJsonSchema|getDataFormatParameterJsonSchema|getLanguageParameterJsonSchema|getEipParameterJsonSchema))?({*}) + description: | + The methods on `CamelContext` that are related to the catalog have been moved into a new `CatalogCamelContext` interface + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Catalog Camel Context + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_camelcontext + message: The method `org.apache.camel.CamelContext.{{method}}` has moved to `org.apache.camel.CatalogCamelContext.{{method}}`. + You can access it by adapting your `CamelContext` like so:. `CatalogCamelContext + ccc = context.adapt(CatalogCamelContext.class);`. `ccc.{{method}}(...);` + ruleID: java-generic-information-00049 + when: + java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.CamelContext.(getComponentParameterJsonSchema|getDataFormatParameterJsonSchema|getLanguageParameterJsonSchema|getEipParameterJsonSchema)* +- category: mandatory + customVariables: + - name: method + nameOfCaptureGroup: method + pattern: org.apache.camel.CamelContext.(?P(loadRoutesDefinition|loadRestsDefinition))?({*}) + description: | + The duplicate method `org.apache.camel.CamelContext.{method}` has been removed + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Catalog Camel Context + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_camelcontext + message: The duplicate method `org.apache.camel.CamelContext.{{method}}` has been + removed. You should use the `static` method `org.apache.camel.model.ModelHelper{{method}}` + instead. + ruleID: java-generic-information-00050 + when: + java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.CamelContext.(loadRoutesDefinition|loadRestsDefinition)* +- category: mandatory + customVariables: + - name: method + nameOfCaptureGroup: method + pattern: org.apache.camel.CamelContext.(?P(getRouteDefinitions|getRouteDefinition|addRouteDefinitions|addRouteDefinition|removeRouteDefinitions|removeRouteDefinition|getRestDefinitions|addRestDefinitions|setDataFormats|getDataFormats|resolveDataFormatDefinition|getProcessorDefinition|setValidators|getHystrixConfiguration|setHystrixConfiguration|setHystrixConfigurations|addHystrixConfiguration|getValidators|setTransformers|getTransformers|addServiceCallConfiguration|setServiceCallConfigurations|setServiceCallConfiguration|getServiceCallConfiguration))?({*}) + description: | + The methods on `CamelContext` that are related to the routes model have been moved into a new `Model` interface + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Model Camel Context + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_modelcamelcontext + message: The method `org.apache.camel.CamelContext.{{method}}` has been moved to + `org.apache.camel.model.Model.{{method}}`. You can access it by adapting your + `CamelContext` like so:. `ModelCamelContext ccc = context.adapt(ModelCamelContext.class);`. + `mcc.{{method}}(...);` + ruleID: java-generic-information-00051 + when: + java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.CamelContext.(getRouteDefinitions|getRouteDefinition|addRouteDefinitions|addRouteDefinition|removeRouteDefinitions|removeRouteDefinition|getRestDefinitions|addRestDefinitions|setDataFormats|getDataFormats|resolveDataFormatDefinition|getProcessorDefinition|setValidators|getHystrixConfiguration|setHystrixConfiguration|setHystrixConfigurations|addHystrixConfiguration|getValidators|setTransformers|getTransformers|addServiceCallConfiguration|setServiceCallConfigurations|setServiceCallConfiguration|getServiceCallConfiguration)* +- category: mandatory + customVariables: + - name: method + nameOfCaptureGroup: method + pattern: org.apache.camel.CamelContext.(?P(setupRoutes|isSetupRoutes|getRouteStartupOrder|getManagementMBeanAssembler|addInterceptStrategy|getInterceptStrategies|getErrorHandlerExecutorService|getDataFormatResolver|setDataFormatResolver|getDefaultFactoryFinder|setFactoryFinderResolver|getFactoryFinder|getPackageScanClassResolver|setPackageScanClassResolver|setNodeIdFactory|getNodeIdFactory|getAsyncProcessorAwaitManager|setAsyncProcessorAwaitManager|getProcessorFactory|setProcessorFactory|getUnitOfWorkFactory|setUnitOfWorkFactory|getModelJAXBContextFactory|setModelJAXBContextFactory|getLogListeners|addLogListener))?({*}) + description: | + The methods on `CamelContext` that are intended for advanced use cases have been moved into a new `ExtendedCamelContext` interface + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Extended Camel Context + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_extended_camelcontext + message: The method `org.apache.camel.CamelContext.{{method}}` has been moved to + `org.apache.camel.ExtendedCamelContext.{{method}}`. You can access it by adapting + your `CamelContext` like so:. `ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);`. + `ecc.{{method}}(...);` + ruleID: java-generic-information-00052 + when: + java.referenced: + location: METHOD_CALL + pattern: org.apache.camel.CamelContext.(setupRoutes|isSetupRoutes|getRouteStartupOrder|getManagementMBeanAssembler|addInterceptStrategy|getInterceptStrategies|getErrorHandlerExecutorService|getDataFormatResolver|setDataFormatResolver|getDefaultFactoryFinder|setFactoryFinderResolver|getFactoryFinder|getPackageScanClassResolver|setPackageScanClassResolver|setNodeIdFactory|getNodeIdFactory|getAsyncProcessorAwaitManager|setAsyncProcessorAwaitManager|getProcessorFactory|setProcessorFactory|getUnitOfWorkFactory|setUnitOfWorkFactory|getModelJAXBContextFactory|setModelJAXBContextFactory|getLogListeners|addLogListener)* diff --git a/resources/rulesets/camel3/30-java-multiple-camelcontexts-per-application-not-supported.windup.yaml b/resources/rulesets/camel3/30-java-multiple-camelcontexts-per-application-not-supported.windup.yaml new file mode 100644 index 0000000..26ced20 --- /dev/null +++ b/resources/rulesets/camel3/30-java-multiple-camelcontexts-per-application-not-supported.windup.yaml @@ -0,0 +1,46 @@ +- category: mandatory + customVariables: + - name: class + nameOfCaptureGroup: class + pattern: org.apache.camel.(?P(BeanInject|Consume|DynamicRouter|EndpointInject|Produce|PropertyInject|RecipientList|RoutingSlip))? + description: | + {class}: `context` attribute removed + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: multiple CamelContexts per application not + supported' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_multiple_camelcontexts_per_application_not_supported + message: The `context` attribute on `{{class}}` annotations has been removed since + support for multiple CamelContexts has been removed and only one CamelContext + per deployment is supported. + ruleID: java-multiple-camelcontexts-per-application-not-supported-00000 + when: + java.referenced: + location: ANNOTATION + pattern: org.apache.camel.(BeanInject|Consume|DynamicRouter|EndpointInject|Produce|PropertyInject|RecipientList|RoutingSlip) +- category: mandatory + customVariables: + - name: CdiCamelContextName + nameOfCaptureGroup: CdiCamelContextName + pattern: org.apache.camel.cdi.(?P(ContextName|ContextNames))? + description: | + {CdiCamelContextName} has been removed + effort: 3 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: multiple CamelContexts per application not + supported' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_camel_cdi + message: Support for multiple CamelContexts has been removed, and therefore `{{CdiCamelContextName}}` + has been removed. Instead use standard CDI annotations such as `javax.inject.Named` + and `javax.enterprise.context.ApplicationScoped`. + ruleID: java-multiple-camelcontexts-per-application-not-supported-00001 + when: + java.referenced: + location: IMPORT + pattern: org.apache.camel.cdi.(ContextName|ContextNames) diff --git a/resources/rulesets/camel3/31-xml-dsl-changes.windup.yaml b/resources/rulesets/camel3/31-xml-dsl-changes.windup.yaml new file mode 100644 index 0000000..5134baf --- /dev/null +++ b/resources/rulesets/camel3/31-xml-dsl-changes.windup.yaml @@ -0,0 +1,227 @@ +- category: mandatory + customVariables: [] + description: |- + `zip` and `gzip` dataformat was renamed + `zip` and `gzip` dataformats were renamed to `zipdeflater` and `gzipdeflater` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Zip and Gzip dafaformats' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_zip_and_gzip_dataformat + message: '`zip` and `gzip` dataformats were renamed to `zipdeflater` and `gzipdeflater`' + ruleID: xml-dsl-changes-00001 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*[(count(b:zip)+count(b:gzip)) >0] + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*[(count(c:gzip)+count(c:zip)) > 0] +- category: mandatory + customVariables: [] + description: |- + `custom` load balancer was renamed `customLoadBalancer` + `custom` load balancer was renamed to `customLoadBalancer` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_xml_dsl_migration + message: '`custom` load balancer was renamed to `customLoadBalancer`' + ruleID: xml-dsl-changes-00002 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*/b:route/b:loadBalance/b:custom + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:route/c:loadBalance/c:custom +- category: mandatory + customVariables: [] + description: |- + `zipFile` data format was renamed to `zipfile` + `zipFile` data format was renamed to `zipfile` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_xml_dsl_migration + message: '`zipFile` data format was renamed to `zipfile`' + ruleID: xml-dsl-changes-00003 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*/b:marshal/b:zipFile + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*/b:unmarshal/b:zipFile + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:marshal/c:zipFile + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:unmarshal/c:zipFile +- category: mandatory + customVariables: [] + description: |- + `keyOrTrustStoreParametersId` attribute was renamed + `keyOrTrustStoreParametersId` attribute was renamed to `keyOrTrustStoreParametersRef` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_xml_dsl_migration + message: '`keyOrTrustStoreParametersId` attribute was renamed to `keyOrTrustStoreParametersRef`' + ruleID: xml-dsl-changes-00004 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*/b:secureXML/@keyOrTrustStoreParametersId + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:secureXML/@keyOrTrustStoreParametersId +- category: mandatory + customVariables: [] + description: |- + `hystrix` was renamed + Hystrix circuit breaker has been generalized as circuit breaker. Use `circuitBreaker`. instead of `hystrix'. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_xml_dsl_migration + message: Hystrix circuit breaker has been generalized as circuit breaker. Use `circuitBreaker`. + instead of `hystrix'. + ruleID: xml-dsl-changes-00005 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //b:hystrix + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:hystrix +- category: mandatory + customVariables: [] + description: |- + `completionSize` in aggregate was renamed + Use `completionSizeExpression` instead of `completionSize`. Expressions (not the attributes) for. setting correlation size/timeout were renamed. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide - Aggregate EIP changes + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_aggregate_eip_in_xml_dsl + message: Use `completionSizeExpression` instead of `completionSize`. Expressions + (not the attributes) for. setting correlation size/timeout were renamed. + ruleID: xml-dsl-changes-00006 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*/b:aggregate/b:completionSize + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:aggregate/c:completionSize +- category: mandatory + customVariables: [] + description: |- + `completionTimeout` in aggregate was renamed + Use `completionTimeoutExpression` instead of `completionTimeout`. Expressions (not the. attributes) for. setting correlation size/timeout were renamed. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide - Aggregate EIP changes + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_aggregate_eip_in_xml_dsl + message: Use `completionTimeoutExpression` instead of `completionTimeout`. Expressions + (not the. attributes) for. setting correlation size/timeout were renamed. + ruleID: xml-dsl-changes-00007 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*/b:aggregate/b:completionTimeout + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:aggregate/c:completionTimeout +- category: mandatory + customVariables: [] + description: |- + `headerName` attribute was renamed + The attribute `headerName` was renamed to `name`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide - Aggregate EIP changes + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_setheader_and_setproperty_in_xml_dsl + message: The attribute `headerName` was renamed to `name`. + ruleID: xml-dsl-changes-00008 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*/b:setHeader/@headerName + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:setHeader/@headerName +- category: mandatory + customVariables: [] + description: |- + `propertyName` attribute was renamed + The attribute `propertyName` was renamed to `name`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Migration Guide - Aggregate EIP changes + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_setheader_and_setproperty_in_xml_dsl + message: The attribute `propertyName` was renamed to `name`. + ruleID: xml-dsl-changes-00009 + when: + or: + - builtin.xml: + namespaces: + b: http://camel.apache.org/schema/blueprint + xpath: //*/b:setProperty/@propertyName + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:setProperty/@propertyName diff --git a/resources/rulesets/camel3/32-xml-java-versions.windup.yaml b/resources/rulesets/camel3/32-xml-java-versions.windup.yaml new file mode 100644 index 0000000..c40c708 --- /dev/null +++ b/resources/rulesets/camel3/32-xml-java-versions.windup.yaml @@ -0,0 +1,93 @@ +- category: potential + customVariables: [] + description: |- + 'jaxb-api' Maven dependency missing + `jaxb-api` Maven dependency missing.. Apache Camel 3 supports Java 11 and in this Java version JAXB modules have been removed from the JDK, therefore you will need to add them as Maven dependencies since there are couple of components rely on them:. ```Xml. . javax.xml.bind. jaxb-api. 2.3.1. . ``` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Java Versions' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_java_versions + message: '`jaxb-api` Maven dependency missing.. Apache Camel 3 supports Java 11 + and in this Java version JAXB modules have been removed from the JDK, therefore + you will need to add them as Maven dependencies since there are couple of components + rely on them:. ```Xml. . javax.xml.bind. jaxb-api. + 2.3.1. . ```' + ruleID: xml-java-versions-00001 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: javax.xml.bind.jaxb-api + not: true + - as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies +- category: potential + customVariables: [] + description: |- + 'jaxb-core' Maven dependency missing + `jaxb-core` Maven dependency missing.. Apache Camel 3 supports Java 11 and in this Java version JAXB modules have been removed from the JDK, therefore you will need to add them as Maven dependencies since there are couple of components rely on them:. ```Xml. . com.sun.xml.bind. jaxb-core. 2.3.0.1. . ``` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Java Versions' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_java_versions + message: '`jaxb-core` Maven dependency missing.. Apache Camel 3 supports Java 11 + and in this Java version JAXB modules have been removed from the JDK, therefore + you will need to add them as Maven dependencies since there are couple of components + rely on them:. ```Xml. . com.sun.xml.bind. jaxb-core. + 2.3.0.1. . ```' + ruleID: xml-java-versions-00002 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: com.sun.xml.bind.jaxb-core + not: true + - as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies +- category: potential + customVariables: [] + description: |- + 'jaxb-impl' Maven dependency missing + `jaxb-impl` Maven dependency missing.. Apache Camel 3 supports Java 11 and in this Java version JAXB modules have been removed from the JDK, therefore you will need to add them as Maven dependencies since there are couple of components rely on them:. ```Xml. . com.sun.xml.bind. jaxb-impl. 2.3.2. . ``` + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Java Versions' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_java_versions + message: '`jaxb-impl` Maven dependency missing.. Apache Camel 3 supports Java 11 + and in this Java version JAXB modules have been removed from the JDK, therefore + you will need to add them as Maven dependencies since there are couple of components + rely on them:. ```Xml. . com.sun.xml.bind. jaxb-impl. + 2.3.2. . ```' + ruleID: xml-java-versions-00003 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: com.sun.xml.bind.jaxb-impl + not: true + - as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies diff --git a/resources/rulesets/camel3/33-xml-moved-components.windup.yaml b/resources/rulesets/camel3/33-xml-moved-components.windup.yaml new file mode 100644 index 0000000..43a5be1 --- /dev/null +++ b/resources/rulesets/camel3/33-xml-moved-components.windup.yaml @@ -0,0 +1,84 @@ +- category: mandatory + customVariables: [] + description: |- + The classes from `org.apache.camel.util.component` have been moved + All the classes from `org.apache.camel.util.component` have been moved to `org.apache.camel.support.component`.. `org.apache.camel:camel-support` is a transitive dependency of `camel-core` but it could be used also separately to trim the application size. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: All the classes from `org.apache.camel.util.component` have been moved + to `org.apache.camel.support.component`.. `org.apache.camel:camel-support` is + a transitive dependency of `camel-core` but it could be used also separately to + trim the application size. + ruleID: xml-moved-components-00012 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.util.component* +- category: mandatory + customVariables: + - name: moved + nameOfCaptureGroup: moved + pattern: org.apache.camel.impl.(?P(CamelPostProcessorHelper|DefaultAsyncProcessorAwaitManager|DefaultCamelBeanPostProcessor|DefaultCamelContextNameStrategy|DefaultClaimCheckRepository|DefaultClassResolver|DefaultComponentResolver|DefaultConsumerTemplate|DefaultDataFormatResolver|DefaultEndpointRegistry|DefaultEndpointUtilizationStatistics|DefaultFactoryFinder|DefaultFactoryFinderResolver|DefaultHeadersMapFactory|DefaultInflightRepository|DefaultInjector|DefaultLanguageResolver|DefaultManagementNameStrategy|DefaultMessageHistoryFactory|DefaultNodeIdFactory|DefaultPackageScanClassResolver|DefaultProcessorFactory|DefaultProducerTemplate|DefaultRoute|DefaultRouteContext|DefaultRouteController|DefaultRouteError|DefaultRouteStartupOrder|DefaultRuntimeEndpointRegistry|DefaultShutdownStrategy|DefaultStreamCachingStrategy|DefaultTransformerRegistry|DefaultUnitOfWork|DefaultUnitOfWorkFactory|DefaultUuidGenerator|DefaultValidatorRegistry|DeferProducer|DeferServiceStartupListener|DurationRoutePolicy|DurationRoutePolicyFactory|EndpointKey|EventDrivenConsumerRoute|EventNotifierCallback|ExplicitCamelContextNameStrategy|FileStateRepository|HashMapHeadersMapFactory|HeadersMapFactoryResolver|InterceptSendToEndpointProcessor|InterceptSendToMockEndpointStrategy|JavaUuidGenerator|LimitedPollingConsumerPollStrategy|MDCUnitOfWork|MemoryStateRepository|SubscribeMethodProcessor|SupervisingRouteController|SupervisingRouteController.FilterResult|SupervisingRouteControllerFilters|SupervisingRouteControllerFilters.BlackList|TypedProcessorFactory|WebSpherePackageScanClassResolver))? + description: | + `org.apache.camel.impl.{moved}` class has been moved + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: The class `org.apache.camel.impl.{{moved}}` has been moved to `org.apache.camel.impl.engine` + package in `camel-base` dependency.. `org.apache.camel:camel-base` is a transitive + dependency of `camel-core` but it could be used also separately to trim the application + size. + ruleID: xml-moved-components-00013 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.impl.(CamelPostProcessorHelper|DefaultAsyncProcessorAwaitManager|DefaultCamelBeanPostProcessor|DefaultCamelContextNameStrategy|DefaultClaimCheckRepository|DefaultClassResolver|DefaultComponentResolver|DefaultConsumerTemplate|DefaultDataFormatResolver|DefaultEndpointRegistry|DefaultEndpointUtilizationStatistics|DefaultFactoryFinder|DefaultFactoryFinderResolver|DefaultHeadersMapFactory|DefaultInflightRepository|DefaultInjector|DefaultLanguageResolver|DefaultManagementNameStrategy|DefaultMessageHistoryFactory|DefaultNodeIdFactory|DefaultPackageScanClassResolver|DefaultProcessorFactory|DefaultProducerTemplate|DefaultRoute|DefaultRouteContext|DefaultRouteController|DefaultRouteError|DefaultRouteStartupOrder|DefaultRuntimeEndpointRegistry|DefaultShutdownStrategy|DefaultStreamCachingStrategy|DefaultTransformerRegistry|DefaultUnitOfWork|DefaultUnitOfWorkFactory|DefaultUuidGenerator|DefaultValidatorRegistry|DeferProducer|DeferServiceStartupListener|DurationRoutePolicy|DurationRoutePolicyFactory|EndpointKey|EventDrivenConsumerRoute|EventNotifierCallback|ExplicitCamelContextNameStrategy|FileStateRepository|HashMapHeadersMapFactory|HeadersMapFactoryResolver|InterceptSendToEndpointProcessor|InterceptSendToMockEndpointStrategy|JavaUuidGenerator|LimitedPollingConsumerPollStrategy|MDCUnitOfWork|MemoryStateRepository|SubscribeMethodProcessor|SupervisingRouteController|SupervisingRouteController.FilterResult|SupervisingRouteControllerFilters|SupervisingRouteControllerFilters.BlackList|TypedProcessorFactory|WebSpherePackageScanClassResolver) +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel.main.Main` class has been moved + The class `org.apache.camel.main.Main` has been moved out of `org.apache.camel:camel-core` and into its own JAR named `org.apache.camel:camel-main`.. `org.apache.camel:camel-main` has to be added as a dependency to your project pom.xml file + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: The class `org.apache.camel.main.Main` has been moved out of `org.apache.camel:camel-core` + and into its own JAR named `org.apache.camel:camel-main`.. `org.apache.camel:camel-main` + has to be added as a dependency to your project pom.xml file + ruleID: xml-moved-components-00014 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: org.apache.camel.main.Main +- category: potential + customVariables: [] + description: |- + JMX is disable by default + If you run Camel standalone with just `camel-core` as a dependency, and you want JMX enabled out of the box, then you need to add `org.apache.camel:camel-management` as a dependency. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: [] + message: If you run Camel standalone with just `camel-core` as a dependency, and + you want JMX enabled out of the box, then you need to add `org.apache.camel:camel-management` + as a dependency. + ruleID: xml-moved-components-00015 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies[count(m:dependency/m:artifactId[text()='camel-management'])=0 + and count(m:dependency/m:artifactId[text()='camel-core'])>0] diff --git a/resources/rulesets/camel3/34-xml-removed-components.windup.yaml b/resources/rulesets/camel3/34-xml-removed-components.windup.yaml new file mode 100644 index 0000000..0f92abb --- /dev/null +++ b/resources/rulesets/camel3/34-xml-removed-components.windup.yaml @@ -0,0 +1,263 @@ +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-linkedin` artifact has been removed + `org.apache.camel:camel-linkedin` artifact has been removed in Apache Camel 3 so it won't be available + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Removed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_removed_components + message: '`org.apache.camel:camel-linkedin` artifact has been removed in Apache + Camel 3 so it won''t be available' + ruleID: xml-removed-components-00000 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-linkedin +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-linkedin-starter` artifact has been removed + `org.apache.camel:camel-linkedin-starter` artifact has been removed in Apache Camel 3 so it won't be available + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Removed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_removed_components + message: '`org.apache.camel:camel-linkedin-starter` artifact has been removed in + Apache Camel 3 so it won''t be available' + ruleID: xml-removed-components-00001 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-linkedin-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-script` artifact has been removed + `org.apache.camel:camel-script` artifact has been deprecated in Apache Camel 2 and removed in Apache Camel 3 as there is no support for javax.script, which is also deprecated in the JDK and to be removed from Java 11 onwards. + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: JAVAX.SCRIPT' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_javax_script + message: '`org.apache.camel:camel-script` artifact has been deprecated in Apache + Camel 2 and removed in Apache Camel 3 as there is no support for javax.script, + which is also deprecated in the JDK and to be removed from Java 11 onwards.' + ruleID: xml-removed-components-00002 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-script +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-script-starter` artifact has been removed + `org.apache.camel:camel-script-starter` artifact has been deprecated in Apache Camel 2 and removed in Apache Camel 3 as there is no support for javax.script, which is also deprecated in the JDK and to be removed from Java 11 onwards. + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: JAVAX.SCRIPT' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_javax_script + message: '`org.apache.camel:camel-script-starter` artifact has been deprecated in + Apache Camel 2 and removed in Apache Camel 3 as there is no support for javax.script, + which is also deprecated in the JDK and to be removed from Java 11 onwards.' + ruleID: xml-removed-components-00003 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-script-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-jibx` artifact has been removed + `org.apache.camel:camel-jibx` artifact has been deprecated in Apache Camel 2 and removed in Apache Camel 3 because it did not support JDK8. + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Removed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_removed_components + message: '`org.apache.camel:camel-jibx` artifact has been deprecated in Apache Camel + 2 and removed in Apache Camel 3 because it did not support JDK8.' + ruleID: xml-removed-components-00004 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-jibx +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-jibx-starter` artifact has been removed + `org.apache.camel:camel-jibx-starter` artifact has been deprecated in Apache Camel 2 and removed in Apache Camel 3 because it did not support JDK8. + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Removed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_removed_components + message: '`org.apache.camel:camel-jibx-starter` artifact has been deprecated in + Apache Camel 2 and removed in Apache Camel 3 because it did not support JDK8.' + ruleID: xml-removed-components-00005 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-jibx-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-boon` artifact has been removed + `org.apache.camel:camel-boon` artifact has been deprecated in Apache Camel 2 and removed in Apache Camel 3 because it did not support JDK9 and later. + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Removed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_removed_components + message: '`org.apache.camel:camel-boon` artifact has been deprecated in Apache Camel + 2 and removed in Apache Camel 3 because it did not support JDK9 and later.' + ruleID: xml-removed-components-00006 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-boon +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-boon-starter` artifact has been removed + `org.apache.camel:camel-boon-starter` artifact has been deprecated in Apache Camel 2 and removed in Apache Camel 3 because it did not support JDK9 and later. + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Removed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_removed_components + message: '`org.apache.camel:camel-boon-starter` artifact has been deprecated in + Apache Camel 2 and removed in Apache Camel 3 because it did not support JDK9 and + later.' + ruleID: xml-removed-components-00007 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-boon-starter +- category: mandatory + customVariables: [] + description: |- + `twitter-streaming` component has been removed + `twitter-streaming` component has been deprecated in Apache Camel 2 and removed in Apache Camel 3 because it relied on the deprecated Twitter Streaming API and is no longer functional. + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Removed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_removed_components + message: '`twitter-streaming` component has been deprecated in Apache Camel 2 and + removed in Apache Camel 3 because it relied on the deprecated Twitter Streaming + API and is no longer functional.' + ruleID: xml-removed-components-00008 + when: + or: + - builtin.filecontent: + pattern: from("twitter-streaming:* + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/spring + xpath: //*/c:from/@uri[matches(self::node(), 'twitter-streaming:{*}')] + - builtin.xml: + namespaces: + c: http://camel.apache.org/schema/blueprint + xpath: //*/c:from/@uri[matches(self::node(), 'twitter-streaming:{*}')] +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-restlet` artifact has been removed + `org.apache.camel:camel-restlet` artifact has been deprecated in Apache Camel 2 and removed in Apache Camel 3. Use any of the other REST capable components, such as `camel-rest`, `camel-jetty`, `camel-netty-http` or `camel-undertow` + effort: 3 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Removed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_removed_components + - title: Deprecate and remove camel-restlet as it's not actively maintained + url: https://issues.apache.org/jira/browse/CAMEL-14060 + message: '`org.apache.camel:camel-restlet` artifact has been deprecated in Apache + Camel 2 and removed in Apache Camel 3. Use any of the other REST capable components, + such as `camel-rest`, `camel-jetty`, `camel-netty-http` or `camel-undertow`' + ruleID: xml-removed-components-00005-01 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-restlet +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-core-starter` artifact has been removed + `org.apache.camel:camel-core-starter` artifact has been removed and split into several modules. Please add the relevant starter artifacts to your pom.xml file. + effort: 7 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Camel Core' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_modularization_of_camel_core + message: '`org.apache.camel:camel-core-starter` artifact has been removed and split + into several modules. Please add the relevant starter artifacts to your pom.xml + file.' + ruleID: xml-removed-components-00007-01 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-core-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-maven-plugin` has been split + The `camel-maven-plugin` has been split up into two Maven plugins: `camel-maven-plugin` and `camel-report-maven-plugin`. The `camel-maven-plugin` contains the `run` goal which is intended for quickly running Camel applications. The `camel-report-maven-plugin` has the `validate` and `route-coverage` goals which is used for generating reports of your Camel projects by validating Camel endpoint URIs and performing route coverage reports. Please use the `org.apache.camel:camel-report-maven-plugin` in this case. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Camel Maven Plugin' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_migrating_camel_maven_plugins + message: 'The `camel-maven-plugin` has been split up into two Maven plugins: `camel-maven-plugin` + and `camel-report-maven-plugin`. The `camel-maven-plugin` contains the `run` goal + which is intended for quickly running Camel applications. The `camel-report-maven-plugin` + has the `validate` and `route-coverage` goals which is used for generating reports + of your Camel projects by validating Camel endpoint URIs and performing route + coverage reports. Please use the `org.apache.camel:camel-report-maven-plugin` + in this case.' + ruleID: xml-removed-components-00008-01 + when: + or: + - builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:build/m:plugins/m:plugin[m:groupId='org.apache.camel' + and m:artifactId='camel-maven-plugin']/m:executions/m:execution/m:goals[m:goal='validate' + or m:goal='route-coverage'] + - builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:profiles/m:profile/m:build/m:plugins/m:plugin[m:groupId='org.apache.camel' + and m:artifactId='camel-maven-plugin']/m:executions/m:execution/m:goals[m:goal='validate' + or m:goal='route-coverage'] diff --git a/resources/rulesets/camel3/35-xml-renamed-components.windup.yaml b/resources/rulesets/camel3/35-xml-renamed-components.windup.yaml new file mode 100644 index 0000000..a8ec990 --- /dev/null +++ b/resources/rulesets/camel3/35-xml-renamed-components.windup.yaml @@ -0,0 +1,590 @@ +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-http4` artifact has been renamed + `org.apache.camel:camel-http4` artifact has been renamed in Apache Camel 3 to `org.apache.camel:camel-http` artifact + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Renamed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-http4` artifact has been renamed in Apache Camel + 3 to `org.apache.camel:camel-http` artifact' + ruleID: xml-renamed-components-00000 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-http4 +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-http4-starter` artifact has been renamed + `org.apache.camel:camel-http4-starter` artifact has been renamed in Apache Camel 3 to `org.apache.camel.springboot:camel-http-starter` artifact + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Renamed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-http4-starter` artifact has been renamed in Apache + Camel 3 to `org.apache.camel.springboot:camel-http-starter` artifact' + ruleID: xml-renamed-components-00001 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-http4-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-rxjava2` artifact has been renamed + `org.apache.camel:camel-rxjava2` artifact has been renamed in Apache Camel 3 to `org.apache.camel:camel-rxjava` artifact + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Renamed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-rxjava2` artifact has been renamed in Apache Camel + 3 to `org.apache.camel:camel-rxjava` artifact' + ruleID: xml-renamed-components-00002 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-rxjava2 +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-rxjava2-starter` artifact has been renamed + `org.apache.camel:camel-rxjava2-starter` artifact has been renamed in Apache Camel 3 to `org.apache.camel.springboot:camel-rxjava-starter` artifact + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: Renamed components' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-rxjava2-starter` artifact has been renamed in + Apache Camel 3 to `org.apache.camel.springboot:camel-rxjava-starter` artifact' + ruleID: xml-renamed-components-00003 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-rxjava2-starter +- category: mandatory + customVariables: [] + description: | + `org.apache.camel:camel-{substitution}-starter` artifact has been renamed + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: 'Camel 3 - Migration Guide: the Maven `groupId` for the Camel Spring Boot + starters have changed' + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_spring_boot_starters_maven_coordinate_change + message: '`org.apache.camel:camel-{{substitution}}-starter` artifact has been renamed + in Apache Camel 3 to `org.apache.camel.springboot:camel-{{substitution}}-starter` + artifact' + ruleID: xml-renamed-components-00004 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-{substitution}-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-mongodb3` artifact has been renamed + `org.apache.camel:camel-mongodb3` artifact has been renamed to `org.apache.camel:camel-mongodb`. It’s corresponding component package was renamed from `org.apache.camel.component.mongodb3` to `org.apache.camel.component.mongodb`. The supported scheme is now `mongodb`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-mongodb3` artifact has been renamed to `org.apache.camel:camel-mongodb`. + It’s corresponding component package was renamed from `org.apache.camel.component.mongodb3` + to `org.apache.camel.component.mongodb`. The supported scheme is now `mongodb`.' + ruleID: xml-renamed-components-00005 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-mongodb3 +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-mongodb3-starter` artifact has been renamed + `org.apache.camel:camel-mongodb3-starter` artifact has been renamed to `org.apache.camel.springboot:camel-mongodb-starter`. It’s corresponding component package was renamed from `org.apache.camel.component.mongodb3` to `org.apache.camel.component.mongodb`. The supported scheme is now `mongodb`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-mongodb3-starter` artifact has been renamed to + `org.apache.camel.springboot:camel-mongodb-starter`. It’s corresponding component + package was renamed from `org.apache.camel.component.mongodb3` to `org.apache.camel.component.mongodb`. + The supported scheme is now `mongodb`.' + ruleID: xml-renamed-components-00006 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-mongodb3-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-hdfs2` artifact has been renamed + `org.apache.camel:camel-hdfs2` artifact has been renamed to `org.apache.camel:camel-hdfs`. It’s corresponding component package was renamed from `org.apache.camel.component.hdfs2` to `org.apache.camel.component.hdfs`. The supported scheme is now `hdfs`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-hdfs2` artifact has been renamed to `org.apache.camel:camel-hdfs`. + It’s corresponding component package was renamed from `org.apache.camel.component.hdfs2` + to `org.apache.camel.component.hdfs`. The supported scheme is now `hdfs`.' + ruleID: xml-renamed-components-00007 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-hdfs2 +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-hdfs2-starter` artifact has been renamed + `org.apache.camel:camel-hdfs2-starter` artifact has been renamed to `org.apache.camel.springboot:camel-hdfs-starter`. It’s corresponding component package was renamed from `org.apache.camel.component.hdfs2` to `org.apache.camel.component.hdfs`. The supported scheme is now `hdfs`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-hdfs2-starter` artifact has been renamed to `org.apache.camel.springboot:camel-hdfs-starter`. + It’s corresponding component package was renamed from `org.apache.camel.component.hdfs2` + to `org.apache.camel.component.hdfs`. The supported scheme is now `hdfs`.' + ruleID: xml-renamed-components-00008 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-hdfs2-starter +- category: potential + customVariables: [] + description: |- + `org.apache.camel:camel-hdfs` artifact has been replaced + In Camel 3, the `org.apache.camel:camel-hdfs` artifact has the same implementation as the Camel 2 `org.apache.camel:camel-hdfs2` artifact. The component now depends on Hadoop 2.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: In Camel 3, the `org.apache.camel:camel-hdfs` artifact has the same implementation + as the Camel 2 `org.apache.camel:camel-hdfs2` artifact. The component now depends + on Hadoop 2.x, upgrade efforts may vary. + ruleID: xml-renamed-components-00009 + when: + java.dependency: + name: org.apache.camel.camel-hdfs + upperbound: "2" +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-hdfs-starter` artifact has been renamed + `org.apache.camel:camel-hdfs-starter` artifact has been renamed to `org.apache.camel.springboot:camel-hdfs-starter`. The component now depends on Hadoop 2.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-hdfs-starter` artifact has been renamed to `org.apache.camel.springboot:camel-hdfs-starter`. + The component now depends on Hadoop 2.x, upgrade efforts may vary.' + ruleID: xml-renamed-components-00010 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-hdfs-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-mina2` artifact has been renamed + `org.apache.camel:camel-mina2` artifact has been renamed to `org.apache.camel:camel-mina`. It’s corresponding component package was renamed from `org.apache.camel.component.mina2` to `org.apache.camel.component.mina`. The supported scheme is now `mina`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-mina2` artifact has been renamed to `org.apache.camel:camel-mina`. + It’s corresponding component package was renamed from `org.apache.camel.component.mina2` + to `org.apache.camel.component.mina`. The supported scheme is now `mina`.' + ruleID: xml-renamed-components-00011 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-mina2 +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-mina2-starter` artifact has been renamed + `org.apache.camel:camel-mina2-starter` artifact has been renamed to `org.apache.camel.springboot:camel-mina-starter`. It’s corresponding component package was renamed from `org.apache.camel.component.mina2` to `org.apache.camel.component.mina`. The supported scheme is now `mina`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-mina2-starter` artifact has been renamed to `org.apache.camel.springboot:camel-mina-starter`. + It’s corresponding component package was renamed from `org.apache.camel.component.mina2` + to `org.apache.camel.component.mina`. The supported scheme is now `mina`.' + ruleID: xml-renamed-components-00012 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-mina2-starter +- category: potential + customVariables: [] + description: |- + `org.apache.camel:camel-mina` artifact has been replaced + In Camel 3, the `org.apache.camel:camel-mina` artifact has the same implementation as the Camel 2 `org.apache.camel:camel-mina2` artifact. The component now depends on Mina 2.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: In Camel 3, the `org.apache.camel:camel-mina` artifact has the same implementation + as the Camel 2 `org.apache.camel:camel-mina2` artifact. The component now depends + on Mina 2.x, upgrade efforts may vary. + ruleID: xml-renamed-components-00013 + when: + java.dependency: + name: org.apache.camel.camel-mina + upperbound: "2" +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-mina-starter` artifact has been renamed + `org.apache.camel:camel-mina-starter` artifact has been renamed to `org.apache.camel.springboot:camel-mina-starter`. The component now depends on Mina 2.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-mina-starter` artifact has been renamed to `org.apache.camel.springboot:camel-mina-starter`. + The component now depends on Mina 2.x, upgrade efforts may vary.' + ruleID: xml-renamed-components-00014 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-mina-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-netty4` artifact has been renamed + `org.apache.camel:camel-netty4` artifact has been renamed to `org.apache.camel:camel-netty`. It’s corresponding component package was renamed from `org.apache.camel.component.netty4` to `org.apache.camel.component.netty`. The supported scheme is now `netty`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-netty4` artifact has been renamed to `org.apache.camel:camel-netty`. + It’s corresponding component package was renamed from `org.apache.camel.component.netty4` + to `org.apache.camel.component.netty`. The supported scheme is now `netty`.' + ruleID: xml-renamed-components-00015 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-netty4 +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-netty4-starter` artifact has been renamed + `org.apache.camel:camel-netty4-starter` artifact has been renamed to `org.apache.camel.springboot:camel-netty-starter`. It’s corresponding component package was renamed from `org.apache.camel.component.netty4` to `org.apache.camel.component.netty`. The supported scheme is now `netty`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-netty4-starter` artifact has been renamed to `org.apache.camel.springboot:camel-netty-starter`. + It’s corresponding component package was renamed from `org.apache.camel.component.netty4` + to `org.apache.camel.component.netty`. The supported scheme is now `netty`.' + ruleID: xml-renamed-components-00016 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-netty4-starter +- category: potential + customVariables: [] + description: |- + `org.apache.camel:camel-netty` artifact has been replaced + In Camel 3, the `org.apache.camel:camel-netty` artifact has the same implementation as the Camel 2 `org.apache.camel:camel-netty4` artifact. The component now depends on Netty 4.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: In Camel 3, the `org.apache.camel:camel-netty` artifact has the same implementation + as the Camel 2 `org.apache.camel:camel-netty4` artifact. The component now depends + on Netty 4.x, upgrade efforts may vary. + ruleID: xml-renamed-components-00017 + when: + java.dependency: + name: org.apache.camel.camel-netty + upperbound: "2" +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-netty-starter` artifact has been renamed + `org.apache.camel:camel-netty-starter` artifact has been renamed to `org.apache.camel.springboot:camel-netty-starter` artifact. The component now depends on Netty 4.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-netty-starter` artifact has been renamed to `org.apache.camel.springboot:camel-netty-starter` + artifact. The component now depends on Netty 4.x, upgrade efforts may vary.' + ruleID: xml-renamed-components-00018 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-netty-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-netty4-http` artifact has been renamed + `org.apache.camel:camel-netty4-http` artifact has been renamed to `org.apache.camel:camel-netty-http`. It’s corresponding component package was renamed from `org.apache.camel.component.netty4.http` to `org.apache.camel.component.netty.http`. The supported scheme is now `netty-http`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-netty4-http` artifact has been renamed to `org.apache.camel:camel-netty-http`. + It’s corresponding component package was renamed from `org.apache.camel.component.netty4.http` + to `org.apache.camel.component.netty.http`. The supported scheme is now `netty-http`.' + ruleID: xml-renamed-components-000019 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-netty4-http +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-netty4-http-starter` artifact has been renamed + `org.apache.camel:camel-netty4-http` artifact has been renamed to `org.apache.camel.springboot:camel-netty-http-starter`. It’s corresponding component package was renamed from `org.apache.camel.component.netty4.http` to `org.apache.camel.component.netty.http`. The supported scheme is now `netty-http`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-netty4-http` artifact has been renamed to `org.apache.camel.springboot:camel-netty-http-starter`. + It’s corresponding component package was renamed from `org.apache.camel.component.netty4.http` + to `org.apache.camel.component.netty.http`. The supported scheme is now `netty-http`.' + ruleID: xml-renamed-components-000020 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-netty4-http-starter +- category: potential + customVariables: [] + description: |- + `org.apache.camel:camel-netty-http` artifact has been replaced + In Camel 3, the `org.apache.camel:camel-netty-http` artifact has the same implementation as the Camel 2 `org.apache.camel:camel-netty4-http` artifact. The component now depends on Netty 4.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: In Camel 3, the `org.apache.camel:camel-netty-http` artifact has the same + implementation as the Camel 2 `org.apache.camel:camel-netty4-http` artifact. The + component now depends on Netty 4.x, upgrade efforts may vary. + ruleID: xml-renamed-components-00021 + when: + java.dependency: + name: org.apache.camel.camel-netty-http + upperbound: "2" +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-netty-http-starter` artifact has been renamed + `org.apache.camel:camel-netty-http-starter` artifact has been renamed to `org.apache.camel.springboot:camel-netty-http-starter`. The component now depends on Netty 4.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-netty-http-starter` artifact has been renamed + to `org.apache.camel.springboot:camel-netty-http-starter`. The component now depends + on Netty 4.x, upgrade efforts may vary.' + ruleID: xml-renamed-components-00022 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-netty-http-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-quartz2` artifact has been renamed + `org.apache.camel:camel-quartz2` artifact has been renamed to `org.apache.camel:camel-quartz`. It’s corresponding component package was renamed from `org.apache.camel.component.quartz2` to `org.apache.camel.component.quartz`. The supported scheme is now `quartz`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-quartz2` artifact has been renamed to `org.apache.camel:camel-quartz`. + It’s corresponding component package was renamed from `org.apache.camel.component.quartz2` + to `org.apache.camel.component.quartz`. The supported scheme is now `quartz`.' + ruleID: xml-renamed-components-000023 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-quartz2 +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-quartz2-starter` artifact has been renamed + `org.apache.camel:camel-quartz2-starter` artifact has been renamed to `org.apache.camel.springboot:camel-quartz-starter`. It’s corresponding component package was renamed from `org.apache.camel.component.quartz2` to `org.apache.camel.component.quartz`. The supported scheme is now `quartz`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-quartz2-starter` artifact has been renamed to + `org.apache.camel.springboot:camel-quartz-starter`. It’s corresponding component + package was renamed from `org.apache.camel.component.quartz2` to `org.apache.camel.component.quartz`. + The supported scheme is now `quartz`.' + ruleID: xml-renamed-components-000024 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-quartz2-starter +- category: potential + customVariables: [] + description: |- + `org.apache.camel:camel-quartz` artifact has been replaced + In Camel 3, the `org.apache.camel:camel-quartz` artifact has the same implementation as the Camel 2 `org.apache.camel:camel-quartz2` artifact. The component now depends on Quartz 2.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: In Camel 3, the `org.apache.camel:camel-quartz` artifact has the same implementation + as the Camel 2 `org.apache.camel:camel-quartz2` artifact. The component now depends + on Quartz 2.x, upgrade efforts may vary. + ruleID: xml-renamed-components-00025 + when: + java.dependency: + name: org.apache.camel.camel-quartz + upperbound: "2" +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-quartz-starter` artifact has been renamed + `org.apache.camel:camel-quartz-starter` artifact has been renamed to `org.apache.camel.springboot:camel-quartz-starter`. The component now depends on Quartz 2.x, upgrade efforts may vary. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-quartz-starter` artifact has been renamed to `org.apache.camel.springboot:camel-quartz-starter`. + The component now depends on Quartz 2.x, upgrade efforts may vary.' + ruleID: xml-renamed-components-00026 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-quartz-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-jetty9` artifact has been renamed + `org.apache.camel:camel-jetty9` artifact has been renamed to `org.apache.camel:camel-jetty`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-jetty9` artifact has been renamed to `org.apache.camel:camel-jetty`.' + ruleID: xml-renamed-components-000027 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-jetty9 +- category: mandatory + customVariables: [] + description: |- + `org.apache.camel:camel-jetty9-starter` artifact has been renamed + `org.apache.camel:camel-jetty9-starter` artifact has been renamed to `org.apache.camel.springboot:camel-jetty-starter`. + effort: 1 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - Renamed Components + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_renamed_components + message: '`org.apache.camel:camel-jetty9-starter` artifact has been renamed to `org.apache.camel.springboot:camel-jetty-starter`.' + ruleID: xml-renamed-components-000028 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.camel.camel-jetty9-starter +- category: mandatory + customVariables: [] + description: |- + `org.apache.activemq:activemq-camel` artifact has been moved + The `org.apache.activemq:activemq-camel` artifact has been moved to `org.apache.camel:camel-activemq`, where the component name has changed from `org.apache.activemq.camel.component.ActiveMQComponent` to `org.apache.camel.component.activemq.ActiveMQComponent`. + effort: 3 + labels: + - konveyor.io/source=camel2 + - konveyor.io/target=camel3 + links: + - title: Camel 3 - ActiveMQ + url: https://camel.apache.org/manual/latest/camel-3-migration-guide.html#_activemq + message: The `org.apache.activemq:activemq-camel` artifact has been moved to `org.apache.camel:camel-activemq`, + where the component name has changed from `org.apache.activemq.camel.component.ActiveMQComponent` + to `org.apache.camel.component.activemq.ActiveMQComponent`. + ruleID: xml-renamed-components-000029 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.activemq.activemq-camel diff --git a/resources/rulesets/camel3/image.svg b/resources/rulesets/camel3/image.svg new file mode 100644 index 0000000..eb0b883 --- /dev/null +++ b/resources/rulesets/camel3/image.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/resources/rulesets/camel3/ruleset.yaml b/resources/rulesets/camel3/ruleset.yaml new file mode 100644 index 0000000..3aa6666 --- /dev/null +++ b/resources/rulesets/camel3/ruleset.yaml @@ -0,0 +1,3 @@ +name: camel3/camel2 +description: This ruleset provides analysis with respect to multiple Camel Context + not supported in Apache Camel 3. diff --git a/resources/rulesets/droolsjbpm/36-kie-api.windup.yaml b/resources/rulesets/droolsjbpm/36-kie-api.windup.yaml new file mode 100644 index 0000000..c1625fb --- /dev/null +++ b/resources/rulesets/droolsjbpm/36-kie-api.windup.yaml @@ -0,0 +1,323 @@ +- customVariables: [] + description: |- + org.drools.KnowledgeBase is deprecated + Replace with : org.kie.api.KieBase + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.KieBase' + ruleID: kie-api-01000 + when: + java.referenced: + location: IMPORT + pattern: org.drools.KnowledgeBase +- customVariables: [] + description: |- + org.drools.event.AgendaEventListener is deprecated + Replace with : org.kie.api.event.rule.AgendaEventListener + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.event.rule.AgendaEventListener' + ruleID: kie-api-01001 + when: + java.referenced: + location: IMPORT + pattern: org.drools.event.AgendaEventListener +- customVariables: [] + description: |- + AgendaEventListener is deprecated + Replace with : org.kie.api.event.rule.AgendaEventListener + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.event.rule.AgendaEventListener' + ruleID: kie-api-01002 + when: + java.referenced: + location: IMPORT + pattern: org.drools.event.rule.AgendaEventListener +- customVariables: [] + description: |- + org.drools.event.DefaultAgendaEventListener is deprecated + Replace with : org.kie.drools.core.event.DefaultAgendaEventListener + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.drools.core.event.DefaultAgendaEventListener' + ruleID: kie-api-01003 + when: + java.referenced: + location: IMPORT + pattern: org.drools.event.DefaultAgendaEventListener +- customVariables: [] + description: |- + org.drools.event.rule.DefaultAgendaEventListener is deprecated + Replace with : org.kie.api.event.rule.DefaultAgendaEventListener + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.event.rule.DefaultAgendaEventListener' + ruleID: kie-api-01004 + when: + java.referenced: + location: IMPORT + pattern: org.drools.event.rule.DefaultAgendaEventListener +- customVariables: [] + description: |- + org.drools.event.process.ProcessEventListener is deprecated + Replace with : org.kie.api.event.process.ProcessEventListener + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.event.process.ProcessEventListener' + ruleID: kie-api-01005 + when: + java.referenced: + location: IMPORT + pattern: org.drools.event.process.ProcessEventListener +- customVariables: [] + description: |- + org.drools.event.process.DefaultProcessEventListener is deprecated + Replace with : org.kie.api.event.process.DefaultProcessEventListener + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.event.process.DefaultProcessEventListener' + ruleID: kie-api-01006 + when: + java.referenced: + location: IMPORT + pattern: org.drools.event.process.DefaultProcessEventListener +- customVariables: [] + description: |- + org.drools.logger.KnowledgeRuntimeLogger is deprecated + Replace with : org.kie.api.logger.KieRuntimeLogger + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.logger.KieRuntimeLogger' + ruleID: kie-api-01007 + when: + java.referenced: + location: IMPORT + pattern: org.drools.logger.KnowledgeRuntimeLogger +- customVariables: [] + description: |- + org.drools.logger.KnowledgeRuntimeLoggerFactory is deprecated + Replace with : org.kie.api.logger.KieLoggers + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.logger.KieLoggers' + ruleID: kie-api-01008 + when: + java.referenced: + location: IMPORT + pattern: org.drools.logger.KnowledgeRuntimeLoggerFactory +- customVariables: [] + description: |- + org.drools.runtime.StatefulKnowledgeSession is deprecated + Replace with : org.kie.api.runtime.KieSession + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.runtime.KieSession' + ruleID: kie-api-01009 + when: + java.referenced: + location: IMPORT + pattern: org.drools.runtime.StatefulKnowledgeSession +- customVariables: [] + description: |- + org.drools.runtime.StatelessKnowledgeSession is deprecated + Replace with : org.kie.api.runtime.KieSession + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.runtime.KieSession' + ruleID: kie-api-01010 + when: + java.referenced: + location: IMPORT + pattern: org.drools.runtime.StatelessKnowledgeSession +- customVariables: [] + description: |- + org.drools.builder.KnowledgeBuilderFactory is deprecated + Replace with : org.kie.internal.builder.KnowledgeBuilderFactory + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.internal.builder.KnowledgeBuilderFactory' + ruleID: kie-api-01011 + when: + java.referenced: + location: IMPORT + pattern: org.drools.builder.KnowledgeBuilderFactory +- customVariables: [] + description: |- + org.drools.io.ResourceFactory is deprecated + Replace with : org.kie.internal.io.ResourceFactory + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.internal.io.ResourceFactory' + ruleID: kie-api-01012 + when: + java.referenced: + location: IMPORT + pattern: org.drools.io.ResourceFactory +- customVariables: [] + description: |- + org.drools.io.ResourceType is deprecated + Replace with : org.kie.internal.io.ResourceType + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.internal.io.ResourceType' + ruleID: kie-api-01013 + when: + java.referenced: + location: IMPORT + pattern: org.drools.io.ResourceType +- customVariables: [] + description: |- + org.drools.runtime.Environment is deprecated + Replace with : org.kie.api.runtime.Environment + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.runtime.Environment' + ruleID: kie-api-01014 + when: + java.referenced: + location: IMPORT + pattern: org.drools.runtime.Environment +- customVariables: [] + description: |- + org.drools.runtime.EnvironmentName is deprecated + Replace with : org.kie.api.runtime.EnvironmentName + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.runtime.EnvironmentName' + ruleID: kie-api-01015 + when: + java.referenced: + location: IMPORT + pattern: org.drools.runtime.EnvironmentName +- customVariables: [] + description: |- + org.drools.runtime.KnowledgeSessionConfiguration is deprecated + Replace with : org.kie.api.runtime.KieSessionConfiguration + effort: 0 + labels: + - konveyor.io/source=drools5 + - konveyor.io/source=jbpm5 + - konveyor.io/target=drools6 + - konveyor.io/target=jbpm6 + - drools + - jbpm + links: [] + message: 'Replace with : org.kie.api.runtime.KieSessionConfiguration' + ruleID: kie-api-01016 + when: + java.referenced: + location: IMPORT + pattern: org.drools.runtime.KnowledgeSessionConfiguration diff --git a/resources/rulesets/droolsjbpm/image.svg b/resources/rulesets/droolsjbpm/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/droolsjbpm/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/droolsjbpm/ruleset.yaml b/resources/rulesets/droolsjbpm/ruleset.yaml new file mode 100644 index 0000000..a3fc76d --- /dev/null +++ b/resources/rulesets/droolsjbpm/ruleset.yaml @@ -0,0 +1,3 @@ +name: droolsjbpm +description: This ruleset provides help for migrating to a unified KIE (Knowledge + Is Everything) API in the upgrade from version 5 to 6. diff --git a/resources/rulesets/eap6/37-commonj.windup.yaml b/resources/rulesets/eap6/37-commonj.windup.yaml new file mode 100644 index 0000000..b526fa9 --- /dev/null +++ b/resources/rulesets/eap6/37-commonj.windup.yaml @@ -0,0 +1,152 @@ +- customVariables: [] + labels: + - konveyor.io/source=weblogic + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=java-ee6 + - commonj + links: + - title: Replacement for JSR-236 (Timer Manager) and JSR-237 (Work Manager) in JBoss + EAP + url: https://access.redhat.com/solutions/199183 + ruleID: commonj-01000 + tag: + - commonj + - Commonj Timer Manager API + when: + java.referenced: + location: IMPORT + pattern: commonj.timers* +- category: mandatory + customVariables: [] + description: |- + Migrate commonj.timers.TimerManager to Java EE TimerService API + Commonj Timer Manager API is similar to the EJB 3.1 java.ejb.Timer Service.. In Java EE 6, the Timer Service was updated to allow cron like configuration of scheduling which is similar to Quartz's timer configurations. + effort: 7 + labels: + - konveyor.io/source=weblogic + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=java-ee6 + - commonj + links: + - title: Java EE 6 Tutorial - Using the Timer Service + url: http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html + - title: Java EE 6 TimerService API + url: http://docs.oracle.com/javaee/6/api/javax/ejb/TimerService.html + message: Commonj Timer Manager API is similar to the EJB 3.1 java.ejb.Timer Service.. + In Java EE 6, the Timer Service was updated to allow cron like configuration of + scheduling which is similar to Quartz's timer configurations. + ruleID: commonj-02000 + when: + java.referenced: + pattern: commonj.timers.TimerManager +- category: mandatory + customVariables: [] + description: |- + Migrate commonj.timers.Timer to Java EE javax.ejb.Timer + Commonj Timer Interface is similar to the EJB 3.1 javax.ejb.Timer Interface. + effort: 7 + labels: + - konveyor.io/source=weblogic + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=java-ee6 + - commonj + links: [] + message: Commonj Timer Interface is similar to the EJB 3.1 javax.ejb.Timer Interface. + ruleID: commonj-03000 + when: + java.referenced: + pattern: commonj.timers.Timer +- customVariables: [] + labels: + - konveyor.io/source=weblogic + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=java-ee6 + - commonj + links: + - title: Replacement for JSR-236 (Timer Manager) and JSR-237 (Work Manager) in JBoss + EAP + url: https://access.redhat.com/solutions/199183 + - title: Java EE 6 documentation for javax.resource.spi.work package + url: http://docs.oracle.com/javaee/6/api/index.html?javax/resource/spi/work/package-summary.html + - title: IronJacamar javax.resource.spi.work.* API + url: http://www.ironjacamar.org/doc/api/spec/1.7/index.html?javax/resource/spi/work/package-summary.html + ruleID: commonj-04000 + tag: + - commonj + - Commonj WorkManager API + when: + java.referenced: + pattern: commonj.work* +- category: mandatory + customVariables: [] + description: |- + Replace CommonJ WorkManager with a JCA Resource Adapter + The CommonJ WorkManager can be replaced with a JCA Resource Adapter. + effort: 7 + labels: + - konveyor.io/source=weblogic + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=java-ee6 + - commonj + links: + - title: Ironjacamar WorkManager SPI + url: http://www.ironjacamar.org/doc/api/spec/1.7/index.html?javax/resource/spi/work/WorkManager.html + message: The CommonJ WorkManager can be replaced with a JCA Resource Adapter. + ruleID: commonj-05000 + when: + java.referenced: + pattern: commonj.work.WorkManager +- category: mandatory + customVariables: + - name: part + nameOfCaptureGroup: part + pattern: commonj.work.Work(?P(Event|Item|Listener)?)? + description: | + Commonj WorkManager API + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=java-ee6 + - commonj + links: [] + message: Replace commonj.work.Work{{part}} with javax.resource.spi.work.Work{{part}}. + ruleID: commonj-06000 + when: + java.referenced: + pattern: commonj.work.Work(Event|Item|Listener)? +- category: mandatory + customVariables: + - name: subpart + nameOfCaptureGroup: subpart + pattern: commonj.work.Work(?P(Completed|Rejected)?)?Exception + description: | + CommonJ WorkManager API Exception + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=java-ee6 + - commonj + links: [] + message: Replace CommonJ Work related Exception with a javax.resource.spi.work.Work{{subpart}}Exception + subclass. + ruleID: commonj-07000 + when: + or: + - java.referenced: + location: THROW_STATEMENT + pattern: commonj.work.Work(Completed|Rejected)?Exception + - java.referenced: + location: THROWS_METHOD_DECLARATION + pattern: commonj.work.Work(Completed|Rejected)?Exception + - java.referenced: + location: CATCH_EXCEPTION_STATEMENT + pattern: commonj.work.Work(Completed|Rejected)?Exception diff --git a/resources/rulesets/eap6/38-xml-glassfish.windup.yaml b/resources/rulesets/eap6/38-xml-glassfish.windup.yaml new file mode 100644 index 0000000..343bc9f --- /dev/null +++ b/resources/rulesets/eap6/38-xml-glassfish.windup.yaml @@ -0,0 +1,40 @@ +- customVariables: [] + description: | + Glassfish EJB Descriptor + Glassfish specific ejb configuration file used to configure EJBs, map them to jndi names etc. + labels: + - konveyor.io/source=glassfish + - konveyor.io/target=eap6 + - web-app + - glassfish + - configuration + links: [] + ruleID: xml-glassfish-02000 + tag: + - configuration + - Glassfish EJB Descriptor + when: + as: default + builtin.xml: + namespaces: {} + xpath: /glassfish-ejb-jar +- customVariables: [] + description: | + Glassfish Application EAR configuration file + Glassfish-application is a Glassfish specific EAR configuration file used to configure security roles, url addresses, JNDI binding etc. This file is glassfish specific and needs to be migrated to application.xml or jboss-app.xml. + labels: + - konveyor.io/source=glassfish + - konveyor.io/target=eap6 + - web-app + - glassfish + - configuration + links: [] + ruleID: xml-glassfish-03000 + tag: + - configuration + - Glassfish Application EAR configuration file + when: + as: default + builtin.xml: + namespaces: {} + xpath: /glassfish-application diff --git a/resources/rulesets/eap6/39-java-ee-jaxrpc.windup.yaml b/resources/rulesets/eap6/39-java-ee-jaxrpc.windup.yaml new file mode 100644 index 0000000..749f573 --- /dev/null +++ b/resources/rulesets/eap6/39-java-ee-jaxrpc.windup.yaml @@ -0,0 +1,27 @@ +- customVariables: [] + description: "JAX-RPC Generic Handler\n\n \n The + \"javax.xml.rpc.handler.GenericHandler\" class implements the Handler interface.\n + \ SOAP Message Handler developers should typically subclass + GenericHandler class unless\n the Handler class needs another + class as a superclass. It is a convenience abstract\n class + that makes writing Handlers easy. GenericHandler provides default implementations\n + \ of the lifecycle methods init and destroy and also different + handle methods.\n \n \n" + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - jax-rpc + - soap + links: + - title: Java EE RPC Generic Handler API + url: http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.6/api/javax/xml/rpc/handler/GenericHandler.html + ruleID: java-ee-jaxrpc-00000 + tag: + - jax-rpc + - soap + - JAX-RPC Generic Handler + when: + as: default + java.referenced: + location: INHERITANCE + pattern: javax.xml.rpc.handler.GenericHandler diff --git a/resources/rulesets/eap6/40-seam-java.windup.yaml b/resources/rulesets/eap6/40-seam-java.windup.yaml new file mode 100644 index 0000000..9dbbfb2 --- /dev/null +++ b/resources/rulesets/eap6/40-seam-java.windup.yaml @@ -0,0 +1,839 @@ +- customVariables: [] + description: "Seam API\n\n Seam 2.2 and earlier is not supported + on JBoss EAP 6 and above.\n Consider migration to Context + Dependency Injection (CDI) standard which covers most of Seam 2 core functionalities + in\n a standardized, type safe and extensible way.\n \n + \ Seam 2.3 still could work on EAP 6.x, but is not maintained + and officially supported on new EAP 6.x patched releases or EAP 7.x.\n\n There + are two options available:\n \n 1. + Continue using Seam 2.x on EAP 6 but expect there are bugs or glitches and you + need to fix it yourself.\n This approach is sometimes lower + effort but the application will not use a tested and supported library and some + Seam framework features doesn't have to work as expected.\n 2. + The similar approach as for point 1 but for Seam 2.3 runtime on EAP7 is not verified + and therefore not recommended. Some Seam 2.3 features could work on EAP7,\n but + the expected behavior can differ based on what your application uses and how.\n + \ 2. Switch to standard CDI beans and migrate to JSF 2.2 + if your server platform is EAP 7+. This will require significant migration effort.\n + \ \n" + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + links: + - title: Migration from Seam 2 to Java EE and Alternatives + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#idm54350960 + - title: JSF Web Application Example + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#booking + - title: JBoss EAP 6 - Contexts, Scopes, and Dependencies + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html/development_guide/sect-use_cdi#sect-Contexts_Scopes_and_Dependencies + - title: Enable Applications To Use Older Versions of JSF + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-JSF_changes + - title: JBoss EAP 5 Component Upgrade Reference + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate-eap5-component-upgrade-reference + - title: How to use JSF 1.2 with EAP 7? + url: https://access.redhat.com/solutions/2773121 + ruleID: seam-java-00000 + tag: + - cdi + - seam + - jsf + - Seam API + when: + java.referenced: + pattern: org.jboss.seam* +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.core.Conversation + You can use Java EE `javax.enterprise.context.Conversation` interface like:. ```java. @Inject Conversation conversation;. ``` + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE API - Conversation + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/context/Conversation.html + message: You can use Java EE `javax.enterprise.context.Conversation` interface like:. + ```java. @Inject Conversation conversation;. ``` + ruleID: seam-java-00010 + when: + java.referenced: + pattern: org.jboss.seam.core.Conversation +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.Seam + There is no direct replacement for this Seam API. The `org.jboss.seam.Seam` contains methods for accessing annotated information. about Seam component classes. For majority cases you can replace this Seam API with standard CDI's `javax.enterprise.inject.spi.BeanManager`. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE API - BeanManager + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/BeanManager.html + - title: Seam API - org.jboss.seam.Seam + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_API_Documentation/files/api/org/jboss/seam/Seam.html + message: There is no direct replacement for this Seam API. The `org.jboss.seam.Seam` + contains methods for accessing annotated information. about Seam component classes. + For majority cases you can replace this Seam API with standard CDI's `javax.enterprise.inject.spi.BeanManager`. + ruleID: seam-java-00030 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.seam.Seam* +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Name + CDI supports static injection in comparison to Seam 2 dynamic injection. So you don't need to have `@Named` annotation on every Seam component you would like to migrate.. Remove that annotation or change to `@javax.inject.Named` only if you need to access managed bean in Expression Language (EL). + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE 7 tutorial - Giving Beans EL Name + url: http://docs.oracle.com/javaee/7/tutorial/cdi-basic009.htm#GJBAK + - title: Seam 2 Components + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#_seam_2_components + message: CDI supports static injection in comparison to Seam 2 dynamic injection. + So you don't need to have `@Named` annotation on every Seam component you would + like to migrate.. Remove that annotation or change to `@javax.inject.Named` only + if you need to access managed bean in Expression Language (EL). + ruleID: seam-java-00040 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Name +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Scope + Convert to a valid CDI scope. CDI scopes has its own annotation.. See linked documentation link for CDI alternatives. For example, `@Scope(ScopeType.SESSION)` should be `@javax.enterprise.context.SessionScoped`. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Scopes and contexts + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#_scopes_and_contexts + - title: Java EE 7 Tutorial - Using Scopes + url: http://docs.oracle.com/javaee/7/tutorial/cdi-basic008.htm#GJBBK + message: Convert to a valid CDI scope. CDI scopes has its own annotation.. See linked + documentation link for CDI alternatives. For example, `@Scope(ScopeType.SESSION)` + should be `@javax.enterprise.context.SessionScoped`. + ruleID: seam-java-00050 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Scope +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.In + Convert Seam annotation `@In` to CDI `@javax.inject.Inject`. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE Tutorial - Injecting Beans + url: http://docs.oracle.com/javaee/7/tutorial/cdi-basic007.htm#GJBAN + message: Convert Seam annotation `@In` to CDI `@javax.inject.Inject`. + ruleID: seam-java-00060 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.In +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.AutoCreate + Remove this Seam annotation `@AutoCreate` as in CDI it is no longer needed since a bean will always be created when needed. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE Tutorial - Injecting Beans + url: http://docs.oracle.com/javaee/7/tutorial/cdi-basic007.htm#GJBAN + message: Remove this Seam annotation `@AutoCreate` as in CDI it is no longer needed + since a bean will always be created when needed. + ruleID: seam-java-00061 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.AutoCreate +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Out + CDI does not support bijection and does a static injection in comparison to Seam 2, where it is performed dynamically. via interceptor every time a component is invoked.. CDI performs the static injection only once per component life cycle.. Refactor such Seam API usage with `@javax.enterprise.inject.Produces`. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE Tutorial - Producers + url: http://docs.oracle.com/javaee/7/tutorial/cdi-adv003.htm#GKGKV + - title: Seam Outjection + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#_bijection + - title: Java EE API - Annotation Type Produces + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/Produces.html + - title: JBoss EAP 6 - Use a Producer Method + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#Use_a_Producer_Method + message: CDI does not support bijection and does a static injection in comparison + to Seam 2, where it is performed dynamically. via interceptor every time a component + is invoked.. CDI performs the static injection only once per component life cycle.. + Refactor such Seam API usage with `@javax.enterprise.inject.Produces`. + ruleID: seam-java-00070 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Out +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Factory + Seam Factory annotation was used for binding non Seam component methods into Seam context life cycle.. Replace it with `@javax.enterprise.inject.Produces` and add additional annotation for context scope if you used `scope = ScopeType.*` enum like for instance. `@Factory(scope = ScopeType.APPLICATION)` use:. ```java. @Produces @ApplicationScoped .... ``` + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: WFK Seam Guide - Seam Factory and Managers components + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#idp227074592 + - title: Java EE Tutorial - Producers + url: http://docs.oracle.com/javaee/7/tutorial/cdi-adv003.htm#GKGKV + - title: Java EE API - Annotation Type Produces + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/Produces.html + - title: JBoss EAP 6 - Use a Producer Method + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#Use_a_Producer_Method + message: Seam Factory annotation was used for binding non Seam component methods + into Seam context life cycle.. Replace it with `@javax.enterprise.inject.Produces` + and add additional annotation for context scope if you used `scope = ScopeType.*` + enum like for instance. `@Factory(scope = ScopeType.APPLICATION)` use:. ```java. + @Produces @ApplicationScoped .... ``` + ruleID: seam-java-00071 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Factory +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Startup + Java EE uses for such use case `@javax.ejb.Singleton` and `@javax.ejb.Startup` annotations. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + links: + - title: Java EE 7 - Startup annotation + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Startup.html + - title: Java EE 7 - Singleton annotation + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Singleton.html + - title: WFK Seam Guide - Migration of @Install + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#_startup + message: Java EE uses for such use case `@javax.ejb.Singleton` and `@javax.ejb.Startup` + annotations. + ruleID: seam-java-00080 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Startup +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Create + Seam 2 provided along to standard Java EE `javax.annotation.PostConstruct` also Seam specific annotation `@Create`.. You can use `@javax.annotation.PostConstruct` as one to one replacement. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - javaee + links: + - title: Java EE API - javax.annotation.PostConstruct + url: http://docs.oracle.com/javaee/7/api/javax/annotation/PostConstruct.html + message: Seam 2 provided along to standard Java EE `javax.annotation.PostConstruct` + also Seam specific annotation `@Create`.. You can use `@javax.annotation.PostConstruct` + as one to one replacement. + ruleID: seam-java-00090 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Create +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Destroy + Seam 2 provided along to standard Java EE `javax.annotation.PreDestroy` also Seam specific annotation `@Destroy`.. You can use `@javax.annotation.PreDestroy` as one to one replacement. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - javaee + links: + - title: Java EE API - javax.annotation.PreDestroy + url: http://docs.oracle.com/javaee/7/api/javax/annotation/PreDestroy.html + message: Seam 2 provided along to standard Java EE `javax.annotation.PreDestroy` + also Seam specific annotation `@Destroy`.. You can use `@javax.annotation.PreDestroy` + as one to one replacement. + ruleID: seam-java-00091 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Destroy +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.faces.Switcher + There is no direct replacement, but it can be implemented with CDI Conversation support. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + - conversation + links: + - title: CDI Conversations Blog post + url: http://www.andygibson.net/blog/tutorial/cdi-conversations-part-2/ + message: There is no direct replacement, but it can be implemented with CDI Conversation + support. + ruleID: seam-java-00100 + when: + java.referenced: + pattern: org.jboss.seam.faces.Switcher +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.Component calls + If you need to keep programmatic lookup use `javax.enterprise.inject.Instance` with injection.. Like getting instance of `PaymentProcessor`:. ```java. @Inject Instance paymentProcessor;. ```. The second approach is to use `javax.enterprise.inject.spi.BeanManager` like. ```java. @Inject BeanManager manager;. ``` + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE API - Interface Instance + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/Instance.html + - title: Java EE API - BeanManager + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/BeanManager.html + message: If you need to keep programmatic lookup use `javax.enterprise.inject.Instance` + with injection.. Like getting instance of `PaymentProcessor`:. ```java. @Inject + Instance paymentProcessor;. ```. The second approach is to use + `javax.enterprise.inject.spi.BeanManager` like. ```java. @Inject BeanManager manager;. + ``` + ruleID: seam-java-00110 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.seam.Component* +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Redirect + Refactor to have annotated error handler which redirect to a viewID page for displaying error page. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + links: [] + message: Refactor to have annotated error handler which redirect to a viewID page + for displaying error page. + ruleID: seam-java-00120 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.exception.Redirect +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Install + Seam 2 offers the `@Install` annotation for controlling whether a given bean should be installed or not together with configurable functionality.. Explicit prevention from installation is in CDI done by `@Vetoed` annotation.. If you need to use Bean specialization there are `@javax.enterprise.inject.Alternative` or `@javax.enterprise.inject.Specializes` instead of precedence. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: WFK Seam Guide - Component installation + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#_install + - title: Java EE 7 - Vetoed Annotation + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/Vetoed.html + - title: Java EE 7 - Specializes annotation + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/Specializes.html + - title: Java EE 7 - Alternative annotation + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/Alternative.html + message: Seam 2 offers the `@Install` annotation for controlling whether a given + bean should be installed or not together with configurable functionality.. Explicit + prevention from installation is in CDI done by `@Vetoed` annotation.. If you need + to use Bean specialization there are `@javax.enterprise.inject.Alternative` or + `@javax.enterprise.inject.Specializes` instead of precedence. + ruleID: seam-java-00130 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Install +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.web.AbstractFilter + Rework code with a default Java Servlet `javax.servlet.Filter` or different filter interface. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - javaee + links: + - title: Java EE Tutorial - Filtering Requests and Responses + url: https://docs.oracle.com/javaee/7/tutorial/servlets006.htm#BNAGB + message: Rework code with a default Java Servlet `javax.servlet.Filter` or different + filter interface. + ruleID: seam-java-00140 + when: + java.referenced: + pattern: org.jboss.seam.web.AbstractFilter +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.web.Filter + Replace this Seam annotation with default Java Servlet `javax.servlet.Filter` or different filter interface. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - javaee + - servlet + links: + - title: Java EE Tutorial - Filtering Requests and Responses + url: https://docs.oracle.com/javaee/7/tutorial/servlets006.htm#BNAGB + message: Replace this Seam annotation with default Java Servlet `javax.servlet.Filter` + or different filter interface. + ruleID: seam-java-00150 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.web.Filter +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.contexts.Contexts + Rework using CDI's injected concrete context. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + links: + - title: JBoss EAP 6 - Contexts, Scopes, and Dependencies + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html/development_guide/sect-use_cdi#sect-Contexts_Scopes_and_Dependencies + message: Rework using CDI's injected concrete context. + ruleID: seam-java-00160 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.seam.contexts.Contexts* +- customVariables: [] + description: | + Seam integration with jBPM + Seam integration with jBPM should be migrated with help of CDI integration presented directly in Drools - jBPM + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + links: + - title: JBoss BPM Suite 6 - CDI integration + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_bpm_suite/6.4/html-single/development_guide/index#sect_cdi_integration + ruleID: seam-java-00170 + tag: + - cdi + - seam + - jbpm + - Seam integration with jBPM + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.bpm* +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.core.ConversationEntry + Rework with CDI conversation context `javax.enterprise.context.Conversation`. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE API - Conversation + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/context/Conversation.html + message: Rework with CDI conversation context `javax.enterprise.context.Conversation`. + ruleID: seam-java-00180 + when: + java.referenced: + pattern: org.jboss.seam.core.ConversationEntry +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Begin + Rework with `javax.enterprise.context.Conversation.begin()`. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE API - Conversation.begin() + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/context/Conversation.html#begin-- + message: Rework with `javax.enterprise.context.Conversation.begin()`. + ruleID: seam-java-00190 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Begin +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.End + Rework with `javax.enterprise.context.Conversation.end()`. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: Java EE API - Conversation.begin() + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/context/Conversation.html#end-- + message: Rework with `javax.enterprise.context.Conversation.end()`. + ruleID: seam-java-00200 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.End +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.web.RequestParameter + The `@RequestParameter` annotation triggers injection of an HTTP request parameter.. The parameter name can be set explicitly as a value of the annotation or can be implied from the name of an injection point.. Java EE 6 does not have an annotation for this, however, the JSF 2 spec now has `` which can be used instead. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: WFK Seam Guide - Migration of @RequestParam + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#_requestparameter + - title: JSF 2.2 VDL - Tag viewParam + url: https://docs.oracle.com/javaee/7/javaserver-faces-2-2/vdldocs-facelets/toc.htm + message: The `@RequestParameter` annotation triggers injection of an HTTP request + parameter.. The parameter name can be set explicitly as a value of the annotation + or can be implied from the name of an injection point.. Java EE 6 does not have + an annotation for this, however, the JSF 2 spec now has `` which + can be used instead. + ruleID: seam-java-00210 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.web.RequestParameter +- category: mandatory + customVariables: [] + description: | + Seam API - org.jboss.seam.annotations.Logger + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: WFK Seam Guide - Migration of @Logger + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#_logger + - title: Java EE 7 - Produces annotation + url: http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/Produces.html + message: Seam 2 provides a built-in logger implementation. It is a thin wrapper + that delegates to an available logging framework (log4j or JDK logging).. Additionally, + it provides extra features such as EL expression evaluation.. Java SE or EE does + not have anything that correlates to this, but you can your own Logger with simple + producer for this case like:. ```java. import javax.enterprise.inject.Produces;. + import javax.enterprise.inject.spi.InjectionPoint;. @Singleton. public class LoggerProducer + {{. @Produces Logger createLogger(final InjectionPoint ip){{. return LoggerFactory.getLogger(ip.getMember().getDeclaringClass());. + }}. }}. ```. and use it in your code like:. ```java. @Inject private transient + Logger logger;. ``` + ruleID: seam-java-00220 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Logger +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.datamodel.DataModel{*} + In Java EE, the Expression Language Specification has evolved and allows parameters to be passed to EL method expressions.. This approach should be used as a replacement for the `@DataModel*` functionality. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: WFK Seam Guide - Annotations for use with dataTable + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#idm40851856 + - title: Java EE - Binding Component Values and Instances to Managed Bean Properties + url: http://docs.oracle.com/javaee/7/tutorial/jsf-custom012.htm#BNATI + message: In Java EE, the Expression Language Specification has evolved and allows + parameters to be passed to EL method expressions.. This approach should be used + as a replacement for the `@DataModel*` functionality. + ruleID: seam-java-00230 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.datamodel.DataModel* +- customVariables: [] + description: |- + Seam API - firing and observing events + Both Seam 2 and CDI beans may produce and consume events in order to communicate with other beans. Unlike method invocation, events allow for decoupled architecture with no compile-time dependency.. In Seam 2, the type of an event is represented by a string value. Observer methods may observe one or more event types.. Unlike Seam 2, the process of observer method resolution is type-safe in CDI. A CDI event is represented by a payload (any Java object) and a set of qualifiers. The Java types of the event payload together with qualifiers determine which observer methods are notified of the event + effort: 0 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - cdi + links: + - title: WFK Seam Guide - Migrating Events + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#_events + - title: Java EE - Using Events in CDI Applications + url: http://docs.oracle.com/javaee/7/tutorial/cdi-adv005.htm#GKHIC + message: Both Seam 2 and CDI beans may produce and consume events in order to communicate + with other beans. Unlike method invocation, events allow for decoupled architecture + with no compile-time dependency.. In Seam 2, the type of an event is represented + by a string value. Observer methods may observe one or more event types.. Unlike + Seam 2, the process of observer method resolution is type-safe in CDI. A CDI event + is represented by a payload (any Java object) and a set of qualifiers. The Java + types of the event payload together with qualifiers determine which observer methods + are notified of the event + ruleID: seam-java-00240 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Observer + - java.referenced: + location: METHOD_CALL + pattern: org.jboss.seam.core.Events* +- customVariables: [] + description: |- + Seam API - Interceptors + In the Java EE, the concept of interceptors was extracted into a separate specification. As a result, not only EJBs but any CDI managed beans can benefit from this facility.. If you used interceptors in Seam 2, migration is straightforward. The names and semantics of most of the annotations remain unchanged. If you used meta-annotations to bind interceptors to your beans in Seam 2, this idea (slightly modified) made it into the specification and is now know as an Interceptor binding. + effort: 0 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - javaee + links: + - title: Java EE - Interceptor binding + url: http://docs.oracle.com/javaee/7/tutorial/cdi-adv006.htm#GKHJX + - title: Using Java EE Interceptors + url: http://docs.oracle.com/javaee/7/tutorial/interceptors001.htm#GKIGQ + message: In the Java EE, the concept of interceptors was extracted into a separate + specification. As a result, not only EJBs but any CDI managed beans can benefit + from this facility.. If you used interceptors in Seam 2, migration is straightforward. + The names and semantics of most of the annotations remain unchanged. If you used + meta-annotations to bind interceptors to your beans in Seam 2, this idea (slightly + modified) made it into the specification and is now know as an Interceptor binding. + ruleID: seam-java-00250 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.intercept* +- category: mandatory + customVariables: [] + description: |- + Seam API - Asynchronous annotation + Replace with Java EE annotation `@javax.ejb.Asynchronous`. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - javaee + links: + - title: Java EE API - javax.ejb.Asynchronous + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Asynchronous.html + message: Replace with Java EE annotation `@javax.ejb.Asynchronous`. + ruleID: seam-java-00260 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.async.Asynchronous +- category: mandatory + customVariables: [] + description: |- + Seam API - org.jboss.seam.annotations.Transactional annotation + Replace with Java EE annotation `@javax.transaction.Transactional`. The usage and transaction types are the same like in Seam API. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - javaee + links: + - title: Java EE API - javax.transaction.Transactional + url: http://docs.oracle.com/javaee/7/api/javax/transaction/Transactional.html + message: Replace with Java EE annotation `@javax.transaction.Transactional`. The + usage and transaction types are the same like in Seam API. + ruleID: seam-java-00270 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.seam.annotations.Transactional diff --git a/resources/rulesets/eap6/41-seam-ui.windup.yaml b/resources/rulesets/eap6/41-seam-ui.windup.yaml new file mode 100644 index 0000000..7397ff9 --- /dev/null +++ b/resources/rulesets/eap6/41-seam-ui.windup.yaml @@ -0,0 +1,1000 @@ +- customVariables: [] + description: "JSF Seam 2.x tag library usage\n\n This JSF + template includes references to the Seam 2.x tag library.\n Seam + 2.2 and earlier is not supported on JBoss EAP 6 and above.\n\n There + are two options available:\n\n 1. Continue using Seam 2.x. + This approach is low effort but the application will not use a tested and supported + library and it may not work on EAP 7 at all.\n 2. Switch + to standard CDI beans and migrate to JSF 2.2 UI tags. This will require significant + migration effort.\n\n \n" + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Enable Applications To Use Older Versions of JSF + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-JSF_changes + - title: JBoss EAP 5 Component Upgrade Reference + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate-eap5-component-upgrade-reference + - title: How to use JSF 1.2 with EAP 7? + url: https://access.redhat.com/solutions/2773121 + ruleID: seam-ui-jsf-00001 + tag: + - seam + - jsf + - JSF Seam 2.x tag library usage + when: + builtin.xml: + namespaces: {} + xpath: //*[namespace-uri()='http://jboss.com/products/seam/taglib'] +- customVariables: [] + description: "JSF Seam 2.3 tag library usage\n\n This JSF + template includes references to the Seam 2.3 library.\n Seam + 2.3 is supported on JBoss EAP 6, however it is no longer supported\n on + JBoss EAP 7 and above.\n\n There are two options available:\n\n + \ 1. Continue using Seam 2.3. This approach is low effort + but the application will not use a tested and supported library and it may not + work on EAP 7 at all.\n 2. Switch to standard CDI beans + and migrate to JSF 2.2 UI tags. This will require significant migration effort.\n\n + \ The provided links describe the issue in more detail.\n + \ \n" + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: JBoss EAP 5 Component Upgrade Reference + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate-eap5-component-upgrade-reference + ruleID: seam-ui-jsf-00002 + tag: + - seam + - jsf + - JSF Seam 2.3 tag library usage + when: + builtin.xml: + namespaces: {} + xpath: //*[namespace-uri()='http://jboss.org/schema/seam/taglib'] +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:button + Seam UI's `` JSF control should be replaced by ``.. There are differences in attributes, for example the _action_ attribute maps to _outcome_ and there is no _propagation_ attribute. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: Seam UI's `` JSF control should be replaced by ``.. + There are differences in attributes, for example the _action_ attribute maps to + _outcome_ and there is no _propagation_ attribute. + ruleID: seam-ui-jsf-00001-01 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:button + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:button +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:link + Seam UI's `` should be replaced by ``.. There are differences in attributes, for example the _action_ attribute maps to _outcome_ and there is no _propagation_ attribute. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: Seam UI's `` should be replaced by ``.. There are differences + in attributes, for example the _action_ attribute maps to _outcome_ and there + is no _propagation_ attribute. + ruleID: seam-ui-jsf-01000 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:link + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:link +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:conversationId + There is no direct mapping for `` in JSF UI controls. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls. + ruleID: seam-ui-jsf-01001 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:conversationId + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:conversationId +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:conversationPropagation + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI + controls + ruleID: seam-ui-jsf-01002 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:conversationPropagation + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:conversationPropagation +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:taskId + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01003 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:taskId + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:taskId +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:defaultAction + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01004 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:defaultAction + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:defaultAction +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:convertDateTime + Seam UI's `` should be replaced by ``.. The format can be configured by setting the locale,. or by setting the context-param `javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE` to `true`. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: Seam UI's `` should be + replaced by ``.. The format can be configured by setting the + locale,. or by setting the context-param `javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE` + to `true`. + ruleID: seam-ui-jsf-01005 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:convertDateTime + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:convertDateTime +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:convertEntity + Seam UI's `` should be replaced by ``. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: Seam UI's `` should be replaced by ``. + ruleID: seam-ui-jsf-01006 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:convertEntity + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:convertEntity +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:enumItem + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01007 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:enumItem + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:enumItem +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:token + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01008 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:token + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:token +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:formattedText + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01009 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:formattedText + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:formattedText +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:cache + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01010 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:cache + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:cache +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:resource + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01011 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:resource + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:resource +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:download + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01012 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:download + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:download +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:remote + There is no direct mapping for `` in JSF UI controls + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls + ruleID: seam-ui-jsf-01013 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:remote + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:remote +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:selectItems + Seam UI's `` should be replaced by ``. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: Seam UI's `` should be replaced by ``. + ruleID: seam-ui-jsf-01014 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:selectItems + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:selectItems +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:validate + Seam UI's `` should be replaced by ``. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: Seam UI's `` should be replaced by ``. + ruleID: seam-ui-jsf-01015 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:validate + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:validate +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:fragment + Seam UI's `` should be replaced by ``. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: Seam UI's `` should be replaced by ``. + ruleID: seam-ui-jsf-01016 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:fragment + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:fragment +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:convertEnum + There is no direct mapping for `` in JSF UI controls, but JSF 2 has a built-in EnumConverter which can be extended if necessary. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + - title: Java EE javax.faces.convert.EnumConverter + url: https://docs.oracle.com/javaee/6/api/javax/faces/convert/EnumConverter.html + message: There is no direct mapping for `` in JSF UI controls, but + JSF 2 has a built-in EnumConverter which can be extended if necessary. + ruleID: seam-ui-jsf-01017 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:convertEnum + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:convertEnum +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:convertAtomicBoolean + There is no direct mapping for `` in JSF UI controls. Create a custom converter for a replacement. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + - title: Creating and Using a Custom Converter + url: https://docs.oracle.com/javaee/6/tutorial/doc/bnaus.html + message: There is no direct mapping for `` in JSF UI controls. + Create a custom converter for a replacement. + ruleID: seam-ui-jsf-01018 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:convertAtomicBoolean + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:convertAtomicBoolean +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:convertAtomicInteger + There is no direct mapping for `` in JSF UI controls. Create a custom converter for a replacement. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + - title: Creating and Using a Custom Converter + url: https://docs.oracle.com/javaee/6/tutorial/doc/bnaus.html + message: There is no direct mapping for `` in JSF UI controls. + Create a custom converter for a replacement. + ruleID: seam-ui-jsf-01019 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:convertAtomicInteger + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:convertAtomicInteger +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:convertAtomicLong + There is no direct mapping for `` in JSF UI controls. Create a custom converter for a replacement. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + - title: Creating and Using a Custom Converter + url: https://docs.oracle.com/javaee/6/tutorial/doc/bnaus.html + message: There is no direct mapping for `` in JSF UI controls. + Create a custom converter for a replacement. + ruleID: seam-ui-jsf-01020 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:convertAtomicLong + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:convertAtomicLong +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:validateEquality + There is no direct mapping for `` in JSF UI controls.. Use respective `` like:. * ``,. * ``,. * ``,. * ``. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls.. + Use respective `` like:. * ``,. + * ``,. * ``,. * ``. + ruleID: seam-ui-jsf-01021 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:validateEquality + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:validateEquality +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:validateAll + There is no direct mapping for `` in JSF UI controls, but you can achieve a similar effect by using `` or [Richfaces](http://richfaces.jboss.org/) ``. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls, but + you can achieve a similar effect by using `` or [Richfaces](http://richfaces.jboss.org/) + ``. + ruleID: seam-ui-jsf-01022 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:validateAll + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:validateAll +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:decorate + There is no direct mapping for `` in JSF UI controls, but you can achieve the same functionality by using the UIInputContainer and a composite container, both of which are demonstrated in the [Open18 migration example](https://github.com/seam/migration/blob/develop/open18_java_ee_6). [input.xhtml](https://raw.githubusercontent.com/seam/migration/develop/open18_java_ee_6/src/main/webapp/resources/components/input.xhtml) file. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls, but you + can achieve the same functionality by using the UIInputContainer and a composite + container, both of which are demonstrated in the [Open18 migration example](https://github.com/seam/migration/blob/develop/open18_java_ee_6). + [input.xhtml](https://raw.githubusercontent.com/seam/migration/develop/open18_java_ee_6/src/main/webapp/resources/components/input.xhtml) + file. + ruleID: seam-ui-jsf-01023 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:decorate + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:decorate +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:div + There is no direct mapping for `` in JSF UI controls, but it could be done with an `` or a `` containing a div. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls, but it could + be done with an `` or a `` containing + a div. + ruleID: seam-ui-jsf-01024 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:div + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:div +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:span + There is no direct mapping for `` in JSF UI controls, but you can achieve a similar effect by using `` or a `` with a span element. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls, but you can + achieve a similar effect by using `` or a `` with a + span element. + ruleID: seam-ui-jsf-01025 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:span + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:span +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:label + There is no direct mapping for `` in JSF UI controls, but `` is similar. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls, but `` + is similar. + ruleID: seam-ui-jsf-01026 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:label + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:label +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:message + Use `` or [Richfaces](http://richfaces.jboss.org/) ``. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: Use `` or [Richfaces](http://richfaces.jboss.org/) + ``. + ruleID: seam-ui-jsf-01027 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:message + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:message +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:fileUpload + There is no direct mapping for `` in JSF UI controls. You can achieve similar functionality by using [Richfaces](http://richfaces.jboss.org/) `` + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls. You + can achieve similar functionality by using [Richfaces](http://richfaces.jboss.org/) + `` + ruleID: seam-ui-jsf-01028 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:fileUpload + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:fileUpload +- category: mandatory + customVariables: [] + description: |- + JSF Seam 2 UI control s:graphicImage + There is no direct mapping for `` in JSF UI controls, but you can use `` as Seam extends that JSF UI control. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap5 + - konveyor.io/source=seam2 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - seam + - jsf + links: + - title: Seam 2 UI controls migration to JSF + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/_seam_2_ui_controls_migration_to_jsf.html + message: There is no direct mapping for `` in JSF UI controls, but + you can use `` as Seam extends that JSF UI control. + ruleID: seam-ui-jsf-01029 + when: + or: + - builtin.xml: + namespaces: + s: http://jboss.com/products/seam/taglib + xpath: //s:graphicImage + - builtin.xml: + namespaces: + s: http://jboss.org/schema/seam/taglib + xpath: //s:graphicImage diff --git a/resources/rulesets/eap6/42-xml-webservices.windup.yaml b/resources/rulesets/eap6/42-xml-webservices.windup.yaml new file mode 100644 index 0000000..9505a81 --- /dev/null +++ b/resources/rulesets/eap6/42-xml-webservices.windup.yaml @@ -0,0 +1,212 @@ +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-01000 + tag: + - apache-axis + - webservice + - Apache Axis Service Group + when: + as: default + builtin.xml: + namespaces: {} + xpath: /serviceGroup/service/operation +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-02000 + tag: + - apache-axis + - webservice + - Apache Axis Module + when: + as: default + builtin.xml: + namespaces: {} + xpath: /module/InFlow +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-03000 + tag: + - apache-axis + - webservice + - Apache Axis Configuration + when: + as: default + builtin.xml: + namespaces: {} + xpath: /axisconfig +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-04000 + tag: + - xfire + - webservice + - XFire 1.x Configuration + when: + as: default + builtin.xml: + namespaces: + xfire: http://xfire.codehaus.org/config/1.0 + xpath: /xfire:beans +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-05000 + tag: + - webservice + - JAX-WS Handler Chain + when: + as: default + builtin.xml: + namespaces: + j2e: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: /*[local-name()='handler-chains'] +- category: optional + customVariables: [] + description: |- + Use of Web Service Handler2 + JBoss EAP developer documentation describes JAX-WS Web Services Common API. + effort: 0 + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + message: JBoss EAP developer documentation describes JAX-WS Web Services Common + API. + ruleID: xml-webservices-06000 + when: + or: + - as: webservices + builtin.xml: + namespaces: + j2e: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: /*[local-name()='webservices'] + - as: handler-classes + builtin.xml: + namespaces: + j2e: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: //*[local-name()='handler-class'] + from: webservices +- category: optional + customVariables: [] + description: |- + Use of Web Service Handler2 + JBoss EAP developer documentation about JAX-WS Web Services Endpoints + effort: 0 + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + message: JBoss EAP developer documentation about JAX-WS Web Services Endpoints + ruleID: xml-webservices-06001 + when: + or: + - as: webservices + builtin.xml: + namespaces: + j2e: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: /*[local-name()='webservices'] + - as: endpoints + builtin.xml: + namespaces: + j2e: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: //*[local-name()='service-endpoint-interface'] + from: webservices +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-07000 + tag: + - webservice + - apache-cxf + - Apache CXF Bus Extension + when: + as: default + builtin.xml: + namespaces: + cxf: http://cxf.apache.org/bus/extension + xpath: /extensions +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-08000 + tag: + - webservice + - security + - WS-Policy + when: + as: default + builtin.xml: + namespaces: + wsp: http://schemas.xmlsoap.org/ws/2004/09/policy + xpath: //*[local-name()='Policy'] +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-09000 + tag: + - soap + - webservice + - SOAP Envelope + when: + as: default + builtin.xml: + namespaces: + se: http://schemas.xmlsoap.org/soap/envelope/ + xpath: /*[local-name()='Envelope'] +- customVariables: [] + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap6 + - webservice + links: [] + ruleID: xml-webservices-10000 + tag: + - webservice + - wsdl + - WSDL Definition + when: + as: default + builtin.xml: + namespaces: + wsdl: http://schemas.xmlsoap.org/wsdl/ + xpath: /*[local-name()='definitions'] diff --git a/resources/rulesets/eap6/43-eap4-xml-config.windup.yaml b/resources/rulesets/eap6/43-eap4-xml-config.windup.yaml new file mode 100644 index 0000000..798a80a --- /dev/null +++ b/resources/rulesets/eap6/43-eap4-xml-config.windup.yaml @@ -0,0 +1,600 @@ +- category: mandatory + customVariables: [] + description: |- + PostgreSQL JDBC URL + This is a JDBC URL, which describes the basic information about. where and how to connect to the database.. This particular URL points to a PostgreSQL database.. In EAP 6, the databases are configured in these steps:. 1. Add the JDBC driver as an EAP 6 module. Download it [here](https://jdbc.postgresql.org/download.html).. 2. Create a datasource (actual values need to be changed):. ```. $ EAP_HOME/bin/jboss-cli --connect. [standalone@localhost:9999 /] data-source add --name=ExampleDS --jndi-name=java:/ExampleDS \\. --connection-url=... --driver-name=postgresql \\. --user-name=... --password=.... ```. 3. Use the datasource according to JPA 2.0 standards. + effort: 5 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - postgresql + links: + - title: 'JBoss EAP 6 Migration: Update the DataSource Configuration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#Update_the_DataSource_Configuration + - title: JBoss EAP 6 Datasource Configuration + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#sect-Datasource_Configuration + message: This is a JDBC URL, which describes the basic information about. where + and how to connect to the database.. This particular URL points to a PostgreSQL + database.. In EAP 6, the databases are configured in these steps:. 1. Add the + JDBC driver as an EAP 6 module. Download it [here](https://jdbc.postgresql.org/download.html).. + 2. Create a datasource (actual values need to be changed):. ```. $ EAP_HOME/bin/jboss-cli + --connect. [standalone@localhost:9999 /] data-source add --name=ExampleDS --jndi-name=java:/ExampleDS + \\. --connection-url=... --driver-name=postgresql \\. --user-name=... --password=.... + ```. 3. Use the datasource according to JPA 2.0 standards. + ruleID: eap4-eap6-25000 + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/local-tx-datasource/connection-url[contains(text(),'jdbc:postgres')] +- category: mandatory + customVariables: [] + description: |- + Oracle Database JDBC URL + This is a JDBC URL, which describes the basic information about. where and how to connect to the database.. This particular URL points to an Oracle Database.. In EAP 6, the databases are configured in these steps:. 1. Add the JDBC driver as an EAP 6 module. Download it [here](http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html).. 2. Create a datasource (actual values need to be changed):. ```. $ EAP_HOME/bin/jboss-cli --connect. [standalone@localhost:9999 /] data-source add --name=ExampleDS --jndi-name=java:/ExampleDS \\. --connection-url=... --driver-name=oracle \\. --user-name=... --password=.... ```. 3. Use the datasource according to JPA 2.0 standards.. ```. @PersistenceContext EntityManager em;. ``` + effort: 5 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - oracle + links: + - title: JBoss EAP 6 Datasource Configuration + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#sect-Datasource_Configuration + message: This is a JDBC URL, which describes the basic information about. where + and how to connect to the database.. This particular URL points to an Oracle Database.. + In EAP 6, the databases are configured in these steps:. 1. Add the JDBC driver + as an EAP 6 module. Download it [here](http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html).. + 2. Create a datasource (actual values need to be changed):. ```. $ EAP_HOME/bin/jboss-cli + --connect. [standalone@localhost:9999 /] data-source add --name=ExampleDS --jndi-name=java:/ExampleDS + \\. --connection-url=... --driver-name=oracle \\. --user-name=... --password=.... + ```. 3. Use the datasource according to JPA 2.0 standards.. ```. @PersistenceContext + EntityManager em;. ``` + ruleID: eap4-eap6-26000 + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/local-tx-datasource/connection-url[contains(text(),'jdbc:oracle')] +- category: mandatory + customVariables: [] + description: |- + Microsoft SQL Server JDBC URL + This is a JDBC URL, which describes the basic information about. where and how to connect to the database.. This particular URL points to an Microsoft SQL Server.. In EAP 6, the databases are configured in these steps:. 1. Add the JDBC driver as an EAP 6 module. Download it [here](https://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx).. 2. Create a datasource (actual values need to be changed):. ```. $ EAP_HOME/bin/jboss-cli --connect. [standalone@localhost:9999 /] data-source add --name=ExampleDS --jndi-name=java:/ExampleDS \\. --connection-url=... --driver-name=mssql \\. --user-name=... --password=.... ```. 3. Use the datasource according to JPA 2.0 standards.. ```. @PersistenceContext EntityManager em;. ``` + effort: 5 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + links: + - title: JBoss EAP 6 Datasource Configuration + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#sect-Datasource_Configuration + message: This is a JDBC URL, which describes the basic information about. where + and how to connect to the database.. This particular URL points to an Microsoft + SQL Server.. In EAP 6, the databases are configured in these steps:. 1. Add the + JDBC driver as an EAP 6 module. Download it [here](https://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx).. + 2. Create a datasource (actual values need to be changed):. ```. $ EAP_HOME/bin/jboss-cli + --connect. [standalone@localhost:9999 /] data-source add --name=ExampleDS --jndi-name=java:/ExampleDS + \\. --connection-url=... --driver-name=mssql \\. --user-name=... --password=.... + ```. 3. Use the datasource according to JPA 2.0 standards.. ```. @PersistenceContext + EntityManager em;. ``` + ruleID: eap4-eap6-27000 + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*-ds\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /datasources/local-tx-datasource/connection-url[contains(text(),'jdbc:sqlserver')] +- category: mandatory + customVariables: [] + description: |- + JBoss Web connector port + The `` attribute specifies the port. on which JBoss Web listens for requests.. In JBoss EAP 6, set the port number using JBoss CLI or a web console:. ```. :read-children-names(child-type=interface). /subsystem=web/connector=http/:read-resource. ## Notice the "socket-binding" => "http". /socket-binding-group=standard-sockets/socket-binding=http/:read-resource. ## Now set the HTTP port to what you need.. /socket-binding-group=standard-sockets/socket-binding=http/:write-attribute(name=port, value=80). ``` + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - configuration + - port + - web + links: + - title: JBoss EAP 6 - Socket Binding Groups + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#sect-Socket_Binding_Groups + - title: JBoss EAP 6 - Interfaces + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/administration_and_configuration_guide/#sect-Interfaces + message: 'The `` attribute specifies the port. on which JBoss + Web listens for requests.. In JBoss EAP 6, set the port number using JBoss CLI + or a web console:. ```. :read-children-names(child-type=interface). /subsystem=web/connector=http/:read-resource. + ## Notice the "socket-binding" => "http". /socket-binding-group=standard-sockets/socket-binding=http/:read-resource. + ## Now set the HTTP port to what you need.. /socket-binding-group=standard-sockets/socket-binding=http/:write-attribute(name=port, + value=80). ```' + ruleID: eap4-eap6-28000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector/@port +- category: mandatory + customVariables: [] + description: |- + JBoss Web connector protocol + The `` attribute specifies the protocol. of the particular JBoss Web connector.. In JBoss EAP 6, set the protocol using JBoss CLI or a web console:. ```. :read-children-names(child-type=interface). /subsystem=web/connector=http/:read-resource. /subsystem=web/connector=http/:write-attribute(name=protocol, value=HTTP/1.1). ## To enable NIO protocol:. /subsystem=web/connector=http/:write-attribute(name=protocol, value=org.apache.coyote.http11.Http11NioProtocol). ``` + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - protocol + - web + links: + - title: Setup a thread pool for an HTTP Connector + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Define_Thread_Pools_for_HTTP_Connector_in_JBoss_Enterprise_Application_Platform + message: 'The `` attribute specifies the protocol. of + the particular JBoss Web connector.. In JBoss EAP 6, set the protocol using JBoss + CLI or a web console:. ```. :read-children-names(child-type=interface). /subsystem=web/connector=http/:read-resource. + /subsystem=web/connector=http/:write-attribute(name=protocol, value=HTTP/1.1). + ## To enable NIO protocol:. /subsystem=web/connector=http/:write-attribute(name=protocol, + value=org.apache.coyote.http11.Http11NioProtocol). ```' + ruleID: eap4-eap6-29000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector/@protocol +- category: mandatory + customVariables: [] + description: | + JBoss Web connector - maximal number of threads + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: Setup a thread pool for an HTTP Connector + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Define_Thread_Pools_for_HTTP_Connector_in_JBoss_Enterprise_Application_Platform + - title: Define Thread Pools for HTTP Connector in JBoss EAP 6 + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Define_Thread_Pools_for_HTTP_Connector_in_JBoss_Enterprise_Application_Platform + message: 'The `` attribute specifies the. maximum number + of JBoss Web Connector threads.. In JBoss EAP 6, the. [connections do not map + 1:1 to threads](https://access.redhat.com/solutions/389513),. thanks to use of + `javax.nio`. There can be more connection. served by less threads.. You can set + the maximum number of connections using JBoss CLI or a web console:. ```. /subsystem=web/connector=http/:write-attribute(name=max-connections, + value=200). ```. The default is 512 per CPU core.. You can limit the number of + threads using JBoss CLI or a web console:. ```. /subsystem=web/connector=http/:read-resource. + ## Define a thread factory. /subsystem=threads/thread-factory=http-connector-factory:add(thread-name-pattern="HTTP-%t", + priority="9", group-name="uq-thread-pool"). ## Create an executor. /subsystem=threads/unbounded-queue-thread-pool=uq-thread-pool:add(thread-factory="http-connector-factory", + keepalive-time=\{{time=30, unit="seconds"}}, max-threads=30). ## Make the HTTP + web connector use this thread pool. /subsystem=web/connector=http:write-attribute(name=executor, + value="uq-thread-pool"). ```' + ruleID: eap4-eap6-30000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector/@maxThreads +- category: mandatory + customVariables: [] + description: |- + JBoss Web connector connection timeout + The `` attribute specifies the connection timeout. of the particular JBoss Web connector.. In JBoss EAP 6, set the connection timeout using a system property:. ```. /system-property=org.apache.coyote.ajp.DEFAULT_CONNECTION_TIMEOUT/:add(value=600000). /system-property=org.apache.coyote.http11.DEFAULT_CONNECTION_TIMEOUT/:add(value=120000). ``` + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: Map HTTP/HTTPS/AJP Connector Attributes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-JBoss_Web_Component_Changes + message: The `` attribute specifies the connection + timeout. of the particular JBoss Web connector.. In JBoss EAP 6, set the connection + timeout using a system property:. ```. /system-property=org.apache.coyote.ajp.DEFAULT_CONNECTION_TIMEOUT/:add(value=600000). + /system-property=org.apache.coyote.http11.DEFAULT_CONNECTION_TIMEOUT/:add(value=120000). + ``` + ruleID: eap4-eap6-31000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector/@connectionTimeout +- category: mandatory + customVariables: [] + description: |- + JBoss Web HTTP connector - empty path of the session cookie + JBoss Web's `emptySessionPath` option sets the path of a session cookie to '/'.. In JBoss EAP 6, the path is set in a web framework, or in `web.xml`:. ```xml. . . /. true. . . COOKIE. . ```. Not to be confused with Undertow's `path` which sets the session files storage path. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: JBoss EAP 6 Web Subsystem + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#chap-Web_Subsystem + message: JBoss Web's `emptySessionPath` option sets the path of a session cookie + to '/'.. In JBoss EAP 6, the path is set in a web framework, or in `web.xml`:. + ```xml. . . /. true. + . . COOKIE. . + ```. Not to be confused with Undertow's `path` which sets the session files storage + path. + ruleID: eap4-eap6-32000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector/@emptySessionPath +- category: mandatory + customVariables: [] + description: |- + JBoss Web connector DNS lookups + The `` attribute. enables DNS lookup through `request.getRemoteHost()`.. Define this setting using JBoss CLI or the web console.. ```. /subsystem=web/connector=http:write-attribute(name=enable-lookups, value=true). ``` + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: Map HTTP/HTTPS/AJP Connector Attributes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-JBoss_Web_Component_Changes + - title: JBoss EAP 6 Web Subsystem + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#chap-Web_Subsystem + message: The `` attribute. enables DNS lookup through + `request.getRemoteHost()`.. Define this setting using JBoss CLI or the web console.. + ```. /subsystem=web/connector=http:write-attribute(name=enable-lookups, value=true). + ``` + ruleID: eap4-eap6-33000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector/@enableLookups +- category: mandatory + customVariables: [] + description: |- + JBoss Web HTTP connector port for redirections + The `` attribute. specifies a port number to be used in cases of redirection; the common ones being redirection to secure (HTTPS) or AJP connector.. Define this setting using JBoss CLI or the web console.. ```. /subsystem=web/connector=http:write-attribute(name=redirect-port, value=8433). ``` + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: Map HTTP/HTTPS/AJP Connector Attributes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-JBoss_Web_Component_Changes + message: The `` attribute. specifies a port number + to be used in cases of redirection; the common ones being redirection to secure + (HTTPS) or AJP connector.. Define this setting using JBoss CLI or the web console.. + ```. /subsystem=web/connector=http:write-attribute(name=redirect-port, value=8433). + ``` + ruleID: eap4-eap6-34000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector/@redirectPort +- category: mandatory + customVariables: [] + description: |- + JBoss Web connector scheme + The `` attribute. specifies the web connector scheme, such as HTTP or HTTPS.. Define this setting using JBoss CLI or the web console.. ```. /subsystem=web/connector=http:write-attribute(name=scheme, value=http). ``` + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: Map HTTP/HTTPS/AJP Connector Attributes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-JBoss_Web_Component_Changes + message: The `` attribute. specifies the web connector + scheme, such as HTTP or HTTPS.. Define this setting using JBoss CLI or the web + console.. ```. /subsystem=web/connector=http:write-attribute(name=scheme, value=http). + ``` + ruleID: eap4-eap6-35000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector/@scheme +- category: mandatory + customVariables: [] + description: |- + JBoss Web HTTP connector - the secure option + The `secure` option tells the browser (or other HTTP clients) to only send the cookie over SSL connections.. This means the cookie will not be available to any part of the site that is not secure.. If you serve both protocols, the non-secure http connection will then use URL re-writing with the long ";jsessionid=XXXXXXX" appended to every URL.. You should set this to true ONLY if you are only serving https content, for mixed content this setting in NOT recomended.. Define this setting using JBoss CLI or the web console.. ```. /subsystem=web/connector=http:write-attribute(name=secure, value=true). ``` + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: Map HTTP/HTTPS/AJP Connector Attributes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-JBoss_Web_Component_Changes + message: The `secure` option tells the browser (or other HTTP clients) to only send + the cookie over SSL connections.. This means the cookie will not be available + to any part of the site that is not secure.. If you serve both protocols, the + non-secure http connection will then use URL re-writing with the long ";jsessionid=XXXXXXX" + appended to every URL.. You should set this to true ONLY if you are only serving + https content, for mixed content this setting in NOT recomended.. Define this + setting using JBoss CLI or the web console.. ```. /subsystem=web/connector=http:write-attribute(name=secure, + value=true). ``` + ruleID: eap4-eap6-36000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Connector[@secure='true'] +- category: mandatory + customVariables: [] + description: |- + JBoss Web HTTP - jvmRoute + In JBoss Web, the `jvmRoute` attribute of the Engine element allows the load balancer to match requests. to the JVM currently responsible for updating the relevant session.. It does this by appending the name of the JVM to the `JSESSIONID` of the request,. and matching this against the worker name provided in `workers.properites`.. In JBoss EAP 6,. the `jvmRoute` is set to the same value as the server name.. If you need to customize it, you can use a command like the following.. Replace or remove the `/profile=ha portion` of the command, depending on which profile you use or. whether you use a standalone server.. Replace the string `CUSTOM_ROUTE_NAME` with your custom jvmRoute name.. ```. /profile=ha/subsystem=web:write-attribute(name="instance-id", value="CUSTOM_ROUTE_NAME"). ```. The default can be overriden by setting the `jvmRoute` system property. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: JBoss EAP 6 HTTP Clustering and Load Balancing + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Configure_the_Enterprise_Application_Platform_to_Accept_Requests_From_an_External_HTTPD1 + - title: JBoss EAP 6 System properties + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#System_Properties + message: In JBoss Web, the `jvmRoute` attribute of the Engine element allows the + load balancer to match requests. to the JVM currently responsible for updating + the relevant session.. It does this by appending the name of the JVM to the `JSESSIONID` + of the request,. and matching this against the worker name provided in `workers.properites`.. + In JBoss EAP 6,. the `jvmRoute` is set to the same value as the server name.. + If you need to customize it, you can use a command like the following.. Replace + or remove the `/profile=ha portion` of the command, depending on which profile + you use or. whether you use a standalone server.. Replace the string `CUSTOM_ROUTE_NAME` + with your custom jvmRoute name.. ```. /profile=ha/subsystem=web:write-attribute(name="instance-id", + value="CUSTOM_ROUTE_NAME"). ```. The default can be overriden by setting the `jvmRoute` + system property. + ruleID: eap4-eap6-37000 + when: + builtin.xml: + filepaths: + - server.xml + namespaces: {} + xpath: /Server/Service/Engine/@jvmRoute +- category: mandatory + customVariables: [] + description: |- + JBoss EAP 4 EJB container configuration + JBoss EAP 4 and 5 allow overriding the container settings in `jboss.xml` files.. Extending `"Standard Stateless SessionBean"` allows configuring the instance pool.. Bean-specific instance pool can be set with one line in JBoss EAP 6 management CLI. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - http + - web + links: + - title: 'JBoss EAP 6 Migration Guide: Replace the jboss.xml File' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-EJB_Changes + - title: Assign Bean Pools for Session and Message-Driven Beans + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Assign_Bean_Pools_for_Session_and_Message-Driven_Beans + - title: jboss.xml DTD + url: http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd + - title: The EJB Container + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/index#EJBs_on_JBoss-The_EJB_Container + message: JBoss EAP 4 and 5 allow overriding the container settings in `jboss.xml` + files.. Extending `"Standard Stateless SessionBean"` allows configuring the instance + pool.. Bean-specific instance pool can be set with one line in JBoss EAP 6 management + CLI. + ruleID: eap4-eap6-38000 + when: + builtin.xml: + filepaths: + - jboss.xml + namespaces: {} + xpath: /jboss/container-configurations/container-configuration[@extends='Standard + Stateless SessionBean'] +- category: mandatory + customVariables: [] + description: |- + JBoss EAP 4 EJB container configuration + JBoss EAP 4 allows overriding the container settings in `jboss.xml` files.. Extending `"Clustered Stateless SessionBean"` allows configuring the instance pool.. Bean-specific instance pool can be set with one line in JBoss EAP 6 management CLI. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - pool + links: + - title: 'JBoss EAP 6 Migration Guide: Replace the jboss.xml File' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-EJB_Changes + - title: Assign Bean Pools for Session and Message-Driven Beans + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Assign_Bean_Pools_for_Session_and_Message-Driven_Beans + - title: jboss.xml DTD + url: http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd + - title: The EJB Container + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/index#EJBs_on_JBoss-The_EJB_Container + message: JBoss EAP 4 allows overriding the container settings in `jboss.xml` files.. + Extending `"Clustered Stateless SessionBean"` allows configuring the instance + pool.. Bean-specific instance pool can be set with one line in JBoss EAP 6 management + CLI. + ruleID: eap4-eap6-39000 + when: + builtin.xml: + filepaths: + - jboss.xml + namespaces: {} + xpath: /jboss/container-configurations/container-configuration[@extends='Clustered + Stateless SessionBean'] +- category: mandatory + customVariables: [] + description: |- + JBoss EAP 4 EJB container configuration + JBoss EAP 4 and 5 allow overriding the container settings in `jboss.xml` files.. Extending `"Standard Message Driven Bean"` allows configuring the instance pool.. MDB's bean-specific instance pool can be set with one line in JBoss EAP 6 management CLI.. Use the `bean-instance-pool-ref` CLI node of the respective configuration part. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - pool + links: + - title: 'JBoss EAP 6 Migration Guide: Replace the jboss.xml File' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-EJB_Changes + - title: Assign Bean Pools for Session and Message-Driven Beans + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Assign_Bean_Pools_for_Session_and_Message-Driven_Beans + - title: jboss.xml DTD + url: http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd + - title: The EJB Container + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/index#EJBs_on_JBoss-The_EJB_Container + message: JBoss EAP 4 and 5 allow overriding the container settings in `jboss.xml` + files.. Extending `"Standard Message Driven Bean"` allows configuring the instance + pool.. MDB's bean-specific instance pool can be set with one line in JBoss EAP + 6 management CLI.. Use the `bean-instance-pool-ref` CLI node of the respective + configuration part. + ruleID: eap4-eap6-40000 + when: + builtin.xml: + filepaths: + - jboss.xml + namespaces: {} + xpath: /jboss/container-configurations/container-configuration[@extends='Standard + Message Driven Bean'] +- category: mandatory + customVariables: [] + description: |- + JBoss EAP 4 EJB container configuration + JBoss EAP 4 and 5 allow overriding the container settings in `jboss.xml` files.. Extending `"Singleton Message Driven Bean"` allows configuring the instance pool.. Singleton Message Driven Bean's bean-specific bean-specific instance pool can be set with one line in JBoss EAP 6 management CLI.. Use the `bean-instance-pool-ref` CLI node of the respective configuration part. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - pool + links: + - title: 'JBoss EAP 6 Migration Guide: Replace the jboss.xml File' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-EJB_Changes + - title: Assign Bean Pools for Session and Message-Driven Beans + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Assign_Bean_Pools_for_Session_and_Message-Driven_Beans + - title: jboss.xml DTD + url: http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd + - title: The EJB Container + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/index#EJBs_on_JBoss-The_EJB_Container + message: JBoss EAP 4 and 5 allow overriding the container settings in `jboss.xml` + files.. Extending `"Singleton Message Driven Bean"` allows configuring the instance + pool.. Singleton Message Driven Bean's bean-specific bean-specific instance pool + can be set with one line in JBoss EAP 6 management CLI.. Use the `bean-instance-pool-ref` + CLI node of the respective configuration part. + ruleID: eap4-eap6-41000 + when: + builtin.xml: + filepaths: + - jboss.xml + namespaces: {} + xpath: /jboss/container-configurations/container-configuration[@extends='Singleton + Message Driven Bean'] +- category: mandatory + customVariables: [] + description: |- + JBoss EAP 4 EJB container configuration + JBoss EAP 4 and 5 allow overriding the container settings in `jboss.xml` files.. Extending `"Standard Message Inflow Driven Bean"` allows configuring the instance pool.. Standard Message Inflow Driven Bean's bean-specific bean-specific instance pool can be set with one line in JBoss EAP 6 management CLI.. Use the `bean-instance-pool-ref` CLI node of the respective configuration part. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/target=eap6 + - jboss-web + - datasource + - ejb + - pool + links: + - title: 'JBoss EAP 6 Migration Guide: Replace the jboss.xml File' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-EJB_Changes + - title: Assign Bean Pools for Session and Message-Driven Beans + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Administration_and_Configuration_Guide/index.html#Assign_Bean_Pools_for_Session_and_Message-Driven_Beans + - title: jboss.xml DTD + url: http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd + - title: The EJB Container + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/index#EJBs_on_JBoss-The_EJB_Container + message: JBoss EAP 4 and 5 allow overriding the container settings in `jboss.xml` + files.. Extending `"Standard Message Inflow Driven Bean"` allows configuring the + instance pool.. Standard Message Inflow Driven Bean's bean-specific bean-specific + instance pool can be set with one line in JBoss EAP 6 management CLI.. Use the + `bean-instance-pool-ref` CLI node of the respective configuration part. + ruleID: eap4-eap6-42000 + when: + builtin.xml: + filepaths: + - jboss.xml + namespaces: {} + xpath: /jboss/container-configurations/container-configuration[@extends='Standard + Message Inflow Driven Bean'] diff --git a/resources/rulesets/eap6/44-jboss-eap5-java.windup.yaml b/resources/rulesets/eap6/44-jboss-eap5-java.windup.yaml new file mode 100644 index 0000000..13e58f1 --- /dev/null +++ b/resources/rulesets/eap6/44-jboss-eap5-java.windup.yaml @@ -0,0 +1,418 @@ +- customVariables: [] + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + links: [] + ruleID: jboss-eap5-java-01000 + tag: + - jmx + - JBoss EAP 5 JMX ManagementBean + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.ejb3.annotation.Management +- category: optional + customVariables: [] + description: |- + JMS legacy javax.jms.QueueConnectionFactory + `QueueConnectionFactory` was used to obtain connection to JMS queues.. Replace the lookup string `QueueConnectionFactory` with `ConnectionFactory`. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + links: + - title: JBoss EAP 6 - Messaging Configuration + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html/Administration_and_Configuration_Guide/sect-Configuration1.html#Configure_the_JMS_Server1 + - title: JavaEE 6 - JMS Interfaces + url: https://docs.oracle.com/javaee/6/api/javax/jms/package-summary.html#package_description + message: '`QueueConnectionFactory` was used to obtain connection to JMS queues.. + Replace the lookup string `QueueConnectionFactory` with `ConnectionFactory`.' + ruleID: jboss-eap5-java-02000 + when: + or: + - java.referenced: + location: FIELD_DECLARATION + pattern: javax.jms.QueueConnectionFactory + - java.referenced: + location: VARIABLE_DECLARATION + pattern: javax.jms.QueueConnectionFactory +- category: mandatory + customVariables: + - name: package + nameOfCaptureGroup: package + pattern: org.jboss(?P(\.ejb3)?\.annotation(\.ejb)?.)?Service + description: |- + org.jboss{package}.Service + The `@Service` annotation is one of JBoss EJB 3.0 extensions which creates a singleton EJB.. To achieve the singleton nature of the `@Service` annotation, use the EJB3.1 spec `@Singleton` bean + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + links: + - title: How to use @Service and @Management annotations in JBoss EAP 6? + url: https://access.redhat.com/solutions/196713 + - title: JBoss EAP 6 - Development Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#Implement_an_HA_Singleton + - title: JBoss EJB 3.0 extensions + url: https://docs.jboss.org/ejb3/docs/reference/build/reference/en/html/jboss_extensions.html + - title: JBoss EJB 3.0 Javadoc + url: https://docs.jboss.org/ejb3/embedded/api/org/jboss/annotation/ejb/package-summary.html + message: The `@Service` annotation is one of JBoss EJB 3.0 extensions which creates + a singleton EJB.. To achieve the singleton nature of the `@Service` annotation, + use the EJB3.1 spec `@Singleton` bean + ruleID: jboss-eap5-java-04000 + when: + java.referenced: + location: IMPORT + pattern: org.jboss(.ejb3)?.annotation(.ejb)?.Service +- category: mandatory + customVariables: + - name: package + nameOfCaptureGroup: package + pattern: org.jboss(?P(\.ejb3)?\.annotation(\.ejb)?.)?Management + description: |- + org.jboss{package}.Management + The `@Management` annotation is one of JBoss EJB 3.0 extensions which wraps the the bean. as an MBean and install it in the JBoss MBean Server.. To achieve the singleton nature of the `@Service` and `@Management` annotations, use the EJB3.1 spec `@Singleton` bean. + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jmx + links: + - title: How to use @Service and @Management annotations in JBoss EAP 6? + url: https://access.redhat.com/solutions/196713 + - title: JBoss EAP 6 - Development Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#Implement_an_HA_Singleton + - title: JBoss EJB 3.0 extensions + url: https://docs.jboss.org/ejb3/docs/reference/build/reference/en/html/jboss_extensions.html + - title: JBoss EJB 3.0 Javadoc + url: https://docs.jboss.org/ejb3/embedded/api/org/jboss/annotation/ejb/package-summary.html + message: The `@Management` annotation is one of JBoss EJB 3.0 extensions which wraps + the the bean. as an MBean and install it in the JBoss MBean Server.. To achieve + the singleton nature of the `@Service` and `@Management` annotations, use the + EJB3.1 spec `@Singleton` bean. + ruleID: jboss-eap5-java-05000 + when: + java.referenced: + location: IMPORT + pattern: org.jboss(.ejb3)?.annotation(.ejb)?.Management +- category: mandatory + customVariables: [] + description: |- + org.jboss.annotation.ejb.LocalBinding + The `@LocalBinding` annotation is one of JBoss EJB 3.0 extensions. which specifies the local jndi binding for an EJB local interface.. Migrate to `org.jboss.ejb3.annotation.LocalBinding`. + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + links: + - title: JBoss EJB 3.0 extensions + url: https://docs.jboss.org/ejb3/docs/reference/build/reference/en/html/jboss_extensions.html + - title: JBoss EJB 3.0 Javadoc + url: https://docs.jboss.org/ejb3/embedded/api/org/jboss/annotation/ejb/package-summary.html + message: The `@LocalBinding` annotation is one of JBoss EJB 3.0 extensions. which + specifies the local jndi binding for an EJB local interface.. Migrate to `org.jboss.ejb3.annotation.LocalBinding`. + ruleID: jboss-eap5-java-06000 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.annotation.ejb.LocalBinding +- category: mandatory + customVariables: [] + description: |- + org.jboss.annotation.ejb.Depends + The `@Depends` annotation is one of JBoss EJB 3.0 extensions. which specifies a deployment dependency for a bean.. Validate that a JBoss EAP 6 Dependency exists. + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + links: + - title: JBoss EJB 3.0 extensions + url: https://docs.jboss.org/ejb3/docs/reference/build/reference/en/html/jboss_extensions.html + - title: JBoss EJB 3.0 Javadoc + url: https://docs.jboss.org/ejb3/embedded/api/org/jboss/annotation/ejb/package-summary.html + message: The `@Depends` annotation is one of JBoss EJB 3.0 extensions. which specifies + a deployment dependency for a bean.. Validate that a JBoss EAP 6 Dependency exists. + ruleID: jboss-eap5-java-07000 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.annotation.ejb.Depends +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.annotation has been moved to org.jboss.ws.api.annotation + This package has been relocated to `org.jboss.ws.api.annotation` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.annotation` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08000 + when: + java.referenced: + pattern: org.jboss.wsf.spi.annotation* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.binding has been moved to org.jboss.ws.api.binding + This package has been relocated to `org.jboss.ws.api.binding` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.binding` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08100 + when: + java.referenced: + pattern: org.jboss.wsf.spi.binding* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.management.recording has been moved to org.jboss.ws.api.monitoring + This package has been relocated to `org.jboss.ws.api.monitoring` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.monitoring` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08200 + when: + java.referenced: + pattern: org.jboss.wsf.spi.management.recording* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.tools.ant has been moved to org.jboss.ws.tools.ant + This package has been relocated to `org.jboss.ws.tools.ant` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.tools.ant` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08300 + when: + java.referenced: + pattern: org.jboss.wsf.spi.tools.ant* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.tools.cmd has been moved to org.jboss.ws.tools.cmd + This package has been relocated to `org.jboss.ws.tools.cmd` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.tools.cmd` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08400 + when: + java.referenced: + pattern: org.jboss.wsf.spi.tools.cmd* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.tools has been moved to org.jboss.ws.api.tools + This package has been relocated to `org.jboss.ws.api.tools` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: [] + message: This package has been relocated to `org.jboss.ws.api.tools` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08500 + when: + java.referenced: + pattern: org.jboss.wsf.spi.tools* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.util.ServiceLoader has been moved to org.jboss.ws.api.util.ServiceLoader + This class has been relocated to `org.jboss.ws.api.util.ServiceLoader` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This class has been relocated to `org.jboss.ws.api.util.ServiceLoader` + as specified in the. migration guide. + ruleID: jboss-eap5-java-08600 + when: + java.referenced: + pattern: org.jboss.wsf.spi.util.ServiceLoader +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.common.handler has been moved to org.jboss.ws.api.handler + This package has been relocated to `org.jboss.ws.api.handler` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.handler` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08700 + when: + java.referenced: + pattern: org.jboss.wsf.common.handler* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.common.addressing has been moved to org.jboss.ws.api.addressing + This package has been relocated to `org.jboss.ws.api.addressing` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.addressing` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08800 + when: + java.referenced: + pattern: org.jboss.wsf.common.addressing* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.common.DOMUtils has been moved to org.jboss.ws.api.util.DOMUtils + This class has been relocated to `org.jboss.ws.api.util.DOMUtils` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This class has been relocated to `org.jboss.ws.api.util.DOMUtils` as specified + in the. migration guide. + ruleID: jboss-eap5-java-08900 + when: + java.referenced: + pattern: org.jboss.wsf.common.DOMUtils +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.common has been moved to org.jboss.ws.common + This package has been relocated to `org.jboss.ws.common` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: [] + message: This package has been relocated to `org.jboss.ws.common` as specified in + the. migration guide. + ruleID: jboss-eap5-java-09000 + when: + java.referenced: + pattern: org.jboss.wsf.common* +- category: mandatory + customVariables: [] + description: |- + org.jboss.ws.annotation.EndpointConfig has been moved to org.jboss.ws.api.annotation.EndpointConfig + This class has been relocated to `org.jboss.ws.api.annotation.EndpointConfig` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This class has been relocated to `org.jboss.ws.api.annotation.EndpointConfig` + as specified in the. migration guide. + ruleID: jboss-eap5-java-09100 + when: + java.referenced: + pattern: org.jboss.ws.annotation.EndpointConfig diff --git a/resources/rulesets/eap6/45-jboss-eap5-xml.windup.yaml b/resources/rulesets/eap6/45-jboss-eap5-xml.windup.yaml new file mode 100644 index 0000000..5f5d232 --- /dev/null +++ b/resources/rulesets/eap6/45-jboss-eap5-xml.windup.yaml @@ -0,0 +1,410 @@ +- customVariables: [] + description: "JBoss Cache\n\n JBoss Cache TreeCache is a + distributed tree-like structure that is replicated across several members.\n Updates + will be multicast to all group members reliably and in the same order.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: JBoss Cache User Guide + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/cache_user_guide/ + - title: JBoss Cache Tutorial + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/cache_tutorial/ + ruleID: jboss-eap5-xml-01000 + tag: + - cache + - distributed + - cluster + - jboss-eap5 + - JBoss Cache + when: + builtin.xml: + namespaces: {} + xpath: //mbean[@code='org.jboss.cache.TreeCache'] +- customVariables: [] + description: "JBoss Classloading configuration, typically in jboss-classloading.xml.\n\n + \ JBoss EAP 5 allows detailed classloading configuration.\n + \ \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: JBoss EAP 5 Classloading + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/5/html/Microcontainer_User_Guide/sect-JBoss_Microcontainer_User_Guide-The_ClassLoading_Layer-ClassLoading.html + ruleID: jboss-eap5-xml-03000 + tag: + - jboss-eap5 + - JBoss Classloading configuration, typically in jboss-classloading.xml. + when: + builtin.xml: + namespaces: {} + xpath: /classloading +- customVariables: [] + description: "JBoss Seam Components (components.xml)\n\n Allows + to configure a Seam component using XML: to isolate deployment-specific information + from\n the Java code, to enable the creation of re-usable + frameworks, to configure Seam's built-in functionality, etc.\n Seam + provides two basic approaches to configuring components:\n configuration + via property settings in a properties file or in `web.xml`,\n and + configuration via `components.xml`.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: JBoss Seam Reference Guide - Configuring Seam components + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/seam_reference_guide/#xml + ruleID: jboss-eap5-xml-05000 + tag: + - seam + - jboss-eap5 + - JBoss Seam Components (components.xml) + when: + builtin.xml: + namespaces: + sc: http://jboss.com/products/seam/components + xpath: /sc:components +- customVariables: [] + description: "JBoss Seam Pages\n\n The `pages.xml` file specifies + the page flow and other configuration of the Seam Framework.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: Seam Framework Reference Guide + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/seam_reference_guide/ + ruleID: jboss-eap5-xml-06000 + tag: + - seam + - jboss-eap5 + - JBoss Seam Pages + when: + builtin.xml: + namespaces: + sp: http://jboss.com/products/seam/pages + xpath: /sp:pages +- customVariables: [] + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: [] + ruleID: jboss-eap5-xml-07000 + tag: + - seam + - jboss-eap5 + - JBoss Seam Page + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*\.page\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /page +- customVariables: [] + description: "JBoss EAR descriptor\n\n The `jboss-app.xml` + file configures a Java EE application deployments specifically for JBoss EAP.\n + \ \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: [] + ruleID: jboss-eap5-xml-08000 + tag: + - configuration + - deployment + - descriptor + - jboss-eap5 + - JBoss EAR descriptor + when: + builtin.xml: + filepaths: + - jboss-app.xml + namespaces: {} + xpath: //*[local-name()='jboss-app'] +- customVariables: [] + description: "JBoss web application descriptor (jboss-web.xml)\n\n The + `jboss-web.xml` file configures a Java EE web application specifically for JBoss + EAP.\n It is an extension to standard `web.xml`.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: jboss-web.xml Configuration Reference + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#jboss-webxml_Configuration_Reference + ruleID: jboss-eap5-xml-09000 + tag: + - web + - configuration + - deployment + - descriptor + - jboss-eap5 + - JBoss web application descriptor (jboss-web.xml) + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: //*[local-name()='jboss-web'] +- category: mandatory + customVariables: [] + description: |- + JBoss 5 classloader configuration (jboss-classloading.xml) + The `jboss-classloading.xml` file allows customization of classloading in JBoss EAP 5. + In JBoss EAP 6, the classloading configuration is not done through `jboss-classloading.xml`.. Since EAP 6 it is of modular nature, based on JBoss Modules.. Learn how to divide your application's dependencies into modules. and what dependencies and APIs are available automatically. + effort: 5 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + - classloading + links: + - title: JBoss EAP 6 Class Loading and Modules + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/chap-Class_Loading_and_Modules.html + - title: JBoss EAP 5 Class Loading and Modules + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/5/html/Microcontainer_User_Guide/sect-JBoss_Microcontainer_User_Guide-The_ClassLoading_Layer-ClassLoading.html + - title: JBoss EAP 6 Class Loading and Modules + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/chap-Class_Loading_and_Modules.html + - title: JBoss EAP 5 Class Loading and Modules + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/5/html/Microcontainer_User_Guide/sect-JBoss_Microcontainer_User_Guide-The_ClassLoading_Layer-ClassLoading.html + message: In JBoss EAP 6, the classloading configuration is not done through `jboss-classloading.xml`.. + Since EAP 6 it is of modular nature, based on JBoss Modules.. Learn how to divide + your application's dependencies into modules. and what dependencies and APIs are + available automatically. + ruleID: jboss-eap5-7-xml-10000 + tag: + - classloading + - JBoss 5 classloader configuration (jboss-classloading.xml) + when: + builtin.xml: + namespaces: + jbc: urn:jboss:classloading:1.0 + xpath: /jbc:classloading +- customVariables: [] + description: "JBoss module and classloading configuration (jboss-deployment-structure.xml)\n\n + \ The `jboss-deployment-structure.xml` file allows the creator + of the deployment to control the dependencies\n and classloading + of deployments.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: Class Loading and Modules + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/chap-Class_Loading_and_Modules.html + ruleID: jboss-eap5-xml-11000 + tag: + - classloading + - jboss-eap5 + - JBoss module and classloading configuration (jboss-deployment-structure.xml) + when: + builtin.xml: + filepaths: + - jboss-deployment-structure.xml + namespaces: {} + xpath: //*[local-name()='jboss-deployment-structure'] +- customVariables: [] + description: "JBoss EJB 2 CMP Deployment descriptor (jbosscmp-jdbc.xml)\n\n The + `jbosscmp-jdbc.xml` is a deployment decriptor controlling the Container Managed + Persistence (CMP).\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: JBoss EAP 5 - The jbosscmp-jdbc Structure + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/index#The_CMP_Engine-The_jbosscmp_jdbc_Structure + ruleID: jboss-eap5-xml-12000 + tag: + - jdbc + - ejb2 + - jboss-eap5 + - JBoss EJB 2 CMP Deployment descriptor (jbosscmp-jdbc.xml) + when: + builtin.xml: + filepaths: + - jbosscmp-jdbc.xml + namespaces: {} + xpath: //*[local-name()='jbosscmp-jdbc'] +- customVariables: [] + description: "JBoss EJB XML deployment descriptor prior to EAP 6\n\n The + `jboss.xml` descriptor in deployments is ignored by JBoss AS 7+ or JBoss EAP 6+.\n + \ Replace it with `jboss-ejb3.xml`.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: JBoss EAP 5 - EJB References with jboss.xml and jboss-web.xml + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/#ENC_Usage_Conventions-EJB_References_with_jboss.xml_and_jboss_web.xml + - title: JBoss EAP 6 - Replace the jboss.xml File + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#Replace_the_jboss.xml_File + ruleID: jboss-eap5-xml-13000 + tag: + - descriptor + - jboss-eap5 + - JBoss EJB XML deployment descriptor prior to EAP 6 + when: + builtin.xml: + filepaths: + - jboss.xml + namespaces: {} + xpath: //*[local-name()='jboss'] +- category: mandatory + customVariables: [] + description: |- + JBoss EAP security-domain configuration - java:/jaas/ + `java:/jaas/` is a JBoss EAP `security-domain` URI.. Remove the `java:/jaas/` prefix for `security-domain` elements in AS 7 / EAP 6. + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + - security + - jaas + links: + - title: Java Authentication and Authorization Service (JAAS) Reference Guide + url: http://docs.oracle.com/javase/7/docs/technotes/guides/security/jaas/JAASRefGuide.html + message: '`java:/jaas/` is a JBoss EAP `security-domain` URI.. Remove the `java:/jaas/` + prefix for `security-domain` elements in AS 7 / EAP 6.' + ruleID: jboss-eap5-xml-14000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='security-domain' and starts-with(text(), 'java:/jaas/')] +- category: mandatory + customVariables: [] + description: |- + JBoss security configuration descriptor (login-config.xml) + Before JBoss EAP 6, authentication security domains and login modules could be configured in a `login-config.xml` file.. JBoss EAP 6+ does not support the `login-config.xml` descriptor. Security is now configured inside the server configuration. Please refer to the corresponding server security guide. + effort: 5 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + - security + links: + - title: JBoss EAP 6.4 - How To Configure Server Security + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/how_to_configure_server_security/ + - title: JBoss EAP 5 - Login Modules + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/security_guide/#idm139921681412720 + message: Before JBoss EAP 6, authentication security domains and login modules could + be configured in a `login-config.xml` file.. JBoss EAP 6+ does not support the + `login-config.xml` descriptor. Security is now configured inside the server configuration. + Please refer to the corresponding server security guide. + ruleID: jboss-eap5-xml-16000 + tag: + - security + - JBoss security configuration descriptor (prior to AS 7 / EAP 6) + when: + builtin.xml: + filepaths: + - login-config.xml + namespaces: {} + xpath: //*[local-name()='policy'] +- customVariables: [] + description: "JBoss EJB 3 deployment descriptor (jboss-ejb3.xml)\n\n A + JBoss specific EJB 3 configuration allows extensions of Java EE EJB 3.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: jboss-ejb3.xml Deployment Descriptor Reference + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/index#jboss-ejb3xml_Deployment_Descriptor_Reference + ruleID: jboss-eap5-xml-17000 + tag: + - jboss-eap5 + - JBoss EJB 3 deployment descriptor (jboss-ejb3.xml) + when: + builtin.xml: + filepaths: + - jboss-ejb3.xml + namespaces: {} + xpath: //*[local-name()='ejb-jar'] +- customVariables: [] + description: "JBoss web-services deployment descriptor (jboss-webservices.xml)\n\n + \ JBossWS 4.0 introduces a new deployment descriptor to + configure web services.\n The `jboss-webservices.xml` file + provides additional information for the given deployment\n and + partially replaces the obsolete `jboss.xml` file.\n\n For + EJB webservice deployments, the expected location of the `jboss-webservices.xml` + descriptor file\n is in the `META-INF/` directory. For + POJO and EJB webservice endpoints bundled in WAR file,\n the + expected location of the `jboss-webservices.xml` file is in the `WEB-INF/` directory.\n + \ \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: + - title: JBoss web-services deployment descriptor (jboss-webservices.xml) + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-Web_Services_Changes + ruleID: jboss-eap5-xml-18000 + tag: + - jboss-ws + - descriptor + - webservice + - jboss-eap5 + - JBoss web-services deployment descriptor (jboss-webservices.xml) + when: + builtin.xml: + filepaths: + - jboss-webservices.xml + namespaces: {} + xpath: //*[local-name()='webservices'] +- customVariables: [] + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - jboss-eap5 + - ejb + - seam + links: [] + ruleID: jboss-eap5-xml-20000 + tag: + - jboss-eap5 + - JBoss EAP 4 JMS configuration + when: + builtin.xml: + namespaces: {} + xpath: //server/mbean[@code='org.jboss.mq.server.jmx.Queue'] diff --git a/resources/rulesets/eap6/46-resteasy.windup.yaml b/resources/rulesets/eap6/46-resteasy.windup.yaml new file mode 100644 index 0000000..27ac989 --- /dev/null +++ b/resources/rulesets/eap6/46-resteasy.windup.yaml @@ -0,0 +1,25 @@ +- category: optional + customVariables: [] + description: |- + Deprecated class SimpleServerCache in RESTEasy 2 + Use of `org.jboss.resteasy.plugins.cache.server.SimpleServerCache` is not supported in JBoss EAP 6. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - resteasy + links: + - title: How to implement JAX-RS RestEASY client and server caching in EAP 6? + url: https://access.redhat.com/solutions/2982101 + - title: JBoss EAP 6 - JAX-RS and RESTEasy Changes + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/6/html-single/migration_guide/#sect-JAX-RS_and_RESTEasy_Changes + - title: RestEasy javadoc for SimpleServerCache + url: https://docs.jboss.org/resteasy/docs/2.3.3.Final/javadocs/org/jboss/resteasy/plugins/cache/server/SimpleServerCache.html + - title: JBoss EAP 5 - Local Server-Side Response Cache + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html/resteasy_reference_guide/server_cache + message: Use of `org.jboss.resteasy.plugins.cache.server.SimpleServerCache` is not + supported in JBoss EAP 6. + ruleID: resteasy-eap5-000001 + when: + java.referenced: + pattern: org.jboss.resteasy.plugins.cache.server.SimpleServerCache diff --git a/resources/rulesets/eap6/47-xml-jonas.windup.yaml b/resources/rulesets/eap6/47-xml-jonas.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/eap6/47-xml-jonas.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/eap6/48-jotm.rhamt.yaml b/resources/rulesets/eap6/48-jotm.rhamt.yaml new file mode 100644 index 0000000..3bc05f1 --- /dev/null +++ b/resources/rulesets/eap6/48-jotm.rhamt.yaml @@ -0,0 +1,27 @@ +- category: mandatory + customVariables: [] + description: |- + JTA: JOTM usage + The modules required by JOTM's JTA implementation are not loaded by default on EAP6+.. This likely results in a "java.lang.NoClassDefFoundError: sun/rmi/server/UnicastServerRef" exception when it is deployed.. To solve this issue it is highly recommended to use JTA provided by JBoss EAP since JOTM is not maintained anymore.. If you want to stick with JOTM, you can add "sun/rmi/server" as system export in your applications deployment-structure.xml as described in [this knowledge base article](https://access.redhat.com/solutions/1217863). + effort: 5 + labels: + - konveyor.io/target=eap6 + - konveyor.io/source + - transactions + - jta + links: + - title: JBoss EAP 7.1. JTA documentation + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html/development_guide/java_transaction_api_jta + - title: Using transaction services by JTOM on EAP 6 + url: https://access.redhat.com/solutions/1217863 + message: 'The modules required by JOTM''s JTA implementation are not loaded by default + on EAP6+.. This likely results in a "java.lang.NoClassDefFoundError: sun/rmi/server/UnicastServerRef" + exception when it is deployed.. To solve this issue it is highly recommended to + use JTA provided by JBoss EAP since JOTM is not maintained anymore.. If you want + to stick with JOTM, you can add "sun/rmi/server" as system export in your applications + deployment-structure.xml as described in [this knowledge base article](https://access.redhat.com/solutions/1217863).' + ruleID: jotm-00001 + when: + java.referenced: + location: IMPORT + pattern: org.objectweb.jotm* diff --git a/resources/rulesets/eap6/49-jrun-catchall.windup.yaml b/resources/rulesets/eap6/49-jrun-catchall.windup.yaml new file mode 100644 index 0000000..b894039 --- /dev/null +++ b/resources/rulesets/eap6/49-jrun-catchall.windup.yaml @@ -0,0 +1,30 @@ +- customVariables: [] + labels: + - konveyor.io/source=jrun + - konveyor.io/target=eap6 + - web-app + - jrun + links: [] + ruleID: jrun-catchall-00000 + tag: + - catchall + - jrun + - JRun + when: + java.referenced: + pattern: jrun* +- customVariables: [] + labels: + - konveyor.io/source=jrun + - konveyor.io/target=eap6 + - web-app + - jrun + links: [] + ruleID: jrun-catchall-00001 + tag: + - catchall + - jrun + - JRunX + when: + java.referenced: + pattern: jrunx* diff --git a/resources/rulesets/eap6/50-xml-jrun.windup.yaml b/resources/rulesets/eap6/50-xml-jrun.windup.yaml new file mode 100644 index 0000000..423d8bf --- /dev/null +++ b/resources/rulesets/eap6/50-xml-jrun.windup.yaml @@ -0,0 +1,43 @@ +- customVariables: [] + description: | + JRun Web App descriptor + JRun web descriptor is a file that is by convention named jrun-web. It is JRun specific configuration file used to configure JRun server. This file is not supported in JBoss EAP 6 and needs to be migrated to web.xml or JBoss-specific jboss-web.xml + labels: + - konveyor.io/source=jrun + - konveyor.io/target=eap6 + - web-app + - jrun + - configuration + links: [] + ruleID: xml-jrun-01000 + tag: + - configuration + - jrun + - JRun Web App descriptor + when: + or: + - builtin.xml: + namespaces: {} + xpath: /jrun-web-app +- customVariables: [] + description: | + JRun ejb-jar configuration + JRun ejb configuration file used to configure EJBs, map them to jndi names etc. + labels: + - konveyor.io/source=jrun + - konveyor.io/target=eap6 + - web-app + - jrun + - configuration + links: [] + ruleID: xml-jrun-02000 + tag: + - configuration + - jrun + - JRun ejb-jar configuration + when: + or: + - as: default + builtin.xml: + namespaces: {} + xpath: /*[local-name()='jrun-ejb-jar'] diff --git a/resources/rulesets/eap6/51-jsp.windup.yaml b/resources/rulesets/eap6/51-jsp.windup.yaml new file mode 100644 index 0000000..e2ce537 --- /dev/null +++ b/resources/rulesets/eap6/51-jsp.windup.yaml @@ -0,0 +1,17 @@ +- category: mandatory + customVariables: [] + description: |- + Empty import definition in a JSP + Empty import definition in .jsp or .jspf files would fail in compilation time and needs to be removed. + effort: 1 + labels: + - konveyor.io/target=eap6 + - konveyor.io/target=java-ee6 + - konveyor.io/source + links: [] + message: Empty import definition in .jsp or .jspf files would fail in compilation + time and needs to be removed. + ruleID: jsp-01000 + when: + builtin.filecontent: + pattern: import=(""|'') diff --git a/resources/rulesets/eap6/52-log4j.windup.yaml b/resources/rulesets/eap6/52-log4j.windup.yaml new file mode 100644 index 0000000..abd1803 --- /dev/null +++ b/resources/rulesets/eap6/52-log4j.windup.yaml @@ -0,0 +1,54 @@ +- customVariables: [] + description: Deploying log4j.jar can result in non-deterministic ClassLoading issues. + It is recommended to use the built-in JBoss EAP Log4j module configured via `jboss-deployment-structure.xml` + labels: + - konveyor.io/source=log4j + - konveyor.io/target=eap6 + - log4j + links: [] + message: Deploying log4j.jar can result in non-deterministic ClassLoading issues. + It is recommended to use the built-in JBoss EAP Log4j module configured via `jboss-deployment-structure.xml` + ruleID: log4j-01000 + when: + java.dependency: + lowerbound: 0.0.0 + name: log4j.log4j +- customVariables: [] + labels: + - konveyor.io/source=log4j + - konveyor.io/target=eap6 + - log4j + links: + - title: How to configure Log4J in JBoss EAP 6/7 + url: https://access.redhat.com/solutions/405893 + - title: How to separate Log4J application logging from the 'server.log' in JBoss + EAP 6 + url: https://access.redhat.com/solutions/105653 + - title: Use my own 'log4j.xml' with EAP 6.1 + url: https://access.redhat.com/discussions/478983 + - title: EAP 6 deadlocks on a ConsoleHandler and java.io.PrintStream + url: https://access.redhat.com/solutions/375273 + ruleID: log4j-02000 + tag: + - Log4j Configuration + when: + builtin.filecontent: + pattern: '*' +- category: optional + customVariables: [] + description: | + Log4j ConsoleAppender Configuration - Potential Deadlock + effort: 1 + labels: + - konveyor.io/source=log4j + - konveyor.io/target=eap6 + - log4j + links: + - title: EAP 6 deadlocks when using ConsoleHandler and java.io.PrintStream + url: https://access.redhat.com/solutions/375273 + message: Using ConsoleAppender configured in log4j.{{suffix}} can cause a deadlock + on JBoss EAP 6.. It is recommended to Remove application level log4j ConsoleAppenders. + ruleID: log4j-03000 + when: + builtin.filecontent: + pattern: org.apache.log4j.ConsoleAppender diff --git a/resources/rulesets/eap6/53-xml-orion.windup.yaml b/resources/rulesets/eap6/53-xml-orion.windup.yaml new file mode 100644 index 0000000..85cc89e --- /dev/null +++ b/resources/rulesets/eap6/53-xml-orion.windup.yaml @@ -0,0 +1,63 @@ +- customVariables: [] + description: | + Oracle Application Platform EJB Descriptor + Orion specific ejb configuration file used to configure EJBs, map them to jndi names etc. + labels: + - konveyor.io/source=orion + - konveyor.io/target=eap6 + - web-app + - orion + - configuration + links: [] + ruleID: xml-orion-01000 + tag: + - configuration + - orion + - Oracle Application Platform EJB Descriptor + when: + as: default + builtin.xml: + namespaces: {} + xpath: /orion-ejb-jar +- customVariables: [] + description: | + Oracle Application Platform Web Descriptor + Oracle Application Platform Web Descriptor configuriation is defined in files by convention named global-web-application.xml and orion-web.xml. It is Orion specific configuration file that besides supporting the standard web.xml features also adds additional support for featuers like buffering, servlet chaining, locales, virtual directories. This file is not supported in JBoss EAP 6 and needs to be migrated to web.xml or JBoss-specific jboss-web.xml + labels: + - konveyor.io/source=orion + - konveyor.io/target=eap6 + - web-app + - orion + - configuration + links: [] + ruleID: xml-orion-02000 + tag: + - configuration + - orion + - Oracle Application Platform Web Descriptor + when: + as: default + builtin.xml: + namespaces: {} + xpath: /orion-web-app +- customVariables: [] + description: | + Oracle Application EAR configuration file + Orion-application file is an orion specific EAR configuration file used to configure default data sources for CMP beans, security user manager, jndi authorization etc. This file may have been generated by Orion. + labels: + - konveyor.io/source=orion + - konveyor.io/target=eap6 + - web-app + - orion + - configuration + links: [] + ruleID: xml-orion-03000 + tag: + - configuration + - orion + - Oracle Application EAR configuration file + when: + as: default + builtin.xml: + namespaces: {} + xpath: /orion-application diff --git a/resources/rulesets/eap6/54-xml-resin.windup.yaml b/resources/rulesets/eap6/54-xml-resin.windup.yaml new file mode 100644 index 0000000..f5178db --- /dev/null +++ b/resources/rulesets/eap6/54-xml-resin.windup.yaml @@ -0,0 +1,23 @@ +- customVariables: [] + description: "Resin Web Application Descriptor\nAn Resin specific file defining + an application configuration. Such a file may define URL paths, internal resin + ids, root directory path etc.\n This is Resin specific + and needs to be migrated to web.xml or jboss-web.xml\n \n" + labels: + - konveyor.io/source=resin + - konveyor.io/target=eap6 + - web-app + - resin + - configuration + links: [] + ruleID: xml-resin-01000 + tag: + - configuration + - resin + - Resin Web Application Descriptor + when: + as: default + builtin.xml: + namespaces: + resin: http://caucho.com/ns/resin + xpath: /resin:web-app diff --git a/resources/rulesets/eap6/55-environment-dependent.windup.yaml b/resources/rulesets/eap6/55-environment-dependent.windup.yaml new file mode 100644 index 0000000..9d9371b --- /dev/null +++ b/resources/rulesets/eap6/55-environment-dependent.windup.yaml @@ -0,0 +1,169 @@ +- category: optional + customVariables: [] + description: |- + Dynamic class instantiation + The class is dynamically loaded within application. During the migration, multiple classes that are provided on classpath by a different server may not be present anymore.. Please review the class-loading mechanisms and ensure that the dynamically loaded class is available in JBoss EAP. + effort: 0 + labels: + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee6 + - konveyor.io/source + - classloader + links: + - title: Class Loading and Modules in JBoss EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#class_loading_and_modules + - title: Class Loading and Modules in JBoss EAP 6 + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html-single/Development_Guide/index.html#chap-Class_Loading_and_Modules + - title: Article about Classloading in JBoss EAP 6 + url: https://access.redhat.com/solutions/361343 + message: The class is dynamically loaded within application. During the migration, + multiple classes that are provided on classpath by a different server may not + be present anymore.. Please review the class-loading mechanisms and ensure that + the dynamically loaded class is available in JBoss EAP. + ruleID: environment-dependent-calls-01000 + when: + java.referenced: + location: METHOD_CALL + pattern: java.lang.Class.forName(* +- category: mandatory + customVariables: [] + description: |- + Call of JNDI lookup + This method lookups an object using a JNDI String. During the migration process, some entity JNDI bindings may change.. Ensure that the JNDI Name does not need to change for JBoss EAP.. *For Example:*. ```java. (ConnectionFactory)initialContext.lookup("weblogic.jms.ConnectionFactory");. ```. *should become:*. ```java. (ConnectionFactory)initialContext.lookup("/ConnectionFactory");. ``` + effort: 1 + labels: + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee6 + - konveyor.io/source + - jndi + links: [] + message: This method lookups an object using a JNDI String. During the migration + process, some entity JNDI bindings may change.. Ensure that the JNDI Name does + not need to change for JBoss EAP.. *For Example:*. ```java. (ConnectionFactory)initialContext.lookup("weblogic.jms.ConnectionFactory");. + ```. *should become:*. ```java. (ConnectionFactory)initialContext.lookup("/ConnectionFactory");. + ``` + ruleID: environment-dependent-calls-02000 + when: + as: default + java.referenced: + location: METHOD_CALL + pattern: javax.naming.Context.lookup* +- category: mandatory + customVariables: [] + description: |- + Proprietary InitialContext initialization + In JBoss EAP, the `InitialContext` should be instantiated with no arguments. Once an instance is constructed, look up the service using portable JNDI lookup syntax. Ensure also that in case system properties for `InitialContext` are provided, they do not need to be changed for the JBoss EAP.. ```java. InitialContext context = new InitialContext();. Service service = (Service) context.lookup( "java:app/service/" + ServiceImpl.class.getSimpleName() );. ``` + effort: 1 + labels: + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee6 + - konveyor.io/source + - jndi + links: [] + message: In JBoss EAP, the `InitialContext` should be instantiated with no arguments. + Once an instance is constructed, look up the service using portable JNDI lookup + syntax. Ensure also that in case system properties for `InitialContext` are provided, + they do not need to be changed for the JBoss EAP.. ```java. InitialContext context + = new InitialContext();. Service service = (Service) context.lookup( "java:app/service/" + + ServiceImpl.class.getSimpleName() );. ``` + ruleID: environment-dependent-calls-03000 + when: + as: default + java.referenced: + location: CONSTRUCTOR_CALL + pattern: javax.naming.InitialContext(java.util.Hashtable* +- customVariables: [] + description: "JNDI properties file\n\n \n The + JNDI automatically reads the application resource files from all components in + the applications' classpaths.\n The JNDI then makes the + properties from these files available to the service providers.\n\n Please + ensure the property values listed in this file are available to JBoss EAP.\n \n + \ \n" + labels: + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee6 + - konveyor.io/source + links: [] + ruleID: environment-dependent-calls-03500 + tag: + - webservice + - JNDI properties file + when: + as: default + builtin.file: + pattern: jndi\.properties +- category: mandatory + customVariables: + - name: suffix + nameOfCaptureGroup: suffix + pattern: javax.management.(?P(ObjectName))?{*} + description: | + JMX MBean object name (javax.management.{suffix}) + effort: 1 + labels: + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee6 + - konveyor.io/source + - jmx + links: [] + message: After migration, some of the JMX beans provided by the previous server + may not be present anymore.. Ensure that the `javax.management.{{suffix}}` does + not need to change for JBoss EAP. + ruleID: environment-dependent-calls-04000 + when: + as: default + java.referenced: + location: CONSTRUCTOR_CALL + pattern: javax.management.(ObjectName)* +- category: mandatory + customVariables: + - name: suffix + nameOfCaptureGroup: suffix + pattern: javax.management.(?P(remote.JMXServiceURL))?{*} + description: | + JMX API connector server address (javax.management.{suffix}) + effort: 1 + labels: + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee6 + - konveyor.io/source + - jmx + links: [] + message: After migration, some of the JMX beans provided by the previous server + may not be present anymore.. Ensure that the `javax.management.{{suffix}}` does + not need to change for JBoss EAP. + ruleID: environment-dependent-calls-04001 + when: + as: default + java.referenced: + location: CONSTRUCTOR_CALL + pattern: javax.management.(remote.JMXServiceURL)* +- category: mandatory + customVariables: [] + description: |- + JMX connection factory parameters + After migration, JMX connection String or parameters may be different than the one provided by previous server.. As an example, `javax.management.remote.JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES` will change.. Ensure that any of the parameters does not need to change for JBoss EAP. + effort: 1 + labels: + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee6 + - konveyor.io/source + - jmx + links: [] + message: After migration, JMX connection String or parameters may be different than + the one provided by previous server.. As an example, `javax.management.remote.JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES` + will change.. Ensure that any of the parameters does not need to change for JBoss + EAP. + ruleID: environment-dependent-calls-05000 + when: + as: default + java.referenced: + location: METHOD_CALL + pattern: javax.management.remote.JMXConnectorFactory.connect* diff --git a/resources/rulesets/eap6/56-generic-catchall.windup.yaml b/resources/rulesets/eap6/56-generic-catchall.windup.yaml new file mode 100644 index 0000000..9f4502c --- /dev/null +++ b/resources/rulesets/eap6/56-generic-catchall.windup.yaml @@ -0,0 +1,290 @@ +- category: optional + customVariables: + - name: domain + nameOfCaptureGroup: domain + pattern: (?P(edu|EDU).)?oswego.cs.dl.util.concurrent.{*} + description: |- + Doug Lea Concurrency util + This is an old Doug Lea Concurrency util type and needs to be migrated to a compatible `java.util.concurrent` API.. There is currently no detailed information about this type. + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This is an old Doug Lea Concurrency util type and needs to be migrated + to a compatible `java.util.concurrent` API.. There is currently no detailed information + about this type. + ruleID: generic-catchall-00000 + when: + java.referenced: + pattern: (edu|EDU).oswego.cs.dl.util.concurrent* +- category: optional + customVariables: [] + description: |- + backport-util-concurrent type reference + This type is the backport of java.util.concurrent API, introduced in Java 5.0 and further refined in Java 6.0, to older Java platforms.. You should use java.util.concurrent API instead. + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This type is the backport of java.util.concurrent API, introduced in Java + 5.0 and further refined in Java 6.0, to older Java platforms.. You should use + java.util.concurrent API instead. + ruleID: generic-catchall-00001 + when: + java.referenced: + pattern: edu.emory.mathcs.backport.java.util* +- category: optional + customVariables: + - name: package-remainder + nameOfCaptureGroup: package-remainder + pattern: org.mule.(?P(.*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: org.mule.(?P(.*)?.)?(?P[^.]+)? + description: | + Mule API reference + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - mule + links: [] + message: Mule API `org.mule.{{package-remainder}}.{{type}}` was used.. You should + convert these types to Apache Camel. + ruleID: generic-catchall-00002 + when: + java.referenced: + pattern: org.mule.(*)?* +- category: optional + customVariables: + - name: package-remainder + nameOfCaptureGroup: package-remainder + pattern: mx4j.(?P(.*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: mx4j.(?P(.*)?.)?(?P[^.]+)? + description: | + MX4J type reference + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - mx4j + links: [] + message: MX4J `mx4j.{{package-remainder}}.{{type}}` reference was used. + ruleID: generic-catchall-00003 + when: + java.referenced: + pattern: mx4j.(*)?* +- category: potential + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.osoa.sca.annotations.(?P[^.]+)? + description: | + Apache Tuscany type reference + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - soa + - apache-tuscany + links: [] + message: Apache Tuscany `org.osoa.sca.annotations.{{type}}` reference was used. + ruleID: generic-catchall-00100 + when: + java.referenced: + pattern: org.osoa.sca.annotations* +- category: optional + customVariables: [] + description: |- + Tibco ActiveMatrix Stub + Tibco ActiveMatrix Stub; regenerate the SOAP Client for the class + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - tibco + - soa + links: [] + message: Tibco ActiveMatrix Stub; regenerate the SOAP Client for the class + ruleID: generic-catchall-00200 + when: + java.referenced: + location: IMPORT + pattern: amx_* +- category: optional + customVariables: + - name: package-remainder + nameOfCaptureGroup: package-remainder + pattern: com.tibco.(?P(.*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: com.tibco.(?P(.*)?.)?(?P[^.]+)? + description: | + Tibco type reference + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - tibco + links: [] + message: Tibco `com.tibco.{{package-remainder}}.{{type}}` reference found.. No specific + details available. + ruleID: generic-catchall-00300 + when: + java.referenced: + pattern: com.tibco.(*)?* +- category: optional + customVariables: + - name: package-remainder + nameOfCaptureGroup: package-remainder + pattern: com.crystaldecisions.(?P(.*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: com.crystaldecisions.(?P(.*)?.)?(?P[^.]+)? + description: | + SAP CrystalReports type reference + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - sap + links: [] + message: SAP CrystalReports `com.crystaldecisions.{{package-remainder}}.{{type}}` + reference found.. No specific details available. + ruleID: generic-catchall-00400 + when: + java.referenced: + pattern: com.crystaldecisions.(*)?* +- category: optional + customVariables: + - name: package-remainder + nameOfCaptureGroup: package-remainder + pattern: com.iona.(?P(.*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: com.iona.(?P(.*)?.)?(?P[^.]+)? + description: | + IONA type reference + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - iona + links: [] + message: IONA `com.iona.{{package-remainder}}.{{type}}` reference found.. No specific + details available. + ruleID: generic-catchall-00500 + when: + java.referenced: + pattern: com.iona.(*)?* +- category: optional + customVariables: + - name: subpackage + nameOfCaptureGroup: subpackage + pattern: org.apache.(?P(activeio|activemq).)?{*} + description: | + Apache org.apache.{subpackage} type reference + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - apache + links: [] + message: Apache `org.apache.{{subpackage}}` API reference found.. No specific details + available. + ruleID: generic-catchall-00600 + when: + java.referenced: + pattern: org.apache.(activeio|activemq)* +- category: potential + customVariables: + - name: subpackage + nameOfCaptureGroup: subpackage + pattern: org.(?P(jboss|jbpm).)?(?P([a-z]+\.)*)?(?P[^.()]+)? + - name: package-remainder + nameOfCaptureGroup: package-remainder + pattern: org.(?P(jboss|jbpm).)?(?P([a-z]+\.)*)?(?P[^.()]+)? + - name: type + nameOfCaptureGroup: type + pattern: org.(?P(jboss|jbpm).)?(?P([a-z]+\.)*)?(?P[^.()]+)? + description: | + JBoss API reference + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - jboss + links: [] + message: '`org.{{subpackage}}.{{package-remainder}}{{type}}` reference found. No + specific details available.' + ruleID: generic-catchall-00700 + when: + java.referenced: + pattern: org.(jboss|jbpm).([a-z]+.)*[^.()]+ +- category: optional + customVariables: [] + description: |- + java.sql.DriverManager type reference + `java.sql.DriverManager` type reference found. No specific details available. + effort: 0 + labels: + - konveyor.io/source=java + - konveyor.io/source=javaee + - konveyor.io/source=soa + - konveyor.io/target=eap6 + - phase=PostMigrationRulesPhase + - catchall + - jdbc + links: [] + message: '`java.sql.DriverManager` type reference found. No specific details available.' + ruleID: generic-catchall-00900 + when: + java.referenced: + pattern: java.sql.DriverManager diff --git a/resources/rulesets/eap6/57-ignore-references.windup.yaml b/resources/rulesets/eap6/57-ignore-references.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/eap6/57-ignore-references.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/eap6/image.svg b/resources/rulesets/eap6/image.svg new file mode 100644 index 0000000..4df446d --- /dev/null +++ b/resources/rulesets/eap6/image.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/eap6/ruleset.yaml b/resources/rulesets/eap6/ruleset.yaml new file mode 100644 index 0000000..019016f --- /dev/null +++ b/resources/rulesets/eap6/ruleset.yaml @@ -0,0 +1,3 @@ +name: eap6/jrun +description: This ruleset provides analysis of JRun proprietary xml files that may + require individual attention when migrating to JBoss EAP 6+. diff --git a/resources/rulesets/eap7/100-websphere-mq.windup.yaml b/resources/rulesets/eap7/100-websphere-mq.windup.yaml new file mode 100644 index 0000000..60ea15d --- /dev/null +++ b/resources/rulesets/eap7/100-websphere-mq.windup.yaml @@ -0,0 +1,95 @@ +- customVariables: + - name: package + nameOfCaptureGroup: package + pattern: (?Pcom.ibm(\..*)?\.(mq|wmq).*.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: (?Pcom.ibm(\..*)?\.(mq|wmq).*.)?(?P[^.]+)? + description: "IBM MQ client API\nWebSphere MQ client API is used to communicate + with the MQ server from client-side applications.\n For + JBoss EAP 7, this needs to be replaced with standard Java EE 6 JMS API, or with + ActiveMQ Artemis client API.\n \n" + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - messaging + - websphere + links: + - title: Java EE 7 JMS Tutorial + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + - title: WebSphere MQ JavaDoc + url: http://www-01.ibm.com/support/knowledgecenter/SSVHEW_6.2.0/com.ibm.mqe.javadoc/java/overview-summary.html + ruleID: websphere-mq-eap7-00000 + tag: + - jms + - websphere + - IBM MQ client API + when: + java.referenced: + pattern: com.ibm.*(mq|wmq)** +- category: mandatory + customVariables: [] + description: "IBM MQ Configuration\nThe WebSphere MQ client API is used to communicate + with the MQ server from client-side applications.\n For + JBoss EAP 7, this needs to be replaced with standard Java EE 7 JMS API, or with + ActiveMQ Artemis client API.\n \n`WMQInitialContextFactory` + is an implementation of `InitialContextFactory`. used to get object instances + from JNDI. The. equivalent functionality needs to be configured on JBoss EAP 7 + using ActiveMQ Artemis.. `InitialContextFactory` is provided. by EAP and you only + need to instantiate `InitialContext ctx = new InitialContext();`." + effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - messaging + - websphere + - configuration + links: + - title: The Embedded ActiveMQ Artemis Messaging Broker + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuring_messaging/#the_integrated_activemq_artemis_messaging_broker + - title: Java EE 7 JMS Tutorial + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + message: '`WMQInitialContextFactory` is an implementation of `InitialContextFactory`. + used to get object instances from JNDI. The. equivalent functionality needs to + be configured on JBoss EAP 7 using ActiveMQ Artemis.. `InitialContextFactory` + is provided. by EAP and you only need to instantiate `InitialContext ctx = new + InitialContext();`.' + ruleID: websphere-mq-eap7-01000 + tag: + - IBM MQ Configuration + when: + builtin.filecontent: + pattern: com.ibm.mq.jms.context.WMQInitialContextFactory +- category: mandatory + customVariables: [] + description: |- + IBM WebSphere .scp file + WebSphere `.scp` files contain scripts for the `jmsadmin` program which is used. to configure the WebSphere MQ destinations. and routing. To configure messaging in JBoss EAP 7 with ActiveMQ Artemis, use either the Management Console or Management CLI with it's. scripting feature. + effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - messaging + - websphere + - configuration + links: + - title: Configuring Single-Node Messaging Systems + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuring_messaging/#basic_configuration + - title: Java EE 7 JMS Tutorial + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + message: WebSphere `.scp` files contain scripts for the `jmsadmin` program which + is used. to configure the WebSphere MQ destinations. and routing. To configure + messaging in JBoss EAP 7 with ActiveMQ Artemis, use either the Management Console + or Management CLI with it's. scripting feature. + ruleID: websphere-mq-eap7-02000 + tag: + - IBM MQ Configuration + when: + builtin.filecontent: + pattern: '*' diff --git a/resources/rulesets/eap7/101-websphere-mqe.windup.yaml b/resources/rulesets/eap7/101-websphere-mqe.windup.yaml new file mode 100644 index 0000000..cf27b98 --- /dev/null +++ b/resources/rulesets/eap7/101-websphere-mqe.windup.yaml @@ -0,0 +1,125 @@ +- customVariables: + - name: package + nameOfCaptureGroup: package + pattern: (?Pcom.ibm(\..*)?\.(mqe).*.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: (?Pcom.ibm(\..*)?\.(mqe).*.)?(?P[^.]+)? + description: "IBM MQe client API\nWebSphere MQe client API is used to communicate + with the MQ server from client-side applications.\n For + JBoss EAP 7, this needs to be replaced with standard Java EE 6 JMS API, or with + ActiveMQ Artemis client API.\n \n" + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - messaging + - websphere + links: + - title: Java EE 7 JMS Tutorial + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + - title: WebSphere MQe JavaDoc + url: http://www-01.ibm.com/support/knowledgecenter/SSVHEW_6.2.0/com.ibm.mqe.javadoc/java/overview-summary.html + ruleID: websphere-mqe-eap7-00000 + tag: + - jms + - websphere + - IBM MQe client API + when: + java.referenced: + pattern: com.ibm.*(mqe)** +- category: mandatory + customVariables: [] + description: | + IBM MQe com.ibm.mqe.adapters.MQe{type}Adapter + effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - messaging + - websphere + links: + - title: 'JBoss EAP 7 Configuring Messaging: Deploy a WebSphere MQ Resource Adapter' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuring_messaging/#deploy_the_websphere_mq_resource_adapter + - title: MQe Adapter Javadoc + url: http://www-01.ibm.com/support/knowledgecenter/SSVHEW_6.2.0/com.ibm.mqe.javadoc/java/com/ibm/mqe/adapters/package-summary.html + message: IBM MQe {{type}} adapter provides plug-in communications adapters or data + storage adapters for queue managers. These can. be deployed to JBoss EAP. + ruleID: websphere-mqe-eap7-01000 + when: + java.referenced: + location: INHERITANCE + pattern: com.ibm.mqe.adapters.MQe{type}Adapter +- category: mandatory + customVariables: [] + description: | + IBM MQe com.ibm.mqe.administration.MQe{type}AdminMsg + effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - messaging + - websphere + links: + - title: JBoss EAP 7 - Configuring Messaging Destinations + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuring_messaging/#configure_destinations_artemis + - title: IBM MQe Admin API Javadoc + url: http://www-01.ibm.com/support/knowledgecenter/SSVHEW_6.2.0/com.ibm.mqe.javadoc/java/com/ibm/mqe/administration/package-summary.html + message: IBM MQe {{type}} administration API provides classes used to administer + and monitor a WebSphere MQ Everyplace queue manager. In. JBoss EAP 7, the JMS + destinations can be configured with the JBoss Admin CLI. + ruleID: websphere-mqe-eap7-02000 + when: + java.referenced: + location: INHERITANCE + pattern: com.ibm.mqe.administration.MQe{type}AdminMsg +- category: mandatory + customVariables: [] + description: |- + IBM MQe com.ibm.mqe.jms.MQeJMSAuthenticator + `MQeJMSAuthenticator` is a WebSphere proprietary JMS authentication API.. To migrate to JBoss EAP 7, replace with Java EE 6 JAAS for JMS authentication. + effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - messaging + - websphere + links: + - title: 'JBoss EAP 7 Configuring Messaging: Configuring Security' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuring_messaging/#configuring_messaging_security + message: '`MQeJMSAuthenticator` is a WebSphere proprietary JMS authentication API.. + To migrate to JBoss EAP 7, replace with Java EE 6 JAAS for JMS authentication.' + ruleID: websphere-mqe-eap7-03000 + when: + java.referenced: + pattern: com.ibm.mqe.jms.MQeJMSAuthenticator +- category: optional + customVariables: [] + description: |- + IBM MQe com.ibm.mqe.jms.MQeJMSMsgFieldNames + IBM MQe constants are used to name fields when a JMS message is mapped to an `MQeMsgObject`. These are provided to. enable WebSphere MQ Everyplace applications to interpret messages sent by JMS or to construct messages that a JMS application. will understand.. These settings can be discarded when migrating to JBoss EAP 7 with ActiveMQ Artemis. + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - messaging + - websphere + links: [] + message: IBM MQe constants are used to name fields when a JMS message is mapped + to an `MQeMsgObject`. These are provided to. enable WebSphere MQ Everyplace applications + to interpret messages sent by JMS or to construct messages that a JMS application. + will understand.. These settings can be discarded when migrating to JBoss EAP + 7 with ActiveMQ Artemis. + ruleID: websphere-mqe-eap7-04000 + when: + java.referenced: + pattern: com.ibm.mqe.jms.MQeJMSMsgFieldNames diff --git a/resources/rulesets/eap7/102-websphere-other.windup.yaml b/resources/rulesets/eap7/102-websphere-other.windup.yaml new file mode 100644 index 0000000..a434d92 --- /dev/null +++ b/resources/rulesets/eap7/102-websphere-other.windup.yaml @@ -0,0 +1,52 @@ +- category: mandatory + customVariables: [] + description: |- + WebSphere Work Manager + WebSphere Asynchronous Work is a Work Manager, whose purpose is to allow the user utilizing threads while letting the container manage them.. For migration to JBoss EAP 7, [replace with JCA Work Manager](https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuration_guide/#jca_management). + effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - websphere + - asynchronous + links: + - title: Java Connector Architecture (JCA) Management + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuration_guide/#jca_management + - title: Description of WebSphere Asynchronous Work + url: http://www.javaworld.com/article/2077671/build-ci-sdlc/the-wise-work-manager-for-context-based-scoping.html + - title: 'JSR 237: Work Manager for Application Servers' + url: https://jcp.org/en/jsr/detail?id=237 + message: WebSphere Asynchronous Work is a Work Manager, whose purpose is to allow + the user utilizing threads while letting the container manage them.. For migration + to JBoss EAP 7, [replace with JCA Work Manager](https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuration_guide/#jca_management). + ruleID: websphere-other-eap7-01000 + when: + java.referenced: + location: INHERITANCE + pattern: com.ibm.websphere.asynchbeans.Work +- category: mandatory + customVariables: [] + description: |- + WebSphere Startup Service + WebSphere Startup Service serves as a callback to be invoked when the server or application starts.. When migrating to JBoss EAP 7, this has to be replaced with standard EJB 3.1 Startup Bean, using `@Startup @Singleton` class and `@PostConstruct` method. + effort: 4 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - websphere + - startup + links: + - title: EJB 3.1 Singleton Bean + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Singleton.html + - title: EJB 3.1 Startup Bean + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Startup.html + message: WebSphere Startup Service serves as a callback to be invoked when the server + or application starts.. When migrating to JBoss EAP 7, this has to be replaced + with standard EJB 3.1 Startup Bean, using `@Startup @Singleton` class and `@PostConstruct` + method. + ruleID: websphere-other-eap7-02000 + when: + java.referenced: + pattern: com.ibm.websphere.startupservice*StartUp* diff --git a/resources/rulesets/eap7/103-websphere-xml.windup.yaml b/resources/rulesets/eap7/103-websphere-xml.windup.yaml new file mode 100644 index 0000000..1cc414c --- /dev/null +++ b/resources/rulesets/eap7/103-websphere-xml.windup.yaml @@ -0,0 +1,194 @@ +- customVariables: [] + description: | + IBM Process Server Rules 6.0 + WBI is a WebSphere proprietary business integration solution. This needs to be migrated to JBoss Drools or JBPM/BRMS. + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - websphere + - configuration + links: [] + ruleID: eap7-websphere-xml-01000 + tag: + - ibm-wbi + - rules + - websphere + - IBM Process Server Rules 6.0 + when: + builtin.xml: + namespaces: + rl: http://www.ibm.com/xmlns/prod/websphere/wbi/br/6.0.0 + xpath: /rl:RuleSet +- category: mandatory + customVariables: [] + description: |- + WebSphere EAR Application Binding + This WebSphere application binding is an IBM proprietary method for binding user roles for authorization and needs to be migrated to JAAS or KeyCloak. + This file contains a specific IBM WebSphere Application binding configuration.. To migrate to EAP 7+, configure EAP 7+ accordingly using the CLI interface or web console. + effort: 0 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - websphere + - configuration + links: + - title: Migrate IBM WebSphere Application Server Web Application Extension or Binding + Files + url: https://access.redhat.com/articles/1330673 + - title: Enabling Role-Based Access Control in JBoss EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/how_to_configure_server_security/#enabling_role_based_access_control + message: This file contains a specific IBM WebSphere Application binding configuration.. + To migrate to EAP 7+, configure EAP 7+ accordingly using the CLI interface or + web console. + ruleID: eap7-websphere-xml-02000 + tag: + - security + - websphere + - WebSphere EAR Application Binding + when: + builtin.xml: + namespaces: + applicationbnd: applicationbnd.xmi + xpath: /applicationbnd:ApplicationBinding +- category: mandatory + customVariables: [] + description: |- + WebSphere JSP engine configuration (ibm-web-ext) + This file contains WebSphere proprietary JSP engine configuration.. To migrate to EAP 7, configure it accordingly using the CLI or the web console. + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - websphere + - configuration + links: [] + message: This file contains WebSphere proprietary JSP engine configuration.. To + migrate to EAP 7, configure it accordingly using the CLI or the web console. + ruleID: eap7-websphere-xml-03500 + when: + or: + - as: default + builtin.xml: + namespaces: + webappext: webappext.xmi + xpath: /webappext:WebAppExtension + from: files + - as: default + builtin.xml: + namespaces: + ext: http://websphere.ibm.com/xml/ns/javaee + xpath: /ext:web-ext + - as: files + builtin.file: + pattern: ibm-web-ext\.xml|xmi +- category: mandatory + customVariables: [] + description: |- + WebSphere web application binding (ibm-web-bnd) + This file contains WebSphere proprietary binding configuration.. To migrate to EAP 7+, configure EAP 7+ accordingly using the CLI interface or web console. + effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - websphere + - configuration + links: + - title: Configure the EAP 7 Web Server (Undertow) + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuration_guide/#configuring_the_web_server_undertow + - title: Undertow documentation + url: http://undertow.io/undertow-docs/undertow-docs-1.3.0/index.html + - title: Migrate IBM WebSphere Application Server Web Application Extension or Binding + Files + url: https://access.redhat.com/articles/1330673 + message: This file contains WebSphere proprietary binding configuration.. To migrate + to EAP 7+, configure EAP 7+ accordingly using the CLI interface or web console. + ruleID: eap7-websphere-xml-06000 + when: + or: + - builtin.xml: + namespaces: + ext: http://websphere.ibm.com/xml/ns/javaee + xpath: /ext:web-bnd + - builtin.xml: + namespaces: + webappbnd: webappbnd.xmi + xpath: /webappbnd:WebAppBinding +- customVariables: [] + description: "WebSphere web service client extension descriptor (ibm-webservicesclient-ext)\n\n + \ \n Client IBM specific deployment descriptor + extension that needs to be migrated to JBossWS.\n JBossWS implements + the latest JAX-WS specification, which users can reference for any vendor-agnostic + web service usage need.\n You can migrate deployment descriptors + following the links below.\n \n \n" + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - websphere + - configuration + links: + - title: Developing JAX-WS Web Services + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/developing_web_services_applications/developing_jax_ws_web_services + - title: Assigning Client and Endpoint Configurations + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_web_services_applications/#ws_endpoint_assign_config + ruleID: eap7-websphere-xml-07000 + tag: + - webservice + - websphere + - WebSphere web service client extension descriptor (ibm-webservicesclient-ext) + when: + builtin.xml: + namespaces: + com.ibm.etools.webservice.wscext: http://www.ibm.com/websphere/appserver/schemas/5.0.2/wscext.xmi + xpath: /com.ibm.etools.webservice.wscext:WsClientExtension +- customVariables: [] + description: "WebSphere web service client binding descriptor (ibm-webservicesclient-bnd)\n\n + \ \n Client IBM specific deployment descriptor + binding that needs to be migrated to JBossWS.\n JBossWS implements + the latest JAX-WS specification, which users can reference for any vendor-agnostic + web service usage need.\n You can get more information about + developing web services in the links below.\n \n \n" + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - websphere + - configuration + links: + - title: Developing JAX-WS Web Services + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/developing_web_services_applications/developing_jax_ws_web_services + ruleID: eap7-websphere-xml-08000 + tag: + - webservice + - websphere + - WebSphere web service client binding descriptor (ibm-webservicesclient-bnd) + when: + builtin.xml: + namespaces: + com.ibm.etools.webservice.wscbnd: http://www.ibm.com/websphere/appserver/schemas/5.0.2/wscbnd.xmi + xpath: /com.ibm.etools.webservice.wscbnd:ClientBinding +- customVariables: [] + description: "WebSphere deployment descriptor (deployment.xml)\n\n This + file is an IBM WebSphere proprietary deployment descriptor that is typically generated + when development of the EAR was done using IBM products.\n The + XML schema documentation can be found within the WebSphere Application Server + 7.0 directory under `/web/configDocs/packages/appdeployment/Deployment.html`.\n + \ It should be safe to delete this file, unless it was created + manually.\n \n" + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - websphere + - configuration + links: + - title: IBM WebSphere configuration document descriptions + url: https://www.ibm.com/support/knowledgecenter/SSAW57_9.0.5/com.ibm.websphere.nd.multiplatform.doc/ae/rcfg_rconfdoc_descriptions.html + - title: IBM WebSphere configuration documents + url: https://www.ibm.com/support/knowledgecenter/SSAW57_9.0.5/com.ibm.websphere.nd.multiplatform.doc/ae/ccfg_confdoc.html + ruleID: eap7-websphere-xml-09000 + tag: + - websphere + - WebSphere deployment descriptor (deployment.xml) + when: + builtin.xml: + namespaces: + appdeployment: http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi + xpath: /appdeployment:Deployment diff --git a/resources/rulesets/eap7/58-jboss-eap4and5to6and7-java.windup.yaml b/resources/rulesets/eap7/58-jboss-eap4and5to6and7-java.windup.yaml new file mode 100644 index 0000000..c3c14c8 --- /dev/null +++ b/resources/rulesets/eap7/58-jboss-eap4and5to6and7-java.windup.yaml @@ -0,0 +1,76 @@ +- category: mandatory + customVariables: [] + description: |- + Replace org.jboss.security.annotation.SecurityDomain annotation + Annotation `org.jboss.security.annotation.SecurityDomain` should be replaced by `org.jboss.ejb3.annotation.SecurityDomain`. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: JBoss EAP 6 - Development Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#Use_a_Security_Domain_in_Your_Application + - title: How to configure EJB3 Domain Security in JBoss EAP 6 + url: https://access.redhat.com/solutions/236113 + message: Annotation `org.jboss.security.annotation.SecurityDomain` should be replaced + by `org.jboss.ejb3.annotation.SecurityDomain`. + ruleID: jboss-eap4and5to6and7-java-01000 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.security.annotation.SecurityDomain +- category: mandatory + customVariables: [] + description: |- + Replace org.jboss.mx.util.MBeanProxyExt class + In JBoss EAP 4 and 5 a lot of the mbean-related components were JBoss specific.. In JBoss EAP 6+ these mbean-related components (i.e., `org.jboss.mx.*`) have been removed in an effort to make the container more Java EE 6 specification compliant.. One will need to find an equivalent replacement: for class `MBeanProxyExt.create()` one can use `JMX.newMBeanProxy()`. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: Where is class MBeanProxyExt in JBoss EAP 6? + url: https://access.redhat.com/solutions/410503 + - title: Java EE 6 - Class JMX + url: https://docs.oracle.com/javase/6/docs/api/javax/management/JMX.html + message: 'In JBoss EAP 4 and 5 a lot of the mbean-related components were JBoss + specific.. In JBoss EAP 6+ these mbean-related components (i.e., `org.jboss.mx.*`) + have been removed in an effort to make the container more Java EE 6 specification + compliant.. One will need to find an equivalent replacement: for class `MBeanProxyExt.create()` + one can use `JMX.newMBeanProxy()`.' + ruleID: jboss-eap4and5to6and7-java-02000 + when: + java.referenced: + location: IMPORT + pattern: org.jboss.mx.util.MBeanProxyExt +- category: mandatory + customVariables: + - name: classes + nameOfCaptureGroup: classes + pattern: org.jboss.system.(?P(ServiceMBean|ServiceMBeanSupport))? + description: |- + Replace ServiceMBean and ServiceMBeanSupport + JMX / MBeans is still fully supported as it is in the JDK specification.. If your MBeans were extending the old JBoss EAP MBean support classes such as `org.jboss.system.ServiceMBean` and `org.jboss.system.ServiceMBeanSupport`, these do not exist in JBoss EAP 6+.. These classes were hooked into the kernel in previous versions of JBoss EAP where everything was basically turned into an MBean. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: How to implement MBeans in JBoss EAP 6 + url: https://access.redhat.com/solutions/121823 + message: JMX / MBeans is still fully supported as it is in the JDK specification.. + If your MBeans were extending the old JBoss EAP MBean support classes such as + `org.jboss.system.ServiceMBean` and `org.jboss.system.ServiceMBeanSupport`, these + do not exist in JBoss EAP 6+.. These classes were hooked into the kernel in previous + versions of JBoss EAP where everything was basically turned into an MBean. + ruleID: jboss-eap4and5to6and7-java-03000 + when: + java.referenced: + location: INHERITANCE + pattern: org.jboss.system.(ServiceMBean|ServiceMBeanSupport) diff --git a/resources/rulesets/eap7/59-jboss-eap4and5to6and7-xml.windup.yaml b/resources/rulesets/eap7/59-jboss-eap4and5to6and7-xml.windup.yaml new file mode 100644 index 0000000..38ba6bd --- /dev/null +++ b/resources/rulesets/eap7/59-jboss-eap4and5to6and7-xml.windup.yaml @@ -0,0 +1,201 @@ +- category: optional + customVariables: [] + description: |- + Replace service-style deployments + MBeans were part of the core architecture in previous versions of Red Hat JBoss Enterprise Application Platform.. JBoss Service Archive (SAR) deployments using the JBoss specific `jboss-service.xml` and `jboss-beans.xml` service-style descriptors were used by the application server to create MBeans based on JBoss Beans.. The internal architecture has changed in JBoss EAP 6+ and is no longer based on an MBean JMX architecture. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: JBoss EAP 6 - Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Service-style_Deployment_Changes + - title: How to change a jboss-service.xml / sar MBean Singleton to a Java EE 6 + Singleton in JBoss EAP 6 + url: https://access.redhat.com/solutions/416333 + - title: Are service archives (sar), jboss-service.xml, JBoss MBeans, jboss-beans.xml + recommended in JBoss EAP 6? + url: https://access.redhat.com/solutions/374333 + - title: jboss:service=Naming in JBoss EAP 6 + url: https://access.redhat.com/solutions/1212103 + message: MBeans were part of the core architecture in previous versions of Red Hat + JBoss Enterprise Application Platform.. JBoss Service Archive (SAR) deployments + using the JBoss specific `jboss-service.xml` and `jboss-beans.xml` service-style + descriptors were used by the application server to create MBeans based on JBoss + Beans.. The internal architecture has changed in JBoss EAP 6+ and is no longer + based on an MBean JMX architecture. + ruleID: jboss-eap4and5to6and7-xml-01000 + when: + builtin.file: + pattern: jboss-(service|beans)\.xml +- category: mandatory + customVariables: [] + description: |- + Replace BarrierController service + `BarrierController` service is no longer available in JBoss EAP 6+.. In JBoss EAP 4.x the JBoss 'kernel' layer was an extension of JMX which is why everything was an MBean, though most of the MBean functionality still worked in JBoss EAP 5.. JBoss EAP 6 is no longer based on Mbeans, and the Mbeans which are seen in jconsole are actually just facades over the JBoss management API, so declaring Mbean dependencies on any other Mbeans that appear to be JBoss Mbeans does not work since they are not real Mbeans. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: 'BarrierController service in JBoss EAP 6 ' + url: https://access.redhat.com/solutions/410953 + - title: JBoss EAP 6 - Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#Review_The_List_of_Deprecated_and_Unsupported_Features + - title: JBoss EAP 5 - HASingleton Deployment Options + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/index#idm139776751035360 + message: '`BarrierController` service is no longer available in JBoss EAP 6+.. In + JBoss EAP 4.x the JBoss ''kernel'' layer was an extension of JMX which is why + everything was an MBean, though most of the MBean functionality still worked in + JBoss EAP 5.. JBoss EAP 6 is no longer based on Mbeans, and the Mbeans which are + seen in jconsole are actually just facades over the JBoss management API, so declaring + Mbean dependencies on any other Mbeans that appear to be JBoss Mbeans does not + work since they are not real Mbeans.' + ruleID: jboss-eap4and5to6and7-xml-02000 + when: + builtin.xml: + filepaths: + - jboss-service.xml + namespaces: {} + xpath: //mbean[@code='org.jboss.system.BarrierController'] +- category: mandatory + customVariables: [] + description: |- + Replace CompressingMarshaller marshaller + `CompressingMarshaller` marshaller is no longer available in JBoss EAP 6+.. In JBoss EAP 6.3.0 and later, data compression hints can be specified via the JBoss annotation `org.jboss.ejb.client.annotation.CompressionHint` + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: How to compress remote EJB communication in JBoss EAP 6 + url: https://access.redhat.com/solutions/322953 + message: '`CompressingMarshaller` marshaller is no longer available in JBoss EAP + 6+.. In JBoss EAP 6.3.0 and later, data compression hints can be specified via + the JBoss annotation `org.jboss.ejb.client.annotation.CompressionHint`' + ruleID: jboss-eap4and5to6and7-xml-03000 + when: + or: + - builtin.xml: + filepaths: + - jboss-service.xml + namespaces: {} + xpath: //mbean[@code='org.jboss.remoting.transport.Connector']//attribute[text()='org.jboss.remoting.marshal.compress.CompressingMarshaller' + and @name='marshaller'] + - builtin.xml: + filepaths: + - jboss-beans.xml + namespaces: {} + xpath: //value[text()='org.jboss.remoting.marshal.compress.CompressingMarshaller'] +- category: mandatory + customVariables: [] + description: |- + Replace Login Module definition + In JBoss EAP 6+, Security is configured in the `` element in the server configuration file. + effort: 5 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: Configure UsersRolesLoginModule for EAP 6 management console + url: https://access.redhat.com/solutions/219933 + - title: JBoss EAP 6 - Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Configuration_File_Changes + message: In JBoss EAP 6+, Security is configured in the `` element + in the server configuration file. + ruleID: jboss-eap4and5to6and7-xml-04000 + when: + builtin.xml: + namespaces: {} + xpath: //authentication/login-module +- category: mandatory + customVariables: [] + description: |- + Remove class-loading definition + The `class-loading` and `loader-repository` configuration in `jboss.xml`, `jboss-web.xml` and `jboss-service.xml` were JBoss EAP 4.x & 5.x configuration options for specifying classloader isolation on a deployment.. In JBoss EAP 6+, it uses JBoss Modules for its classloader implementation so all deployments are isolated in their own classloader / JBoss Module and the `loader-repository` is no longer valid.. The `jboss-deployment-structure.xml` can be used to specify classloader / module dependencies if needed. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: JBoss EAP 6 - Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Configuration_File_Changes + - title: Unexpected element 'class-loading' in jboss-web.xml when migrating to JBoss + EAP 6 + url: https://access.redhat.com/solutions/1162713 + - title: JBoss EAP 6 - jboss-deployment-structure.xml + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#jboss-deployment-structurexml + - title: JBoss EAP 7 - jboss-deployment-structure.xml + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html-single/development_guide/#jboss_deployment_structure_xml + message: The `class-loading` and `loader-repository` configuration in `jboss.xml`, + `jboss-web.xml` and `jboss-service.xml` were JBoss EAP 4.x & 5.x configuration + options for specifying classloader isolation on a deployment.. In JBoss EAP 6+, + it uses JBoss Modules for its classloader implementation so all deployments are + isolated in their own classloader / JBoss Module and the `loader-repository` is + no longer valid.. The `jboss-deployment-structure.xml` can be used to specify + classloader / module dependencies if needed. + ruleID: jboss-eap4and5to6and7-xml-05000 + when: + builtin.xml: + filepaths: + - jboss(-web + - -service)?.xml + namespaces: {} + xpath: //class-loading/loader-repository +- category: mandatory + customVariables: [] + description: | + Create org.jboss.naming.NamingAlias class + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: [] + message: JBoss EAP 6 supports deploying SAR files, however JBoss EAP 5 and 6 do + not share a lot of the internals.. The class your `jboss-{{types}}.xml` file is + trying to instantiate (`org.jboss.naming.NamingAlias`) was an implementation detail + of JBoss EAP 5's naming components that does not exist in JBoss EAP 6. + ruleID: jboss-eap4and5to6and7-xml-06000 + when: + builtin.xml: + filepaths: + - jboss-service.xml + namespaces: {} + xpath: //mbean[@code='org.jboss.naming.NamingAlias'] +- category: mandatory + customVariables: [] + description: "Set authentication cache timeout \nIn JBoss EAP 6 and 7 you can set + the JAAS cache timeout, changing the `cache-type` to `infinispan` which uses Infinispan + cache which has an expiration capability." + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + links: + - title: JBoss EAP 5 - Custom Callback Handlers + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/security_guide/#Custom_Callback_Handlers + - title: How to set authentication cache timeout in JBoss EAP6/7 + url: https://access.redhat.com/solutions/259693 + message: In JBoss EAP 6 and 7 you can set the JAAS cache timeout, changing the `cache-type` + to `infinispan` which uses Infinispan cache which has an expiration capability. + ruleID: jboss-eap4and5to6and7-xml-07000 + when: + builtin.xml: + filepaths: + - jboss-service.xml + namespaces: {} + xpath: //mbean[@code='org.jboss.security.plugins.JaasSecurityManagerService']/attribute[@name='DefaultCacheTimeout'] diff --git a/resources/rulesets/eap7/60-base64.windup.yaml b/resources/rulesets/eap7/60-base64.windup.yaml new file mode 100644 index 0000000..9255917 --- /dev/null +++ b/resources/rulesets/eap7/60-base64.windup.yaml @@ -0,0 +1,23 @@ +- category: mandatory + customVariables: [] + description: |- + The class org.jboss.util.Base64 has been moved + This API is not considered a public API for EAP. For JDK 8+, the recommended solution is to migrate to. [java.util.Base64](https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html).. For JDK 7, it is recommended to migrate to another Base 64 library, for example. [Apache Commons Codec](https://commons.apache.org/proper/commons-codec/). + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/source=eap + - konveyor.io/target=eap6 + - eap7 + - base64 + links: + - title: Can application use the JBoss EAP org.jboss.util.Base64 built in class? + url: https://access.redhat.com/solutions/403703 + message: This API is not considered a public API for EAP. For JDK 8+, the recommended + solution is to migrate to. [java.util.Base64](https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html).. + For JDK 7, it is recommended to migrate to another Base 64 library, for example. + [Apache Commons Codec](https://commons.apache.org/proper/commons-codec/). + ruleID: base64-01000 + when: + java.referenced: + pattern: org.jboss.util.Base64 diff --git a/resources/rulesets/eap7/61-jaxrpc.windup.yaml b/resources/rulesets/eap7/61-jaxrpc.windup.yaml new file mode 100644 index 0000000..903b7b3 --- /dev/null +++ b/resources/rulesets/eap7/61-jaxrpc.windup.yaml @@ -0,0 +1,23 @@ +- category: mandatory + customVariables: [] + description: |- + JAX-RPC Generic Handler not supported + JAX-RPC is no longer supported on JBoss EAP 7. JAX-WS is successor and offers a more accurate and complete solution. + effort: 5 + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=eap7 + - jax-rpc + - soap + links: + - title: Java EE RPC Generic Handler API + url: http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.6/api/javax/xml/rpc/handler/GenericHandler.html + - title: Developing JAX-WS Web Services + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_web_services_applications/#developing_jax_ws_web_services + message: JAX-RPC is no longer supported on JBoss EAP 7. JAX-WS is successor and + offers a more accurate and complete solution. + ruleID: jaxrpc-00000 + when: + java.referenced: + location: INHERITANCE + pattern: javax.xml.rpc.handler.GenericHandler diff --git a/resources/rulesets/eap7/62-jboss-eap5-7-java.windup.yaml b/resources/rulesets/eap7/62-jboss-eap5-7-java.windup.yaml new file mode 100644 index 0000000..70cab80 --- /dev/null +++ b/resources/rulesets/eap7/62-jboss-eap5-7-java.windup.yaml @@ -0,0 +1,433 @@ +- category: optional + customVariables: [] + description: |- + JMS legacy javax.jms.QueueConnectionFactory + `QueueConnectionFactory` was used to obtain connection to JMS queues.. Replace the lookup string `QueueConnectionFactory` with `ConnectionFactory`. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + links: + - title: JBoss EAP 7 - Basic Messaging Configuration + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/configuring_messaging/getting_started#connection_factories + - title: JBoss EAP 7 - Configuring Connection Factories + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/configuring_messaging/configuring_messaging_connection_factories + - title: JavaEE 7 - JMS APIs + url: https://docs.oracle.com/javaee/7/api/javax/jms/package-summary.html#package.description + message: '`QueueConnectionFactory` was used to obtain connection to JMS queues.. + Replace the lookup string `QueueConnectionFactory` with `ConnectionFactory`.' + ruleID: jboss-eap5-7-java-02000 + when: + or: + - java.referenced: + location: FIELD_DECLARATION + pattern: javax.jms.QueueConnectionFactory + - java.referenced: + location: VARIABLE_DECLARATION + pattern: javax.jms.QueueConnectionFactory +- category: mandatory + customVariables: [] + description: |- + JBoss EJB @Service annotation + The purpose of `@Service` annotation was to achieve @Singleton like behavior.. It was deprecated with the release of JBoss AS 6 and removed from JBoss EAP 6.. Use the Java EE 6 `javax.ejb.Singleton` annotation instead. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + links: + - title: JBoss EJB 3.0 extensions + url: https://docs.jboss.org/ejb3/docs/reference/build/reference/en/html/jboss_extensions.html + - title: JBoss EJB 3.0 Javadoc + url: https://docs.jboss.org/ejb3/embedded/api/org/jboss/annotation/ejb/package-summary.html + - title: Java EE API for @Singleton + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Singleton.html + - title: How to expose a JavaEE 6 Singleton as a MBean in JMX in JBoss EAP + url: https://access.redhat.com/solutions/199863 + - title: How to use @Service and @Management annotations in JBoss EAP + url: https://access.redhat.com/solutions/196713 + message: The purpose of `@Service` annotation was to achieve @Singleton like behavior.. + It was deprecated with the release of JBoss AS 6 and removed from JBoss EAP 6.. + Use the Java EE 6 `javax.ejb.Singleton` annotation instead. + ruleID: jboss-eap5-7-java-03000 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.annotation.ejb.Service +- category: mandatory + customVariables: [] + description: |- + JBoss EJB @Management annotation + The `@Management` annotation is one of JBoss EJB 3.0 extension which wraps the bean. as an MBean and registers it in the JBoss MBean Server automatically.. JBoss EAP 6+ no longer supports the @Management annotations.. The Solution is to create a simple MBean using the Java EE 6 `@Singleton` and `@Startup` to register itself in JMX Server.. Create your `@Singleton` MBean implementation which implements your service interface. Use `@PostConstruct` to have your Singleton register itself in the JMX MBean Server and then use `@PreDestroy` to unregister your MBean from the JMX Server. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jmx + - singleton + links: + - title: JBoss EJB 3.0 extensions + url: https://docs.jboss.org/ejb3/docs/reference/build/reference/en/html/jboss_extensions.html + - title: JBoss EJB 3.0 Javadoc + url: https://docs.jboss.org/ejb3/embedded/api/org/jboss/annotation/ejb/package-summary.html + - title: How to expose a JavaEE 6 Singleton as a MBean in JMX in JBoss EAP + url: https://access.redhat.com/solutions/199863 + - title: Java API - Annotation Type Startup + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Startup.html + message: The `@Management` annotation is one of JBoss EJB 3.0 extension which wraps + the bean. as an MBean and registers it in the JBoss MBean Server automatically.. + JBoss EAP 6+ no longer supports the @Management annotations.. The Solution is + to create a simple MBean using the Java EE 6 `@Singleton` and `@Startup` to register + itself in JMX Server.. Create your `@Singleton` MBean implementation which implements + your service interface. Use `@PostConstruct` to have your Singleton register itself + in the JMX MBean Server and then use `@PreDestroy` to unregister your MBean from + the JMX Server. + ruleID: jboss-eap5-7-java-05000 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.jboss.annotation.ejb.Management + - java.referenced: + location: ANNOTATION + pattern: org.jboss.ejb3.annotation.Management +- category: mandatory + customVariables: [] + description: |- + org.jboss.annotation.ejb.LocalBinding + The `@LocalBinding` annotation is one of JBoss EJB 3.0 extensions. which specifies the local jndi binding for an EJB local interface.. Use `@EJB(lookup="your_jndi")` instead. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + links: + - title: JBoss EJB 3.0 extensions + url: https://docs.jboss.org/ejb3/docs/reference/build/reference/en/html/jboss_extensions.html + - title: JBoss EJB 3.0 Javadoc + url: https://docs.jboss.org/ejb3/embedded/api/org/jboss/annotation/ejb/package-summary.html + - title: EJB annotation with lookup + url: https://docs.oracle.com/javaee/7/api/javax/ejb/EJB.html#lookup-- + message: The `@LocalBinding` annotation is one of JBoss EJB 3.0 extensions. which + specifies the local jndi binding for an EJB local interface.. Use `@EJB(lookup="your_jndi")` + instead. + ruleID: jboss-eap5-7-java-06000 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.jboss.annotation.ejb.LocalBinding + - java.referenced: + location: IMPORT + pattern: org.jboss.annotation.ejb.LocalBinding +- category: mandatory + customVariables: [] + description: |- + org.jboss.annotation.ejb.Depends + The `@Depends` annotation is one of JBoss EJB 3.0 extensions. which specifies a deployment dependency for a bean.. Validate that a JBoss EAP 6 Dependency exists. + effort: 3 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + links: + - title: JBoss EJB 3.0 extensions + url: https://docs.jboss.org/ejb3/docs/reference/build/reference/en/html/jboss_extensions.html + - title: JBoss EJB 3.0 Javadoc + url: https://docs.jboss.org/ejb3/embedded/api/org/jboss/annotation/ejb/package-summary.html + message: The `@Depends` annotation is one of JBoss EJB 3.0 extensions. which specifies + a deployment dependency for a bean.. Validate that a JBoss EAP 6 Dependency exists. + ruleID: jboss-eap5-7-java-07000 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.annotation.ejb.Depends +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.annotation has been moved to org.jboss.ws.api.annotation + This package has been relocated to `org.jboss.ws.api.annotation` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.annotation` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08000 + when: + java.referenced: + pattern: org.jboss.wsf.spi.annotation* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.binding has been moved to org.jboss.ws.api.binding + This package has been relocated to `org.jboss.ws.api.binding` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.binding` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08100 + when: + java.referenced: + pattern: org.jboss.wsf.spi.binding* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.management.recording has been moved to org.jboss.ws.api.monitoring + This package has been relocated to `org.jboss.ws.api.monitoring` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.monitoring` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08200 + when: + java.referenced: + pattern: org.jboss.wsf.spi.management.recording* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.tools.ant has been moved to org.jboss.ws.tools.ant + This package has been relocated to `org.jboss.ws.tools.ant` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.tools.ant` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08300 + when: + java.referenced: + pattern: org.jboss.wsf.spi.tools.ant* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.tools.cmd has been moved to org.jboss.ws.tools.cmd + This package has been relocated to `org.jboss.ws.tools.cmd` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.tools.cmd` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08400 + when: + java.referenced: + pattern: org.jboss.wsf.spi.tools.cmd* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.tools has been moved to org.jboss.ws.api.tools + This package has been relocated to `org.jboss.ws.api.tools` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: [] + message: This package has been relocated to `org.jboss.ws.api.tools` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08500 + when: + java.referenced: + pattern: org.jboss.wsf.spi.tools* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.spi.util.ServiceLoader has been moved to org.jboss.ws.api.util.ServiceLoader + This class has been relocated to `org.jboss.ws.api.util.ServiceLoader` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This class has been relocated to `org.jboss.ws.api.util.ServiceLoader` + as specified in the. migration guide. + ruleID: jboss-eap5-7-java-08600 + when: + java.referenced: + pattern: org.jboss.wsf.spi.util.ServiceLoader +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.common.handler has been moved to org.jboss.ws.api.handler + This package has been relocated to `org.jboss.ws.api.handler` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.handler` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08700 + when: + java.referenced: + pattern: org.jboss.wsf.common.handler* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.common.addressing has been moved to org.jboss.ws.api.addressing + This package has been relocated to `org.jboss.ws.api.addressing` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This package has been relocated to `org.jboss.ws.api.addressing` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08800 + when: + java.referenced: + pattern: org.jboss.wsf.common.addressing* +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.common.DOMUtils has been moved to org.jboss.ws.api.util.DOMUtils + This class has been relocated to `org.jboss.ws.api.util.DOMUtils` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This class has been relocated to `org.jboss.ws.api.util.DOMUtils` as specified + in the. migration guide. + ruleID: jboss-eap5-7-java-08900 + when: + java.referenced: + pattern: org.jboss.wsf.common.DOMUtils +- category: mandatory + customVariables: [] + description: |- + org.jboss.wsf.common has been moved to org.jboss.ws.common + This package has been relocated to `org.jboss.ws.common` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: [] + message: This package has been relocated to `org.jboss.ws.common` as specified in + the. migration guide. + ruleID: jboss-eap5-7-java-09000 + when: + java.referenced: + pattern: org.jboss.wsf.common* +- category: mandatory + customVariables: [] + description: |- + org.jboss.ws.annotation.EndpointConfig has been moved to org.jboss.ws.api.annotation.EndpointConfig + This class has been relocated to `org.jboss.ws.api.annotation.EndpointConfig` as specified in the. migration guide. + effort: 1 + labels: + - konveyor.io/source=eap4 + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - jms + - ejb + - jbossws + links: + - title: EAP 6 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Web_Services_Changes + message: This class has been relocated to `org.jboss.ws.api.annotation.EndpointConfig` + as specified in the. migration guide. + ruleID: jboss-eap5-7-java-09100 + when: + java.referenced: + pattern: org.jboss.ws.annotation.EndpointConfig diff --git a/resources/rulesets/eap7/63-jboss-eap5-7-xml.windup.yaml b/resources/rulesets/eap7/63-jboss-eap5-7-xml.windup.yaml new file mode 100644 index 0000000..f5c0816 --- /dev/null +++ b/resources/rulesets/eap7/63-jboss-eap5-7-xml.windup.yaml @@ -0,0 +1,149 @@ +- customVariables: [] + description: "JBoss Cache\n\n JBoss Cache was renamed and + reimplemented in Infinispan project see its TreeCache API which is a distributed + tree-like structure that is replicated across several members.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - ejb + - seam + links: + - title: Infinispan documentation + url: http://infinispan.org/docs/8.1.x/user_guide/user_guide.html#_tree_api_module + - title: Replace JBoss Cache with Infinispan + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-Cache_Changes + ruleID: jboss-eap5-7-xml-01000 + tag: + - cache + - distributed + - cluster + - jboss-eap5 + - JBoss Cache + when: + builtin.xml: + namespaces: {} + xpath: //mbean[@code='org.jboss.cache.TreeCache'] +- category: mandatory + customVariables: [] + description: |- + JBoss EAP 5 classloader configuration (jboss-classloading.xml) + The `jboss-classloading.xml` file allows customization of classloading in JBoss EAP 5. + In JBoss EAP 6+, the classloading configuration is not done through `jboss-classloading.xml`.. Since EAP 6 is of modular nature, based on JBoss Modules.. Learn how to divide your application's dependencies into modules. and what dependencies and APIs are available automatically. + effort: 5 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - ejb + - seam + - classloading + links: + - title: JBoss EAP 7 Class Loading and Modules + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#class_loading_and_modules + - title: JBoss EAP 5 Class Loading and Modules + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/5/html/Microcontainer_User_Guide/sect-JBoss_Microcontainer_User_Guide-The_ClassLoading_Layer-ClassLoading.html + - title: JBoss EAP 7 Class Loading and Modules + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#class_loading_and_modules + message: In JBoss EAP 6+, the classloading configuration is not done through `jboss-classloading.xml`.. + Since EAP 6 is of modular nature, based on JBoss Modules.. Learn how to divide + your application's dependencies into modules. and what dependencies and APIs are + available automatically. + ruleID: jboss-eap5-7-xml-10000 + tag: + - classloading + - JBoss EAP 5 classloader configuration (jboss-classloading.xml) + when: + builtin.xml: + namespaces: + jbc: urn:jboss:classloading:1.0 + xpath: /jbc:classloading +- customVariables: [] + description: "JBoss legacy EJB XML (jboss.xml)\n\n The `jboss.xml` + descriptor in deployments is ignored by JBoss AS 7+ or JBoss EAP 6+.\n Replace + it with `jboss-ejb3.xml`.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - ejb + - seam + links: + - title: JBoss EAP 7 - jboss-ejb3.xml Deployment Descriptor Reference + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_ejb_applications/#jboss_ejb3_xml_deployment_descriptor_reference + - title: JBoss EAP 5 - EJB References with jboss.xml and jboss-web.xml + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/#ENC_Usage_Conventions-EJB_References_with_jboss.xml_and_jboss_web.xml + - title: JBoss EAP 6 - jboss-ejb3.xml Deployment Descriptor + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#jboss-ejb3xml_Deployment_Descriptor_Reference + - title: JBoss EAP 6 - Replace the jboss.xml File + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#Replace_the_jboss.xml_File + ruleID: jboss-eap5-7-xml-13000 + tag: + - descriptor + - jboss-eap5 + - JBoss legacy EJB XML (jboss.xml) + when: + builtin.xml: + filepaths: + - jboss.xml + namespaces: {} + xpath: //*[local-name()='jboss'] +- category: mandatory + customVariables: [] + description: |- + JBoss EAP security-domain configuration - java:/jaas/ + `java:/jaas/` is a JBoss EAP `security-domain` URI.. Remove the `java:/jaas/` prefix for `security-domain` elements in EAP 7/6. + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - ejb + - seam + - security + - jaas + links: + - title: Java Authentication and Authorization Service (JAAS) Reference Guide + url: http://docs.oracle.com/javase/7/docs/technotes/guides/security/jaas/JAASRefGuide.html + - title: Java Authorization Contract for Containers (JACC) + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#java_authorization_contract_for_containers_jacc + - title: Java Authentication SPI for Containers (JASPI) + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#java_authentication_spi_for_containers_jaspi + message: '`java:/jaas/` is a JBoss EAP `security-domain` URI.. Remove the `java:/jaas/` + prefix for `security-domain` elements in EAP 7/6.' + ruleID: jboss-eap5-7-xml-14000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='security-domain' and starts-with(text(), 'java:/jaas/')] +- category: mandatory + customVariables: [] + description: |- + JBoss security configuration descriptor (login-config.xml) + Before JBoss EAP 6, authentication security domains and login modules could be configured in a `login-config.xml` file.. JBoss EAP 6+ does not support the `login-config.xml` descriptor. Security is now configured inside the server configuration. Please refer to the corresponding server security guide. + effort: 5 + labels: + - konveyor.io/source=eap5 + - konveyor.io/target=eap7 + - jboss-eap5 + - ejb + - seam + - security + links: + - title: JBoss EAP 7 - How To Configure Server Security + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html-single/how_to_configure_server_security/ + - title: JBoss Login Modules + url: http://docs.jboss.org/jbosssecurity/docs/6.0/security_guide/html/Login_Modules.html + message: Before JBoss EAP 6, authentication security domains and login modules could + be configured in a `login-config.xml` file.. JBoss EAP 6+ does not support the + `login-config.xml` descriptor. Security is now configured inside the server configuration. + Please refer to the corresponding server security guide. + ruleID: jboss-eap5-7-xml-16000 + tag: + - JBoss security configuration descriptor (login-config.xml) + when: + builtin.xml: + filepaths: + - login-config.xml + namespaces: {} + xpath: //*[local-name()='policy'] diff --git a/resources/rulesets/eap7/64-jboss-eap5and6to7-java.windup.yaml b/resources/rulesets/eap7/64-jboss-eap5and6to7-java.windup.yaml new file mode 100644 index 0000000..bcd8c34 --- /dev/null +++ b/resources/rulesets/eap7/64-jboss-eap5and6to7-java.windup.yaml @@ -0,0 +1,215 @@ +- customVariables: [] + description: | + Dependency entries in MANIFEST.MF + Verify in advance that all the modules this application depends on still exist. + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + links: [] + ruleID: jboss-eap5and6to7-java-01000 + tag: + - configuration + - Dependency entries in MANIFEST.MF + when: + builtin.filecontent: + pattern: 'Dependencies:' +- customVariables: [] + description: "Apache CFX integration with JBoss \nMigrate all functionality specified + in such XML descriptor. It is mostly already supported by the JAX-WS specification, + included in Java EE 7. For specific functionality consult the Apache CFX documentation + link provided.\n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + links: [] + ruleID: jboss-eap5and6to7-java-02000 + tag: + - webservices + - jbossws + - cxf + - configuration + - 'Apache CFX integration with JBoss ' + when: + builtin.file: + pattern: jbossws-cxf\.xml +- category: mandatory + customVariables: [] + description: |- + Entity EJB + Entity beans are no longer supported in JBoss EAP 7. User is requested to use JPA entities that fully replaced the functionality provided by Entity beans.. This entity needs to be migrated using JPA persistence.xml or using JPA annotations. + effort: 5 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - cmp + - jpa + links: [] + message: Entity beans are no longer supported in JBoss EAP 7. User is requested + to use JPA entities that fully replaced the functionality provided by Entity beans.. + This entity needs to be migrated using JPA persistence.xml or using JPA annotations. + ruleID: jboss-eap5and6to7-java-03000 + when: + or: + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: javax.ejb.EntityBean + - java.referenced: + location: INHERITANCE + pattern: javax.ejb.EntityBean +- customVariables: [] + description: | + JBoss Web Valve + JBoss Web was replaced by Undertow, which does not contain support for the Valve functionality. It may be needed to migrate to Undertow handlers. + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + links: [] + ruleID: jboss-eap5and6to7-java-04000 + tag: + - web + - undertow + - JBoss Web Valve + when: + or: + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.apache.catalina.Valve + - java.referenced: + location: INHERITANCE + pattern: org.apache.catalina.valves.ValveBase +- category: mandatory + customVariables: [] + description: |- + JSR 88 deployment plan not supported + This class is using JSR 88 specific classes. Rely instead on proprietary functionality to automate deployments. Please consult EAP 7 admin documentation to learn about such functionality + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - configuration + - undertow + links: [] + message: This class is using JSR 88 specific classes. Rely instead on proprietary + functionality to automate deployments. Please consult EAP 7 admin documentation + to learn about such functionality + ruleID: jboss-eap5and6to7-java-05000 + when: + or: + - java.referenced: + location: IMPORT + pattern: javax.enterprise.deploy* +- category: mandatory + customVariables: [] + description: |- + Outdated HA Singleton + EAP 7 includes a new API for building Singleton services, which significantly simplifies the process, and solves the issues found in the legacy solution. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - singleton + links: [] + message: EAP 7 includes a new API for building Singleton services, which significantly + simplifies the process, and solves the issues found in the legacy solution. + ruleID: jboss-eap5and6to7-java-06000 + when: + java.referenced: + location: IMPORT + pattern: org.jboss.as.clustering.singleton.SingletonService +- category: optional + customVariables: [] + description: |- + Stateful Session EJB Clustering changes in EAP 7 + The `@Clustered` annotation is ignored in EAP 7 and is not useful. In case the application is started using HA profile, the replication will be done automatically. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - cluster + - ejb + links: + - title: Stateful Session EJB Clustering Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_stateful_session_ejb_clustering_changes + message: The `@Clustered` annotation is ignored in EAP 7 and is not useful. In case + the application is started using HA profile, the replication will be done automatically. + ruleID: jboss-eap5and6to7-java-07000 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.jboss.ejb3.annotation.Clustered + - java.referenced: + location: IMPORT + pattern: org.jboss.ejb3.annotation.Clustered +- customVariables: [] + description: | + HornetQ was removed in EAP 7 + HornetQ was replaced by ActiveMQ Artemis in EAP 7. You should replace all references to `org.hornetq.*` with JMS API or ActiveMQ Artemis API. + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + links: + - title: What's new in JBoss EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#whats_new_in_eap + - title: ActiveMQ Artemis Migration + url: https://activemq.apache.org/artemis/migration.html + ruleID: jboss-eap5and6to7-java-08000 + tag: + - hornetq + - jms + - HornetQ was removed in EAP 7 + when: + java.referenced: + pattern: org.hornetq* +- category: mandatory + customVariables: + - name: annotation + nameOfCaptureGroup: annotation + pattern: org.jboss.logging.(?P(Cause|Field|FormatWith|LoggingClass|LogMessage|Message|MessageBundle|MessageLogger|Param|Property))? + description: |- + JBoss deprecated logging annotations + JBoss Logging annotations in package `org.jboss.logging` are deprecated. You should replace them by the corresponding annotations from package `org.jboss.logging.annotations`. Note that using the `org.jboss.logging.annotations` package requires adding a new dependency: `org.jboss.logging:jboss-logging-annotations`. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - logging + links: + - title: JBoss Logging Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_jboss_logging_changes + message: 'JBoss Logging annotations in package `org.jboss.logging` are deprecated. + You should replace them by the corresponding annotations from package `org.jboss.logging.annotations`. + Note that using the `org.jboss.logging.annotations` package requires adding a + new dependency: `org.jboss.logging:jboss-logging-annotations`.' + ruleID: jboss-eap5and6to7-java-09000 + when: + java.referenced: + location: ANNOTATION + pattern: org.jboss.logging.(Cause|Field|FormatWith|LoggingClass|LogMessage|Message|MessageBundle|MessageLogger|Param|Property) diff --git a/resources/rulesets/eap7/65-jboss-eap5and6to7-xml.windup.yaml b/resources/rulesets/eap7/65-jboss-eap5and6to7-xml.windup.yaml new file mode 100644 index 0000000..4837332 --- /dev/null +++ b/resources/rulesets/eap7/65-jboss-eap5and6to7-xml.windup.yaml @@ -0,0 +1,686 @@ +- category: optional + customVariables: [] + description: |- + Stateful Session EJB Clustering configuration changes in EAP 7 + The `clustered` element is ignored in EAP 7 and is not useful. In case the application is started using HA profile, the replication will be done automatically. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - configuration + links: [] + message: The `clustered` element is ignored in EAP 7 and is not useful. In case + the application is started using HA profile, the replication will be done automatically. + ruleID: jboss-eap5and6to7-xml-37000 + when: + builtin.xml: + filepaths: + - jboss-ejb3.xml + namespaces: {} + xpath: /*[local-name()='ejb-jar']/*[local-name()='assembly-descriptor']/*[local-name()='clustering']/*[local-name()='clustered'] +- customVariables: [] + description: | + JBoss Seam Components (components.xml) + You should migrate from Seam 2 Framework to Context Dependency Injection technology. + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + links: + - title: Context and dependency injection - CDI + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#contexts_and_dependency_injection_cdi + - title: Migration from Seam 2 to Java EE and alternatives + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html/Seam_Guide/ch36.html + ruleID: jboss-eap5and6to7-xml-05000 + tag: + - seam2 + - jboss-eap5 + - JBoss Seam Components (components.xml) + when: + builtin.xml: + namespaces: + sc: http://jboss.com/products/seam/components + xpath: /sc:components +- customVariables: [] + description: "JBoss Seam Pages (pages.xml)\nYou should migrate from Seam 2 Framework + to Context Dependency Injection technology.\n The most + features from `pages.xml` file where it is specified a page flow and other configuration + of the Seam Framework is achievable through JSF Flow.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + links: + - title: Seam 2 Framework Reference + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/seam_reference_guide/ + - title: Using Faces Flows + url: https://docs.oracle.com/javaee/7/tutorial/jsf-configure003.htm + ruleID: jboss-eap5and6to7-xml-06000 + tag: + - seam + - jboss-eap5 + - JBoss Seam Pages (pages.xml) + when: + builtin.xml: + namespaces: + sp: http://jboss.com/products/seam/pages + xpath: /sp:pages +- customVariables: [] + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + links: [] + ruleID: jboss-eap5and6to7-xml-07000 + tag: + - seam + - jboss-eap5 + - JBoss Seam Page + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*\.page\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: /page +- customVariables: [] + description: "JBoss web application descriptor (jboss-web.xml)\n\n The + `jboss-web.xml` file configures a Java EE web application specifically for JBoss + EAP.\n It is an extension to standard `web.xml`.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + links: + - title: jboss-web.xml Configuration Reference + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#jboss-webxml_Configuration_Reference + ruleID: jboss-eap5and6to7-xml-09000 + tag: + - web + - configuration + - deployment + - descriptor + - jboss-eap5 + - JBoss web application descriptor (jboss-web.xml) + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: //*[local-name()='jboss-web'] +- customVariables: [] + description: "JBoss EJB 2 CMP Deployment descriptor (jbosscmp-jdbc.xml)\n\n The + `jbosscmp-jdbc.xml` is a deployment decriptor controlling the Container Managed + Persistence (CMP).\n\n Support for EJB Entity Beans is + optional in Java EE 7 and they are not supported in JBoss EAP 7.\n This + means CMP entity beans must be rewritten to use Java Persistence API (JPA) entities.\n + \ \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + links: + - title: Migrate Entity Beans to JPA + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_entity_beans_to_jpa + - title: JBoss EAP 5 - The jbosscmp-jdbc Structure + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html-single/administration_and_configuration_guide/index#The_CMP_Engine-The_jbosscmp_jdbc_Structure + ruleID: jboss-eap5and6to7-xml-12000 + tag: + - jdbc + - ejb2 + - jboss-eap5 + - jpa + - JBoss EJB 2 CMP Deployment descriptor (jbosscmp-jdbc.xml) + when: + builtin.xml: + filepaths: + - jbosscmp-jdbc.xml + namespaces: {} + xpath: //*[local-name()='jbosscmp-jdbc'] +- customVariables: [] + description: "JBoss EJB 3 deployment descriptor (jboss-ejb3.xml)\n\n A + JBoss specific EJB 3 configuration allows extensions of Java EE EJB 3.\n \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + links: + - title: jboss-ejb3.xml Deployment Descriptor Reference + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/index#jboss-ejb3xml_Deployment_Descriptor_Reference + ruleID: jboss-eap5and6to7-xml-17000 + tag: + - jboss-eap5 + - JBoss EJB 3 deployment descriptor (jboss-ejb3.xml) + when: + builtin.xml: + filepaths: + - jboss-ejb3.xml + namespaces: {} + xpath: //*[local-name()='ejb-jar'] +- customVariables: [] + description: "JBoss web-services deployment descriptor (jboss-webservices.xml)\n\n + \ JBossWS 4.0 introduces a new deployment descriptor to + configure web services.\n The `jboss-webservices.xml` file + provides additional information for the given deployment\n and + partially replaces the obsolete `jboss.xml` file.\n\n For + EJB webservice deployments, the expected location of the `jboss-webservices.xml` + descriptor file\n is in the `META-INF/` directory. For + POJO and EJB webservice endpoints bundled in WAR file,\n the + expected location of the `jboss-webservices.xml` file is in the `WEB-INF/` directory.\n + \ \n" + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + links: + - title: JBoss web-services changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_service_application_changes + ruleID: jboss-eap5and6to7-xml-18000 + tag: + - jboss-ws + - descriptor + - webservice + - jboss-eap5 + - JBoss web-services deployment descriptor (jboss-webservices.xml) + when: + builtin.xml: + filepaths: + - jboss-webservices.xml + namespaces: {} + xpath: //*[local-name()='webservices'] +- category: mandatory + customVariables: [] + description: |- + CMP Entity EJB configuration + CMP entity beans are no longer supported in JBoss EAP 7. User is requested to use JPA entities that fully replaced the functionality provided by CMP beans.. CMP configuration provided in this ejb-jar.xml should be configured using JPA persistence.xml or using JPA annotations. + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - jpa + - cmp + links: [] + message: CMP entity beans are no longer supported in JBoss EAP 7. User is requested + to use JPA entities that fully replaced the functionality provided by CMP beans.. + CMP configuration provided in this ejb-jar.xml should be configured using JPA + persistence.xml or using JPA annotations. + ruleID: jboss-eap5and6to7-xml-31000 + when: + builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: + j2e: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: /ejb-jar/enterprise-beans/entity[persistence-type = 'Container'] | /jee:ejb-jar/jee:enterprise-beans/jee:entity[jee:persistence-type + = 'Container'] | /j2e:ejb-jar/j2e:enterprise-beans/j2e:entity[j2e:persistence-type + = 'Container'] | /jcp:ejb-jar/jcp:enterprise-beans/jcp:entity[jcp:persistence-type + = 'Container'] +- category: mandatory + customVariables: [] + description: |- + EJB 2.x BMP Entity Beans configuration + BMP entity beans are no longer supported in JBoss EAP 7. User is requested to use JPA entities that fully replaced the functionality provided by BMP beans.. BMP configuration provided in this ejb-jar.xml should be configured using JPA persistence.xml or using JPA annotations. + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - jpa + - bmp + links: [] + message: BMP entity beans are no longer supported in JBoss EAP 7. User is requested + to use JPA entities that fully replaced the functionality provided by BMP beans.. + BMP configuration provided in this ejb-jar.xml should be configured using JPA + persistence.xml or using JPA annotations. + ruleID: jboss-eap5and6to7-xml-31500 + when: + builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: + j2e: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: /ejb-jar/enterprise-beans/entity[persistence-type = 'Bean'] | /jee:ejb-jar/jee:enterprise-beans/jee:entity[jee:persistence-type + = 'Bean'] | /j2e:ejb-jar/j2e:enterprise-beans/j2e:entity[j2e:persistence-type + = 'Bean'] | /jcp:ejb-jar/jcp:enterprise-beans/jcp:entity[jcp:persistence-type + = 'Bean'] +- category: mandatory + customVariables: [] + description: |- + Valve is not supported in JBoss EAP 7 + JBoss Web was replaced by Undertow, which does not contain support for the Valve functionality. It may be needed to migrate to Undertow handlers. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - web + links: [] + message: JBoss Web was replaced by Undertow, which does not contain support for + the Valve functionality. It may be needed to migrate to Undertow handlers. + ruleID: jboss-eap5and6to7-xml-32000 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: + jboss: http://www.jboss.com/xml/ns/javaee + xpath: /jboss-web/valve | /jboss:jboss-web/jboss:valve +- category: mandatory + customVariables: [] + description: |- + JAX-RPC specific configuration + JAX-RPC support was removed in JBoss EAP 7. All the RPC calls will need to be migrated to JAX-WS. + effort: 3 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - rpc + - jax-ws + links: [] + message: JAX-RPC support was removed in JBoss EAP 7. All the RPC calls will need + to be migrated to JAX-WS. + ruleID: jboss-eap5and6to7-xml-33000 + when: + or: + - builtin.xml: + namespaces: + j2ee: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: /webservices/webservice-description/jaxrpc-mapping-file | /jee:webservices/jee:webservice-description/jee:jaxrpc-mapping-file + | /jcp:webservices/jcp:webservice-description/jcp:jaxrpc-mapping-file | + /j2ee:webservices/j2ee:webservice-description/j2ee:jaxrpc-mapping-file + - builtin.xml: + namespaces: + j2ee: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: /ejb-jar/enterprise-beans/session/service-ref/jaxrpc-mapping-file | + /jee:ejb-jar/jee:enterprise-beans/jee:session/jee:service-ref/jee:jaxrpc-mapping-file + | /jcp:ejb-jar/jcp:enterprise-beans/jcp:session/jcp:service-ref/jcp:jaxrpc-mapping-file + | /j2ee:ejb-jar/j2ee:enterprise-beans/j2ee:session/j2ee:service-ref/j2ee:jaxrpc-mapping-file + - builtin.xml: + namespaces: + j2ee: http://java.sun.com/xml/ns/j2ee + jcp: http://xmlns.jcp.org/xml/ns/javaee + jee: http://java.sun.com/xml/ns/javaee + xpath: /java-wsdl-mapping | /jee:java-wsdl-mapping | /jcp:java-wsdl-mapping + | /j2ee:java-wsdl-mapping +- customVariables: [] + description: | + JSR-88 deployment plans are no more supported by JBoss EAP7 + This file should be removed and instead rely on proprietary functionality to automate deployments. Please consult EAP 7 admin documentation to learn about such functionality. + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + links: + - title: Migrate Deployment plan configurations + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_deployment_plan_configurations + ruleID: jboss-eap5and6to7-xml-34000 + tag: + - configuration + - JSR-88 deployment plans are no more supported by JBoss EAP7 + when: + builtin.file: + pattern: deployment-plan\.xml +- category: optional + customVariables: [] + description: |- + Web Session Clustering config replication-trigger changes in EAP 7 + The EAP 7 Web Session Clustering configuration deprecates `replication-trigger` element in `jboss-web.xml` file descriptor. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration deprecates `replication-trigger` + element in `jboss-web.xml` file descriptor. + ruleID: jboss-eap5and6to7-xml-38000 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='replication-config']/*[local-name()='replication-trigger'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config replication-mode changes in EAP 7 + The EAP 7 Web Session Clustering configuration deprecates element `replication-mode` element without replacement in `jboss-web.xml` file descriptor. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration deprecates element `replication-mode` + element without replacement in `jboss-web.xml` file descriptor. + ruleID: jboss-eap5and6to7-xml-38001 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='replication-config']/*[local-name()='replication-mode'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config backups changes in EAP 7 + The EAP 7 Web Session Clustering configuration deprecates `backups` element without replacement in `jboss-web.xml` file descriptor. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration deprecates `backups` element + without replacement in `jboss-web.xml` file descriptor. + ruleID: jboss-eap5and6to7-xml-38002 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='replication-config']/*[local-name()='backups'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config use-jk changes in EAP 7 + The EAP 7 Web Session Clustering configuration deprecates `use-jk` element without replacement in `jboss-web.xml` file descriptor.. Previously by specifying `use-jk` element, the instance-id of the node handling a given request was appended to the jsessionid (foruse by load balancers such as mod_jk, mod_proxy_balancer, mod_cluster, etc.) depending on the value specified for `use-jk`.. In the new implementation, the instance-id, if defined, is always appended to the jsessionid. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration deprecates `use-jk` element + without replacement in `jboss-web.xml` file descriptor.. Previously by specifying + `use-jk` element, the instance-id of the node handling a given request was appended + to the jsessionid (foruse by load balancers such as mod_jk, mod_proxy_balancer, + mod_cluster, etc.) depending on the value specified for `use-jk`.. In the new + implementation, the instance-id, if defined, is always appended to the jsessionid. + ruleID: jboss-eap5and6to7-xml-38003 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='replication-config']/*[local-name()='use-jk'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config max-unreplicated-interval changes in EAP 7 + The EAP 7 Web Session Clustering configuration deprecates `max-unreplicated-interval` element in `jboss-web.xml` file descriptor.. Previously, this configuration option was an optimization that would prevent the replication of a session’s timestamp if no session attribute was changed. While this sounds nice, in practice it doesn't prevent any RPCs, since session access requires cache transaction RPCs regardless of whether any session attributes changed.. In the new implementation, the timestamp of a session is replicated on every request.. This prevents stale session metadata following failover. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration deprecates `max-unreplicated-interval` + element in `jboss-web.xml` file descriptor.. Previously, this configuration option + was an optimization that would prevent the replication of a session’s timestamp + if no session attribute was changed. While this sounds nice, in practice it doesn't + prevent any RPCs, since session access requires cache transaction RPCs regardless + of whether any session attributes changed.. In the new implementation, the timestamp + of a session is replicated on every request.. This prevents stale session metadata + following failover. + ruleID: jboss-eap5and6to7-xml-38004 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='replication-config']/*[local-name()='max-unreplicated-interval'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config snapshot-mode changes in EAP 7 + The EAP 7 Web Session Clustering configuration deprecates `snapshot-mode` element in `jboss-web.xml` file descriptor.. Previously, one could configure `snapshot-mode` as INSTANT or INTERVAL. Infinispan’s replication queue renders this configuration option obsolete. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration deprecates `snapshot-mode` + element in `jboss-web.xml` file descriptor.. Previously, one could configure `snapshot-mode` + as INSTANT or INTERVAL. Infinispan’s replication queue renders this configuration + option obsolete. + ruleID: jboss-eap5and6to7-xml-38005 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='replication-config']/*[local-name()='snapshot-mode'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config snapshot-interval changes in EAP 7 + The EAP 7 Web Session Clustering configuration removed `snapshot-interval` element from `jboss-web.xml` file descriptor.. This option was only relevant for `INTERVAL`. Since `snapshot-mode` is no longer used, this option is no longer used as well. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration removed `snapshot-interval` + element from `jboss-web.xml` file descriptor.. This option was only relevant for + `INTERVAL`. Since `snapshot-mode` is no longer + used, this option is no longer used as well. + ruleID: jboss-eap5and6to7-xml-38006 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='replication-config']/*[local-name()='snapshot-interval'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config session-notification-policy changes in EAP 7 + The EAP 7 Web Session Clustering configuration deprecates `session-notification-policy` element in `jboss-web.xml` file descriptor.. Previously `session-notification-policy` element defined a policy for triggering session events.. In the new implementation, this behaviour is specification driven and not configurable. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration deprecates `session-notification-policy` + element in `jboss-web.xml` file descriptor.. Previously `session-notification-policy` + element defined a policy for triggering session events.. In the new implementation, + this behaviour is specification driven and not configurable. + ruleID: jboss-eap5and6to7-xml-38007 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='replication-config']/*[local-name()='session-notification-policy'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config passivation-config changes in EAP 7 + The EAP 7 Web Session Clustering configuration deprecates `passivation-config` element and its sub-elements `use-session-passivation`, `passivation-min-idle-time` and `passivation-max-idle-time` completely in `jboss-web.xml` file descriptor.. * `use-session-passivation` enabled the passivation, but now passivation is enabled by specifying a non-negative value for `max-active-sessions` element.. * `passivation-min-idle-time` is not supported and the new implementation avoids waiting some time before the passivation.. * `passivation-max-idle-time` is not supported and the new implementation supports only lazy passivation. Sessions are only passivated when necessary to comply with `max-active-sessions`. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration deprecates `passivation-config` + element and its sub-elements `use-session-passivation`, `passivation-min-idle-time` + and `passivation-max-idle-time` completely in `jboss-web.xml` file descriptor.. + * `use-session-passivation` enabled the passivation, but now passivation is enabled + by specifying a non-negative value for `max-active-sessions` element.. * `passivation-min-idle-time` + is not supported and the new implementation avoids waiting some time before the + passivation.. * `passivation-max-idle-time` is not supported and the new implementation + supports only lazy passivation. Sessions are only passivated when necessary to + comply with `max-active-sessions`. + ruleID: jboss-eap5and6to7-xml-39000 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='passivation-config'] +- category: optional + customVariables: [] + description: |- + Web Session Clustering config max-active-sessions changes in EAP 7 + The EAP 7 Web Session Clustering configuration changed `max-active-sessions` element meaning in `jboss-web.xml` file descriptor.. Previously, session creation would fail if an additional session would cause the number of active sessions to exceed the value specified by ``.. In the new implementation, `` is used to enable session passivation. If session creation would cause the number of active sessions to exceed ``,. then the oldest session known to the session manager will passivate to make room for the new session. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jboss-eap5 + - jboss-eap6 + - ejb + - cluster + - web + - configuration + links: + - title: Web Session Clustering config migration changes in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_web_session_clustering_changes + message: The EAP 7 Web Session Clustering configuration changed `max-active-sessions` + element meaning in `jboss-web.xml` file descriptor.. Previously, session creation + would fail if an additional session would cause the number of active sessions + to exceed the value specified by ``.. In the new implementation, + `` is used to enable session passivation. If session creation + would cause the number of active sessions to exceed ``,. + then the oldest session known to the session manager will passivate to make room + for the new session. + ruleID: jboss-eap5and6to7-xml-40000 + when: + builtin.xml: + filepaths: + - jboss-web.xml + namespaces: {} + xpath: /*[local-name()='jboss-web']/*[local-name()='max-active-sessions'] diff --git a/resources/rulesets/eap7/66-resteasy.windup.yaml b/resources/rulesets/eap7/66-resteasy.windup.yaml new file mode 100644 index 0000000..9625c66 --- /dev/null +++ b/resources/rulesets/eap7/66-resteasy.windup.yaml @@ -0,0 +1,28 @@ +- category: optional + customVariables: [] + description: |- + Deprecated class SimpleServerCache in RESTEasy 3 + Use `org.jboss.resteasy.plugins.cache.server.InfinispanCache` instead of `org.jboss.resteasy.plugins.cache.server.SimpleServerCache`. + effort: 1 + labels: + - konveyor.io/source=eap5 + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=eap7 + - konveyor.io/target=resteasy3 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RestEasy javadoc for SimpleServerCache + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/index.html?org/jboss/resteasy/plugins/cache/server/SimpleServerCache.html + - title: RestEasy javadoc for SimpleServerCache + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/index.html?org/jboss/resteasy/plugins/cache/server/InfinispanCache.html + - title: JBoss EAP 5 - Local Server-Side Response Cache + url: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/5/html/resteasy_reference_guide/server_cache + message: Use `org.jboss.resteasy.plugins.cache.server.InfinispanCache` instead of + `org.jboss.resteasy.plugins.cache.server.SimpleServerCache`. + ruleID: resteasy-eap5and6to7-000018 + when: + java.referenced: + pattern: org.jboss.resteasy.plugins.cache.server.SimpleServerCache diff --git a/resources/rulesets/eap7/67-eap6-xml.windup.yaml b/resources/rulesets/eap7/67-eap6-xml.windup.yaml new file mode 100644 index 0000000..5a6a9b4 --- /dev/null +++ b/resources/rulesets/eap7/67-eap6-xml.windup.yaml @@ -0,0 +1,50 @@ +- customVariables: [] + description: | + JMS proprietary resource definitions + + The proprietary XML descriptors, previously used to setup JMS resources, are deprecated in EAP 7. + An updated version of this file was generated using XSLT transformation. + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - configuration + links: + - title: JMS migration documentation + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_messaging_application_jms_deployment_descriptors + ruleID: eap6-xml-05000 + tag: + - jms + - JMS proprietary resource definitions + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*-jms\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: + msg: urn:jboss:messaging-deployment:1.0 + xpath: /msg:messaging-deployment +- customVariables: [] + description: | + JBoss deployment structure dependencies (jboss-deployment-structure.xml) + Verify in advance that all the modules this application depends on still exist. + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - configuration + links: [] + ruleID: eap6-xml-06000 + tag: + - configuration + - JBoss deployment structure dependencies (jboss-deployment-structure.xml) + when: + or: + - builtin.xml: + filepaths: + - jboss-deployment-structure.xml + namespaces: {} + xpath: /*[local-name()='jboss-deployment-structure']/*[local-name()='deployment' + or local-name()='sub-deployment' or local-name()='module']/*[local-name()='dependencies'] diff --git a/resources/rulesets/eap7/68-eap6.windup.yaml b/resources/rulesets/eap7/68-eap6.windup.yaml new file mode 100644 index 0000000..0ba8505 --- /dev/null +++ b/resources/rulesets/eap7/68-eap6.windup.yaml @@ -0,0 +1,129 @@ +- category: mandatory + customVariables: [] + description: |- + Remote JNDI Provider URL has changed in EAP 7 + Default Remote JNDI Provider URL has changed in EAP 7. External applications using JNDI to lookup remote resources, for instance an EJB or a JMS Queue,. may need to change the value for the JNDI InitialContext environment's property named `java.naming.provider.url`.. The default URL scheme is now **http-remoting** instead of **remote**, and the default URL port is now **8080** instead of **4447**.. As an example, consider the application server host is localhost, then clients previously accessing EAP 6 would use. ```. java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory. java.naming.provider.url=remote://localhost:4447. ```. while clients now accessing EAP 7 should use instead. ```. java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory. java.naming.provider.url=http-remoting://localhost:8080. ``` + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jndi + - configuration + - ejb + links: + - title: Remote JNDI URL in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_default_remote_url_connector_and_port_changes + message: Default Remote JNDI Provider URL has changed in EAP 7. External applications + using JNDI to lookup remote resources, for instance an EJB or a JMS Queue,. may + need to change the value for the JNDI InitialContext environment's property named + `java.naming.provider.url`.. The default URL scheme is now **http-remoting** instead + of **remote**, and the default URL port is now **8080** instead of **4447**.. + As an example, consider the application server host is localhost, then clients + previously accessing EAP 6 would use. ```. java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory. + java.naming.provider.url=remote://localhost:4447. ```. while clients now accessing + EAP 7 should use instead. ```. java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory. + java.naming.provider.url=http-remoting://localhost:8080. ``` + ruleID: eap6-08000 + when: + builtin.filecontent: + pattern: remote://.*:\d* +- category: mandatory + customVariables: [] + description: |- + jboss-ejb-client.properties - Default Remote Connection Port changes + The default remote connection port has changed in **jboss-ejb-client.properties** from '4447' to '8080'.. In EAP 6, the jboss-ejb-client.properties file looked similar to the following:. ```. remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false. remote.connections=default. remote.connection.default.host=localhost. remote.connection.default.port=4447. remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false. ```. In EAP 7, the properties file looks like this:. ```. remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false. remote.connections=default. remote.connection.default.host=localhost. remote.connection.default.port=8080. remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false. ``` + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jndi + - configuration + - ejb + links: + - title: Remote JNDI URL in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#update_the_default_remote_connection_port + message: The default remote connection port has changed in **jboss-ejb-client.properties** + from '4447' to '8080'.. In EAP 6, the jboss-ejb-client.properties file looked + similar to the following:. ```. remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false. + remote.connections=default. remote.connection.default.host=localhost. remote.connection.default.port=4447. + remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false. + ```. In EAP 7, the properties file looks like this:. ```. remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false. + remote.connections=default. remote.connection.default.host=localhost. remote.connection.default.port=8080. + remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false. + ``` + ruleID: eap6-08001 + when: + builtin.filecontent: + pattern: remote.connection.*.port(.*(?!8080)\d{4}) +- category: mandatory + customVariables: [] + description: |- + Java - Default Remote Connection Port has changed in EAP 7 + The default remote connection port has changed from '4447' to '8080'.. In EAP 6, Remote EJB client Java code looks like the following:. ```java. Properties properties = new Properties();. properties.put("remote.connection.default.port", "4447");. ```. In EAP 7, the Java client code looks like this:. ```java. Properties properties = new Properties();. properties.put("remote.connection.default.port", "8080");. ``` + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jndi + - configuration + - ejb + links: + - title: Remote JNDI URL in EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#update_the_default_remote_connection_port + message: The default remote connection port has changed from '4447' to '8080'.. + In EAP 6, Remote EJB client Java code looks like the following:. ```java. Properties + properties = new Properties();. properties.put("remote.connection.default.port", + "4447");. ```. In EAP 7, the Java client code looks like this:. ```java. Properties + properties = new Properties();. properties.put("remote.connection.default.port", + "8080");. ``` + ruleID: eap6-08002 + when: + builtin.filecontent: + pattern: remote.connection.*.port(.*(?!8080)\d{4}) +- category: mandatory + customVariables: [] + description: |- + JSF FaceletContext.FACELET_CONTEXT_KEY changed value + The value of JSF constant `FaceletContext.FACELET_CONTEXT_KEY` has changed between JSF 2.1 and 2.2.. The variable is a compile-time constant expression, so when the program was originally compiled,. the reference to `FACELET_CONTEXT_KEY` was replaced by its value during compilation.. The application must be recompiled so that the reference to `FACELET_CONTEXT_KEY` is replaced by its new value. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - jsf + links: + - title: Compatibility Issue Between JSF 2.1 and JSF 2.2 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#compatibility_issue_between_jsf_2_1_and_jsf_2_2 + message: The value of JSF constant `FaceletContext.FACELET_CONTEXT_KEY` has changed + between JSF 2.1 and 2.2.. The variable is a compile-time constant expression, + so when the program was originally compiled,. the reference to `FACELET_CONTEXT_KEY` + was replaced by its value during compilation.. The application must be recompiled + so that the reference to `FACELET_CONTEXT_KEY` is replaced by its new value. + ruleID: eap6-11000 + when: + or: + - builtin.filecontent: + pattern: com.sun.faces.facelets.FACELET_CONTEXT + - builtin.filecontent: + pattern: FaceletContext.FACELET_CONTEXT_KEY +- category: mandatory + customVariables: [] + description: |- + HTTPS URL hostname check against a service’s Common Name (CN) changed + In EAP 6, you could disable the HTTPS URL hostname check against a service’s Common Name (CN) given in its certificate by setting the system property `org.jboss.security.ignoreHttpsHost` to `true`. This system property name has been replaced with `cxf.tls-client.disableCNCheck` in EAP 7. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - certificate + - https + links: + - title: IgnoreHttpsHost CN Check Change + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#changes_to_set_cookie_behavior + message: In EAP 6, you could disable the HTTPS URL hostname check against a service’s + Common Name (CN) given in its certificate by setting the system property `org.jboss.security.ignoreHttpsHost` + to `true`. This system property name has been replaced with `cxf.tls-client.disableCNCheck` + in EAP 7. + ruleID: eap6-12000 + when: + builtin.filecontent: + pattern: org.jboss.security.ignoreHttpsHost diff --git a/resources/rulesets/eap7/69-hibernate4-xml.windup.yaml b/resources/rulesets/eap7/69-hibernate4-xml.windup.yaml new file mode 100644 index 0000000..f09a89f --- /dev/null +++ b/resources/rulesets/eap7/69-hibernate4-xml.windup.yaml @@ -0,0 +1,144 @@ +- category: optional + customVariables: [] + description: |- + Hibernate: Deprecated property hibernate.transaction.factory_class + Replace configuration transaction property `hibernate.transaction.factory_class`. with `hibernate.transaction.coordinator_class`.. Next the contract in `hibernate.transaction.coordinator_class` property should refer to `org.hibernate.resource.transaction.TransactionCoordinatorBuilder`. instead of to `org.hibernate.engine.transaction.spi.TransactionFactory`. If a JPA application does not provide a setting for `hibernate.transaction.coordinator_class`, Hibernate will automatically build the proper transaction coordinator based on the transaction type for the persistence unit.. If a non-JPA application does not provide a setting for `hibernate.transaction.coordinator_class`, Hibernate will use jdbc as the default. This default will cause problems if the application actually uses JTA-based transactions. A non-JPA application that uses JTA-based transactions should explicitly set `hibernate.transaction.coordinator_class=jta` or provide a custom `org.hibernate.resource.transaction.TransactionCoordinatorBuilder` that builds a `org.hibernate.resource.transaction.TransactionCoordinator` that properly coordinates with JTA-based transactions. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + - transaction + links: + - title: Hibernate 5 redesigned Transactions SPI + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_transactions + - title: Hibernate javadoc for org.hibernate.cfg.AvailableSettings.TRANSACTION_COORDINATOR_STRATEGY + url: https://docs.jboss.org/hibernate/orm/5.1/javadocs/index.html?org/hibernate/cfg/AvailableSettings.html#TRANSACTION_COORDINATOR_STRATEGY + message: Replace configuration transaction property `hibernate.transaction.factory_class`. + with `hibernate.transaction.coordinator_class`.. Next the contract in `hibernate.transaction.coordinator_class` + property should refer to `org.hibernate.resource.transaction.TransactionCoordinatorBuilder`. + instead of to `org.hibernate.engine.transaction.spi.TransactionFactory`. If a + JPA application does not provide a setting for `hibernate.transaction.coordinator_class`, + Hibernate will automatically build the proper transaction coordinator based on + the transaction type for the persistence unit.. If a non-JPA application does + not provide a setting for `hibernate.transaction.coordinator_class`, Hibernate + will use jdbc as the default. This default will cause problems if the application + actually uses JTA-based transactions. A non-JPA application that uses JTA-based + transactions should explicitly set `hibernate.transaction.coordinator_class=jta` + or provide a custom `org.hibernate.resource.transaction.TransactionCoordinatorBuilder` + that builds a `org.hibernate.resource.transaction.TransactionCoordinator` that + properly coordinates with JTA-based transactions. + ruleID: hibernate4-xml-00001 + when: + builtin.filecontent: + pattern: hibernate.transaction.factory_class +- category: mandatory + customVariables: [] + description: |- + Class org.hibernate.id.{idclass} was removed/deprecated in Hibernate 5 + Use `org.hibernate.id.enhanced.SequenceStyleGenerator` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Hibernate 5 Removed and deprecated classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_deprecations + message: Use `org.hibernate.id.enhanced.SequenceStyleGenerator` instead. + ruleID: hibernate4-xml-00002 + when: + builtin.filecontent: + pattern: org.hibernate.id.(TableGenerator|TableHiLoGenerator|SequenceGenerator|SequenceIdentityGenerator|SequenceHiLoGenerator) +- category: mandatory + customVariables: [] + description: | + Identifier generator {generator} was removed/deprecated in Hibernate 5 + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Hibernate 5 Removed and deprecated classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_deprecations + message: Identifier generator {{generator}} was removed/deprecated in Hibernate + 5. You can use `sequence` generator instead. + ruleID: hibernate4-xml-00003 + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*\.hbm\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: //generator/@class[matches(self::node(), '(seqhilo|sequence-identity|hilo)')] +- category: mandatory + customVariables: [] + description: |- + TemporaryTableBulkIdStrategy was replaced in Hibernate 5 + Since Hibernate 5, the `org.hibernate.hql.spi.TemporaryTableBulkIdStrategy` class was replaced by `org.hibernate.hql.spi.id.global.GlobalTemporaryTableBulkIdStrategy` and `org.hibernate.hql.spi.id.local.LocalTemporaryTableBulkIdStrategy`. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: [] + message: Since Hibernate 5, the `org.hibernate.hql.spi.TemporaryTableBulkIdStrategy` + class was replaced by `org.hibernate.hql.spi.id.global.GlobalTemporaryTableBulkIdStrategy` + and `org.hibernate.hql.spi.id.local.LocalTemporaryTableBulkIdStrategy`. + ruleID: hibernate4-xml-00004 + when: + or: + - as: properties + builtin.filecontent: + pattern: hibernate.hql.bulk_id_strategy=org.hibernate.hql.spi.TemporaryTableBulkIdStrategy + - as: cfg + builtin.xml: + filepaths: + - hibernate.cfg.xml + namespaces: {} + xpath: //property[text() = 'org.hibernate.hql.spi.TemporaryTableBulkIdStrategy'] +- category: mandatory + customVariables: [] + description: |- + Class PersistentTableBulkIdStrategy was moved in Hibernate 5 + Since Hibernate 5, the `org.hibernate.hql.spi.PersistentTableBulkIdStrategy` class was moved to new package and you should use it as `org.hibernate.hql.spi.id.persistent.PersistentTableBulkIdStrategy`. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: [] + message: Since Hibernate 5, the `org.hibernate.hql.spi.PersistentTableBulkIdStrategy` + class was moved to new package and you should use it as `org.hibernate.hql.spi.id.persistent.PersistentTableBulkIdStrategy`. + ruleID: hibernate4-xml-00005 + when: + or: + - as: properties + builtin.filecontent: + pattern: hibernate.hql.bulk_id_strategy=org.hibernate.hql.spi.PersistentTableBulkIdStrategy + - as: cfg + builtin.xml: + filepaths: + - hibernate.cfg.xml + namespaces: {} + xpath: //property[text() = 'org.hibernate.hql.spi.PersistentTableBulkIdStrategy'] diff --git a/resources/rulesets/eap7/70-hibernate4.windup.yaml b/resources/rulesets/eap7/70-hibernate4.windup.yaml new file mode 100644 index 0000000..59458aa --- /dev/null +++ b/resources/rulesets/eap7/70-hibernate4.windup.yaml @@ -0,0 +1,982 @@ +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addFile() + Use `org.hibernate.boot.MetadataSources#addFile` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addFile` instead. + ruleID: hibernate4-00001 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addFile* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.add() + There is no direct replacement for method `org.hibernate.cfg.Configuration#add()`. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: There is no direct replacement for method `org.hibernate.cfg.Configuration#add()`. + ruleID: hibernate4-00002 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.add* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addXML() + There is no direct replacement for method `org.hibernate.cfg.Configuration#addXML`. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: There is no direct replacement for method `org.hibernate.cfg.Configuration#addXML`. + ruleID: hibernate4-00003 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addXML* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addCacheableFile() + Use `org.hibernate.boot.MetadataSources#addCacheableFile` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addCacheableFile` instead. + ruleID: hibernate4-00004 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addCacheableFile* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addURL() + Use `org.hibernate.boot.MetadataSources#addURL` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addURL` instead. + ruleID: hibernate4-00005 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addURL* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addInputStream() + Use `org.hibernate.boot.MetadataSources#addInputStream` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addInputStream` instead. + ruleID: hibernate4-00006 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addInputStream* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addResource() + Use `org.hibernate.boot.MetadataSources#addResource` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addResource` instead. + ruleID: hibernate4-00007 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addResource* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addClass() + Use `org.hibernate.boot.MetadataSources#addClass` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addClass` instead. + ruleID: hibernate4-00008 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addClass* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addAnnotatedClass() + Use `org.hibernate.boot.MetadataSources#addAnnotatedClass` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addAnnotatedClass` instead. + ruleID: hibernate4-00009 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addAnnotatedClass* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addPackage() + Use `org.hibernate.boot.MetadataSources#addPackage` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addPackage` instead. + ruleID: hibernate4-00010 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addPackage* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addJar() + Use `org.hibernate.boot.MetadataSources#addJar` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addJar` instead. + ruleID: hibernate4-00011 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addJar* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addDirectory() + Use `org.hibernate.boot.MetadataSources#addDirectory` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataSources#addDirectory` instead. + ruleID: hibernate4-00012 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addDirectory* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.registerTypeContributor() + Use `org.hibernate.boot.MetadataBuilder#applyTypes` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataBuilder#applyTypes` instead. + ruleID: hibernate4-00013 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.registerTypeContributor* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.registerTypeOverride() + Use `org.hibernate.boot.MetadataBuilder#applyBasicType` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.MetadataBuilder#applyBasicType` instead. + ruleID: hibernate4-00014 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.registerTypeOverride* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.setProperty() + Use `org.hibernate.boot.registry.StandardServiceRegistryBuilder#applySetting` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.registry.StandardServiceRegistryBuilder#applySetting` + instead. + ruleID: hibernate4-00015 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.setProperty* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.setProperties() + There is no direct replacement. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: There is no direct replacement. + ruleID: hibernate4-00016 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.setProperties* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.addProperties() + Use `org.hibernate.boot.registry.StandardServiceRegistryBuilder#applySettings` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.registry.StandardServiceRegistryBuilder#applySettings` + instead. + ruleID: hibernate4-00017 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.addProperties* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.setNamingStrategy() + Historically Hibernate provided just a singular contract for applying a "naming strategy".. Starting in 5.0 this has been split into 2 distinct contracts:. * ImplicitNamingStrategy - is used whenever a table or column is not explicitly named to determine the name to use.. * PhysicalNamingStrategy - is used to convert a "logical name" (either implicit or explicit) name of a table or column into a physical name (e.g. following corporate naming guidelines). Use methods `org.hibernate.boot.MetadataBuilder#setImplicitNamingStrategy(ImplicitNamingStrategy implicitNamingStrategy)` or. `org.hibernate.boot.MetadataBuilder#setPhysicalNamingStrategy(PhysicalNamingStrategy physicalNamingStrategy)`. instead of `public Configuration setNamingStrategy(NamingStrategy namingStrategy)()` + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Historically Hibernate provided just a singular contract for applying a + "naming strategy".. Starting in 5.0 this has been split into 2 distinct contracts:. + * ImplicitNamingStrategy - is used whenever a table or column is not explicitly + named to determine the name to use.. * PhysicalNamingStrategy - is used to convert + a "logical name" (either implicit or explicit) name of a table or column into + a physical name (e.g. following corporate naming guidelines). Use methods `org.hibernate.boot.MetadataBuilder#setImplicitNamingStrategy(ImplicitNamingStrategy + implicitNamingStrategy)` or. `org.hibernate.boot.MetadataBuilder#setPhysicalNamingStrategy(PhysicalNamingStrategy + physicalNamingStrategy)`. instead of `public Configuration setNamingStrategy(NamingStrategy + namingStrategy)()` + ruleID: hibernate4-00018 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.setNamingStrategy* +- category: optional + customVariables: + - name: configure + nameOfCaptureGroup: configure + pattern: org.hibernate.cfg.Configuration.(?P(configure\([^)]*\)))? + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.configure() + Use `org.hibernate.boot.registry.StandardServiceRegistryBuilder#configure` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.registry.StandardServiceRegistryBuilder#configure` + instead. + ruleID: hibernate4-00021 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.(configure([^)]*)) +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.setInterceptor() + Use `org.hibernate.boot.SessionFactoryBuilder#applyInterceptor` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.SessionFactoryBuilder#applyInterceptor` instead. + ruleID: hibernate4-00022 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.setInterceptor* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.setEntityNotFoundDelegate() + Use `org.hibernate.boot.SessionFactoryBuilder#applyEntityNotFoundDelegate` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.SessionFactoryBuilder#applyEntityNotFoundDelegate` + instead. + ruleID: hibernate4-00023 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.setEntityNotFoundDelegate* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.setSessionFactoryObserver() + Use `org.hibernate.boot.SessionFactoryBuilder#addSessionFactoryObservers` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.SessionFactoryBuilder#addSessionFactoryObservers` + instead. + ruleID: hibernate4-00024 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.setSessionFactoryObserver* +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Deprecated method org.hibernate.cfg.Configuration.setCurrentTenantIdentifierResolver() + Use `org.hibernate.boot.SessionFactoryBuilder#applyCurrentTenantIdentifierResolver` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Changes in Configuration for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#re-purposing-of-configuration + - title: Hibernate and JPA migration changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#hibernate_and_jpa_migration_changes + message: Use `org.hibernate.boot.SessionFactoryBuilder#applyCurrentTenantIdentifierResolver` + instead. + ruleID: hibernate4-00025 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.cfg.Configuration.setCurrentTenantIdentifierResolver* +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.hibernate.metamodel.spi.(?P(TypeContributor|TypeContributions))? + description: | + Hibernate 5 - Moved method org.hibernate.metamodel.spi.{type} + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Hibernate 5 - Other changes to classes/packages + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_other_classes + - title: Changes in Type handling for Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#type-handling + message: Use `org.hibernate.boot.model.{{type}}` instead. + ruleID: hibernate4-00026 + when: + java.referenced: + pattern: org.hibernate.metamodel.spi.(TypeContributor|TypeContributions) +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Removed class org.hibernate.cfg.AnnotationConfiguration + All functionality from `org.hibernate.cfg.AnnotationConfiguration` has been moved to `org.hibernate.cfg.Configuration`. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Removed or deprecated types in Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#deprecations + - title: Removed and Deprecated Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_deprecations + message: All functionality from `org.hibernate.cfg.AnnotationConfiguration` has + been moved to `org.hibernate.cfg.Configuration`. + ruleID: hibernate4-00027 + when: + java.referenced: + pattern: org.hibernate.cfg.AnnotationConfiguration +- category: optional + customVariables: + - name: idclass + nameOfCaptureGroup: idclass + pattern: org.hibernate.id.(?P(TableGenerator|TableHiLoGenerator|SequenceGenerator|SequenceIdentityGenerator|SequenceHiLoGenerator))? + description: |- + Hibernate 5 - Removed deprecated class org.hibernate.id.{idclass} + Use `org.hibernate.id.enhanced.SequenceStyleGenerator` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Removed and Deprecated Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_deprecations + - title: Removed or deprecated types in Hibernate 5 + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#deprecations + message: Use `org.hibernate.id.enhanced.SequenceStyleGenerator` instead. + ruleID: hibernate4-00028 + when: + java.referenced: + pattern: org.hibernate.id.(TableGenerator|TableHiLoGenerator|SequenceGenerator|SequenceIdentityGenerator|SequenceHiLoGenerator) +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.hibernate.hql.spi.(?P(MultiTableBulkIdStrategy|MultiTableBulkIdStrategy.DeleteHandler|MultiTableBulkIdStrategy.UpdateHandler|AbstractTableBasedBulkIdHandler|AbstractTableBasedBulkIdHandler.ProcessedWhereClause|TableBasedDeleteHandlerImpl|TableBasedUpdateHandlerImpl))? + description: | + Hibernate 5 - Moved class org.hibernate.hql.spi.{type} + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Hibernate 5 Misc changes + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#misc + message: Hibernate 5 moved `org.hibernate.hql.spi.{{type}}` class to new `org.hibernate.hql.spi.id` + package. + ruleID: hibernate4-00030 + when: + java.referenced: + pattern: org.hibernate.hql.spi.(MultiTableBulkIdStrategy|MultiTableBulkIdStrategy.DeleteHandler|MultiTableBulkIdStrategy.UpdateHandler|AbstractTableBasedBulkIdHandler|AbstractTableBasedBulkIdHandler.ProcessedWhereClause|TableBasedDeleteHandlerImpl|TableBasedUpdateHandlerImpl) +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Moved class org.hibernate.hql.spi.PersistentTableBulkIdStrategy + Hibernate 5 moved `org.hibernate.hql.spi.PersistentTableBulkIdStrategy` class to new `org.hibernate.hql.spi.id.persistent` package. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Other Hibernate ORM 5 changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_miscellaneous + message: Hibernate 5 moved `org.hibernate.hql.spi.PersistentTableBulkIdStrategy` + class to new `org.hibernate.hql.spi.id.persistent` package. + ruleID: hibernate4-00031 + when: + java.referenced: + pattern: org.hibernate.hql.spi.PersistentTableBulkIdStrategy +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Replaced class org.hibernate.hql.spi.TemporaryTableBulkIdStrategy + Hibernate 5 replaced `org.hibernate.hql.spi.TemporaryTableBulkIdStrategy` class with `org.hibernate.hql.spi.id.global.GlobalTemporaryTableBulkIdStrategy` and `org.hibernate.hql.spi.id.local.LocalTemporaryTableBulkIdStrategy`. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Other Hibernate ORM 5 changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_miscellaneous + message: Hibernate 5 replaced `org.hibernate.hql.spi.TemporaryTableBulkIdStrategy` + class with `org.hibernate.hql.spi.id.global.GlobalTemporaryTableBulkIdStrategy` + and `org.hibernate.hql.spi.id.local.LocalTemporaryTableBulkIdStrategy`. + ruleID: hibernate4-00032 + when: + java.referenced: + pattern: org.hibernate.hql.spi.TemporaryTableBulkIdStrategy +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Changed interface org.hibernate.integrator.spi.Integrator + Hibernate 5 changed contract `org.hibernate.integrator.spi.Integrator` to account for bootstrap redesign.. Check if you implement method `integrate(Configuration configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry)` which is no longer there. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Hibernate 5 - Other changes to classes/packages + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_other_classes + - title: Hibernate 5 Changed or Moved Contracts + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#changedmoved-contracts + message: Hibernate 5 changed contract `org.hibernate.integrator.spi.Integrator` + to account for bootstrap redesign.. Check if you implement method `integrate(Configuration + configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry + serviceRegistry)` which is no longer there. + ruleID: hibernate4-00033 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.hibernate.integrator.spi.Integrator +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Changed class org.hibernate.engine.jdbc.spi.JdbcServices + Hibernate 5 extracted new interface `org.hibernate.engine.jdbc.env.spi.JdbcEnvironment` from `org.hibernate.engine.jdbc.spi.JdbcServices`. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Hibernate 5 - Other changes to classes/packages + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_other_classes + - title: Hibernate 5 Changed or Moved Contracts + url: https://github.com/hibernate/hibernate-orm/blob/5.0/migration-guide.adoc#changedmoved-contracts + - title: Hibernate 5 JdbcEnvironment new API + url: https://docs.jboss.org/hibernate/orm/5.0/javadocs/index.html?org/hibernate/engine/jdbc/env/spi/JdbcEnvironment.html + message: Hibernate 5 extracted new interface `org.hibernate.engine.jdbc.env.spi.JdbcEnvironment` + from `org.hibernate.engine.jdbc.spi.JdbcServices`. + ruleID: hibernate4-00034 + when: + java.referenced: + pattern: org.hibernate.engine.jdbc.spi.JdbcServices +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Changed signature org.hibernate.id.Configurable + Hibernate 5 changed the signature of `org.hibernate.id.Configurable#configure` method to accept `ServiceRegistry` rather than just `Dialect` + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Hibernate 5 - Other changes to classes/packages + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_other_classes + - title: Hibernate 5 Configurable API + url: https://docs.jboss.org/hibernate/orm/5.0/javadocs/org/hibernate/id/Configurable.html#configure-org.hibernate.type.Type-java.util.Properties-org.hibernate.service.ServiceRegistry- + message: Hibernate 5 changed the signature of `org.hibernate.id.Configurable#configure` + method to accept `ServiceRegistry` rather than just `Dialect` + ruleID: hibernate4-00035 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.hibernate.id.Configurable +- category: optional + customVariables: [] + description: |- + Hibernate 5 - PersistentIdentifierGenerator implementations need to implement ExportableProducer#registerExportables + Since Hibernate 5, The `org.hibernate.id.PersistentIdentifierGenerator` extends new `org.hibernate.boot.model.relational.ExportableProducer` interface which will affect all `org.hibernate.id.PersistentIdentifierGenerator` implementations.. Therefore you need to implement additionally `ExportableProducer#registerExportables(org.hibernate.boot.model.relational.Database database)` method. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: HIbernate 5 - Other changes to classes/packages + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_other_classes + - title: Hibernate 5 Changed or Moved Contracts + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_miscellaneous + - title: Hibernate 5 ExportableProducer API + url: https://docs.jboss.org/hibernate/orm/5.0/javadocs/org/hibernate/boot/model/relational/ExportableProducer.html#registerExportables-org.hibernate.boot.model.relational.Database- + message: Since Hibernate 5, The `org.hibernate.id.PersistentIdentifierGenerator` + extends new `org.hibernate.boot.model.relational.ExportableProducer` interface + which will affect all `org.hibernate.id.PersistentIdentifierGenerator` implementations.. + Therefore you need to implement additionally `ExportableProducer#registerExportables(org.hibernate.boot.model.relational.Database + database)` method. + ruleID: hibernate4-00036 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.hibernate.id.PersistentIdentifierGenerator +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Removed class org.hibernate.envers.configuration.AuditConfiguration + Hibernate 5 removed `AuditConfiguration` in preference for new `org.hibernate.envers.boot.internal.EnversService`. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Other Hibernate ORM 5 changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_miscellaneous + - title: Hibernate 5 EnversService API + url: https://docs.jboss.org/hibernate/orm/5.0/javadocs/index.html?org/hibernate/envers/boot/internal/EnversService.html + message: Hibernate 5 removed `AuditConfiguration` in preference for new `org.hibernate.envers.boot.internal.EnversService`. + ruleID: hibernate4-00037 + when: + java.referenced: + pattern: org.hibernate.envers.configuration.AuditConfiguration +- category: optional + customVariables: [] + description: |- + Hibernate 5 - Registration needed for built-in implementations of org.hibernate.type.descriptor.sql.SqlTypeDescriptor + Built-in implementations of `org.hibernate.type.descriptor.sql.SqlTypeDescriptor` and `org.hibernate.type.descriptor.java.JavaTypeDescriptor` no longer. auto-register themselves with `org.hibernate.type.descriptor.sql.SqlTypeDescriptorRegistry` and `org.hibernate.type.descriptor.java.JavaTypeDescriptorRegistry`.. Applications using custom `SqlTypeDescriptor`/`JavaTypeDescriptor` implementations which extends the built-in ones and. rely on that behavior should be updated to call `SqlTypeDescriptorRegistry#addDescriptor` or `JavaTypeDescriptorRegistry#addDescriptor` themselves.. This warning is important especially for users of Hibernate 4.3. + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: + - title: Hibernate 5 Type Handling + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migration_hibernate_orm_changes_type_handling + - title: Hibernate 5 javadoc for SqlTypeDescriptorRegistry#addDescriptor + url: https://docs.jboss.org/hibernate/orm/5.0/javadocs/index.html?org/hibernate/type/descriptor/sql/SqlTypeDescriptorRegistry.html + - title: Hibernate 5 javadoc for JavaTypeDescriptorRegistry#addDescriptor + url: https://docs.jboss.org/hibernate/orm/5.0/javadocs/index.html?org/hibernate/type/descriptor/java/JavaTypeDescriptorRegistry.html + message: Built-in implementations of `org.hibernate.type.descriptor.sql.SqlTypeDescriptor` + and `org.hibernate.type.descriptor.java.JavaTypeDescriptor` no longer. auto-register + themselves with `org.hibernate.type.descriptor.sql.SqlTypeDescriptorRegistry` + and `org.hibernate.type.descriptor.java.JavaTypeDescriptorRegistry`.. Applications + using custom `SqlTypeDescriptor`/`JavaTypeDescriptor` implementations which extends + the built-in ones and. rely on that behavior should be updated to call `SqlTypeDescriptorRegistry#addDescriptor` + or `JavaTypeDescriptorRegistry#addDescriptor` themselves.. This warning is important + especially for users of Hibernate 4.3. + ruleID: hibernate4-00038 + when: + or: + - java.referenced: + location: INHERITANCE + pattern: org.hibernate.spatial.dialect.(mysql.MySQLGeometryTypeDescriptor + | h2geodb.GeoDBGeometryTypeDescriptor | postgis.PGGeometryTypeDescriptor + | oracle.SDOGeometryTypeDescriptor | sqlserver.SqlServer2008GeometryTypeDescriptor) + - java.referenced: + location: INHERITANCE + pattern: org.hibernate.spatial.JTSGeometryJavaTypeDescriptor + - java.referenced: + location: INHERITANCE + pattern: org.hibernate.spatial.GeolatteGeometryJavaTypeDescriptor + - java.referenced: + location: INHERITANCE + pattern: org.hibernate.type.descriptor.java.(AbstractTypeDescriptor|BigDecimalTypeDescriptor|BigIntegerTypeDescriptor|BlobTypeDescriptor|BooleanTypeDescriptor|ByteArrayTypeDescriptor|ByteTypeDescriptor|CalendarDateTypeDescriptor|CalendarTimeTypeDescriptor|CalendarTypeDescriptor|CharacterArrayTypeDescriptor|CharacterTypeDescriptor|ClassTypeDescriptor|ClobTypeDescriptor|CurrencyTypeDescriptor|DateTypeDescriptor|DoubleTypeDescriptor|DurationJavaDescriptor|EnumJavaTypeDescriptor|FloatTypeDescriptor|InstantJavaDescriptor|IntegerTypeDescriptor|JavaTypeDescriptorRegistry.FallbackJavaTypeDescriptor|JdbcDateTypeDescriptor|JdbcTimestampTypeDescriptor|JdbcTimeTypeDescriptor|LocalDateTimeJavaDescriptor|LocalDateJavaDescriptor|LocaleTypeDescriptor|LocalTimeJavaDescriptor|LongTypeDescriptor|NClobTypeDescriptor|OffsetDateTimeJavaDescriptor|OffsetTimeJavaDescriptor|PrimitiveByteArrayTypeDescriptor|PrimitiveCharacterArrayTypeDescriptor|SerializableTypeDescriptor|ShortTypeDescriptor|StringTypeDescriptor|TimeZoneTypeDescriptor|UrlTypeDescriptor|UUIDTypeDescriptor|ZonedDateTimeJavaDescriptor) + - java.referenced: + location: INHERITANCE + pattern: org.hibernate.type.descriptor.sql.(BigIntTypeDescriptor|BinaryTypeDescriptor|BitTypeDescriptor|BlobTypeDescriptor|BooleanTypeDescriptor|CharTypeDescriptor|ClobTypeDescriptor|DateTypeDescriptor|DecimalTypeDescriptor|DoubleTypeDescriptor|FloatTypeDescriptor|IntegerTypeDescriptor|LongNVarcharTypeDescriptor|LongVarbinaryTypeDescriptor|LongVarcharTypeDescriptor|NCharTypeDescriptor|NClobTypeDescriptor|NumericTypeDescriptor|NVarcharTypeDescriptor|RealTypeDescriptor|SmallIntTypeDescriptor|SqlTypeDescriptorRegistry.ObjectSqlTypeDescriptor|TimestampTypeDescriptor|TimeTypeDescriptor|TinyIntTypeDescriptor|VarbinaryTypeDescriptor|VarcharTypeDescriptor) + - java.referenced: + location: INHERITANCE + pattern: org.hibernate.type.descriptor.converter.AttributeConverterSqlTypeDescriptorAdapter + - java.referenced: + location: INHERITANCE + pattern: org.hibernate.type.PostgresUUIDType.PostgresUUIDSqlTypeDescriptor +- category: mandatory + customVariables: + - name: extension + nameOfCaptureGroup: extension + pattern: byte[] + description: |- + Hibernate 5 - Oracle12cDialect maps byte[] and Byte[] to BLOB + Previous versions of Hibernate have mapped `byte[]` and `Byte[]` to Oracle’s `LONG RAW` data type (via the JDBC `LONGVARBINARY` type). Oracle have deprecated the `LONG RAW` data type for many releases - possibly as far back as 8i.. Therefore it was decided to start having Hibernate map `byte[]` and `Byte[]` to `BLOB` for Oracle.. However, in the interest of backwards compatibility and not breaking existing applications it was also decided to limit this change to just the `Oracle12cDialect`. So starting in 5.1 applications using `Oracle12cDialect` and implicitly mapping `byte[]` and `Byte[]` values will start seeing those handled as `BLOB` data rather than `LONG RAW` data.. For existing applications that want to continue to use `Oracle12cDialect` and still continue to implicitly map `byte[]` and `Byte[]` attributes to `LONG RAW`, there is a new configuration setting you can use to enable that: `hibernate.dialect.oracle.prefer_longvarbinary`, which is `false `by default (map to `BLOB`). + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + - Hibernate + links: [] + message: 'Previous versions of Hibernate have mapped `byte[]` and `Byte[]` to Oracle’s + `LONG RAW` data type (via the JDBC `LONGVARBINARY` type). Oracle have deprecated + the `LONG RAW` data type for many releases - possibly as far back as 8i.. Therefore + it was decided to start having Hibernate map `byte[]` and `Byte[]` to `BLOB` for + Oracle.. However, in the interest of backwards compatibility and not breaking + existing applications it was also decided to limit this change to just the `Oracle12cDialect`. + So starting in 5.1 applications using `Oracle12cDialect` and implicitly mapping + `byte[]` and `Byte[]` values will start seeing those handled as `BLOB` data rather + than `LONG RAW` data.. For existing applications that want to continue to use + `Oracle12cDialect` and still continue to implicitly map `byte[]` and `Byte[]` + attributes to `LONG RAW`, there is a new configuration setting you can use to + enable that: `hibernate.dialect.oracle.prefer_longvarbinary`, which is `false + `by default (map to `BLOB`).' + ruleID: hibernate4-00039 + when: + or: + - as: config_files + builtin.filecontent: + pattern: org.hibernate.dialect.Oracle12cDialect + - as: java_entities + java.referenced: + location: ANNOTATION + pattern: javax.persistence.Entity + - as: mappings + from: java_entities + java.referenced: + location: RETURN_TYPE + pattern: java.lang.Byte[] + - as: mappings2 + from: java_entities + java.referenced: + location: RETURN_TYPE + pattern: byte[] +- category: mandatory + customVariables: + - name: param_classes_setfirstresult + nameOfCaptureGroup: param_classes_setfirstresult + pattern: (?Pjavax.persistence.Query|org.hibernate.Query|org.hibernate.Criteria.)?setFirstResult(int) + - name: param_dialects + nameOfCaptureGroup: param_dialects + pattern: (?Pjavax.persistence.Query|org.hibernate.Query|org.hibernate.Criteria.)?setFirstResult(int) + description: | + Hibernate 5.3 - Dialects not supporting Limit Offset + effort: 1 + labels: + - konveyor.io/source=hibernate4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate5 + - konveyor.io/target=eap7 + - hibernate + - configuration + links: [] + message: If the migration is from JBoss EAP 6 or Hibernate 4 then the dialect {{param_dialects}} + does not support limit offset therefore as `setFirstResult` is used then `hibernate.legacy_limit_handler=true` + is mandatory. + ruleID: hibernate4-00040 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: javax.persistence.Query|org.hibernate.Query|org.hibernate.Criteria.setFirstResult(int) + - as: dialects_used + builtin.xml: + namespaces: + s: http://xmlns.jcp.org/xml/ns/persistence + xpath: //s:property[@name='hibernate.dialect' and matches(@value, 'org.hibernate.dialect.Cache71Dialect|DB2390Dialect|InformixDialect|IngresDialect|RDMSOS2200Dialect|SQLServerDialect|TimesTenDialect')] diff --git a/resources/rulesets/eap7/71-hsearch.windup.yaml b/resources/rulesets/eap7/71-hsearch.windup.yaml new file mode 100644 index 0000000..26a3110 --- /dev/null +++ b/resources/rulesets/eap7/71-hsearch.windup.yaml @@ -0,0 +1,1624 @@ +- customVariables: [] + description: | + Hibernate Search - API usage + Hibernate Search library API used in application. + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: [] + ruleID: hsearch-00000 + tag: + - hibernate-search + - Hibernate Search - API usage + when: + java.referenced: + pattern: org.hibernate.search* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Renamed class SearchMappingBuilder + The class `org.hibernate.search.impl.SearchMappingBuilder` was replaced by `org.hibernate.search.engine.spi.SearchMappingHelper` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: The class `org.hibernate.search.impl.SearchMappingBuilder` was replaced + by `org.hibernate.search.engine.spi.SearchMappingHelper` class. + ruleID: hsearch-00001 + when: + java.referenced: + pattern: org.hibernate.search.impl.SearchMappingBuilder +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Package change for Environment + The class `org.hibernate.search.Environment` was replaced by `org.hibernate.search.cfg.Environment` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + message: The class `org.hibernate.search.Environment` was replaced by `org.hibernate.search.cfg.Environment` + class. + ruleID: hsearch-00002 + when: + java.referenced: + pattern: org.hibernate.search.Environment +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Package change for FullTextFilter + The class `org.hibernate.search.FullTextFilter` was replaced by `org.hibernate.search.filter.FullTextFilter` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + message: The class `org.hibernate.search.FullTextFilter` was replaced by `org.hibernate.search.filter.FullTextFilter` + class. + ruleID: hsearch-00003 + when: + java.referenced: + pattern: org.hibernate.search.FullTextFilter +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Package change for DirectoryBasedIndexManager + The class `org.hibernate.search.indexes.impl.DirectoryBasedIndexManager` was replaced by `org.hibernate.search.indexes.spi.DirectoryBasedIndexManager` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: The class `org.hibernate.search.indexes.impl.DirectoryBasedIndexManager` + was replaced by `org.hibernate.search.indexes.spi.DirectoryBasedIndexManager` + class. + ruleID: hsearch-00004 + when: + java.referenced: + pattern: org.hibernate.search.indexes.impl.DirectoryBasedIndexManager +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Package change for InfinispanDirectoryProvider + The class `org.hibernate.search.infinispan.impl.InfinispanDirectoryProvider` was replaced by `org.hibernate.search.infinispan.spi.InfinispanDirectoryProvider` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + message: The class `org.hibernate.search.infinispan.impl.InfinispanDirectoryProvider` + was replaced by `org.hibernate.search.infinispan.spi.InfinispanDirectoryProvider` + class. + ruleID: hsearch-00005 + when: + java.referenced: + pattern: org.hibernate.search.infinispan.impl.InfinispanDirectoryProvider +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Package change for ProjectionConstants + The class `org.hibernate.search.ProjectionConstants` was replaced by `org.hibernate.search.engine.ProjectionConstants` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + message: The class `org.hibernate.search.ProjectionConstants` was replaced by `org.hibernate.search.engine.ProjectionConstants` + class. + ruleID: hsearch-00006 + when: + java.referenced: + pattern: org.hibernate.search.ProjectionConstants +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Package change for SearchException + The class `org.hibernate.search.SearchException` was replaced by `org.hibernate.search.exception.SearchException` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + message: The class `org.hibernate.search.SearchException` was replaced by `org.hibernate.search.exception.SearchException` + class. + ruleID: hsearch-00007 + when: + java.referenced: + pattern: org.hibernate.search.SearchException +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Package change for MassIndexerFactory + The class `org.hibernate.search.spi.MassIndexerFactory` was replaced by `org.hibernate.search.batchindexing.spi.MassIndexerFactory` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: The class `org.hibernate.search.spi.MassIndexerFactory` was replaced by + `org.hibernate.search.batchindexing.spi.MassIndexerFactory` class. + ruleID: hsearch-00008 + when: + java.referenced: + pattern: org.hibernate.search.spi.MassIndexerFactory +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated interface org.hibernate.search.spi.SearchFactoryBuilder + The class `org.hibernate.search.spi.SearchFactoryBuilder` was replaced by `org.hibernate.search.spi.SearchIntegratorBuilder` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + - title: SearchIntegrationBuilder javadoc + url: http://docs.jboss.org/hibernate/search/5.5/api/org/hibernate/search/spi/SearchIntegratorBuilder.html + message: The class `org.hibernate.search.spi.SearchFactoryBuilder` was replaced + by `org.hibernate.search.spi.SearchIntegratorBuilder` class. + ruleID: hsearch-00009 + when: + java.referenced: + pattern: org.hibernate.search.spi.SearchFactoryBuilder +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated interface org.hibernate.search.spi.SearchFactoryIntegrator + Do not use `org.hibernate.search.spi.SearchFactoryIntegrator`. You should migrate all code to use `org.hibernate.search.spi.SearchIntegrator`.. This interface is a temporary placeholder and will be removed at the next micro release! + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + - title: Hibernate Search javadoc for SearchIntegrator + url: https://docs.jboss.org/hibernate/search/5.5/api/org/hibernate/search/spi/SearchIntegrator.html + message: Do not use `org.hibernate.search.spi.SearchFactoryIntegrator`. You should + migrate all code to use `org.hibernate.search.spi.SearchIntegrator`.. This interface + is a temporary placeholder and will be removed at the next micro release! + ruleID: hsearch-00010 + when: + java.referenced: + pattern: org.hibernate.search.spi.SearchFactoryIntegrator +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Package change for Version + The class `org.hibernate.search.Version` was replaced by `org.hibernate.search.engine.Version` class. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + message: The class `org.hibernate.search.Version` was replaced by `org.hibernate.search.engine.Version` + class. + ruleID: hsearch-00011 + when: + java.referenced: + pattern: org.hibernate.search.Version +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated constructor NumericFieldMapping.NumericFieldMapping + Use `NumericFieldMapping.NumericFieldMapping(String, PropertyDescriptor, EntityDescriptor, SearchMapping)` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.x Deprecated Constructors + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_deprecated_constructors + - title: Hibernate Search javadoc + url: https://docs.jboss.org/hibernate/search/5.5/api/org/hibernate/search/cfg/NumericFieldMapping.html#NumericFieldMapping-org.hibernate.search.cfg.PropertyDescriptor-org.hibernate.search.cfg.EntityDescriptor-org.hibernate.search.cfg.SearchMapping- + message: Use `NumericFieldMapping.NumericFieldMapping(String, PropertyDescriptor, + EntityDescriptor, SearchMapping)` instead. + ruleID: hsearch-00100 + when: + java.referenced: + location: CONSTRUCTOR_CALL + pattern: org.hibernate.search.cfg.NumericFieldMapping(org.hibernate.search.cfg.PropertyDescriptor, + org.hibernate.search.cfg.EntityDescriptor, org.hibernate.search.cfg.SearchMapping) +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated interface org.hibernate.search.store.IndexShardingStrategy + `org.hibernate.search.store.IndexShardingStrategy` interface is deprecated as of Hibernate Search 4.4. Might be removed in Hibernate Search 5.. Use `org.hibernate.search.store.ShardIdentifierProvider` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + - title: Hibernate Search javadoc + url: https://docs.jboss.org/hibernate/search/5.5/api/org/hibernate/search/store/ShardIdentifierProvider.html + message: '`org.hibernate.search.store.IndexShardingStrategy` interface is deprecated + as of Hibernate Search 4.4. Might be removed in Hibernate Search 5.. Use `org.hibernate.search.store.ShardIdentifierProvider` + instead.' + ruleID: hsearch-00101 + when: + java.referenced: + pattern: org.hibernate.search.store.IndexShardingStrategy +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated interface org.hibernate.search.store.Workspace + `org.hibernate.search.store.Workspace` interface will be moved and considered as non-public API. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + message: '`org.hibernate.search.store.Workspace` interface will be moved and considered + as non-public API.' + ruleID: hsearch-00103 + when: + java.referenced: + pattern: org.hibernate.search.store.Workspace +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated interface org.hibernate.search.filter.FilterKey + Custom filter keys are deprecated and are scheduled for removal in Hibernate Search 6. As of Hibernate Search 5.1, keys for caching Lucene filters are calculated automatically based on the given filter parameters. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + - title: Hibernate Search 5.1 API changes + url: http://hibernate.org/search/documentation/migrate/5.1/#api-changes + message: Custom filter keys are deprecated and are scheduled for removal in Hibernate + Search 6. As of Hibernate Search 5.1, keys for caching Lucene filters are calculated + automatically based on the given filter parameters. + ruleID: hsearch-00104 + when: + java.referenced: + pattern: org.hibernate.search.filter.FilterKey +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated class org.hibernate.search.filter.StandardFilterKey + Custom filter keys `StandardFilterKey` are deprecated and are scheduled for removal in Hibernate Search 6.. As of Hibernate Search 5.1, keys for caching Lucene filters are calculated automatically based on the given filter parameters. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + - title: Hibernate Search 5.1 API changes + url: http://hibernate.org/search/documentation/migrate/5.1/#api-changes + - title: hibernate Search javadoc + url: https://docs.jboss.org/hibernate/search/5.5/api/index.html?org/hibernate/search/filter/StandardFilterKey.html + message: Custom filter keys `StandardFilterKey` are deprecated and are scheduled + for removal in Hibernate Search 6.. As of Hibernate Search 5.1, keys for caching + Lucene filters are calculated automatically based on the given filter parameters. + ruleID: hsearch-00106 + when: + java.referenced: + pattern: org.hibernate.search.filter.StandardFilterKey +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated enum FieldCacheType + Remove the `@FieldCacheType` annotation. No alternative replacement necessary as the Field Cache in Apache Lucene feature does no longer exist. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - annotation + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + - title: hibernate Search javadoc + url: https://docs.jboss.org/hibernate/search/5.5/api/org/hibernate/search/annotations/FieldCacheType.html + message: Remove the `@FieldCacheType` annotation. No alternative replacement necessary + as the Field Cache in Apache Lucene feature does no longer exist. + ruleID: hsearch-00107 + when: + java.referenced: + pattern: org.hibernate.search.annotations.FieldCacheType +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated annotation CacheFromIndex + Remove the `@CacheFromIndex` annotation. No alternative replacement necessary. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_changes + - title: hibernate Search javadoc for @CacheFromIndex + url: https://docs.jboss.org/hibernate/search/5.5/api/org/hibernate/search/annotations/CacheFromIndex.html + message: Remove the `@CacheFromIndex` annotation. No alternative replacement necessary. + ruleID: hsearch-00108 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.CacheFromIndex +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated annotation Key + Custom filter cache keys are a deprecated feature and are scheduled to be removed in Hibernate Search 6.. As of Hibernate Search 5.1, the filter cache keys are determined automatically based on the filter parameters so it is no longer required to provide a key object. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscelanous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + - title: Hibernate Search 5.1 API changes + url: http://hibernate.org/search/documentation/migrate/5.1/#api-changes + - title: Hibernate Search javadoc for @Key + url: https://docs.jboss.org/hibernate/search/5.5/api/index.html?org/hibernate/search/annotations/Key.html + message: Custom filter cache keys are a deprecated feature and are scheduled to + be removed in Hibernate Search 6.. As of Hibernate Search 5.1, the filter cache + keys are determined automatically based on the filter parameters so it is no longer + required to provide a key object. + ruleID: hsearch-00109 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Key +- category: optional + customVariables: + - name: constant + nameOfCaptureGroup: constant + pattern: org.hibernate.search.backend.configuration.impl.IndexWriterSetting.(?P(MAX_THREAD_STATES|TERM_INDEX_INTERVAL))? + description: |- + Hibernate Search 5 - Deprecated enum constant in IndexWriterSetting + The `IndexWriterSetting.MAX_THREAD_STATES` and `IndexWriterSetting.TERM_INDEX_INTERVAL` enum constants are deprecated.. They affect which properties are read from the configuration, so the fact they they are missing means that configuration properties such as `hibernate.search.Animals.2.indexwriter.term_index_interval = default` are now ignored.. The only side effect is that the property is not applied. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: The `IndexWriterSetting.MAX_THREAD_STATES` and `IndexWriterSetting.TERM_INDEX_INTERVAL` + enum constants are deprecated.. They affect which properties are read from the + configuration, so the fact they they are missing means that configuration properties + such as `hibernate.search.Animals.2.indexwriter.term_index_interval = default` + are now ignored.. The only side effect is that the property is not applied. + ruleID: hsearch-00110 + when: + or: + - java.referenced: + location: ENUM_CONSTANT + pattern: org.hibernate.search.backend.configuration.impl.IndexWriterSetting.(MAX_THREAD_STATES|TERM_INDEX_INTERVAL) + - java.referenced: + location: IMPORT + pattern: org.hibernate.search.backend.configuration.impl.IndexWriterSetting.(MAX_THREAD_STATES|TERM_INDEX_INTERVAL) +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Renamed SpatialMode.GRID to HASH + The enum value `SpatialMode.GRID` for `@Spatial` annotation was renamed to `SpatialMode.HASH`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscelanous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + message: The enum value `SpatialMode.GRID` for `@Spatial` annotation was renamed + to `SpatialMode.HASH`. + ruleID: hsearch-00111 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Spatial +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - FullTextIndexEventListener class is now final + The class `FullTextIndexEventListener` is now a final class. If you currently extend this class, you must find an alternate solution to achieve the same functionality. You could in some cases use an `EntityIndexingInterceptor`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscelanous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + - title: FullTextIndexEventListener now final + url: http://hibernate.org/search/documentation/migrate/5.0/#fulltextindexeventlistener-now-final + message: The class `FullTextIndexEventListener` is now a final class. If you currently + extend this class, you must find an alternate solution to achieve the same functionality. + You could in some cases use an `EntityIndexingInterceptor`. + ruleID: hsearch-00112 + when: + java.referenced: + location: INHERITANCE + pattern: org.hibernate.search.event.impl.FullTextIndexEventListener +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Internal AbstractJMSHibernateSearchController class used + The JMS backend was depending to Hibernate ORM. This dependency was removed, so that the backend can be used in other (non ORM) environments as well.. A consequence is that implementors of `org.hibernate.search.backend.impl.jms.AbstractJMSHibernateSearchController` will need to adjust to the new signature.. This class is really considered internal. We suggest to take this class as an example instead of extending it. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscelanous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + - title: JMS Controller API changed + url: http://hibernate.org/search/documentation/migrate/5.0/#jms-controller-api-changed + message: The JMS backend was depending to Hibernate ORM. This dependency was removed, + so that the backend can be used in other (non ORM) environments as well.. A consequence + is that implementors of `org.hibernate.search.backend.impl.jms.AbstractJMSHibernateSearchController` + will need to adjust to the new signature.. This class is really considered internal. + We suggest to take this class as an example instead of extending it. + ruleID: hsearch-00113 + when: + java.referenced: + location: INHERITANCE + pattern: org.hibernate.search.backend.impl.jms.AbstractJMSHibernateSearchController +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - ServiceProvider implementation + The `org.hibernate.search.spi.ServiceProvider` SPI has been refactored.. If you where integrating with the old service contract, refer to the javadoc of `ServiceManager`, `Service`, `Startable` and `Stoppable` for details about the new contract. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscelanous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + - title: Hibernate Search javadoc for ServiceManager + url: http://docs.jboss.org/hibernate/search/5.0/api/org/hibernate/search/engine/service/spi/ServiceManager.html + - title: Hibernate Search javadoc for Service + url: http://docs.jboss.org/hibernate/search/5.0/api/org/hibernate/search/engine/service/spi/Service.html + - title: Hibernate Search javadoc for Stoppable + url: http://docs.jboss.org/hibernate/search/5.0/api/org/hibernate/search/engine/service/spi/Stoppable.html + - title: Hibernate Search javadoc for Startable + url: http://docs.jboss.org/hibernate/search/5.0/api/org/hibernate/search/engine/service/spi/Startable.html + message: The `org.hibernate.search.spi.ServiceProvider` SPI has been refactored.. + If you where integrating with the old service contract, refer to the javadoc of + `ServiceManager`, `Service`, `Startable` and `Stoppable` for details about the + new contract. + ruleID: hsearch-00114 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.hibernate.search.spi.ServiceProvider +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Indexing of id fields of Embedded Relations + When using an `@IndexedEmbedded` annotation to include fields from a related entity,. the id of the related entity is no longer included.. You can enable the inclusion of the id by using the `includeEmbeddedObjectId` attribute of the `@IndexedEmbedded` annotation.. ```java. @IndexedEmbedded(includeEmbeddedObjectId=true). ``` + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscelanous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + - title: Hibernate Search javadoc for IndexedEmbedded + url: https://docs.jboss.org/hibernate/search/5.5/api/index.html?org/hibernate/search/annotations/IndexedEmbedded.html + message: When using an `@IndexedEmbedded` annotation to include fields from a related + entity,. the id of the related entity is no longer included.. You can enable the + inclusion of the id by using the `includeEmbeddedObjectId` attribute of the `@IndexedEmbedded` + annotation.. ```java. @IndexedEmbedded(includeEmbeddedObjectId=true). ``` + ruleID: hsearch-00115 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.IndexedEmbedded +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Changes in indexing numeric and date values + Numbers and dates are now indexed as numeric fields by default. Properties of type int, long, float, double, and their. corresponding wrapper classes are no longer indexed as strings. Instead, they are now indexed using Lucene’s appropriate numeric. encoding. The id fields are an exception to this rule. Even when they are represented by a numeric type, they are still indexed as. a string keyword by default. The use of `@NumericField` is now obsolete unless you want to specify a custom precision for the numeric. encoding. You can keep the old string-based index format by explicitly specifying a string encoding field bridge. In the case of. integers, this is the `org.hibernate.search.bridge.builtin.IntegerBridge`. Check the `org.hibernate.search.bridge.builtin` package for. other publicly available field bridges.. Date and Calendar are no longer indexed as strings. Instead, instances are encoded as long values representing the number. of milliseconds since January 1, 1970, 00:00:00 GMT. You can switch the indexing format by using the new EncodingType enum. For example:. ```java. @DateBridge(encoding=EncodingType.STRING). @CalendarBridge(encoding=EncodingType.STRING). ```. The encoding change for numbers and dates is important and can have a big impact on application behavior. If you have. a query that targets a field that was previously string-encoded, but is now encoded numerically, you must update the query. Numeric. fields must be searched with a NumericRangeQuery. You must also make sure that all fields targeted by faceting are string encoded.. If you use the Search query DSL, the correct query should be created automatically for you. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Number and Date Index Formatting Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_number_and_date_index_formatting_changes + - title: Number and date index format + url: http://hibernate.org/search/documentation/migrate/5.0/#number-and-date-index-format + - title: Javadoc API for org.hibernate.search.bridge.builtin package + url: http://docs.jboss.org/hibernate/search/5.5/api/org/hibernate/search/bridge/builtin/package-summary.html + - title: Javadoc API for IntegerBridge + url: http://docs.jboss.org/hibernate/search/5.5/api/org/hibernate/search/bridge/builtin/IntegerBridge.html + message: Numbers and dates are now indexed as numeric fields by default. Properties + of type int, long, float, double, and their. corresponding wrapper classes are + no longer indexed as strings. Instead, they are now indexed using Lucene’s appropriate + numeric. encoding. The id fields are an exception to this rule. Even when they + are represented by a numeric type, they are still indexed as. a string keyword + by default. The use of `@NumericField` is now obsolete unless you want to specify + a custom precision for the numeric. encoding. You can keep the old string-based + index format by explicitly specifying a string encoding field bridge. In the case + of. integers, this is the `org.hibernate.search.bridge.builtin.IntegerBridge`. + Check the `org.hibernate.search.bridge.builtin` package for. other publicly available + field bridges.. Date and Calendar are no longer indexed as strings. Instead, instances + are encoded as long values representing the number. of milliseconds since January + 1, 1970, 00:00:00 GMT. You can switch the indexing format by using the new EncodingType + enum. For example:. ```java. @DateBridge(encoding=EncodingType.STRING). @CalendarBridge(encoding=EncodingType.STRING). + ```. The encoding change for numbers and dates is important and can have a big + impact on application behavior. If you have. a query that targets a field that + was previously string-encoded, but is now encoded numerically, you must update + the query. Numeric. fields must be searched with a NumericRangeQuery. You must + also make sure that all fields targeted by faceting are string encoded.. If you + use the Search query DSL, the correct query should be created automatically for + you. + ruleID: hsearch-00116 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Field + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Field + - java.referenced: + pattern: java.util.(Calendar|Date) + - java.referenced: + pattern: java.lang.(Integer|Long|Float|Double) +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Changes in indexing null values + When using `@Field(indexNullAs=)` to encode a null marker value in the index, the type of the marker must be compatible with all other values that are indexed in that same field.. For example, it was previously possible to encode a null value for numeric fields using a string _null_.. This is no longer allowed. Instead, you must choose a number to represent the null value, such as -1. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscellaneous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + - title: Null value tokens for numeric fields + url: http://hibernate.org/search/documentation/migrate/5.5/#null-value-tokens-for-numeric-fields + message: When using `@Field(indexNullAs=)` to encode a null marker value in the + index, the type of the marker must be compatible with all other values that are + indexed in that same field.. For example, it was previously possible to encode + a null value for numeric fields using a string _null_.. This is no longer allowed. + Instead, you must choose a number to represent the null value, such as -1. + ruleID: hsearch-00117 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Field +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Improvements in Faceting Engine + Significant improvements were made to the faceting engine. Most of the changes do not affect the API. The one notable exception is that you must now annotate any fields you intend to use for faceting with the `@Facet` or `@Facets` annotation. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscellaneous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + - title: Lucene native faceting + url: http://in.relation.to/2015/05/11/hibernate-search-530-beta-1-with-native-lucene-faceting + - title: Query faceting + url: http://docs.jboss.org/hibernate/search/5.5/reference/en-US/html_single/#query-faceting + message: Significant improvements were made to the faceting engine. Most of the + changes do not affect the API. The one notable exception is that you must now + annotate any fields you intend to use for faceting with the `@Facet` or `@Facets` + annotation. + ruleID: hsearch-00118 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.query.dsl.QueryBuilder.facet* + - java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.FullTextQuery.getFacetManager* + - java.referenced: + pattern: org.hibernate.search.query.facet.(Facet|FacetingRequest|FacetSelection|FacetSortOrder|RangeFacet) +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Changes in indexing numeric values + Numbers and dates now indexed as numeric fields by default.. Properties of type `Date`, `Calendar` as well as `int`, `long`, `float`, `double` and their corresponding wrappers, are no longer indexed as strings. Instead, they are now indexed using Lucene’s appropriate numeric encoding.. The `id` fields are an exception to this rule: even when these are represented by a numeric type, they will still be indexed as a string keyword by default.. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Miscellaneous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + - title: Numeric and Date index format + url: http://hibernate.org/search/documentation/migrate/5.5/#number-and-date-index-format + message: 'Numbers and dates now indexed as numeric fields by default.. Properties + of type `Date`, `Calendar` as well as `int`, `long`, `float`, `double` and their + corresponding wrappers, are no longer indexed as strings. Instead, they are now + indexed using Lucene’s appropriate numeric encoding.. The `id` fields are an exception + to this rule: even when these are represented by a numeric type, they will still + be indexed as a string keyword by default..' + ruleID: hsearch-00119 + when: + or: + - java.referenced: + pattern: java.util.(Calendar|Date) + - java.referenced: + pattern: java.lang.(Integer|Long|Float|Double) +- customVariables: [] + description: Maven artifact org.hibernate:hibernate-search-analyzers was removed + from Hibernate Search 5. We recommend to depend on the appropriate Lucene artifact + directly, for example org.apache.lucene:lucene-analyzers-common. + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: [] + message: Maven artifact org.hibernate:hibernate-search-analyzers was removed from + Hibernate Search 5. We recommend to depend on the appropriate Lucene artifact + directly, for example org.apache.lucene:lucene-analyzers-common. + ruleID: hsearch-00200 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.hibernate.hibernate-search-analyzers +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Dropped hibernate-search-analyzers maven artifact + The hibernate-search-analyzers module was removed. The recommended approach is to directly use the appropriate Lucene artifact,. for example org.apache.lucene:lucene-analyzers-common. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - maven + links: + - title: Miscelanous Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + message: The hibernate-search-analyzers module was removed. The recommended approach + is to directly use the appropriate Lucene artifact,. for example org.apache.lucene:lucene-analyzers-common. + ruleID: hsearch-00201 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: {} + xpath: //*[local-name() = 'artifactId' and text() = 'hibernate-search-analyzers'] +- category: optional + customVariables: [] + description: |- + Lucene 4.x - Changed constructor for org.apache.lucene.search.SortField + The Lucene SortField API requires the following application code change. In the previous release of JBoss EAP, you set the type of the sort field in the query as follows.. ```java. fulltextQuery.setSort(new Sort(new SortField("title", SortField.STRING)));. ```. The following is an example of how you set it in JBoss EAP 7.. ```java. fulltextQuery.setSort(new Sort(new SortField("title", SortField.Type.STRING))). ``` + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#sorting-options + - title: Miscellaneous Hibernate Search Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + message: The Lucene SortField API requires the following application code change. + In the previous release of JBoss EAP, you set the type of the sort field in the + query as follows.. ```java. fulltextQuery.setSort(new Sort(new SortField("title", + SortField.STRING)));. ```. The following is an example of how you set it in JBoss + EAP 7.. ```java. fulltextQuery.setSort(new Sort(new SortField("title", SortField.Type.STRING))). + ``` + ruleID: hsearch-00210 + when: + java.referenced: + location: CONSTRUCTOR_CALL + pattern: org.apache.lucene.search.SortField* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method ContainedInMapping#numericField + Method `ContainedInMapping#numericField()` has been deprecated and is scheduled for removal. Invoke `ContainedInMapping#field().numericField()` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Hibernate Search Deprecated Methods + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_deprecated_methods + message: Method `ContainedInMapping#numericField()` has been deprecated and is scheduled + for removal. Invoke `ContainedInMapping#field().numericField()` instead. + ruleID: hsearch-00211 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.cfg.ContainedInMapping.numericField* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method FullTextSharedSessionBuilder#autoClose + Don't use `FullTextSharedSessionBuilder#autoclose()` and `FullTextSharedSessionBuilder#autoclose(boolean)` method. There is no replacement. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Hibernate Search Deprecated Methods + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_deprecated_methods + message: Don't use `FullTextSharedSessionBuilder#autoclose()` and `FullTextSharedSessionBuilder#autoclose(boolean)` + method. There is no replacement. + ruleID: hsearch-00213 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.FullTextSharedSessionBuilder.autoClose* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method IndexedMapping#cacheFromIndex + This will be removed with no replacement. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Hibernate Search Deprecated Methods + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_deprecated_methods + message: This will be removed with no replacement. + ruleID: hsearch-00214 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.cfg.IndexedMapping.cacheFromIndex* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method EntityDescriptor#getCacheInMemory + This will be removed with no replacement. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Hibernate Search Deprecated Methods + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_deprecated_methods + message: This will be removed with no replacement. + ruleID: hsearch-00215 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.cfg.EntityDescriptor.getCacheInMemory* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method HSQuery#getExtendedSearchIntegrator + should be at most SearchIntegrator, preferably removed altogether + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: should be at most SearchIntegrator, preferably removed altogether + ruleID: hsearch-00216 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.query.engine.spi.HSQuery.getExtendedSearchIntegrator* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method DocumentBuilderIndexedEntity#getFieldCacheOption + The `DocumentBuilderIndexedEntity#getFieldCacheOption()` method has been deprecated. There is no replacement. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: The `DocumentBuilderIndexedEntity#getFieldCacheOption()` method has been + deprecated. There is no replacement. + ruleID: hsearch-00217 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.getFieldCacheOption* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method BuildContext#getIndexingStrategy + The `BuildContext#getIndexingStrategy()` method is deprecated. Use `BuildContext#getIndexingMode()` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: The `BuildContext#getIndexingStrategy()` method is deprecated. Use `BuildContext#getIndexingMode()` + instead. + ruleID: hsearch-00218 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.spi.BuildContext.getIndexingStrategy* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method DirectoryHelper#getVerifiedIndexDir + The `DirectoryHelper#getVerifiedIndexDir(String, Properties, boolean)` method is deprecated. Use `DirectoryHelper#getVerifiedIndexPath(java.lang.String, java.util.Properties, boolean)` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Advanced Integrator Changes in Hibernate Search 5.x + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: The `DirectoryHelper#getVerifiedIndexDir(String, Properties, boolean)` + method is deprecated. Use `DirectoryHelper#getVerifiedIndexPath(java.lang.String, + java.util.Properties, boolean)` instead. + ruleID: hsearch-00219 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.store.spi.DirectoryHelper.getVerifiedIndexDir* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method EntityDescriptor#setCacheInMemory + Method `org.hibernate.search.cfg.EntityDescriptor.setCacheInMemory` is deprecated and there is no replacement. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Miscellaneous Hibernate Search Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_miscellaneous_hibernate_search_changes + message: Method `org.hibernate.search.cfg.EntityDescriptor.setCacheInMemory` is + deprecated and there is no replacement. + ruleID: hsearch-00220 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.cfg.EntityDescriptor.setCacheInMemory* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method MassIndexer#threadsForSubsequentFetching + Method `org.hibernate.search.MassIndexer.threadsForSubsequentFetching(int)` is deprecated and will be removed. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Hibernate Search Deprecated Methods + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_deprecated_methods + message: Method `org.hibernate.search.MassIndexer.threadsForSubsequentFetching(int)` + is deprecated and will be removed. + ruleID: hsearch-00221 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.MassIndexer.threadsForSubsequentFetching* +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Deprecated method FuzzyContext#withThreshold + Use `FuzzyContext.withEditDistanceUpTo(int)` instead. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search 5.4 to 5.5 migration + url: http://hibernate.org/search/documentation/migrate/5.5/#api-changes + - title: Hibernate Search Deprecated Methods + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_deprecated_methods + message: Use `FuzzyContext.withEditDistanceUpTo(int)` instead. + ruleID: hsearch-00222 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.query.dsl.FuzzyContext.withThreshold* +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.lucene.queryParser.(?P(CharStream|FastCharStream|MultiFieldQueryParser|ParseException|QueryParser|QueryParserBase|QueryParserConstants|QueryParserTokenManager))? + description: | + Lucene 4.x - Classes repackaged to 'org.apache.lucene.queryparser.classic' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Changes Impacting Advanced Integrators + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: Lucene's core `org.apache.lucene.queryParser.{{type}}` have been consolidated + into lucene/queryparser, that results in changing package name so it is now named + as `org.apache.lucene.queryparser.classic.{{type}}`. + ruleID: hsearch-00224 + when: + java.referenced: + pattern: org.apache.lucene.queryParser.(CharStream|FastCharStream|MultiFieldQueryParser|ParseException|QueryParser|QueryParserBase|QueryParserConstants|QueryParserTokenManager) +- category: optional + customVariables: [] + description: |- + Lucene 4.x - Renamed class org.apache.lucene.queryParser.QueryParserToken + Lucene's core `org.apache.lucene.queryParser.QueryParserToken` have been consolidated into lucene/queryparser, that results in changing package name so it is now named as `org.apache.lucene.queryparser.classic.Token`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Changes Impacting Advanced Integrators + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: Lucene's core `org.apache.lucene.queryParser.QueryParserToken` have been + consolidated into lucene/queryparser, that results in changing package name so + it is now named as `org.apache.lucene.queryparser.classic.Token`. + ruleID: hsearch-00225 + when: + java.referenced: + pattern: org.apache.lucene.queryParser.QueryParserToken +- category: optional + customVariables: [] + description: |- + Lucene 4.x - Renamed class org.apache.lucene.queryParser.QueryParserTokenMgrError + Lucene's core `org.apache.lucene.queryParser.QueryParserTokenMgrError` have been consolidated into lucene/queryparser, that results in changing package name so it is now named as `org.apache.lucene.queryparser.classic.TokenMgrError`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Changes Impacting Advanced Integrators + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: Lucene's core `org.apache.lucene.queryParser.QueryParserTokenMgrError` + have been consolidated into lucene/queryparser, that results in changing package + name so it is now named as `org.apache.lucene.queryparser.classic.TokenMgrError`. + ruleID: hsearch-00226 + when: + java.referenced: + pattern: org.apache.lucene.queryParser.QueryParserTokenMgrError +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.lucene.analysis.(?P(KeywordAnalyzer|KeywordTokenizer|LetterTokenizer|LowerCaseFilter|LowerCaseTokenizer|SimpleAnalyzer|StopAnalyzer|StopFilter|WhitespaceAnalyzer|WhitespaceTokenizer))? + description: | + Lucene 4.x - Classes repackaged to 'org.apache.lucene.analysis.core' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.analysis.{{type}}` to `org.apache.lucene.analysis.core.{{type}}`. + ruleID: hsearch-00227 + when: + java.referenced: + pattern: org.apache.lucene.analysis.(KeywordAnalyzer|KeywordTokenizer|LetterTokenizer|LowerCaseFilter|LowerCaseTokenizer|SimpleAnalyzer|StopAnalyzer|StopFilter|WhitespaceAnalyzer|WhitespaceTokenizer) +- category: optional + customVariables: [] + description: |- + Lucene 4.x - Class 'PorterStemFilter' repackaged to 'org.apache.lucene.analysis.en' + Lucene's core and contrib analyzers, along with Solr's analyzers, were consolidated into lucene/analysis module.. During the refactoring package name have changed for `org.apache.lucene.analysis.PorterStemFilter` to `org.apache.lucene.analysis.en.PorterStemFilter`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.analysis.PorterStemFilter` to `org.apache.lucene.analysis.en.PorterStemFilter`. + ruleID: hsearch-00228 + when: + java.referenced: + pattern: org.apache.lucene.analysis.PorterStemFilter +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.lucene.analysis.(?P(ASCIIFoldingFilter|ISOLatin1AccentFilter|KeywordMarkerFilter|LengthFilter|PerFieldAnalyzerWrapper))? + description: | + Lucene 4.x - Classes repackaged to 'org.apache.lucene.analysis.miscellaneous' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.analysis.{{type}}` to `org.apache.lucene.analysis.miscellaneous.{{type}}`. + ruleID: hsearch-00229 + when: + java.referenced: + pattern: org.apache.lucene.analysis.(ASCIIFoldingFilter|ISOLatin1AccentFilter|KeywordMarkerFilter|LengthFilter|PerFieldAnalyzerWrapper) +- category: optional + customVariables: [] + description: |- + Lucene 4.x - Class 'TeeSinkTokenFilter' repackaged to 'org.apache.lucene.analysis.sinks' + Lucene's core and contrib analyzers, along with Solr's analyzers, were consolidated into lucene/analysis module.. During the refactoring package name have changed for `org.apache.lucene.analysis.TeeSinkTokenFilter` to `org.apache.lucene.analysis.sinks.TeeSinkTokenFilter`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.analysis.TeeSinkTokenFilter` to `org.apache.lucene.analysis.sinks.TeeSinkTokenFilter`. + ruleID: hsearch-00230 + when: + java.referenced: + pattern: org.apache.lucene.analysis.TeeSinkTokenFilter +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.lucene.analysis.(?P(CharFilter|BaseCharFilter|MappingCharFilter|NormalizeCharMap))? + description: | + Lucene 4.x - Classes repackaged to 'org.apache.lucene.analysis.charfilter' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.analysis.{{type}}` to `org.apache.lucene.analysis.charfilter.{{type}}`. + ruleID: hsearch-00231 + when: + java.referenced: + pattern: org.apache.lucene.analysis.(CharFilter|BaseCharFilter|MappingCharFilter|NormalizeCharMap) +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.lucene.analysis.(?P(CharArraySet|CharArrayMap|StopwordAnalyzerBase|WordlistLoader|CharTokenizer))? + description: | + Lucene 4.x - Classes repackaged to 'org.apache.lucene.analysis.util' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.analysis.{{type}}` to `org.apache.lucene.analysis.util.{{type}}`. + ruleID: hsearch-00232 + when: + java.referenced: + pattern: org.apache.lucene.analysis.(CharArraySet|CharArrayMap|StopwordAnalyzerBase|WordlistLoader|CharTokenizer) +- category: optional + customVariables: [] + description: |- + Lucene 4.x - Class 'ReusableAnalyzerBase' renamed to 'org.apache.lucene.analysis.Analyzer' + Lucene's core and contrib analyzers, along with Solr's analyzers, were consolidated into lucene/analysis module.. During the refactoring class name have changed for `org.apache.lucene.analysis.ReusableAnalyzerBase` to `org.apache.lucene.analysis.Analyzer`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring class name have + changed for `org.apache.lucene.analysis.ReusableAnalyzerBase` to `org.apache.lucene.analysis.Analyzer`. + ruleID: hsearch-00233 + when: + java.referenced: + pattern: org.apache.lucene.analysis.ReusableAnalyzerBase +- category: optional + customVariables: [] + description: |- + Lucene 4.x - Class 'CharacterUtils' repackaged to 'org.apache.lucene.analysis.util' + Lucene's core and contrib analyzers, along with Solr's analyzers, were consolidated into lucene/analysis module.. During the refactoring package name have changed for `org.apache.lucene.util.CharacterUtils` to `org.apache.lucene.analysis.util.CharacterUtils`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.util.CharacterUtils` to `org.apache.lucene.analysis.util.CharacterUtils`. + ruleID: hsearch-00234 + when: + java.referenced: + pattern: org.apache.lucene.util.CharacterUtils +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.lucene.search.function.(?P(CustomScoreQuery|CustomScoreProvider))? + description: | + Lucene 4.x - Classes repackaged to 'org.apache.lucene.queries' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.search.function.{{type}}` to `org.apache.lucene.queries.{{type}}`. + ruleID: hsearch-00235 + when: + java.referenced: + pattern: org.apache.lucene.search.function.(CustomScoreQuery|CustomScoreProvider) +- category: optional + customVariables: [] + description: |- + Lucene 4.x - Class 'NumericIndexDocValueSource' repackaged to 'org.apache.lucene.queries.function.valuesource' + Lucene's core and contrib analyzers, along with Solr's analyzers, were consolidated into lucene/analysis module.. During the refactoring package name have changed for `org.apache.lucene.search.function.NumericIndexDocValueSource` to `org.apache.lucene.queries.function.valuesource.NumericIndexDocValueSource`. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.search.function.NumericIndexDocValueSource` + to `org.apache.lucene.queries.function.valuesource.NumericIndexDocValueSource`. + ruleID: hsearch-00236 + when: + java.referenced: + pattern: org.apache.lucene.search.function.NumericIndexDocValueSource +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.lucene.search.function.(?P(DocValues|FieldScoreQuery|ValueSource|ValueSourceQuery))? + description: | + Lucene 4.x - Classes repackaged to 'org.apache.lucene.queries.function' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.search.function.{{type}}` to `org.apache.lucene.queries.function.{{type}}`. + ruleID: hsearch-00237 + when: + java.referenced: + pattern: org.apache.lucene.search.function.(DocValues|FieldScoreQuery|ValueSource|ValueSourceQuery) +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.lucene.search.function.(?P(ByteFieldSource|FieldCacheSource|FloatFieldSource|IntFieldSource|OrdFieldSource|ReverseOrdFieldSource|ShortFieldSource))? + description: | + Lucene 4.x - Classes repackaged to 'org.apache.lucene.queries.function.valuesources' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Lucene - Renamed and Repackaged Classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_lucene_renamed_and_repackaged_classes + message: Lucene's core and contrib analyzers, along with Solr's analyzers, were + consolidated into lucene/analysis module.. During the refactoring package name + have changed for `org.apache.lucene.search.function.{{type}}` to `org.apache.lucene.queries.function.valuesources.{{type}}`. + ruleID: hsearch-00238 + when: + java.referenced: + pattern: org.apache.lucene.search.function.(ByteFieldSource|FieldCacheSource|FloatFieldSource|IntFieldSource|OrdFieldSource|ReverseOrdFieldSource|ShortFieldSource) +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.apache.solr.analysis.(?P(TokenizerFactory|TokenFilterFactory))? + description: | + Lucene 4.x - Solr classes repackaged to 'org.apache.lucene.analysis.util' + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + - lucene + links: + - title: Apache Lucene Migration Guide + url: http://lucene.apache.org/core/4_10_2/MIGRATE.html + - title: Renamed classes within Apache Lucene + url: http://hibernate.org/search/documentation/migrate/5.0/#within-apache-lucene + - title: Changes Impacting Advanced Integrators + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_advanced_integrator_changes + message: Solr utilities class `org.apache.solr.analysis.{{type}}` was moved into + Apache Lucene so you can use `org.apache.lucene.analysis.util.{{type}}`. + ruleID: hsearch-00239 + when: + java.referenced: + pattern: org.apache.solr.analysis.(TokenizerFactory|TokenFilterFactory) +- category: optional + customVariables: [] + description: |- + Hibernate Search 5 - Removed method MassIndexer#threadsForIndexWriter + Method `org.hibernate.search.MassIndexer#threadsForIndexWriter(int)` was removed in Hibernate Search 5. + effort: 1 + labels: + - konveyor.io/source=hibernate-search4 + - konveyor.io/source=eap6 + - konveyor.io/target=hibernate-search5 + - konveyor.io/target=eap7 + - hibernate-search + - hibernate + links: + - title: Hibernate Search Removed Methods + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_hibernate_search_deprecated_methods + message: Method `org.hibernate.search.MassIndexer#threadsForIndexWriter(int)` was + removed in Hibernate Search 5. + ruleID: hsearch-00240 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.MassIndexer.threadsForIndexWriter* diff --git a/resources/rulesets/eap7/72-jax-ws.windup.yaml b/resources/rulesets/eap7/72-jax-ws.windup.yaml new file mode 100644 index 0000000..41b112b --- /dev/null +++ b/resources/rulesets/eap7/72-jax-ws.windup.yaml @@ -0,0 +1,29 @@ +- category: mandatory + customVariables: [] + description: |- + JAX-WS 2.2 Requirements for WebServiceRef + EAP 7 uses JAX-WS 2.2 style constructors with the `javax.xml.ws.WebServiceFeature` class to build clients that are injected into web service references (i.e. using the `@WebServiceRef` annotation).. This means that user provided service classes injected by the container must implement JAX-WS 2.2 or later.. The class must be changed to add the constructor [`Service(URL wsdlDocumentLocation, QName serviceName, WebServiceFeature... features)`](https://docs.oracle.com/javase/7/docs/api/javax/xml/ws/Service.html#Service(java.net.URL,%20javax.xml.namespace.QName,%20javax.xml.ws.WebServiceFeature...)) + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + - jax-ws + links: [] + message: EAP 7 uses JAX-WS 2.2 style constructors with the `javax.xml.ws.WebServiceFeature` + class to build clients that are injected into web service references (i.e. using + the `@WebServiceRef` annotation).. This means that user provided service classes + injected by the container must implement JAX-WS 2.2 or later.. The class must + be changed to add the constructor [`Service(URL wsdlDocumentLocation, QName serviceName, + WebServiceFeature... features)`](https://docs.oracle.com/javase/7/docs/api/javax/xml/ws/Service.html#Service(java.net.URL,%20javax.xml.namespace.QName,%20javax.xml.ws.WebServiceFeature...)) + ruleID: jax-ws-00000 + when: + or: + - as: step1 + java.referenced: + location: INHERITANCE + pattern: javax.xml.ws.Service + - as: step2 + from: step1 + java.referenced: + location: METHOD + pattern: '*(java.net.URL, javax.xml.namespace.QName)' diff --git a/resources/rulesets/eap7/73-resteasy.windup.yaml b/resources/rulesets/eap7/73-resteasy.windup.yaml new file mode 100644 index 0000000..320b1e6 --- /dev/null +++ b/resources/rulesets/eap7/73-resteasy.windup.yaml @@ -0,0 +1,1140 @@ +- category: mandatory + customVariables: + - name: cache_class + nameOfCaptureGroup: cache_class + pattern: org.jboss.resteasy.client.cache.(?P(CacheEntry|CacheFactory|CacheInterceptor|LightweightBrowserCache|BrowserCache|MapCache))? + description: |- + RESTEasy 3 Cache Client package change + Caching in the RESTEasy client framework in resteasy-jaxrs is replaced by caching in the JAX-RS 2.0 compliant resteasy-client module.. Use `org.jboss.resteasy.client.jaxrs.cache` package instead of `org.jboss.resteasy.client.cache`. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + message: Caching in the RESTEasy client framework in resteasy-jaxrs is replaced + by caching in the JAX-RS 2.0 compliant resteasy-client module.. Use `org.jboss.resteasy.client.jaxrs.cache` + package instead of `org.jboss.resteasy.client.cache`. + ruleID: resteasy-eap6-000001 + when: + java.referenced: + pattern: org.jboss.resteasy.client.cache.(CacheEntry|CacheFactory|CacheInterceptor|LightweightBrowserCache|BrowserCache|MapCache) +- category: optional + customVariables: [] + description: |- + Deprecated class ClientRequest in RESTEasy 3 + Replace class `org.jboss.resteasy.client.ClientRequest` with `org.jboss.resteasy.client.jaxrs.ResteasyClient`.. The following is an example of how to send a link header with the RESTEasy client in EAP 6 with RESTEasy 2.3.x.. ```java. ClientRequest request = new ClientRequest(generateURL("/linkheader/str"));. request.addLink("previous chapter", "previous", "http://example.com/TheBook/chapter2", null);. ClientResponse response = request.post();. LinkHeader header = response.getLinkHeader();. ```. The following is an example of how to accomplish the same task with the RESTEasy client in RESTEasy 3.. ```java. ResteasyClient client = new ResteasyClientBuilder().build();. Response response = client.target(generateURL("/linkheader/str")).request(). .header("Link", "; rel="previous";. title="previous chapter">").post(Entity.text(new String()));. javax.ws.rs.core.Link link = response.getLink("previous");. ``` + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + message: Replace class `org.jboss.resteasy.client.ClientRequest` with `org.jboss.resteasy.client.jaxrs.ResteasyClient`.. + The following is an example of how to send a link header with the RESTEasy client + in EAP 6 with RESTEasy 2.3.x.. ```java. ClientRequest request = new ClientRequest(generateURL("/linkheader/str"));. + request.addLink("previous chapter", "previous", "http://example.com/TheBook/chapter2", + null);. ClientResponse response = request.post();. LinkHeader header = response.getLinkHeader();. + ```. The following is an example of how to accomplish the same task with the RESTEasy + client in RESTEasy 3.. ```java. ResteasyClient client = new ResteasyClientBuilder().build();. + Response response = client.target(generateURL("/linkheader/str")).request(). .header("Link", + "; rel="previous";. title="previous chapter">").post(Entity.text(new + String()));. javax.ws.rs.core.Link link = response.getLink("previous");. ``` + ruleID: resteasy-eap6-000002 + when: + java.referenced: + pattern: org.jboss.resteasy.client.ClientRequest +- category: optional + customVariables: [] + description: |- + Deprecated class ClientResponse in RESTEasy 3 + Replace `org.jboss.resteasy.client.ClientResponse` class with `javax.ws.rs.core.Response`. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + message: Replace `org.jboss.resteasy.client.ClientResponse` class with `javax.ws.rs.core.Response`. + ruleID: resteasy-eap6-000003 + when: + java.referenced: + pattern: org.jboss.resteasy.client.ClientResponse +- category: optional + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: org.jboss.resteasy.client.(?P(ProxyBuilder|ProxyConfig|ProxyFactory))? + description: | + Deprecated class org.jboss.resteasy.client.{type} in RESTEasy 3 + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + message: Replace this class with `org.jboss.resteasy.client.jaxrs.{{type}}`. + ruleID: resteasy-eap6-000004 + when: + java.referenced: + pattern: org.jboss.resteasy.client.(ProxyBuilder|ProxyConfig|ProxyFactory) +- category: optional + customVariables: [] + description: |- + Deprecated class EntityTypeFactory in RESTEasy 3 + There is no direct replacement for `org.jboss.resteasy.client.EntityTypeFactory` class.. `org.jboss.resteasy.client.ClientResponse` is a generic type in the RESTEasy client framework,. but `org.jboss.resteasy.client.jaxrs.internal.ClientResponse` in the resteasy-client module is not, so. `EntityTypeFactory` is no longer useful. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + message: There is no direct replacement for `org.jboss.resteasy.client.EntityTypeFactory` + class.. `org.jboss.resteasy.client.ClientResponse` is a generic type in the + RESTEasy client framework,. but `org.jboss.resteasy.client.jaxrs.internal.ClientResponse` + in the resteasy-client module is not, so. `EntityTypeFactory` is no longer useful. + ruleID: resteasy-eap6-000005 + when: + java.referenced: + pattern: org.jboss.resteasy.client.EntityTypeFactory +- category: optional + customVariables: [] + description: |- + Deprecated interface ClientExecutor in RESTEasy 3 + Replace the `org.jboss.resteasy.client.ClientExecutor` usage with `org.jboss.resteasy.client.jaxrs.ClientHttpEngine` class. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + message: Replace the `org.jboss.resteasy.client.ClientExecutor` usage with `org.jboss.resteasy.client.jaxrs.ClientHttpEngine` + class. + ruleID: resteasy-eap6-000006 + when: + java.referenced: + pattern: org.jboss.resteasy.client.ClientExecutor +- category: optional + customVariables: [] + description: |- + Deprecated class ClientRequestFactory in RESTEasy 3 + Replace the `org.jboss.resteasy.client.ClientRequestFactory` usage with `org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder` class. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + message: Replace the `org.jboss.resteasy.client.ClientRequestFactory` usage with + `org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder` class. + ruleID: resteasy-eap6-000007 + when: + java.referenced: + pattern: org.jboss.resteasy.client.ClientRequestFactory +- category: optional + customVariables: [] + description: |- + Deprecated exception ClientResponseFailure in RESTEasy 3 + Replace the `org.jboss.resteasy.client.ClientResponseFailure` with `javax.ws.rs.client.ResponseProcessingException`. or with `javax.ws.rs.client.ProcessingException` or with `javax.ws.rs.client.WebApplicationException` class. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + message: Replace the `org.jboss.resteasy.client.ClientResponseFailure` with `javax.ws.rs.client.ResponseProcessingException`. + or with `javax.ws.rs.client.ProcessingException` or with `javax.ws.rs.client.WebApplicationException` + class. + ruleID: resteasy-eap6-000008 + when: + java.referenced: + pattern: org.jboss.resteasy.client.ClientResponseFailure +- category: mandatory + customVariables: [] + description: |- + RESTEasy 3 SPI Application Change for StringConverter + Replace `org.jboss.resteasy.spi.StringConverter` by `javax.ws.rs.ext.ParamConverterProvider`. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + - title: JAX-RS API + url: https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/index.html?javax/ws/rs/ext/ParamConverterProvider.html + message: Replace `org.jboss.resteasy.spi.StringConverter` by `javax.ws.rs.ext.ParamConverterProvider`. + ruleID: resteasy-eap6-000009 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.StringConverter +- category: mandatory + customVariables: [] + description: |- + RESTEasy 3 SPI Application Changes for InjectorFactory + There were multiple changes on adding/removing methods on `org.jboss.resteasy.spi.InjectorFactory`. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#injectorfactory_and_registry + - title: RESTEasy SPI InjectorFactory Changes + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/index.html?org/jboss/resteasy/spi/InjectorFactory.html + message: There were multiple changes on adding/removing methods on `org.jboss.resteasy.spi.InjectorFactory`. + ruleID: resteasy-eap6-000010 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.InjectorFactory +- category: optional + customVariables: [] + description: |- + Deprecated interface MessageBodyWriterInterceptor in RESTEasy 3 + The interface `org.jboss.resteasy.spi.interception.MessageBodyWriterInterceptor` is deprecated and you should use `javax.ws.rs.ext.WriterInterceptor` from JAX-RS API. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.oracle.com/javaee/7/api/javax/ws/rs/ext/WriterInterceptor.html + message: The interface `org.jboss.resteasy.spi.interception.MessageBodyWriterInterceptor` + is deprecated and you should use `javax.ws.rs.ext.WriterInterceptor` from JAX-RS + API. + ruleID: resteasy-eap6-000011 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.MessageBodyWriterInterceptor +- category: optional + customVariables: [] + description: |- + Deprecated interface MessageBodyReaderInterceptor in RESTEasy 3 + The interface `org.jboss.resteasy.spi.interception.MessageBodyReaderInterceptor` is deprecated and you should use `javax.ws.rs.ext.ReaderInterceptor` from JAX-RS API. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/ext/ReaderInterceptor.html + message: The interface `org.jboss.resteasy.spi.interception.MessageBodyReaderInterceptor` + is deprecated and you should use `javax.ws.rs.ext.ReaderInterceptor` from JAX-RS + API. + ruleID: resteasy-eap6-000012 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.MessageBodyReaderInterceptor +- category: optional + customVariables: [] + description: |- + Deprecated interface MessageBodyWriterContext in RESTEasy 3 + The interface `org.jboss.resteasy.spi.interception.MessageBodyWriterContext` is replaced by the `javax.ws.rs.ext.WriterInterceptorContext` interface by JAX-RS 2.0 compliant interceptor facility. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/ext/ReaderInterceptor.html + message: The interface `org.jboss.resteasy.spi.interception.MessageBodyWriterContext` + is replaced by the `javax.ws.rs.ext.WriterInterceptorContext` interface by JAX-RS + 2.0 compliant interceptor facility. + ruleID: resteasy-eap6-000013 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.MessageBodyWriterContext +- category: optional + customVariables: [] + description: |- + Deprecated class InterceptorRegistry in RESTEasy 3 + `org.jboss.resteasy.core.interception.InterceptorRegistry` is deprecated in favor of the JAX-RS 2.0 Interceptor and filter API. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: Java EE 7 and JAX-RS 2.0 + url: https://oracle.com/technical-resources/articles/java/jaxrs20.html + message: '`org.jboss.resteasy.core.interception.InterceptorRegistry` is deprecated + in favor of the JAX-RS 2.0 Interceptor and filter API.' + ruleID: resteasy-eap6-000014 + when: + java.referenced: + pattern: org.jboss.resteasy.core.interception.InterceptorRegistry +- category: optional + customVariables: [] + description: |- + Deprecated interface InterceptorRegistryListener in RESTEasy 3 + `org.jboss.resteasy.core.interception.InterceptorRegistryListener` is deprecated in favor of the JAX-RS 2.0 Interceptor and filter API. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: Java EE 7 and JAX-RS 2.0 + url: https://oracle.com/technical-resources/articles/java/jaxrs20.html + message: '`org.jboss.resteasy.core.interception.InterceptorRegistryListener` is + deprecated in favor of the JAX-RS 2.0 Interceptor and filter API.' + ruleID: resteasy-eap6-000015 + when: + java.referenced: + pattern: org.jboss.resteasy.core.interception.InterceptorRegistryListener +- category: mandatory + customVariables: [] + description: |- + Removed class ApacheHttpClientExecutor from in RESTEasy 3 + No direct replacement. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RESTEasy javadoc for ApacheHttpClientExecutor + url: https://docs.jboss.org/resteasy/docs/2.3.1.GA/javadocs/org/jboss/resteasy/client/core/executors/ApacheHttpClientExecutor.html + message: No direct replacement. + ruleID: resteasy-eap6-000017 + when: + java.referenced: + pattern: org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor +- category: optional + customVariables: [] + description: |- + Deprecated interface AcceptedByMethod in RESTEasy 3 + Use `javax.ws.rs.container.DynamicFeature` for Dynamic binding instead of implementing `org.jboss.resteasy.spi.interception.AcceptedByMethod` interface. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/container/DynamicFeature.html + message: Use `javax.ws.rs.container.DynamicFeature` for Dynamic binding instead + of implementing `org.jboss.resteasy.spi.interception.AcceptedByMethod` interface. + ruleID: resteasy-eap6-000019 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.AcceptedByMethod +- category: mandatory + customVariables: [] + description: |- + Removed annotation ServerCached in RESTEasy 3 + Remove annotation `@org.jboss.resteasy.annotations.cache.ServerCached' as it was removed in RESTEasy 3.x. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy removes additional classes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#additional_classes_removed_from_resteasy_3 + - title: JAX-RS API ServerCached annotation API + url: https://docs.jboss.org/resteasy/docs/2.3.5.Final/javadocs/index.html?org/jboss/resteasy/annotations/cache/ServerCached.html + - title: Local Server-side Response Cache + url: http://docs.jboss.org/resteasy/docs/3.0.16.Final/userguide/html_single/index.html#server_cache + message: Remove annotation `@org.jboss.resteasy.annotations.cache.ServerCached' + as it was removed in RESTEasy 3.x. + ruleID: resteasy-eap6-000020 + when: + java.referenced: + pattern: org.jboss.resteasy.annotations.cache.ServerCached +- category: optional + customVariables: [] + description: |- + Deprecated class Link in RESTEasy 3 + Replaced by `javax.ws.rs.core.Link` in JAX-RS API. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - jax-rs + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API Link + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/core/Link.html + message: Replaced by `javax.ws.rs.core.Link` in JAX-RS API. + ruleID: resteasy-eap6-000021 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.Link +- category: optional + customVariables: [] + description: |- + Deprecated interface ClientExecutionContext in RESTEasy 3 + `org.jboss.resteasy.spi.interception.ClientExecutionContext` is deprecated in favor of the JAX-RS 2.0 Interceptor and filter API. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: Java EE 7 and JAX-RS 2.0 + url: https://oracle.com/technical-resources/articles/java/jaxrs20.html + message: '`org.jboss.resteasy.spi.interception.ClientExecutionContext` is deprecated + in favor of the JAX-RS 2.0 Interceptor and filter API.' + ruleID: resteasy-eap6-000022 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.ClientExecutionContext +- category: optional + customVariables: [] + description: |- + Deprecated interface ClientExecutionInterceptor in RESTEasy 3 + Use `javax.ws.rs.client.Invocation` instead of `org.jboss.resteasy.spi.interception.ClientExecutionInterceptor`.. The RESTEasy interceptor facility introduced in release 2.x is replaced by the JAX-RS 2.0 compliant interceptor facility in release 3.0.x. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + message: Use `javax.ws.rs.client.Invocation` instead of `org.jboss.resteasy.spi.interception.ClientExecutionInterceptor`.. + The RESTEasy interceptor facility introduced in release 2.x is replaced by the + JAX-RS 2.0 compliant interceptor facility in release 3.0.x. + ruleID: resteasy-eap6-000023 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.ClientExecutionInterceptor +- category: mandatory + customVariables: [] + description: |- + ResteasyProviderFactory#add* methods were removed + Most of the `org.jboss.resteasy.spi.ResteasyProviderFactory#add*` methods have been removed or made protected in RESTEasy 3.0.. For example, the `addBuiltInMessageBodyReader()` and `addBuiltInMessageBodyWriter()` methods have been removed and the `addMessageBodyReader()` and `addMessageBodyWriter()` methods have been made protected.. You should now use the `registerProvider()` and `registerProviderInstance()` methods. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy removed/protected methods on ResteasyProviderFactory class + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#resteasyproviderfactory_add_methods + - title: JAX-RS API + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/spi/ResteasyProviderFactory.html + message: Most of the `org.jboss.resteasy.spi.ResteasyProviderFactory#add*` methods + have been removed or made protected in RESTEasy 3.0.. For example, the `addBuiltInMessageBodyReader()` + and `addBuiltInMessageBodyWriter()` methods have been removed and the `addMessageBodyReader()` + and `addMessageBodyWriter()` methods have been made protected.. You should now + use the `registerProvider()` and `registerProviderInstance()` methods. + ruleID: resteasy-eap6-000024 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.spi.ResteasyProviderFactory.add* +- category: optional + customVariables: [] + description: |- + Deprecated interface MessageBodyReaderContext in RESTEasy 3 + Use `javax.ws.rs.ext.ReaderInterceptorContext` instead of `org.jboss.resteasy.spi.interception.MessageBodyReaderContext`.. The RESTEasy interceptor facility introduced in release 2.x is replaced by the JAX-RS 2.0 compliant interceptor facility in release 3.0.x. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/ext/ReaderInterceptor.html + message: Use `javax.ws.rs.ext.ReaderInterceptorContext` instead of `org.jboss.resteasy.spi.interception.MessageBodyReaderContext`.. + The RESTEasy interceptor facility introduced in release 2.x is replaced by the + JAX-RS 2.0 compliant interceptor facility in release 3.0.x. + ruleID: resteasy-eap6-000025 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.MessageBodyReaderContext +- category: optional + customVariables: [] + description: |- + Deprecated interface PostProcessInterceptor in RESTEasy 3 + Use `javax.ws.rs.container.ContainerResponseFilter` instead of `org.jboss.resteasy.spi.interception.PostProcessInterceptor`.. The RESTEasy interceptor facility introduced in release 2.x is replaced by the JAX-RS 2.0 compliant filters and interceptor facility in release 3.0.x. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/index.html?javax/ws/rs/container/ContainerResponseFilter.html + message: Use `javax.ws.rs.container.ContainerResponseFilter` instead of `org.jboss.resteasy.spi.interception.PostProcessInterceptor`.. + The RESTEasy interceptor facility introduced in release 2.x is replaced by the + JAX-RS 2.0 compliant filters and interceptor facility in release 3.0.x. + ruleID: resteasy-eap6-000029 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.PostProcessInterceptor +- category: optional + customVariables: [] + description: |- + Deprecated interface PreProcessInterceptor in RESTEasy 3 + Use `javax.ws.rs.container.ContainerRequestFilter` instead of `org.jboss.resteasy.spi.interception.PreProcessInterceptor`.. The RESTEasy interceptor facility introduced in release 2.x is replaced by the JAX-RS 2.0 compliant filters and interceptor facility in release 3.0.x. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://jax-rs-spec.java.net/nonav/2.0-rev-a/apidocs/index.html?javax/ws/rs/container/ContainerRequestFilter.html + message: Use `javax.ws.rs.container.ContainerRequestFilter` instead of `org.jboss.resteasy.spi.interception.PreProcessInterceptor`.. + The RESTEasy interceptor facility introduced in release 2.x is replaced by the + JAX-RS 2.0 compliant filters and interceptor facility in release 3.0.x. + ruleID: resteasy-eap6-000030 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.interception.PreProcessInterceptor +- category: mandatory + customVariables: [] + description: |- + RESTEasy 3 SPI Registry changed + There were multiple changes on adding/removing methods on `org.jboss.resteasy.spi.Registry`. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#injectorfactory_and_registry + - title: RESTEasy SPI Registry Changes + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/index.html?org/jboss/resteasy/spi/Registry.html + message: There were multiple changes on adding/removing methods on `org.jboss.resteasy.spi.Registry`. + ruleID: resteasy-eap6-000032 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.Registry +- category: optional + customVariables: [] + description: |- + Deprecated exception ForbiddenException in RESTEasy 3 + Replaced by `javax.ws.rs.ForbiddenException` in jaxrs-api module. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - jax-rs + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + - title: JAX-RS client Exception API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/ForbiddenException.html + message: Replaced by `javax.ws.rs.ForbiddenException` in jaxrs-api module. + ruleID: resteasy-eap6-000101 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.ForbiddenException +- category: optional + customVariables: [] + description: |- + Deprecated exception MethodNotAllowedException in RESTEasy 3 + Replaced by `javax.ws.rs.NotAllowedException` in jaxrs-api module. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - jax-rs + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + - title: JAX-RS client Exception API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/NotAllowedException.html + message: Replaced by `javax.ws.rs.NotAllowedException` in jaxrs-api module. + ruleID: resteasy-eap6-000103 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.MethodNotAllowedException +- category: optional + customVariables: [] + description: |- + Deprecated exception NotAcceptableException in RESTEasy 3 + Replaced by `javax.ws.rs.NotAcceptableException` in jaxrs-api module. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - jax-rs + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + - title: JAX-RS client Exception API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/NotAcceptableException.html + message: Replaced by `javax.ws.rs.NotAcceptableException` in jaxrs-api module. + ruleID: resteasy-eap6-000104 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.NotAcceptableException +- category: optional + customVariables: [] + description: |- + Deprecated exception NotFoundException in RESTEasy 3 + Replaced by `javax.ws.rs.NotFoundException` in jaxrs-api module. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - jax-rs + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + - title: JAX-RS client Exception API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/NotFoundException.html + message: Replaced by `javax.ws.rs.NotFoundException` in jaxrs-api module. + ruleID: resteasy-eap6-000105 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.NotFoundException +- category: optional + customVariables: [] + description: |- + Deprecated exception UnauthorizedException in RESTEasy 3 + Replaced by `javax.ws.rs.NotAuthorizedException` in jaxrs-api module. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - jax-rs + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + - title: JAX-RS client Exception API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/NotAuthorizedException.html + message: Replaced by `javax.ws.rs.NotAuthorizedException` in jaxrs-api module. + ruleID: resteasy-eap6-000106 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.UnauthorizedException +- category: optional + customVariables: [] + description: |- + Deprecated exception UnsupportedMediaTypeException in RESTEasy 3 + Replaced by `javax.ws.rs.NotSupportedException` in jaxrs-api module. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - jax-rs + links: + - title: RESTEasy Client Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#application_migration_changes + - title: JAX-RS client Exception API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/NotSupportedException.html + message: Replaced by `javax.ws.rs.NotSupportedException` in jaxrs-api module. + ruleID: resteasy-eap6-000107 + when: + java.referenced: + pattern: org.jboss.resteasy.spi.UnsupportedMediaTypeException +- category: optional + customVariables: [] + description: |- + Deprecated method ServerCookie#checkName in RESTEasy 3 + RESTEasy 3 deprecates method `org.jboss.resteasy.plugins.delegates.ServerCookie#checkName` without a replacement.. It was deprecated in the original `org.apache.tomcat.util.http.ServerCookie` class which was a template for this method. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + message: RESTEasy 3 deprecates method `org.jboss.resteasy.plugins.delegates.ServerCookie#checkName` + without a replacement.. It was deprecated in the original `org.apache.tomcat.util.http.ServerCookie` + class which was a template for this method. + ruleID: resteasy-eap6-000118 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.plugins.delegates.ServerCookie.checkName* +- category: optional + customVariables: [] + description: |- + Deprecated method JAXBContextWrapper#createValidator in RESTEasy 3 + Empty + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + message: Empty + ruleID: resteasy-eap6-000119 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.plugins.providers.jaxb.JAXBContextWrapper.createValidator* +- category: optional + customVariables: [] + description: |- + Deprecated method ResteasyHttpServletResponseWrapper#encodeRedirectUrl + Replace method calls of `encodeRedirectUrl` with `encodeRedirectURL(String url)`. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/ext/ReaderInterceptor.html + message: Replace method calls of `encodeRedirectUrl` with `encodeRedirectURL(String + url)`. + ruleID: resteasy-eap6-000120 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.core.ResteasyHttpServletResponseWrapper.encodeRedirectUrl* +- category: optional + customVariables: [] + description: |- + Deprecated ResteasyHttpServletResponseWrapper#encodeUrl method + Replace `ResteasyHttpServletResponseWrapper#encodeUrl` with `ResteasyHttpServletResponseWrapper#encodeURL(String url)`. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/ext/ReaderInterceptor.html + message: Replace `ResteasyHttpServletResponseWrapper#encodeUrl` with `ResteasyHttpServletResponseWrapper#encodeURL(String + url)`. + ruleID: resteasy-eap6-000121 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.core.ResteasyHttpServletResponseWrapper.encodeUrl* +- category: optional + customVariables: [] + description: |- + Deprecated method MultipartFormDataInputImpl#getFormData in RESTEasy 3 + `MultipartFormDataInputImpl#getFormData` method will be removed in the future. Use `MultipartFormDataInput#getFormDataMap()` instead. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RESTEasy MultipartFormDataInputImpl#getFormData API + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInputImpl.html#getFormData() + message: '`MultipartFormDataInputImpl#getFormData` method will be removed in the + future. Use `MultipartFormDataInput#getFormDataMap()` instead.' + ruleID: resteasy-eap6-000122 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInputImpl.getFormData* +- category: optional + customVariables: [] + description: |- + Deprecated method MultipartFormDataInput#getFormData in RESTEasy 3 + `MultipartFormDataInput#getFormData` method will be removed in the future. Use `MultipartFormDataInput#getFormDataMap()` instead. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RESTEasy MultipartFormDataInput#getFormData API + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataInput.html#getFormData() + message: '`MultipartFormDataInput#getFormData` method will be removed in the future. + Use `MultipartFormDataInput#getFormDataMap()` instead.' + ruleID: resteasy-eap6-000123 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput.getFormData* +- category: optional + customVariables: [] + description: |- + Deprecated method ResteasyHttpServletRequestWrapper.isRequestedSessionIdFromURL in RESTEasy 3 + As of Version 2.1 of the Java Servlet API, use `ResteasyHttpServletRequestWrapper.isRequestedSessionIdFromURL()` instead. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RestEasy javadoc API + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/core/ResteasyHttpServletRequestWrapper.html#isRequestedSessionIdFromUrl() + message: As of Version 2.1 of the Java Servlet API, use `ResteasyHttpServletRequestWrapper.isRequestedSessionIdFromURL()` + instead. + ruleID: resteasy-eap6-000125 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.core.ResteasyHttpServletRequestWrapper.isRequestedSessionIdFromUrl* +- category: optional + customVariables: [] + description: |- + Deprecated method SecureUnmarshaller#isValidating in RESTEasy 3 + Method `org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller#isValidating` is deprecated without a replacement. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RESTEasy javadoc for SecureUnmarshaller.html#isValidating() + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/plugins/providers/jaxb/SecureUnmarshaller.html#isValidating() + message: Method `org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller#isValidating` + is deprecated without a replacement. + ruleID: resteasy-eap6-000126 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller.isValidating* +- category: optional + customVariables: [] + description: |- + Deprecated method ServerCookie#maybeQuote in RESTEasy 3 + RESTEasy 3 deprecates method `org.jboss.resteasy.plugins.delegates.ServerCookie#maybeQuote` without a replacement.. It was deprecated in the original `org.apache.tomcat.util.http.ServerCookie` class which was a template for this method. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/plugins/delegates/ServerCookie.html#maybeQuote%28int,%20java.lang.StringBuffer,%20java.lang.String%29 + message: RESTEasy 3 deprecates method `org.jboss.resteasy.plugins.delegates.ServerCookie#maybeQuote` + without a replacement.. It was deprecated in the original `org.apache.tomcat.util.http.ServerCookie` + class which was a template for this method. + ruleID: resteasy-eap6-000127 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.plugins.delegates.ServerCookie.maybeQuote* +- category: optional + customVariables: [] + description: |- + Deprecated method SecureUnmarshaller#setAdapter in RESTEasy 3 + Method `org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller#setAdapter` is deprecated in RESTEasy 3. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: JAX-RS API + url: https://docs.oracle.com/javaee/7/api/index.html?javax/ws/rs/ext/ReaderInterceptor.html + message: Method `org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller#setAdapter` + is deprecated in RESTEasy 3. + ruleID: resteasy-eap6-000128 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller.setAdapter* +- category: optional + customVariables: [] + description: |- + Deprecated method ResteasyHttpServletResponseWrapper#setStatus in RESTEasy 3 + As of version 2.1, due to ambiguous meaning of the message parameter. To set a status code use `setStatus(int)` instead,. to send an error with a description use `sendError(int, String)`. Sets the status code and message for this response. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RESTEasy javadoc ResteasyHttpServletResponseWrapper.html#setStatus + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/core/ResteasyHttpServletResponseWrapper.html#setStatus(int,%20java.lang.String) + message: As of version 2.1, due to ambiguous meaning of the message parameter. To + set a status code use `setStatus(int)` instead,. to send an error with a description + use `sendError(int, String)`. Sets the status code and message for this response. + ruleID: resteasy-eap6-000129 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.core.ResteasyHttpServletResponseWrapper.setStatus* +- category: optional + customVariables: [] + description: |- + Deprecated method SecureUnmarshaller#setValidating in RESTEasy 3 + RESTEasy 3 deprecates method `org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller#setValidating` without a replacement. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RESTEasy javadoc for SecureUnmarshaller#setValidating + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/plugins/providers/jaxb/SecureUnmarshaller.html#setValidating(boolean) + message: RESTEasy 3 deprecates method `org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller#setValidating` + without a replacement. + ruleID: resteasy-eap6-000130 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller.setValidating* +- category: optional + customVariables: [] + description: |- + Deprecated method OAuthValidator#validateMessage in RESTEasy 3 + RESTEasy 3 deprecates `org.jboss.resteasy.auth.oauth.OAuthValidator#validateMessage` method without a replacement. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: + - title: RESTEasy SPI Application Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_resteasy_deprecated_classes + - title: RESTEasy javadoc for OAuthValidator#validateMessage + url: https://docs.jboss.org/resteasy/docs/3.0.16.Final/javadocs/org/jboss/resteasy/auth/oauth/OAuthValidator.html#validateMessage(net.oauth.OAuthMessage,%20net.oauth.OAuthAccessor) + message: RESTEasy 3 deprecates `org.jboss.resteasy.auth.oauth.OAuthValidator#validateMessage` + method without a replacement. + ruleID: resteasy-eap6-000131 + when: + java.referenced: + location: METHOD_CALL + pattern: org.jboss.resteasy.auth.oauth.OAuthValidator.validateMessage* +- category: mandatory + customVariables: [] + description: |- + Resteasy Yaml Provider is deprecated and disabled by default + The resteasy-yaml-provider module is not recommended to use due security issue in SnakeYAML library used by RESTEasy for unmarshaling.. If you would like to use YAML Resteasy Provider even it is not recommended,. you need to add the SnakeYAML library (Maven dependency) into your application and enable it by creating file `META-INF/services/javax.ws.rs.ext.Providers` with line `org.jboss.resteasy.plugins.providers.YamlProvider` in that file and your application. + effort: 3 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - yaml + links: [] + message: The resteasy-yaml-provider module is not recommended to use due security + issue in SnakeYAML library used by RESTEasy for unmarshaling.. If you would like + to use YAML Resteasy Provider even it is not recommended,. you need to add the + SnakeYAML library (Maven dependency) into your application and enable it by creating + file `META-INF/services/javax.ws.rs.ext.Providers` with line `org.jboss.resteasy.plugins.providers.YamlProvider` + in that file and your application. + ruleID: resteasy-eap6-000140 + when: + java.referenced: + location: ANNOTATION + pattern: javax.ws.rs.Produces +- category: mandatory + customVariables: [] + description: |- + Resteasy SerializableProvider is disabled by default + Deserializing Java objects from untrusted sources is not safe. For this reason,. the `org.jboss.resteasy.plugins.providers.SerializableProvider` class is disabled by default, and it is not recommended to use this provider.. If you need to enable it even against the recommendation, create or update file `META-INF/services/javax.ws.rs.ext.Providers` with adding line with `org.jboss.resteasy.plugins.providers.SerializableProvider` string. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + links: [] + message: Deserializing Java objects from untrusted sources is not safe. For this + reason,. the `org.jboss.resteasy.plugins.providers.SerializableProvider` class + is disabled by default, and it is not recommended to use this provider.. If you + need to enable it even against the recommendation, create or update file `META-INF/services/javax.ws.rs.ext.Providers` + with adding line with `org.jboss.resteasy.plugins.providers.SerializableProvider` + string. + ruleID: resteasy-eap6-000141 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: javax.ws.rs.Produces + - java.referenced: + location: ANNOTATION + pattern: javax.ws.rs.Consumes +- category: optional + customVariables: [] + description: |- + RESTEasy Text default charset response changed + RESTEasy fixes the issue when it doesn't set/add correctly character set meta data specified in JAX-RS specification. Therefore UTF-8 as the character set for text media types is set by default.. This behavior results in adding `charset=UTF-8` string to the returned content-type header when the resource method returns a `text/*` or `application/xml*` media type without an explicit charset.. The behavior is controlled by `resteasy.add.charset` parameter which is set to `true` by default and you can customize the `resteasy.add.charset` parameter to `false` in _web.xml_'s `context-param` element. in case of wanting to keep previous behavior. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=resteasy2 + - konveyor.io/target=resteasy3 + - konveyor.io/target=eap7 + - resteasy + - charset + links: + - title: RESTEasy Default Charset UTF-8 in Content-Type Header + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html/migration_guide/application_migration_changes#migrate_resteasy_default_charset_utf8_in_content_type_header + - title: RESTEasy Text media types and character sets + url: http://docs.jboss.org/resteasy/docs/3.1.4.Final/userguide/html_single/index.html#Text_media_types + message: RESTEasy fixes the issue when it doesn't set/add correctly character set + meta data specified in JAX-RS specification. Therefore UTF-8 as the character + set for text media types is set by default.. This behavior results in adding `charset=UTF-8` + string to the returned content-type header when the resource method returns a + `text/*` or `application/xml*` media type without an explicit charset.. The behavior + is controlled by `resteasy.add.charset` parameter which is set to `true` by default + and you can customize the `resteasy.add.charset` parameter to `false` in _web.xml_'s + `context-param` element. in case of wanting to keep previous behavior. + ruleID: resteasy-eap6-000142 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: javax.ws.rs.Produces + - java.referenced: + location: ANNOTATION + pattern: javax.ws.rs.Produces diff --git a/resources/rulesets/eap7/74-ws-security.windup.yaml b/resources/rulesets/eap7/74-ws-security.windup.yaml new file mode 100644 index 0000000..ea007ed --- /dev/null +++ b/resources/rulesets/eap7/74-ws-security.windup.yaml @@ -0,0 +1,69 @@ +- category: mandatory + customVariables: [] + description: |- + WS-Security WSPasswordCallback's package changed + The `org.apache.ws.security.WSPasswordCallback` class has moved to package `org.apache.wss4j.common.ext`.. The application must be changed to reference to the new package. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - ws-security + - security + links: + - title: WS-Security Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_ws_security_changes + message: The `org.apache.ws.security.WSPasswordCallback` class has moved to package + `org.apache.wss4j.common.ext`.. The application must be changed to reference to + the new package. + ruleID: ws-security-00000 + when: + java.referenced: + location: IMPORT + pattern: org.apache.ws.security.WSPasswordCallback +- category: mandatory + customVariables: + - name: SAMLClassAndPackages + nameOfCaptureGroup: SAMLClassAndPackages + pattern: org.apache.ws.security.saml.ext.(?P(bean.|builder.|OpenSAMLBootstrap|OpenSAMLUtil|SAMLCallback))?{*} + description: |- + WS-Security SAML package changed + Most of the SAML bean objects from the `org.apache.ws.security.saml.ext` package have been moved to the `org.apache.wss4j.common.saml` package.. The application must be changed to reference to the new package. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - ws-security + - security + links: + - title: WS-Security Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/migration_guide/#migrate_ws_security_changes + message: Most of the SAML bean objects from the `org.apache.ws.security.saml.ext` + package have been moved to the `org.apache.wss4j.common.saml` package.. The application + must be changed to reference to the new package. + ruleID: ws-security-00001 + when: + java.referenced: + location: IMPORT + pattern: org.apache.ws.security.saml.ext.(bean.|builder.|OpenSAMLBootstrap|OpenSAMLUtil|SAMLCallback)* +- category: mandatory + customVariables: [] + description: |- + WS-Security AssertionWrapper renamed and moved + The `org.apache.ws.security.saml.ext.AssertionWrapper` class have been renamed and moved to the `org.apache.wss4j.common.saml.SamlAssertionWrapper` class.. The application must be changed to reference and use the new class. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/target=eap7 + - ws-security + - security + links: + - title: Javadoc SamlAssertionWrapper + url: https://access.redhat.com/webassets/avalon/d/red-hat-jboss-enterprise-application-platform/7.0.0/javadocs/org/apache/wss4j/common/saml/SamlAssertionWrapper.html + message: The `org.apache.ws.security.saml.ext.AssertionWrapper` class have been + renamed and moved to the `org.apache.wss4j.common.saml.SamlAssertionWrapper` class.. + The application must be changed to reference and use the new class. + ruleID: ws-security-00002 + when: + java.referenced: + location: IMPORT + pattern: org.apache.ws.security.saml.ext.AssertionWrapper diff --git a/resources/rulesets/eap7/75-hibernate50-51.windup.yaml b/resources/rulesets/eap7/75-hibernate50-51.windup.yaml new file mode 100644 index 0000000..a59bcce --- /dev/null +++ b/resources/rulesets/eap7/75-hibernate50-51.windup.yaml @@ -0,0 +1,58 @@ +- category: optional + customVariables: [] + description: |- + Hibernate 5.1 - @Embeddable changes interpretation + Previous releases of Hibernate interpreted all null column values for an `@Embeddable` to mean the `@Embeddable` itself should be null.. In this release, applications can dictate that Hibernate should instead use an empty `@Embeddable` instance by specifying the `hibernate.create_empty_composites.enabled` opt-in setting. + effort: 1 + labels: + - konveyor.io/source=hibernate5.0 + - konveyor.io/source=eap7.0 + - konveyor.io/target=hibernate5.1 + - konveyor.io/target=eap7 + - hibernate + - Hibernate + links: + - title: Hibernate ORM 5.1 Features + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html-single/migration_guide/application_migration_changes#hibernate_5_1_features + message: Previous releases of Hibernate interpreted all null column values for an + `@Embeddable` to mean the `@Embeddable` itself should be null.. In this release, + applications can dictate that Hibernate should instead use an empty `@Embeddable` + instance by specifying the `hibernate.create_empty_composites.enabled` opt-in + setting. + ruleID: hibernate50-51-00000 + when: + java.referenced: + location: ANNOTATION + pattern: javax.persistence.Embeddable +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.1 - Changes to schema management tooling + The changes mainly focused on:. * Unifying handling of hbm2ddl.auto and Hibernate’s JPA schema-generation support.. * Removing JDBC concerns from the SPI to facilitate true replacement (for OGM). These changes are a migration concern since the application is directly using some of the changed classes. + effort: 1 + labels: + - konveyor.io/source=hibernate5.0 + - konveyor.io/source=eap7.0 + - konveyor.io/target=hibernate5.1 + - konveyor.io/target=eap7 + - hibernate + - Hibernate + links: + - title: Schema Management Tooling Changes + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html-single/migration_guide/application_migration_changes#schema_management_tooling_changes + message: The changes mainly focused on:. * Unifying handling of hbm2ddl.auto and + Hibernate’s JPA schema-generation support.. * Removing JDBC concerns from the + SPI to facilitate true replacement (for OGM). These changes are a migration concern + since the application is directly using some of the changed classes. + ruleID: hibernate50-51-00100 + when: + or: + - java.referenced: + location: IMPORT + pattern: org.hibernate.tool.hbm2ddl.(SchemaExport|SchemaUpdate|SchemaValidator) + - java.referenced: + location: IMPORT + pattern: org.hibernate.tool.schema.spi.SchemaManagementTool + - java.referenced: + location: IMPORT + pattern: org.hibernate.tool.schema.internal.HibernateSchemaManagementTool diff --git a/resources/rulesets/eap7/76-hibernate51-53.windup.yaml b/resources/rulesets/eap7/76-hibernate51-53.windup.yaml new file mode 100644 index 0000000..5313520 --- /dev/null +++ b/resources/rulesets/eap7/76-hibernate51-53.windup.yaml @@ -0,0 +1,569 @@ +- category: mandatory + customVariables: + - name: methods_param + nameOfCaptureGroup: methods_param + pattern: (?P(org.hibernate.usertype.UserVersionType.next|org.hibernate.type.VersionType.next|org.hibernate.type.SingleColumnType.set|org.hibernate.type.AbstractStandardBasicType.set|org.hibernate.type.Type.resolve|org.hibernate.usertype.UserVersionType.seed|org.hibernate.type.VersionType.seed|org.hibernate.collection.spi.PersistentCollection.setCurrentSession|org.hibernate.type.ProcedureParameterNamedBinder.nullSafeSet|org.hibernate.type.Type.nullSafeSet|org.hibernate.usertype.UserType.nullSafeSet|org.hibernate.usertype.CompositeUserType.nullSafeSet|org.hibernate.type.Type.beforeAssemble|org.hibernate.type.AbstractStandardBasicType.nullSafeGet|org.hibernate.type.Type.nullSafeGet|org.hibernate.type.SingleColumnType.nullSafeGet|org.hibernate.usertype.UserType.nullSafeGet|org.hibernate.usertype.CompositeUserType.nullSafeGet|org.hibernate.type.Type.replace|org.hibernate.usertype.CompositeUserType.replace|org.hibernate.usertype.UserCollectionType.replaceElements|org.hibernate.collection.spi.PersistentCollection.unsetSession|org.hibernate.type.Type.hydrate|org.hibernate.type.Type.semiResolve|org.hibernate.usertype.CompositeUserType.assemble|org.hibernate.type.Type.assemble|org.hibernate.usertype.UserCollectionType.instantiate|org.hibernate.usertype.CompositeUserType.disassemble|org.hibernate.type.Type.disassemble|org.hibernate.type.ProcedureParameterExtractionAware.extract|org.hibernate.type.Type.isDirty|org.hibernate.type.Type.isModified|org.hibernate.type.SingleColumnType.get|org.hibernate.type.AbstractStandardBasicType.get|org.hibernate.usertype.UserCollectionType.wrap))?({*}org.hibernate.engine.spi.SessionImplementor{*}) + description: |- + Hibernate 5.3 - SessionImplementor parameter changed to SharedSessionContractImplementor + `org.hibernate.engine.spi.SessionImplementor` parameter has to be changed to `org.hibernate.engine.spi.SharedSessionContractImplementor`. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#hibernate_51_compatiblity_transformer + message: '`org.hibernate.engine.spi.SessionImplementor` parameter has to be changed + to `org.hibernate.engine.spi.SharedSessionContractImplementor`.' + ruleID: hibernate51-53-00001 + when: + java.referenced: + location: METHOD_CALL + pattern: (org.hibernate.usertype.UserVersionType.next|org.hibernate.type.VersionType.next|org.hibernate.type.SingleColumnType.set|org.hibernate.type.AbstractStandardBasicType.set|org.hibernate.type.Type.resolve|org.hibernate.usertype.UserVersionType.seed|org.hibernate.type.VersionType.seed|org.hibernate.collection.spi.PersistentCollection.setCurrentSession|org.hibernate.type.ProcedureParameterNamedBinder.nullSafeSet|org.hibernate.type.Type.nullSafeSet|org.hibernate.usertype.UserType.nullSafeSet|org.hibernate.usertype.CompositeUserType.nullSafeSet|org.hibernate.type.Type.beforeAssemble|org.hibernate.type.AbstractStandardBasicType.nullSafeGet|org.hibernate.type.Type.nullSafeGet|org.hibernate.type.SingleColumnType.nullSafeGet|org.hibernate.usertype.UserType.nullSafeGet|org.hibernate.usertype.CompositeUserType.nullSafeGet|org.hibernate.type.Type.replace|org.hibernate.usertype.CompositeUserType.replace|org.hibernate.usertype.UserCollectionType.replaceElements|org.hibernate.collection.spi.PersistentCollection.unsetSession|org.hibernate.type.Type.hydrate|org.hibernate.type.Type.semiResolve|org.hibernate.usertype.CompositeUserType.assemble|org.hibernate.type.Type.assemble|org.hibernate.usertype.UserCollectionType.instantiate|org.hibernate.usertype.CompositeUserType.disassemble|org.hibernate.type.Type.disassemble|org.hibernate.type.ProcedureParameterExtractionAware.extract|org.hibernate.type.Type.isDirty|org.hibernate.type.Type.isModified|org.hibernate.type.SingleColumnType.get|org.hibernate.type.AbstractStandardBasicType.get|org.hibernate.usertype.UserCollectionType.wrap)(*org.hibernate.engine.spi.SessionImplementor*) +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - hibernate-java8 module has been merged into hibernate-core and the Java 8 date/time types are now natively supported. + change reference to hibernate-java8 to hibernate-core (since hibernate-java8 has been merged into hibernate-core module) + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: change reference to hibernate-java8 to hibernate-core (since hibernate-java8 + has been merged into hibernate-core module) + ruleID: hibernate51-53-00100 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.hibernate.{substitution} + - java.dependency: + lowerbound: 0.0.0 + name: org.hibernate.hibernate-core + not: true +- category: mandatory + customVariables: + - name: className + nameOfCaptureGroup: className + pattern: |- + org.hibernate.(?P(boot.archive.spi.ArchiveException|envers.exception.AuditException|jdbc.BatchFailedException|cache.CacheException|CallbackException + |boot.registry.classloading.spi.ClassLoadingException|tool.schema.spi.CommandAcceptanceException|bytecode.enhance.spi.EnhancementException + |tuple.entity.EntityMetamodel.ValueGenerationStrategyException|event.service.spi.EventListenerRegistrationException|HibernateError + |id.IdentifierGenerationException|boot.model.naming.IllegalIdentifierException|tool.hbm2ddl.ImportScriptException + |boot.spi.InFlightMetadataCollector.DuplicateSecondaryTableException|InstantiationException|secure.spi.IntegrationException|JDBCException + |engine.jndi.JndiException|engine.jndi.JndiNameException|engine.transaction.jta.platform.spi.JtaPlatformException|LazyInitializationException + |resource.transaction.LocalSynchronizationException|dialect.lock.LockingStrategyException|MappingException|loader.MultipleBagFetchException + |procedure.NamedParametersNotSupportedException|result.NoMoreReturnsException|loader.custom.NonUniqueDiscoveredSqlAliasException + |NonUniqueObjectException|NonUniqueResultException|procedure.NoSuchParameterException|bytecode.spi.NotInstrumentedException + |service.NullServiceException|resource.transaction.NullSynchronizationException|procedure.ParameterMisuseException + |engine.query.ParameterRecognitionException|procedure.ParameterStrategyException|PersistentObjectException|property.access.spi.PropertyAccessBuildingException + |PropertyAccessException|property.access.spi.PropertyAccessSerializationException|PropertyValueException|QueryException + |loader.plan.spi.QuerySpaceUidNotRegisteredException|ResourceClosedException|tool.schema.extract.spi.SchemaExtractionException|tool.schema.spi.SchemaManagementException + |type.SerializationException|service.spi.ServiceException|SessionException|StaleStateException|boot.registry.selector.spi.StrategySelectionException + |context.TenantIdentifierMismatchException|jdbc.TooManyRowsAffectedException|TransactionException|resource.transaction.TransactionRequiredForJoinException + |TransientObjectException|TypeMismatchException|cache.spi.access.UnknownAccessTypeException|persister.spi.UnknownPersisterException|UnknownProfileException + |service.UnknownServiceException|service.UnknownUnwrapTypeException|UnresolvableObjectException|UnsupportedLockAttemptException|WrongClassException))? + description: |- + Hibernate 5.3 - Exception Handling + If the `SessionFactory` is built via Hibernate’s native bootstrapping and `org.hibernate.HibernateException` or a subclass is referenced by the application. then set `hibernate.native_exception_handling_51_compliance` configuration property to `true`. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#exception_handling_changes_between_51_53 + message: If the `SessionFactory` is built via Hibernate’s native bootstrapping and + `org.hibernate.HibernateException` or a subclass is referenced by the application. + then set `hibernate.native_exception_handling_51_compliance` configuration property + to `true`. + ruleID: hibernate51-53-00300 + when: + java.referenced: + location: IMPORT + pattern: |- + org.hibernate.(boot.archive.spi.ArchiveException|envers.exception.AuditException|jdbc.BatchFailedException|cache.CacheException|CallbackException + |boot.registry.classloading.spi.ClassLoadingException|tool.schema.spi.CommandAcceptanceException|bytecode.enhance.spi.EnhancementException + |tuple.entity.EntityMetamodel.ValueGenerationStrategyException|event.service.spi.EventListenerRegistrationException|HibernateError + |id.IdentifierGenerationException|boot.model.naming.IllegalIdentifierException|tool.hbm2ddl.ImportScriptException + |boot.spi.InFlightMetadataCollector.DuplicateSecondaryTableException|InstantiationException|secure.spi.IntegrationException|JDBCException + |engine.jndi.JndiException|engine.jndi.JndiNameException|engine.transaction.jta.platform.spi.JtaPlatformException|LazyInitializationException + |resource.transaction.LocalSynchronizationException|dialect.lock.LockingStrategyException|MappingException|loader.MultipleBagFetchException + |procedure.NamedParametersNotSupportedException|result.NoMoreReturnsException|loader.custom.NonUniqueDiscoveredSqlAliasException + |NonUniqueObjectException|NonUniqueResultException|procedure.NoSuchParameterException|bytecode.spi.NotInstrumentedException + |service.NullServiceException|resource.transaction.NullSynchronizationException|procedure.ParameterMisuseException + |engine.query.ParameterRecognitionException|procedure.ParameterStrategyException|PersistentObjectException|property.access.spi.PropertyAccessBuildingException + |PropertyAccessException|property.access.spi.PropertyAccessSerializationException|PropertyValueException|QueryException + |loader.plan.spi.QuerySpaceUidNotRegisteredException|ResourceClosedException|tool.schema.extract.spi.SchemaExtractionException|tool.schema.spi.SchemaManagementException + |type.SerializationException|service.spi.ServiceException|SessionException|StaleStateException|boot.registry.selector.spi.StrategySelectionException + |context.TenantIdentifierMismatchException|jdbc.TooManyRowsAffectedException|TransactionException|resource.transaction.TransactionRequiredForJoinException + |TransientObjectException|TypeMismatchException|cache.spi.access.UnknownAccessTypeException|persister.spi.UnknownPersisterException|UnknownProfileException + |service.UnknownServiceException|service.UnknownUnwrapTypeException|UnresolvableObjectException|UnsupportedLockAttemptException|WrongClassException) +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - SessionFactoryImplementor.getQueryCache() method removed + `org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getDefaultQueryResultsCache()` should be used instead of `SessionFactoryImplementor.getQueryCache()` method. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: '`org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getDefaultQueryResultsCache()` + should be used instead of `SessionFactoryImplementor.getQueryCache()` method.' + ruleID: hibernate51-53-00400 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.engine.spi.SessionFactoryImplementor.getQueryCache() +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - SessionFactoryImplementor.getQueryCache(String regionName) method removed + `org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getDefaultQueryResultsCache(String regionName)` should be used instead of `SessionFactoryImplementor.getQueryCache(String regionName)` method. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: '`org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getDefaultQueryResultsCache(String + regionName)` should be used instead of `SessionFactoryImplementor.getQueryCache(String + regionName)` method.' + ruleID: hibernate51-53-00401 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.engine.spi.SessionFactoryImplementor.getQueryCache(*String*) +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - SessionFactoryImplementor.getUpdateTimestampsCache() method removed + `org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getTimestampsCache()` should be used instead of `SessionFactoryImplementor.getUpdateTimestampsCache()` method. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: '`org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getTimestampsCache()` + should be used instead of `SessionFactoryImplementor.getUpdateTimestampsCache()` + method.' + ruleID: hibernate51-53-00402 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.engine.spi.SessionFactoryImplementor.getUpdateTimestampsCache() +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - SessionFactoryImplementor.getSecondLevelCacheRegion(String regionName) method removed + `org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getRegion(String regionName)` should be used instead of `SessionFactoryImplementor.getSecondLevelCacheRegion(String regionName)` method. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: '`org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getRegion(String + regionName)` should be used instead of `SessionFactoryImplementor.getSecondLevelCacheRegion(String + regionName)` method.' + ruleID: hibernate51-53-00403 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.engine.spi.SessionFactoryImplementor.getSecondLevelCacheRegion(*String*) +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - SessionFactoryImplementor.getSecondLevelCacheRegionAccessStrategy(String regionName) method removed + Depending on the type of region, the appropriate method should be used instead:. * For an entity cache region, `org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel().entityPersister( entityName ).getCacheAccessStrategy()` should be used instead. * For a collection region, `org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel().collectionPersister( role ).getCacheAccessStrategy()` should be used instead. * For a natural ID region, `org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel().entityPersister( entityName ).getNaturalIdCacheAccessStrategy()` should be used instead + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: Depending on the type of region, the appropriate method should be used + instead:. * For an entity cache region, `org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel().entityPersister( + entityName ).getCacheAccessStrategy()` should be used instead. * For a collection + region, `org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel().collectionPersister( + role ).getCacheAccessStrategy()` should be used instead. * For a natural ID region, + `org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel().entityPersister( + entityName ).getNaturalIdCacheAccessStrategy()` should be used instead + ruleID: hibernate51-53-00404 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.engine.spi.SessionFactoryImplementor.getSecondLevelCacheRegionAccessStrategy(*String*) +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - SessionFactoryImplementor.getNaturalIdCacheRegion(String regionName) method removed + `org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getRegion(String regionName)` should be used instead of `SessionFactoryImplementor.getNaturalIdCacheRegion(String regionName)` method. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: '`org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getRegion(String + regionName)` should be used instead of `SessionFactoryImplementor.getNaturalIdCacheRegion(String + regionName)` method.' + ruleID: hibernate51-53-00405 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.engine.spi.SessionFactoryImplementor.getNaturalIdCacheRegion(*String*) +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - SessionFactoryImplementor.getNaturalIdCacheRegionAccessStrategy(String regionName) method removed + `org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel().entityPersister( entityName ).getNaturalIdCacheAccessStrategy()` should be used instead of `SessionFactoryImplementor.getNaturalIdCacheRegionAccessStrategy(String regionName)` method. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: '`org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel().entityPersister( + entityName ).getNaturalIdCacheAccessStrategy()` should be used instead of `SessionFactoryImplementor.getNaturalIdCacheRegionAccessStrategy(String + regionName)` method.' + ruleID: hibernate51-53-00406 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.engine.spi.SessionFactoryImplementor.getNaturalIdCacheRegionAccessStrategy(*String*) +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - SessionFactoryImplementor.getAllSecondLevelCacheRegions() method removed + `org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getCacheRegionNames()` should be used to obtain all cache region names, then `org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getRegion(String regionName)` should be used to look up each region. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: '`org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getCacheRegionNames()` + should be used to obtain all cache region names, then `org.hibernate.engine.spi.SessionFactoryImplementor.getCache().getRegion(String + regionName)` should be used to look up each region.' + ruleID: hibernate51-53-00407 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.engine.spi.SessionFactoryImplementor.getAllSecondLevelCacheRegions() +- category: mandatory + customVariables: + - name: className + nameOfCaptureGroup: className + pattern: org.hibernate.(?P(cache.RegionFactory|cache.spi.RegionFactory|cache.spi.AbstractRegionFactory|testing.cache.CachingRegionFactory|cache.spi.support.RegionFactoryTemplate|cache.ehcache.EhCacheRegionFactory|cache.infinispan.InfinispanRegionFactory|cache.infinispan.JndiInfinispanRegionFactory|cache.internal.NoCachingRegionFactory|cache.ehcache.SingletonEhCacheRegionFactory))? + description: |- + Hibernate 5.3 - RegionFactory usage + Review usage of classes in `org.hibernate.cache.spi.RegionFactory`, as SPIs for this class has changed.. See Javadoc for `org.hibernate.cache.spi.RegionFactory` for details. + effort: 3 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + - title: Javadoc for org.hibernate.cache.spi.RegionFactory + url: https://docs.jboss.org/hibernate/orm/5.3/javadocs/org/hibernate/cache/spi/RegionFactory.html + message: Review usage of classes in `org.hibernate.cache.spi.RegionFactory`, as + SPIs for this class has changed.. See Javadoc for `org.hibernate.cache.spi.RegionFactory` + for details. + ruleID: hibernate51-53-00500 + when: + java.referenced: + location: IMPORT + pattern: org.hibernate.(cache.RegionFactory|cache.spi.RegionFactory|cache.spi.AbstractRegionFactory|testing.cache.CachingRegionFactory|cache.spi.support.RegionFactoryTemplate|cache.ehcache.EhCacheRegionFactory|cache.infinispan.InfinispanRegionFactory|cache.infinispan.JndiInfinispanRegionFactory|cache.internal.NoCachingRegionFactory|cache.ehcache.SingletonEhCacheRegionFactory) +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - org.hibernate.cache.spi.QueryCacheFactory implementations + One potential upgrade concern is any custom `org.hibernate.cache.spi.QueryCacheFactory` implementations.. `org.hibernate.cache.spi.QueryCacheFactory` was meant as a means to allow service providers the ability to define query result caching, generally with more stale-tolerant query result invalidation handling.. However, the contract also bound it to the old second level cache contracts so they had to be updated.. Its responsibilities also changed so we also decided to "rename it" to `org.hibernate.cache.spi.TimestampsCacheFactory`.. Details can be found in HHH-11356 JIRA issue (link below). + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Hibernate ORM 5.3 Migration Guide: Second-level cache provider SPI changes' + url: https://github.com/hibernate/hibernate-orm/blob/5.3/migration-guide.adoc#second-level-cache-provider-spi-changes + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#hibernate_orm_5_3_features + - title: 'HHH-11356: Adjust the 2nd-Cache SPIs to better reflect supported uses' + url: https://hibernate.atlassian.net/browse/HHH-11356 + message: One potential upgrade concern is any custom `org.hibernate.cache.spi.QueryCacheFactory` + implementations.. `org.hibernate.cache.spi.QueryCacheFactory` was meant as a means + to allow service providers the ability to define query result caching, generally + with more stale-tolerant query result invalidation handling.. However, the contract + also bound it to the old second level cache contracts so they had to be updated.. + Its responsibilities also changed so we also decided to "rename it" to `org.hibernate.cache.spi.TimestampsCacheFactory`.. + Details can be found in HHH-11356 JIRA issue (link below). + ruleID: hibernate51-53-00600 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.hibernate.cache.spi.QueryCacheFactory +- category: optional + customVariables: + - name: interfaces + nameOfCaptureGroup: interfaces + pattern: org.hibernate.stat.(?P(SecondLevelCacheStatistics|NaturalIdCacheStatistics).)?getEntries() + description: |- + Hibernate 5.3 - SecondLevelCacheStatistics.getEntries() and NaturalIdCacheStatistics.getEntries(): deprecated methods + A change to be aware of is accessing cache entries via `SecondLevelCacheStatistics.getEntries()` and `NaturalIdCacheStatistics.getEntries()`.. These methods have been deprecated, however the new caching SPI does not really require caching providers to support this.. As of Hibernate 5.3 these methods inherently return an empty Map (`Collections#emptyMap`).. This has always been something that providers did not implement "correctly" anyway.. Details can be found in HHH-11356 JIRA issue (link below). + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Hibernate ORM 5.3 Migration Guide: Second-level cache provider SPI changes' + url: https://github.com/hibernate/hibernate-orm/blob/5.3/migration-guide.adoc#second-level-cache-provider-spi-changes + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#hibernate_orm_5_3_features + - title: 'HHH-11356: Adjust the 2nd-Cache SPIs to better reflect supported uses' + url: https://hibernate.atlassian.net/browse/HHH-11356 + message: A change to be aware of is accessing cache entries via `SecondLevelCacheStatistics.getEntries()` + and `NaturalIdCacheStatistics.getEntries()`.. These methods have been deprecated, + however the new caching SPI does not really require caching providers to support + this.. As of Hibernate 5.3 these methods inherently return an empty Map (`Collections#emptyMap`).. + This has always been something that providers did not implement "correctly" anyway.. + Details can be found in HHH-11356 JIRA issue (link below). + ruleID: hibernate51-53-00700 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.stat.(SecondLevelCacheStatistics|NaturalIdCacheStatistics).getEntries() +- category: optional + customVariables: [] + description: |- + Hibernate 5.3 - NaturalIdCacheStatistics.getEntries() deprecated method + A change to be aware of is accessing cache entries via `NaturalIdCacheStatistics.getEntries()`.. This method has been deprecated, however the new caching SPI does not really require caching providers to support this.. As of Hibernate 5.3 this method inherently return an empty Map (`Collections#emptyMap`).. This has always been something that providers did not implement "correctly" anyway.. Details can be found in HHH-11356 JIRA issue (link below). + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: [] + message: A change to be aware of is accessing cache entries via `NaturalIdCacheStatistics.getEntries()`.. + This method has been deprecated, however the new caching SPI does not really require + caching providers to support this.. As of Hibernate 5.3 this method inherently + return an empty Map (`Collections#emptyMap`).. This has always been something + that providers did not implement "correctly" anyway.. Details can be found in + HHH-11356 JIRA issue (link below). + ruleID: hibernate51-53-00701 + when: + java.referenced: + location: METHOD + pattern: '*.getEntries()' +- category: optional + customVariables: [] + description: |- + Hibernate 5.3 - SecondLevelCacheStatistics.getEntries() deprecated method + A change to be aware of is accessing cache entries via `SecondLevelCacheStatistics.getEntries()`.. This method has been deprecated, however the new caching SPI does not really require caching providers to support this.. As of Hibernate 5.3 these methods inherently return an empty Map (`Collections#emptyMap`).. This has always been something that providers did not implement "correctly" anyway.. Details can be found in HHH-11356 JIRA issue (link below). + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: [] + message: A change to be aware of is accessing cache entries via `SecondLevelCacheStatistics.getEntries()`.. + This method has been deprecated, however the new caching SPI does not really require + caching providers to support this.. As of Hibernate 5.3 these methods inherently + return an empty Map (`Collections#emptyMap`).. This has always been something + that providers did not implement "correctly" anyway.. Details can be found in + HHH-11356 JIRA issue (link below). + ruleID: hibernate51-53-00702 + when: + java.referenced: + location: METHOD + pattern: '*.getEntries()' +- category: mandatory + customVariables: + - name: packages + nameOfCaptureGroup: packages + pattern: org.hibernate.(?P(persister|tuple).)?{*} + description: | + Hibernate 5.3 - SPI in package org.hibernate.{packages} changed + effort: 3 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + - title: Hibernate 5.3 JavaDoc + url: http://docs.jboss.org/hibernate/orm/5.3/javadocs/ + message: The SPIs in the `org.hibernate.{{packages}}` package have changed.. Any + custom classes using those SPIs will need to be reviewed and updated.. See Javadoc + for these packages for details. + ruleID: hibernate51-53-00800 + when: + java.referenced: + location: IMPORT + pattern: org.hibernate.(persister|tuple)* +- category: mandatory + customVariables: [] + description: |- + Hibernate 5.3 - default_schema or default_catalog must be defined or set jdbc_metadata_extraction_strategy + Define `hibernate.default_schema` or `hibernate.default_catalog` (whichever is used by the selected dialect), or, alternatively, set `hibernate.hbm2ddl.jdbc_metadata_extraction_strategy=individually`. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: [] + message: Define `hibernate.default_schema` or `hibernate.default_catalog` (whichever + is used by the selected dialect), or, alternatively, set `hibernate.hbm2ddl.jdbc_metadata_extraction_strategy=individually`. + ruleID: hibernate51-53-01000 + when: + and: + - as: persistence_files + builtin.xml: + namespaces: + s: http://java.sun.com/xml/ns/persistence + xpath: //s:persistence-unit/s:provider[starts-with(text(), 'org.hibernate')] + - as: wrong_files + builtin.xml: + namespaces: + s: http://java.sun.com/xml/ns/persistence + xpath: //s:properties[count(s:property[@name='hibernate.default_schema'])=0 + and count(s:property[@name='hibernate.default_catalog'])=0] + from: persistence_files +- category: potential + customVariables: [] + description: |- + Hibernate 5.3 - default_schema or default_catalog must be defined or set jdbc_metadata_extraction_strategy + If the application uses Hibernate, please define `hibernate.default_schema` or `hibernate.default_catalog` (whichever is used by the selected dialect), or, alternatively, set `hibernate.hbm2ddl.jdbc_metadata_extraction_strategy=individually`. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: [] + message: If the application uses Hibernate, please define `hibernate.default_schema` + or `hibernate.default_catalog` (whichever is used by the selected dialect), or, + alternatively, set `hibernate.hbm2ddl.jdbc_metadata_extraction_strategy=individually`. + ruleID: hibernate51-53-01001 + when: + or: + - as: persistence_files + builtin.xml: + namespaces: + s: http://java.sun.com/xml/ns/persistence + xpath: //s:persistence-unit[not(s:provider) or s:provider[not(text())]] + - as: wrong_files + builtin.xml: + namespaces: + s: http://java.sun.com/xml/ns/persistence + xpath: //s:properties[count(s:property[@name='hibernate.default_schema'])=0 + and count(s:property[@name='hibernate.default_catalog'])=0] + from: persistence_files +- category: potential + customVariables: [] + description: |- + Hibernate 5.3 - @TableGenerator changes interpretation + Applications using the `@TableGenerator` should set the `hibernate.id.generator.stored_last_used` configuration property to `false`. + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#hibernate_orm_5_3_features + message: Applications using the `@TableGenerator` should set the `hibernate.id.generator.stored_last_used` + configuration property to `false`. + ruleID: hibernate51-53-01100 + when: + java.referenced: + location: IMPORT + pattern: javax.persistence.TableGenerator +- category: mandatory + customVariables: + - name: className + nameOfCaptureGroup: className + pattern: org.hibernate.(?P(engine.query.spi.NamedParameterDescriptor|engine.query.spi.OrdinalParameterDescriptor|query.procedure.internal.ProcedureParameterImpl|query.internal.QueryParameterImpl|query.internal.QueryParameterNamedImpl).)?getType({*}) + description: | + Hibernate 5.3 - QueryParameter.getType() renamed + effort: 1 + labels: + - konveyor.io/source=hibernate5.1 + - konveyor.io/target=hibernate5.3 + - konveyor.io/target=eap7 + - hibernate + links: + - title: 'Red Hat JBoss EAP 7.2: Migrating from Hibernate ORM 5.1 to Hibernate ORM + 5.3' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/#migrating_from_hibernate_5_1_to_5_3 + message: Any references to `org.hibernate.{{className}}.getType()` must be replaced + with `org.hibernate.{{className}}.getHibernateType()`. + ruleID: hibernate51-53-01200 + when: + java.referenced: + pattern: org.hibernate.(engine.query.spi.NamedParameterDescriptor|engine.query.spi.OrdinalParameterDescriptor|query.procedure.internal.ProcedureParameterImpl|query.internal.QueryParameterImpl|query.internal.QueryParameterNamedImpl).getType* diff --git a/resources/rulesets/eap7/77-picketlink25.windup.yaml b/resources/rulesets/eap7/77-picketlink25.windup.yaml new file mode 100644 index 0000000..f69e43b --- /dev/null +++ b/resources/rulesets/eap7/77-picketlink25.windup.yaml @@ -0,0 +1,22 @@ +- category: mandatory + customVariables: [] + description: |- + Picketlink STS token format change + JBoss EAP 7.2 PicketLink STS issues tokens with a different format, which may require changes in applications such as EJB clients.. Please refer to the JBoss EAP 7.2 Migration Guide section with respect to this migration issue, and how to resolve it. + effort: 1 + labels: + - konveyor.io/source=eap7.1 + - konveyor.io/target=eap7 + - picketlink + links: + - title: JBoss EAP 7.2 Migration Guide + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html/migration_guide/application_migration_changes#migrate_ejb_client_code_to_eap_72 + message: JBoss EAP 7.2 PicketLink STS issues tokens with a different format, which + may require changes in applications such as EJB clients.. Please refer to the + JBoss EAP 7.2 Migration Guide section with respect to this migration issue, and + how to resolve it. + ruleID: picketlink25-00000 + when: + java.referenced: + location: METHOD_CALL + pattern: org.picketlink.identity.federation.api.wstrust.WSTrustClient.issueToken* diff --git a/resources/rulesets/eap7/78-resteasy30-36.windup.yaml b/resources/rulesets/eap7/78-resteasy30-36.windup.yaml new file mode 100644 index 0000000..1b29ba2 --- /dev/null +++ b/resources/rulesets/eap7/78-resteasy30-36.windup.yaml @@ -0,0 +1,22 @@ +- category: potential + customVariables: [] + description: |- + RESTEasy 3.6 - Resource Method Algorithm Switch changes + If you migrate your application from JBoss EAP from 7.1.1 to 7.2.x and want to retain the stricter behavior as defined in the JAX-RS 2.0 specification, set the `jaxrs.2.0.request.matching` option to `true`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=resteasy3 + - konveyor.io/source + - resteasy + links: + - title: 'Red Hat JBoss EAP 7.2: RESTEasy Resource Method Algorithm Switch changes' + url: ' https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/migration_guide/index#migrate_resteasy_resource_method_algoritm_switch' + message: If you migrate your application from JBoss EAP from 7.1.1 to 7.2.x and + want to retain the stricter behavior as defined in the JAX-RS 2.0 specification, + set the `jaxrs.2.0.request.matching` option to `true`. + ruleID: resteasy30-36-00001 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.jboss.spec.javax.ws.rs.jboss-jaxrs-api_2.0_spec diff --git a/resources/rulesets/eap7/79-deprecated-singletonpolicy.rhamt.yaml b/resources/rulesets/eap7/79-deprecated-singletonpolicy.rhamt.yaml new file mode 100644 index 0000000..9dec55e --- /dev/null +++ b/resources/rulesets/eap7/79-deprecated-singletonpolicy.rhamt.yaml @@ -0,0 +1,19 @@ +- category: potential + customVariables: [] + description: |- + Deprecated HA Singleton API + The application imports class `org.wildfly.clustering.singleton.SingletonPolicy`, from deprecated HA Singleton API. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + links: + - title: 'Red Hat JBoss EAP 7.3: HA Singleton Service' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/development_guide/index#clustered_ha_singleton_service + message: The application imports class `org.wildfly.clustering.singleton.SingletonPolicy`, + from deprecated HA Singleton API. + ruleID: deprecated-singletonpolicy-00001 + when: + java.referenced: + location: IMPORT + pattern: org.wildfly.clustering.singleton.SingletonPolicy diff --git a/resources/rulesets/eap7/80-maven-artemis-jms-client.rhamt.yaml b/resources/rulesets/eap7/80-maven-artemis-jms-client.rhamt.yaml new file mode 100644 index 0000000..5f1081d --- /dev/null +++ b/resources/rulesets/eap7/80-maven-artemis-jms-client.rhamt.yaml @@ -0,0 +1,30 @@ +- category: potential + customVariables: [] + description: |- + Artemis JMS Client requires wildfly-client-properties + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, if the application depends on Artemis JMS Client artifact then it should also depend on artifact with groupId `org.jboss.eap`, and artifactId `wildfly-client-properties`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + - jms + - JMS + links: + - title: 'Red Hat JBoss EAP 7.3: Messaging Application Changes Required for JBoss + EAP 7.2' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#migrate_messaging_application_changes_7_2 + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, if the application + depends on Artemis JMS Client artifact then it should also depend on artifact + with groupId `org.jboss.eap`, and artifactId `wildfly-client-properties`. + ruleID: maven-artemis-jms-client-00001 + when: + or: + - and: + - java.dependency: + lowerbound: 0.0.0 + name: org.apache.activemq.artemis-jms-client + - java.dependency: + lowerbound: 0.0.0 + name: org.jboss.eap.wildfly-client-properties + not: true diff --git a/resources/rulesets/eap7/81-maven-javax-to-jakarta.rhamt.yaml b/resources/rulesets/eap7/81-maven-javax-to-jakarta.rhamt.yaml new file mode 100644 index 0000000..a9a2f92 --- /dev/null +++ b/resources/rulesets/eap7/81-maven-javax-to-jakarta.rhamt.yaml @@ -0,0 +1,369 @@ +- category: potential + customVariables: [] + description: |- + Move to Jakarta EE Maven Artifacts - com.sun.mail:javax.mail + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the Jakarta EE dependency with groupId `com.sun.mail`, and artifactId `jakarta.mail`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with groupId `com.sun.mail`, and artifactId `jakarta.mail`. + ruleID: maven-javax-to-jakarta-00001 + when: + builtin.filecontent: + pattern: artifactId>javax.mail< +- category: potential + customVariables: [] + description: |- + Move to Jakarta EE Maven Artifacts - replace groupId javax.activation + If you migrate your application to JBoss EAP 7.3, or later, and want to ensure its Maven building, running or testing works as expected, use instead the Jakarta EE dependency with groupId `com.sun.activation` + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3, or later, and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with groupId `com.sun.activation` + ruleID: maven-javax-to-jakarta-00002 + when: + java.dependency: + lowerbound: 0.0.0 + name: javax.activation.activation +- category: potential + customVariables: [] + description: |- + Move to Jakarta EE Maven Artifacts - replace artifactId activation + If you migrate your application to JBoss EAP 7.3, or later, and want to ensure its Maven building, running or testing works as expected, use instead the Jakarta EE dependency with artifactId `jakarta.activation` + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3, or later, and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with artifactId `jakarta.activation` + ruleID: maven-javax-to-jakarta-00003 + when: + builtin.filecontent: + pattern: artifactId>activation< +- category: potential + customVariables: [] + description: | + javax.{renamed-g} groupId has been replaced by jakarta.{renamed-g} + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3, or later, and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency - groupId `jakarta.{{renamed-g}}`. + ruleID: maven-javax-to-jakarta-00004 + when: + builtin.filecontent: + pattern: groupId>javax.(enterprise|inject|json|json.bind|persistence|security.enterprise|validation)< +- category: potential + customVariables: [] + description: | + javax.{renamed-a} javax.{renamed-a}-api artifactId has been replaced by jakarta.{renamed-a} jakarta.{renamed-a}-api + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3, or later, and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with groupId `jakarta.{{renamed-a}}`, and artifactId `jakarta.{{renamed-a}}-api`. + ruleID: maven-javax-to-jakarta-00005 + when: + builtin.filecontent: + pattern: artifactId>javax.(json|json.bind|persistence|security.enterprise)-api< +- category: potential + customVariables: [] + description: |- + Move to Jakarta EE Maven Artifacts - replace artifactId cdi-api + If you migrate your application to JBoss EAP 7.3, or later, and want to ensure its Maven building, running or testing works as expected, use instead the Jakarta EE dependency with artifactId `jakarta.enterprise.cdi-api` + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3, or later, and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with artifactId `jakarta.enterprise.cdi-api` + ruleID: maven-javax-to-jakarta-00006 + when: + builtin.filecontent: + pattern: artifactId>cdi-api< +- category: potential + customVariables: [] + description: |- + Move to Jakarta EE Maven Artifacts - replace artifactId validation-api + If you migrate your application to JBoss EAP 7.3, or later, and want to ensure its Maven building, running or testing works as expected, use instead the Jakarta EE dependency with artifactId `jakarta.validation-api` + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3, or later, and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with artifactId `jakarta.validation-api` + ruleID: maven-javax-to-jakarta-00007 + when: + builtin.filecontent: + pattern: artifactId>validation-api< +- category: potential + customVariables: [] + description: |- + Move to Jakarta EE Maven Artifacts - replace artifactId javax.inject + If you migrate your application to JBoss EAP 7.3, or later, and want to ensure its Maven building, running or testing works as expected, use instead the Jakarta EE dependency with artifactId `jakarta.inject-api` + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3, or later, and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with artifactId `jakarta.inject-api` + ruleID: maven-javax-to-jakarta-00008 + when: + builtin.filecontent: + pattern: artifactId>javax.inject< +- category: potential + customVariables: [] + description: |- + Move to Jakarta EE Maven Artifacts - org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the Jakarta EE dependency with groupId `org.jboss.spec.javax.xml.soap`, and artifactId `jboss-saaj-api_1.4_spec`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with groupId `org.jboss.spec.javax.xml.soap`, and artifactId + `jboss-saaj-api_1.4_spec`. + ruleID: maven-javax-to-jakarta-00010 + when: + builtin.filecontent: + pattern: artifactId>jboss-saaj-api_1.3_spec< +- category: potential + customVariables: [] + description: |- + Move to Jakarta EE Maven Artifacts - org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the Jakarta EE dependency with groupId `org.jboss.spec.javax.transaction`, and artifactId `jboss-transaction-api_1.3_spec`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Maven Artifact Changes for Jakarta + EE' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#maven-artifact-changes-for-jakarta-ee_default + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + Jakarta EE dependency with groupId `org.jboss.spec.javax.transaction`, and artifactId + `jboss-transaction-api_1.3_spec`. + ruleID: maven-javax-to-jakarta-00011 + when: + builtin.filecontent: + pattern: artifactId>jboss-transaction-api_1.2_spec< +- category: potential + customVariables: [] + description: |- + Move to JBoss EAP Jakarta EE BOMs - org.jboss.bom:jboss-eap-javaee8 + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the JBoss EAP Jakarta EE BOM with groupId `org.jboss.bom`, and artifactId `jboss-eap-jakartaee8`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Changes to BOMs for Jakarta EE + 8' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#changes-to-boms-for-jakarta-ee + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + JBoss EAP Jakarta EE BOM with groupId `org.jboss.bom`, and artifactId `jboss-eap-jakartaee8`. + ruleID: maven-javax-to-jakarta-00012 + when: + builtin.filecontent: + pattern: artifactId>jboss-eap-javaee8< +- category: potential + customVariables: [] + description: |- + Move to JBoss EAP Jakarta EE BOMs - org.jboss.bom:jboss-eap-javaee8-with-spring4 + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the JBoss EAP Jakarta EE BOM with groupId `org.jboss.bom`, and artifactId `jboss-eap-jakartaee8-with-spring4`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Changes to BOMs for Jakarta EE + 8' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#changes-to-boms-for-jakarta-ee + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + JBoss EAP Jakarta EE BOM with groupId `org.jboss.bom`, and artifactId `jboss-eap-jakartaee8-with-spring4`. + ruleID: maven-javax-to-jakarta-00013 + when: + builtin.filecontent: + pattern: artifactId>jboss-eap-javaee8-with-spring4< +- category: potential + customVariables: [] + description: |- + Move to JBoss EAP Jakarta EE BOMs - org.jboss.bom:jboss-eap-javaee8-with-tools + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the JBoss EAP Jakarta EE BOM with groupId `org.jboss.bom`, and artifactId `jboss-eap-jakartaee8-with-tools`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Changes to BOMs for Jakarta EE + 8' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#changes-to-boms-for-jakarta-ee + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + JBoss EAP Jakarta EE BOM with groupId `org.jboss.bom`, and artifactId `jboss-eap-jakartaee8-with-tools`. + ruleID: maven-javax-to-jakarta-00014 + when: + builtin.filecontent: + pattern: artifactId>jboss-eap-javaee8-with-tools< +- category: potential + customVariables: [] + description: |- + Move to JBoss Jakarta EE BOMs - org.jboss.spec:jboss-javaee-8.0 + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the JBoss Jakarta EE BOM with groupId `org.jboss.spec`, and artifactId `jboss-jakartaee-8.0`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Changes to BOMs for Jakarta EE + 8' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#changes-to-boms-for-jakarta-ee + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + JBoss Jakarta EE BOM with groupId `org.jboss.spec`, and artifactId `jboss-jakartaee-8.0`. + ruleID: maven-javax-to-jakarta-00015 + when: + builtin.filecontent: + pattern: artifactId>jboss-javaee-8.0< +- category: potential + customVariables: [] + description: |- + Move to JBoss Jakarta EE BOMs - org.jboss.spec:jboss-javaee-web-8.0 + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the JBoss Jakarta EE BOM with groupId `org.jboss.spec`, and artifactId `jboss-jakartaee-web-8.0`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Changes to BOMs for Jakarta EE + 8' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#changes-to-boms-for-jakarta-ee + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + JBoss Jakarta EE BOM with groupId `org.jboss.spec`, and artifactId `jboss-jakartaee-web-8.0`. + ruleID: maven-javax-to-jakarta-00016 + when: + builtin.filecontent: + pattern: artifactId>jboss-javaee-web-8.0< +- category: potential + customVariables: [] + description: |- + Move to JBoss Jakarta EE BOMs - org.jboss.spec:jboss-javaee-all-8.0 + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, use instead the JBoss Jakarta EE BOM with groupId `org.jboss.spec`, and artifactId `jboss-jakartaee-all-8.0`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/target=eap8 + - konveyor.io/target=jakarta-ee8 + - konveyor.io/source + - JakartaEE + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Changes to BOMs for Jakarta EE + 8' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#changes-to-boms-for-jakarta-ee + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, use instead the + JBoss Jakarta EE BOM with groupId `org.jboss.spec`, and artifactId `jboss-jakartaee-all-8.0`. + ruleID: maven-javax-to-jakarta-00017 + when: + builtin.filecontent: + pattern: artifactId>jboss-javaee-all-8.0< diff --git a/resources/rulesets/eap7/82-maven-jboss-rmi-api_1.0_spec.rhamt.yaml b/resources/rulesets/eap7/82-maven-jboss-rmi-api_1.0_spec.rhamt.yaml new file mode 100644 index 0000000..67cb37f --- /dev/null +++ b/resources/rulesets/eap7/82-maven-jboss-rmi-api_1.0_spec.rhamt.yaml @@ -0,0 +1,20 @@ +- category: potential + customVariables: [] + description: |- + Remove Maven dependency on org.jboss.spec.javax.rmi:jboss-rmi-api_1.0_spec + If you migrate your application to JBoss EAP 7.3 (or later), and want to ensure its Maven building, running or testing works as expected, remove any dependency on unsupported artifact with groupId `org.jboss.spec.javax.rmi`, and artifactId `jboss-rmi-api_1.0_spec`. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + - rmi + links: [] + message: If you migrate your application to JBoss EAP 7.3 (or later), and want to + ensure its Maven building, running or testing works as expected, remove any dependency + on unsupported artifact with groupId `org.jboss.spec.javax.rmi`, and artifactId + `jboss-rmi-api_1.0_spec`. + ruleID: maven-jboss-rmi-api_1.0_spec-00001 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.jboss.spec.javax.rmi.jboss-rmi-api_1.0_spec diff --git a/resources/rulesets/eap7/83-move-to-microprofile-rest-client-1.3.rhamt.yaml b/resources/rulesets/eap7/83-move-to-microprofile-rest-client-1.3.rhamt.yaml new file mode 100644 index 0000000..044bd7d --- /dev/null +++ b/resources/rulesets/eap7/83-move-to-microprofile-rest-client-1.3.rhamt.yaml @@ -0,0 +1,21 @@ +- category: potential + customVariables: [] + description: |- + Move to Microprofile REST Client 1.3 + The application imports class `org.jboss.resteasy.client.microprofile.MicroprofileClientBuilderResolver`, and should be changed to use instead `org.eclipse.microprofile.rest.client.RestClientBuilder`, from Microprofile REST Client 1.3. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + links: + - title: 'Red Hat JBoss EAP 7.3 Migration Guide: Changes Required in MicroProfile + Rest Client Code' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/migration_guide/index#changes_required_in_mprestclient_code + message: The application imports class `org.jboss.resteasy.client.microprofile.MicroprofileClientBuilderResolver`, + and should be changed to use instead `org.eclipse.microprofile.rest.client.RestClientBuilder`, + from Microprofile REST Client 1.3. + ruleID: move-to-microprofile-rest-client-1.3-00001 + when: + java.referenced: + location: IMPORT + pattern: org.jboss.resteasy.client.microprofile.MicroprofileClientBuilderResolver diff --git a/resources/rulesets/eap7/84-singleton-sessionbean.rhamt.yaml b/resources/rulesets/eap7/84-singleton-sessionbean.rhamt.yaml new file mode 100644 index 0000000..f16c562 --- /dev/null +++ b/resources/rulesets/eap7/84-singleton-sessionbean.rhamt.yaml @@ -0,0 +1,29 @@ +- category: mandatory + customVariables: [] + description: |- + Removed SessionBean interface + When a singleton EJB bean class implements `javax.ejb.SessionBean` interface, this interface should be removed from the implements clause.. All methods declared in `javax.ejb.SessionBean` interface (see below) that are implemented in the bean class or its super classes should be checked for `@Override` annotation and remove this annotation too if present.. Methods declared by `javax.ejb.SessionBean` interface:. ```. void setSessionContext(SessionContext ctx);. void ejbRemove();. void ejbActivate();. void ejbPassivate();. ``` + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + links: [] + message: When a singleton EJB bean class implements `javax.ejb.SessionBean` interface, + this interface should be removed from the implements clause.. All methods declared + in `javax.ejb.SessionBean` interface (see below) that are implemented in the bean + class or its super classes should be checked for `@Override` annotation and remove + this annotation too if present.. Methods declared by `javax.ejb.SessionBean` interface:. + ```. void setSessionContext(SessionContext ctx);. void ejbRemove();. void ejbActivate();. + void ejbPassivate();. ``` + ruleID: singleton-sessionbean-00001 + when: + or: + - as: singleton + java.referenced: + location: ANNOTATION + pattern: javax.ejb.Singleton + - as: sessionbean + from: singleton + java.referenced: + location: IMPLEMENTS_TYPE + pattern: javax.ejb.SessionBean diff --git a/resources/rulesets/eap7/85-microprofile_removed_from_eap.mta.yaml b/resources/rulesets/eap7/85-microprofile_removed_from_eap.mta.yaml new file mode 100644 index 0000000..8aff360 --- /dev/null +++ b/resources/rulesets/eap7/85-microprofile_removed_from_eap.mta.yaml @@ -0,0 +1,110 @@ +- category: potential + customVariables: [] + description: |- + Eclipse MicroProfile removed from JBoss EAP - MicroProfile Config + This application depends on Eclipse MicroProfile Config, which is no longer supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion pack is installed. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + - EclipseMicroProfile + links: + - title: 'Red Hat JBoss EAP 7.4 Migration Guide: Review the list of deprecated and + unsupported features' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html-single/migration_guide/index#migration-review-deprecated_and_unsupported_features + message: This application depends on Eclipse MicroProfile Config, which is no longer + supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion pack is + installed. + ruleID: microprofile_removed_from_eap-00001 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.eclipse.microprofile.config.microprofile-config-api +- category: potential + customVariables: [] + description: |- + Eclipse MicroProfile removed from JBoss EAP - MicroProfile Health + This application depends on Eclipse MicroProfile Health, which is no longer supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion pack is installed. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + - EclipseMicroProfile + links: + - title: 'Red Hat JBoss EAP 7.4 Migration Guide: Review the list of deprecated and + unsupported features' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html-single/migration_guide/index#migration-review-deprecated_and_unsupported_features + message: This application depends on Eclipse MicroProfile Health, which is no longer + supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion pack is + installed. + ruleID: microprofile_removed_from_eap-00002 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.eclipse.microprofile.health.microprofile-health-api +- category: potential + customVariables: [] + description: |- + Eclipse MicroProfile removed from JBoss EAP - MicroProfile Metrics + This application depends on Eclipse MicroProfile Metrics, which is no longer supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion pack is installed. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + - EclipseMicroProfile + links: + - title: 'Red Hat JBoss EAP 7.4 Migration Guide: Review the list of deprecated and + unsupported features' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html-single/migration_guide/index#migration-review-deprecated_and_unsupported_features + message: This application depends on Eclipse MicroProfile Metrics, which is no longer + supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion pack is + installed. + ruleID: microprofile_removed_from_eap-00003 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.eclipse.microprofile.metrics.microprofile-metrics-api +- category: potential + customVariables: [] + description: |- + Eclipse MicroProfile removed from JBoss EAP - MicroProfile REST Client + This application depends on Eclipse MicroProfile REST Client, which is no longer supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion pack is installed. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + - EclipseMicroProfile + links: + - title: 'Red Hat JBoss EAP 7.4 Migration Guide: Review the list of deprecated and + unsupported features' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html-single/migration_guide/index#migration-review-deprecated_and_unsupported_features + message: This application depends on Eclipse MicroProfile REST Client, which is + no longer supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion + pack is installed. + ruleID: microprofile_removed_from_eap-00004 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.eclipse.microprofile.rest.client.microprofile-rest-client-api +- category: potential + customVariables: [] + description: |- + Eclipse MicroProfile removed from JBoss EAP - MicroProfile Opentracing + This application depends on Eclipse MicroProfile Opentracing, which is no longer supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion pack is installed. + effort: 1 + labels: + - konveyor.io/target=eap7 + - konveyor.io/source + - EclipseMicroProfile + links: + - title: 'Red Hat JBoss EAP 7.4 Migration Guide: Review the list of deprecated and + unsupported features' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html-single/migration_guide/index#migration-review-deprecated_and_unsupported_features + message: This application depends on Eclipse MicroProfile Opentracing, which is + no longer supported by JBoss EAP 7.4 (or later), unless the JBoss EAP expansion + pack is installed. + ruleID: microprofile_removed_from_eap-00001-01 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.eclipse.microprofile.opentracing.microprofile-opentracing-api diff --git a/resources/rulesets/eap7/86-embedded-framework-libraries.windup.yaml b/resources/rulesets/eap7/86-embedded-framework-libraries.windup.yaml new file mode 100644 index 0000000..1cb18e5 --- /dev/null +++ b/resources/rulesets/eap7/86-embedded-framework-libraries.windup.yaml @@ -0,0 +1,129 @@ +- customVariables: [] + description: "Embedded library - Drools\n\n The application + embedds a Drools library.\n \n" + labels: + - konveyor.io/target=eap + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-framework-libraries-01000 + tag: + - Drools + - Embedded library - Drools + when: + builtin.file: + pattern: .*drools.*\.jar$ +- customVariables: [] + description: "Hibernate embedded library\n\n The application + has a Hibernate library embedded.\n Red Hat JBoss EAP includes + Hibernate as a module with a version that has been tested and supported by Red + Hat.\n There are two options for using the Hibernate library:\n\n + \ 1. Keep it embedded as it is now. This approach is low + effort but the application will not use a tested and supported library.\n 2. + Switch to use the Hibernate library in the EAP module. This will require effort + to remove the embedded library and configure the application to use the module's + library but then the application will rely on a tested and supported version of + the Hibernate library.\n\n In the links below there are + the instructions to enable alternative versions for both EAP 6 and 7.\n \n" + labels: + - konveyor.io/target=eap + - konveyor.io/source + - phase=InitialAnalysisPhase + links: + - title: 'Red Hat JBoss EAP: Component Details' + url: https://access.redhat.com/articles/112673 + - title: 'Red Hat JBoss EAP 6: Hibernate and JPA Migration Changes' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Hibernate_and_JPA_Changes + - title: 'Red Hat JBoss EAP 7: Hibernate and JPA Migration Changes' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/migration_guide/application_migration_changes#hibernate_and_jpa_migration_changes + ruleID: embedded-framework-libraries-02000 + tag: + - Hibernate + - Hibernate embedded library + when: + builtin.file: + pattern: .*hibernate.*\.jar$ +- customVariables: [] + description: "Embedded library - JDBC\n\n The application + embeds a JDBC library.\n \n" + labels: + - konveyor.io/target=eap + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-framework-libraries-04000 + tag: + - JDBC + - Embedded library - JDBC + when: + builtin.file: + pattern: .*jdbc.*\.jar$ +- customVariables: [] + description: "JSF embedded library\n\n The application has + a JSF library embedded.\n\n Red Hat JBoss EAP includes + JSF as a module with a version that has been tested and is supported by Red Hat.\n + \ There are two options for using the JSF library:\n\n 1. + Keep it embedded as it is now. This approach is low effort but the application + will not use a tested and supported library.\n 2. Switch + to use the JSF library in the EAP module. This will require effort to remove the + embedded library and configure the application to use the module's library, but + then the application will rely on a tested and supported version of the JSF library.\n\n + \ In the links below there are instructions to enable alternative + versions for both EAP 6 and 7.\n \n" + labels: + - konveyor.io/target=eap + - konveyor.io/source + - phase=InitialAnalysisPhase + links: + - title: 'Red Hat JBoss EAP: Component Details' + url: https://access.redhat.com/articles/112673 + - title: 'Red Hat JBoss EAP 6: JavaServer Faces (JSF) Code Changes' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-JSF_changes + - title: How to use JSF 1.2 with EAP 6 + url: https://access.redhat.com/solutions/690953 + - title: 'Red Hat JBoss EAP 7: JavaServer Faces (JSF) Code Changes' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/migration_guide/application_migration_changes#migrate_jsf_code_changes + - title: How to use JSF 1.2 with EAP 7? + url: https://access.redhat.com/solutions/2773121 + ruleID: embedded-framework-libraries-05000 + tag: + - JSF + - JSF embedded library + when: + or: + - builtin.file: + pattern: .*jsf-[(api)|(impl)].*\.jar$ + - builtin.file: + pattern: .*myfaces-[(api)|(impl)|(bundle)].*\.jar$ +- customVariables: [] + description: "Seam 2 embedded library\n\n The application + has a Seam library embedded.\n\n While official support + for Seam 2.2 applications was dropped in JBoss EAP 6, it was still possible to + configure dependencies for JSF 1.2 and Hibernate 3 to allow Seam 2.2 applications + to run on that release.\n\n Seam 2.3 should work on JBoss + EAP 6 even some framework features and integrations from Seam 2.2 are not supported.\n\n + \ Red Hat JBoss EAP 7, which now includes JSF 2.2 and Hibernate + 5, does not support Seam 2.2 or Seam 2.3 due to end of life of Red Hat JBoss Web + Framework Kit. It is recommended that you rewrite your Seam components using CDI + beans.\n In the links below there are the instructions + to enable alternatives for both EAP 6 and 7\n \n" + labels: + - konveyor.io/target=eap + - konveyor.io/source + - phase=InitialAnalysisPhase + links: + - title: EAP 6 - Migrate Seam 2.2 applications + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#sect-Migrate_Seam_2.2_Applications + - title: 'Red Hat JBoss EAP 6: Migration from 2.2 to 2.3' + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#migration23 + - title: 'Red Hat JBoss EAP: Migration from Seam 2 to Java EE and alternatives' + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Web_Framework_Kit/2.7/html-single/Seam_Guide/index.html#idm54350960 + - title: How to use JSF 1.2 with EAP 7? + url: https://access.redhat.com/solutions/2773121 + ruleID: embedded-framework-libraries-06000 + tag: + - Seam + - Seam 2 embedded library + when: + builtin.file: + pattern: jboss-seam.*\.jar$ diff --git a/resources/rulesets/eap7/87-java-wsdl-mapping.yaml b/resources/rulesets/eap7/87-java-wsdl-mapping.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/eap7/87-java-wsdl-mapping.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/eap7/88-weblogic-catchall.windup.yaml b/resources/rulesets/eap7/88-weblogic-catchall.windup.yaml new file mode 100644 index 0000000..3b002a3 --- /dev/null +++ b/resources/rulesets/eap7/88-weblogic-catchall.windup.yaml @@ -0,0 +1,121 @@ +- category: potential + customVariables: + - name: prefix + nameOfCaptureGroup: prefix + pattern: (?P(com\.weblogic[^.]*\.)|(com\.bea[^.]*\.)|(bea\.)|(weblogic\.))?(?P.*)? + - name: remainder + nameOfCaptureGroup: remainder + pattern: (?P(com\.weblogic[^.]*\.)|(com\.bea[^.]*\.)|(bea\.)|(weblogic\.))?(?P.*)? + description: | + WebLogic proprietary type reference + effort: 0 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This is a WebLogic proprietary type (`{{prefix}}{{remainder}}`) and needs + to be migrated to a compatible API. There is currently no detailed information + about this type. + ruleID: weblogic-catchall-01000 + when: + java.referenced: + pattern: (com.weblogic[^.]*.)|(com.bea[^.]*.)|(bea.)|(weblogic.)* +- category: optional + customVariables: + - name: remainder + nameOfCaptureGroup: remainder + pattern: oracle.sql.(?P.*)? + description: | + Oracle proprietary SQL type reference + effort: 0 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This is an Oracle proprietary SQL type (`oracle.sql.{{remainder}}`).. It + should be migrated to a compatible API either if you consider replacing your Oracle + database or if you want to get rid of the Oracle proprietary API usage. + ruleID: weblogic-catchall-02000 + when: + java.referenced: + pattern: oracle.sql.* +- category: potential + customVariables: + - name: subpackage + nameOfCaptureGroup: subpackage + pattern: com.tangosol(?P(\..*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: com.tangosol(?P(\..*)?.)?(?P[^.]+)? + description: | + Tangosol Proprietary type reference + effort: 0 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This is an Oracle proprietary type (`com.tangosol{{subpackage}}.{{type}}`) + and needs to be migrated to a compatible API. There is currently no detailed information + about this type. + ruleID: weblogic-catchall-03000 + when: + java.referenced: + pattern: com.tangosol.** +- category: potential + customVariables: + - name: com + nameOfCaptureGroup: com + pattern: (?P(com\.)?)?oracle(?P(\..*)?.)?(?P[^.]+)? + - name: subpackage + nameOfCaptureGroup: subpackage + pattern: (?P(com\.)?)?oracle(?P(\..*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: (?P(com\.)?)?oracle(?P(\..*)?.)?(?P[^.]+)? + description: | + Oracle proprietary type reference + effort: 0 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This is an Oracle proprietary type (`{{com}}oracle{{subpackage}}.{{type}}`) + and needs to be migrated to a compatible API. There is currently no detailed information + about this type. + ruleID: weblogic-catchall-06000 + when: + java.referenced: + pattern: (com.)?oracle.** +- category: optional + customVariables: + - name: remainder + nameOfCaptureGroup: remainder + pattern: oracle.jdbc.(?P.*)? + description: | + Oracle proprietary JDBC type reference + effort: 0 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This is an Oracle proprietary JDBC type (`oracle.sql.{{remainder}}`).. + It should be replaced by standard Java EE JCA, datasource and JDBC types. + ruleID: weblogic-catchall-06500 + when: + java.referenced: + pattern: oracle.jdbc.* diff --git a/resources/rulesets/eap7/89-weblogic-ejb.windup.yaml b/resources/rulesets/eap7/89-weblogic-ejb.windup.yaml new file mode 100644 index 0000000..01d68b6 --- /dev/null +++ b/resources/rulesets/eap7/89-weblogic-ejb.windup.yaml @@ -0,0 +1,102 @@ +- category: mandatory + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: weblogic.(?P(ejb|ejb20|ejbgen)?.)?{*} + description: |- + WebLogic proprietary EJB + This application contains WebLogic EJBs probably generated by the WebLogic Server EJB tools. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - ejb + - weblogic + links: [] + message: This application contains WebLogic EJBs probably generated by the WebLogic + Server EJB tools. + ruleID: weblogic-ejb-01000 + when: + java.referenced: + location: IMPORT + pattern: weblogic.(ejb|ejb20|ejbgen)?* +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary timeout for transactions annotation + This application contains WebLogic proprietary `weblogic.javaee.TransactionTimeoutSeconds` annotation. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - ejb + - weblogic + links: + - title: WebLogic Server Deployment Elements + url: https://docs.oracle.com/middleware/1221/wls/WLMDB/summary.htm#r35c1-t4 + - title: WebLogic Server EJB 3.0 Metadata Annotations + url: https://docs.oracle.com/cd/E17904_01/web.1111/e13720/annotations.htm#EJBAD359 + - title: JBoss EAP 6 - Session Bean Transaction Timeout + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/administration_and_configuration_guide/#Session_Bean_Transaction_Timeout + - title: How to set EJB transaction timeout in JBoss EAP 6 + url: https://access.redhat.com/solutions/90553 + message: This application contains WebLogic proprietary `weblogic.javaee.TransactionTimeoutSeconds` + annotation. + ruleID: weblogic-ejb-02000 + when: + java.referenced: + location: ANNOTATION + pattern: weblogic.javaee.TransactionTimeoutSeconds +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary MessageDriven annotation + This application contains WebLogic proprietary `weblogic.ejbgen.MessageDriven` annotation. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - ejb + - weblogic + links: + - title: WebLogic EJBGen Annotation Reference + url: https://docs.oracle.com/cd/E13222_01/wls/docs92/ejb/EJBGen_reference.html#wp1070171 + - title: JBoss EAP 7 - Configuring MDBs Using Annotations + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_ejb_applications/#configuring_mdbs_using_annotations + message: This application contains WebLogic proprietary `weblogic.ejbgen.MessageDriven` + annotation. + ruleID: weblogic-ejb-03000 + when: + java.referenced: + location: ANNOTATION + pattern: weblogic.ejbgen.MessageDriven +- category: mandatory + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: weblogic.ejb.(?P(GenericEntityBean|GenericMessageDrivenBean|GenericSessionBean))? + description: | + WebLogic proprietary EJB Bean + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap6 + - ejb + - weblogic + links: + - title: WebLogic Server - Javadoc + url: https://docs.oracle.com/cd/E11035_01/wls100/javadocs/weblogic/ejb/GenericEntityBean.html + - title: WebLogic Server - Javadoc + url: https://docs.oracle.com/cd/E11035_01/wls100/javadocs/weblogic/ejb/GenericMessageDrivenBean.html + - title: WebLogic Server - Javadoc + url: https://docs.oracle.com/cd/E11035_01/wls100/javadocs/weblogic/ejb/GenericSessionBean.html + - title: JBoss EAP 6 - Enterprise JavaBeans + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/development_guide/#chap-Enterprise_JavaBeans + - title: JBoss EAP 7 - Developing EJB Applications + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_ejb_applications/ + message: This class extends `weblogic.ejb.{{type}}` that needs to be removed. + ruleID: weblogic-ejb-04000 + when: + java.referenced: + location: INHERITANCE + pattern: weblogic.ejb.(GenericEntityBean|GenericMessageDrivenBean|GenericSessionBean) diff --git a/resources/rulesets/eap7/90-weblogic-ignore-references.windup.yaml b/resources/rulesets/eap7/90-weblogic-ignore-references.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/eap7/90-weblogic-ignore-references.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/eap7/91-weblogic-jms.windup.yaml b/resources/rulesets/eap7/91-weblogic-jms.windup.yaml new file mode 100644 index 0000000..d43241d --- /dev/null +++ b/resources/rulesets/eap7/91-weblogic-jms.windup.yaml @@ -0,0 +1,188 @@ +- customVariables: [] + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Oracle 9i JMS Documentation + url: http://docs.oracle.com/cd/B10501_01/appdev.920/a96609/toc.htm + - title: Java EE 7 - The JMS API Programming Model + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + ruleID: weblogic-jms-eap7-00000 + tag: + - jms + - weblogic + - Oracle JMS + when: + java.referenced: + pattern: oracle.jms* +- category: mandatory + customVariables: [] + description: |- + Oracle JMS Session + Oracle JMS sessions are used for producing and consuming messaging API objects such as message producers, message. consumers, messages, queue browsers, and temporary queues and topics.. This reference should be replaced with the Java EE. standard API: `javax.jms.Session`. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Java EE 7 - JMS Session + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEN + message: 'Oracle JMS sessions are used for producing and consuming messaging API + objects such as message producers, message. consumers, messages, queue browsers, + and temporary queues and topics.. This reference should be replaced with the Java + EE. standard API: `javax.jms.Session`.' + ruleID: weblogic-jms-eap7-01000 + when: + java.referenced: + pattern: oracle.jms.AQjmsSession +- category: mandatory + customVariables: [] + description: |- + Oracle JMS Queue Browser + Oracle JMS queue browsers are used for browsing messages in a JMS queue.. This reference should be replaced with the Java. EE standard API: `javax.jms.QueueBrowser`. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Java EE 7 - JMS Queue Browser + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEY + message: 'Oracle JMS queue browsers are used for browsing messages in a JMS queue.. + This reference should be replaced with the Java. EE standard API: `javax.jms.QueueBrowser`.' + ruleID: weblogic-jms-eap7-02000 + when: + java.referenced: + pattern: oracle.jms.AQjmsQueueBrowser +- category: mandatory + customVariables: [] + description: |- + Oracle JMS Producer + Oracle JMS producers are used for sending messages to a destination.. This reference should be replaced with the Java. EE. standard API: `javax.jms.MessageProducer`. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Java EE 7 - JMS Message Producer + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEO + message: 'Oracle JMS producers are used for sending messages to a destination.. + This reference should be replaced with the Java. EE. standard API: `javax.jms.MessageProducer`.' + ruleID: weblogic-jms-eap7-03000 + when: + java.referenced: + pattern: oracle.jms.AQjmsProducer +- category: mandatory + customVariables: [] + description: |- + Oracle JMS Consumer + Oracle JMS consumers are used for receiving messages sent to a destination.. This reference should be replaced with the. Java EE standard API: `javax.jms.MessageConsumer`. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Java EE 7 - JMS Message Consumer + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEP + message: 'Oracle JMS consumers are used for receiving messages sent to a destination.. + This reference should be replaced with the. Java EE standard API: `javax.jms.MessageConsumer`.' + ruleID: weblogic-jms-eap7-04000 + when: + java.referenced: + pattern: oracle.jms.AQjmsConsumer +- category: mandatory + customVariables: [] + description: |- + Oracle JMS Consumer + Oracle JMS connections represent virtual connections with a JMS provider.. This reference should be replaced with the. Java. EE standard API: `javax.jms.Connection`. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Java EE 7 - JMS Connections + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEM + message: 'Oracle JMS connections represent virtual connections with a JMS provider.. + This reference should be replaced with the. Java. EE standard API: `javax.jms.Connection`.' + ruleID: weblogic-jms-eap7-05000 + when: + java.referenced: + pattern: oracle.jms.AQjmsConnection +- category: mandatory + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: oracle.jms.AQjms(?P(Text|Stream|Object|Map|Bytes)?)?Message + description: | + Oracle JMS {type}Message + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Java EE 7 - JMS Message API + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCES + message: 'Oracle JMS {{type}} messages represent the actual data passed through + JMS destinations.. This reference should be replaced. with the. Java. EE standard + API: `javax.jms.{{type}}Message`.' + ruleID: weblogic-jms-eap7-06000 + when: + java.referenced: + pattern: oracle.jms.AQjms(Text|Stream|Object|Map|Bytes)?Message +- category: mandatory + customVariables: [] + description: |- + Oracle JMS Destination + Oracle JMS destinations are the objects a client uses to specify the target of messages it produces and the source of. messages it consumes.. This reference should be replaced with the. Java. EE standard API: `javax.jms.Destination`. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Java EE 7 - JMS Destinations + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEL + message: 'Oracle JMS destinations are the objects a client uses to specify the target + of messages it produces and the source of. messages it consumes.. This reference + should be replaced with the. Java. EE standard API: `javax.jms.Destination`.' + ruleID: weblogic-jms-eap7-07000 + when: + java.referenced: + pattern: oracle.jms.AQjmsDestination +- category: mandatory + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: oracle.jms.AQjms(?P(Topic|Queue)?)?ConnectionFactory + description: | + Oracle JMS {type} Connection Factory + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - jms + - weblogic + links: + - title: Java EE 7 - JMS Connection factories + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEK + message: 'Oracle {{type}}ConnectionFactory is an encapsulation of JMS servers to + which Connections can be created for message distribution.. This reference should + be replaced with the. Java. EE standard API: `javax.jms.{{type}}ConnectionFactory`.' + ruleID: weblogic-jms-eap7-08000 + when: + java.referenced: + pattern: oracle.jms.AQjms(Topic|Queue)?ConnectionFactory diff --git a/resources/rulesets/eap7/92-weblogic-services.windup.yaml b/resources/rulesets/eap7/92-weblogic-services.windup.yaml new file mode 100644 index 0000000..788062e --- /dev/null +++ b/resources/rulesets/eap7/92-weblogic-services.windup.yaml @@ -0,0 +1,69 @@ +- category: mandatory + customVariables: [] + description: |- + WebLogic Startup Service + Replace this class with a class using the EJB 3.2 `@Singleton` and `@Startup` annotations. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - startup + links: + - title: EJB 3.2 Singleton Bean + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Singleton.html + - title: EJB 3.2 Startup Bean + url: http://docs.oracle.com/javaee/7/api/javax/ejb/Startup.html + message: Replace this class with a class using the EJB 3.2 `@Singleton` and `@Startup` + annotations. + ruleID: weblogic-services-eap7-01000 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: weblogic.common.T3StartupDef +- category: mandatory + customVariables: [] + description: |- + WebLogic T3ServicesDef usage + `T3ServicesDef` provides access to core services of the container, such as Timers and Logging facilities.. Replace the services provided by this with a Singleton EJB (using the `@Singleton` annotation) that provides access to the equivalent services from JBoss EAP. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - webservice + links: + - title: Java EE Tutorial - @Singleton Session Bean + url: https://docs.oracle.com/javaee/7/tutorial/ejb-intro002.htm#GIPIM + message: '`T3ServicesDef` provides access to core services of the container, such + as Timers and Logging facilities.. Replace the services provided by this with + a Singleton EJB (using the `@Singleton` annotation) that provides access to the + equivalent services from JBoss EAP.' + ruleID: weblogic-services-eap7-02000 + when: + java.referenced: + pattern: weblogic.common.T3ServicesDef +- category: mandatory + customVariables: + - name: logger + nameOfCaptureGroup: logger + pattern: weblogic.(?P(i18n.)?logging.[^N])?{*} + description: |- + WebLogic proprietary logging classes + Oracle WebLogic logging classes should be replaced with SLF4J, Log4J, or Java Logging.. Please refer to the [JBoss EAP 7 Development guide](https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#logging) for more information on this. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - logging + links: + - title: JBoss EAP 7 Development Guide - Logging + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#logging + message: Oracle WebLogic logging classes should be replaced with SLF4J, Log4J, or + Java Logging.. Please refer to the [JBoss EAP 7 Development guide](https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#logging) + for more information on this. + ruleID: weblogic-services-eap7-03000 + when: + java.referenced: + pattern: weblogic.(i18n.)?logging.[^N]* diff --git a/resources/rulesets/eap7/93-weblogic-webapp.windup.yaml b/resources/rulesets/eap7/93-weblogic-webapp.windup.yaml new file mode 100644 index 0000000..cf271dd --- /dev/null +++ b/resources/rulesets/eap7/93-weblogic-webapp.windup.yaml @@ -0,0 +1,230 @@ +- category: mandatory + customVariables: [] + description: |- + WebLogic Virtual directory mapping + Virtual directories supported in WebLogic are not supported in JBoss EAP. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - file-system + links: + - title: Detailed description of how to migrate virtual directories. + url: https://access.redhat.com/articles/1332613 + message: Virtual directories supported in WebLogic are not supported in JBoss EAP. + ruleID: weblogic-webapp-eap7-01000 + when: + builtin.xml: + filepaths: + - weblogic.xml + namespaces: + wl: http://xmlns.oracle.com/weblogic/weblogic-web-app + xpath: //wl:virtual-directory-mapping +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary servlet annotations + Replace the proprietary WebLogic `@WLServlet` annotation with the Java EE standard `@WebServlet` annotation.. See the [javax.servlet.annotation JavaDoc](http://docs.oracle.com/javaee/7/api/javax/servlet/annotation/package-summary.html) for more information. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - servlet + links: + - title: Migrate WebLogic Proprietary Servlet Annotations + url: https://access.redhat.com/articles/1249423 + message: Replace the proprietary WebLogic `@WLServlet` annotation with the Java + EE standard `@WebServlet` annotation.. See the [javax.servlet.annotation JavaDoc](http://docs.oracle.com/javaee/7/api/javax/servlet/annotation/package-summary.html) + for more information. + ruleID: weblogic-webapp-eap7-02000 + when: + java.referenced: + location: ANNOTATION + pattern: weblogic.servlet.annotation.WLServlet +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary servlet annotations + Replace the proprietary WebLogic `@WLInitParam` annotation with the Java EE standard `@WebInitParam` annotation.. See the [javax.servlet.annotation JavaDoc](http://docs.oracle.com/javaee/7/api/javax/servlet/annotation/package-summary.html) for more information. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - servlet + links: + - title: Migrate WebLogic Proprietary Servlet Annotations + url: https://access.redhat.com/articles/1249423 + message: Replace the proprietary WebLogic `@WLInitParam` annotation with the Java + EE standard `@WebInitParam` annotation.. See the [javax.servlet.annotation JavaDoc](http://docs.oracle.com/javaee/7/api/javax/servlet/annotation/package-summary.html) + for more information. + ruleID: weblogic-webapp-eap7-03000 + when: + java.referenced: + location: ANNOTATION + pattern: weblogic.servlet.annotation.WLInitParam +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary servlet annotations + Replace the proprietary WebLogic `@WLFilter` annotation with the Java EE standard `@WebFilter` annotation.. See the [javax.servlet.annotation JavaDoc](http://docs.oracle.com/javaee/7/api/javax/servlet/annotation/package-summary.html) for more information. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - servlet + links: + - title: Migrate WebLogic Proprietary Servlet Annotations + url: https://access.redhat.com/articles/1249423 + message: Replace the proprietary WebLogic `@WLFilter` annotation with the Java EE + standard `@WebFilter` annotation.. See the [javax.servlet.annotation JavaDoc](http://docs.oracle.com/javaee/7/api/javax/servlet/annotation/package-summary.html) + for more information. + ruleID: weblogic-webapp-eap7-04000 + when: + java.referenced: + location: ANNOTATION + pattern: weblogic.servlet.annotation.WLFilter +- category: mandatory + customVariables: [] + description: |- + WebLogic ApplicationLifecycleEvent + WebLogic `ApplicationLifecycleEvent` must be replaced with standard Java EE `ServletContextEvent`. Otherwise, a custom solution using CDI's `ApplicationScoped` beans or EJB's `@Startup` beans is required in order to propagate a custom event object because `ServletContextEvent` types are not extendible in the standard Java EE programming model.. Use a `javax.servlet.ServletContextListener` with `@javax.annotation.servlet.WebListener`, or an EJB 3.1 `@javax.ejb.Startup` `@javax.ejb.Singleton` service bean. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - lifecycle + links: + - title: Migrate WebLogic ApplicationLifecycleEvent to standard EJB with JBoss EAP + url: https://access.redhat.com/articles/1326703 + - title: Java EE ServletContextEvent JavaDoc + url: http://docs.oracle.com/javaee/7/api/javax/servlet/ServletContextEvent.html + - title: WebLogic custom ApplicationLifecycleEvent Documentation + url: http://docs.oracle.com/cd/E13222_01/wls/docs90/programming/lifecycle.html + message: WebLogic `ApplicationLifecycleEvent` must be replaced with standard Java + EE `ServletContextEvent`. Otherwise, a custom solution using CDI's `ApplicationScoped` + beans or EJB's `@Startup` beans is required in order to propagate a custom event + object because `ServletContextEvent` types are not extendible in the standard + Java EE programming model.. Use a `javax.servlet.ServletContextListener` with + `@javax.annotation.servlet.WebListener`, or an EJB 3.1 `@javax.ejb.Startup` `@javax.ejb.Singleton` + service bean. + ruleID: weblogic-webapp-eap7-05000 + when: + or: + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: weblogic.application.ApplicationLifecycleEvent + - java.referenced: + location: INHERITANCE + pattern: weblogic.application.ApplicationLifecycleEvent + - java.referenced: + location: IMPORT + pattern: weblogic.application.ApplicationLifecycleEvent +- category: mandatory + customVariables: [] + description: |- + WebLogic ApplicationLifecycleListener + WebLogic `ApplicationLifecycleListener` must be replaced with standard Java EE `ServletContextListener` types. Otherwise, a solution using CDI's `ApplicationScoped` beans or EJB's `@Startup` beans is required.. Use a `javax.servlet.ServletContextListener` with `@javax.annotation.servlet.WebListener`, or an EJB 3.1 `@javax.ejb.Startup` `@javax.ejb.Singleton` service bean. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - lifecycle + links: + - title: Migrate Oracle WebLogic Server ApplicationLifecycleListener Code to Red + Hat JBoss EAP 6+ + url: https://access.redhat.com/articles/1326703 + - title: Java EE ServletContextEvent JavaDoc + url: http://docs.oracle.com/javaee/7/api/javax/servlet/ServletContextEvent.html + - title: WebLogic custom ApplicationLifecycleEvent Documentation + url: http://docs.oracle.com/cd/E13222_01/wls/docs90/programming/lifecycle.html + message: WebLogic `ApplicationLifecycleListener` must be replaced with standard + Java EE `ServletContextListener` types. Otherwise, a solution using CDI's `ApplicationScoped` + beans or EJB's `@Startup` beans is required.. Use a `javax.servlet.ServletContextListener` + with `@javax.annotation.servlet.WebListener`, or an EJB 3.1 `@javax.ejb.Startup` + `@javax.ejb.Singleton` service bean. + ruleID: weblogic-webapp-eap7-06000 + when: + or: + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: weblogic.application.ApplicationLifecycleListener + - java.referenced: + location: INHERITANCE + pattern: weblogic.application.ApplicationLifecycleListener +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary security API + The usage of the WebLogic proprietary security API should be replaced by standard Java EE mechanisms or the ones provided by JBoss EAP. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - security + links: [] + message: The usage of the WebLogic proprietary security API should be replaced by + standard Java EE mechanisms or the ones provided by JBoss EAP. + ruleID: weblogic-webapp-eap7-07000 + when: + java.referenced: + pattern: weblogic.security* +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary security reference to weblogic.security.Security + Migrate to JBoss EAP 7: `org.jboss.security.SecurityContextAssociation`. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - security + links: + - title: Security Context - JBoss EAP 7 + url: https://access.redhat.com/webassets/avalon/d/red-hat-jboss-enterprise-application-platform/7.0.0/javadocs/org/jboss/security/SecurityContextAssociation.html + - title: Security context retrieval in POJOs + url: https://access.redhat.com/solutions/55114 + message: 'Migrate to JBoss EAP 7: `org.jboss.security.SecurityContextAssociation`.' + ruleID: weblogic-webapp-eap7-08000 + when: + java.referenced: + pattern: weblogic.security.Security +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary ServletAuthentication annotation + Oracle WebLogic Server provides a proprietary `ServletAuthentication` class to perform programmatic login.. In Red Hat JBoss EAP 7, you can use the standard Java EE servlet security 3.1 `HttpServletRequest.login()` method or you can define a `` element in the web.xml file. You must also replace code that uses the Oracle WebLogic Server proprietary `ServletAuthentication` class. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - web-app + - weblogic + - security + links: + - title: Migrate Oracle WebLogic programmatic login to JBoss EAP 7 + url: https://access.redhat.com/articles/1329213 + message: Oracle WebLogic Server provides a proprietary `ServletAuthentication` class + to perform programmatic login.. In Red Hat JBoss EAP 7, you can use the standard + Java EE servlet security 3.1 `HttpServletRequest.login()` method or you can define + a `` element in the web.xml file. You must also replace code + that uses the Oracle WebLogic Server proprietary `ServletAuthentication` class. + ruleID: weblogic-webapp-eap7-09000 + when: + java.referenced: + pattern: weblogic.servlet.security.ServletAuthentication diff --git a/resources/rulesets/eap7/94-weblogic-webservices.windup.yaml b/resources/rulesets/eap7/94-weblogic-webservices.windup.yaml new file mode 100644 index 0000000..5313826 --- /dev/null +++ b/resources/rulesets/eap7/94-weblogic-webservices.windup.yaml @@ -0,0 +1,173 @@ +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary web service implementation class + This web service stub uses the WebLogic proprietary web service implementation class ("weblogic.wsee.jaxrpc.ServiceImpl").. It might have been generated by a WebLogic proprietary tool.. This should be replaced using the standard Java EE JAX-WS framework. It could be regenerated using the JBoss web services tools.. Please refer to the [Developing JAX-WS Web Services](https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_web_services_applications/#developing_jax_ws_web_services) guide for more information. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - webservice + - weblogic + links: + - title: Developing JAX-WS Web Services + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_web_services_applications/#developing_jax_ws_web_services + message: This web service stub uses the WebLogic proprietary web service implementation + class ("weblogic.wsee.jaxrpc.ServiceImpl").. It might have been generated by a + WebLogic proprietary tool.. This should be replaced using the standard Java EE + JAX-WS framework. It could be regenerated using the JBoss web services tools.. + Please refer to the [Developing JAX-WS Web Services](https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_web_services_applications/#developing_jax_ws_web_services) + guide for more information. + ruleID: weblogic-webservices-eap7-01000 + when: + java.referenced: + location: INHERITANCE + pattern: weblogic.wsee.jaxrpc.ServiceImpl +- category: mandatory + customVariables: [] + description: |- + WebLogic asynchronous web service client + The [WebLogic proprietary Asynchronous Web Service Client API](https://docs.oracle.com/cd/E23943_01/web.1111/e15184/asynch.htm) should be replaced using calls to the JAX-WS asynchronous API.. More information is available in the [JAX-WS Web Service Clients](https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/sect-JAX-WS_Web_Service_Clients.html). + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - webservice + - weblogic + - client + links: + - title: WebLogic Asynchronous Execution Documentation + url: https://docs.oracle.com/cd/E23943_01/web.1111/e15184/asynch.htm + - title: JAX-WS Web Service Clients + url: https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/sect-JAX-WS_Web_Service_Clients.html + message: The [WebLogic proprietary Asynchronous Web Service Client API](https://docs.oracle.com/cd/E23943_01/web.1111/e15184/asynch.htm) + should be replaced using calls to the JAX-WS asynchronous API.. More information + is available in the [JAX-WS Web Service Clients](https://access.redhat.com/documentation/en-us/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/sect-JAX-WS_Web_Service_Clients.html). + ruleID: weblogic-webservices-eap7-02000 + when: + java.referenced: + pattern: weblogic.wsee.async.AsyncPreCallContext +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary web service authentication + Replace proprietary web-service authentication with JAX-WS standard calls. To attach authentication with JBoss EAP, simply use the following code:. ```java. URL wsdlURL = new File("resources/jaxws/samples/context/WEB-INF/wsdl/TestEndpoint.wsdl").toURL();. QName qname = new QName("http://org.jboss.ws/jaxws/context", "TestEndpointService");. Service service = Service.create(wsdlURL, qname);. port = (TestEndpoint)service.getPort(TestEndpoint.class);. BindingProvider bp = (BindingProvider)port;. bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "jsmith");. bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "PaSSw0rd");. ``` + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - webservice + - weblogic + - security + links: + - title: Securing JAX-WS Web Services + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_web_services_applications/#ws_sec_ws + message: Replace proprietary web-service authentication with JAX-WS standard calls. + To attach authentication with JBoss EAP, simply use the following code:. ```java. + URL wsdlURL = new File("resources/jaxws/samples/context/WEB-INF/wsdl/TestEndpoint.wsdl").toURL();. + QName qname = new QName("http://org.jboss.ws/jaxws/context", "TestEndpointService");. + Service service = Service.create(wsdlURL, qname);. port = (TestEndpoint)service.getPort(TestEndpoint.class);. + BindingProvider bp = (BindingProvider)port;. bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, + "jsmith");. bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "PaSSw0rd");. + ``` + ruleID: weblogic-webservices-eap7-03000 + when: + java.referenced: + location: METHOD_CALL + pattern: weblogic.wsee.connection.transport.http.HttpTransportInfo.setUsername* +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary web services API - weblogic.wsee.context.WebServiceContext + This code uses the WebLogic specific class `weblogic.wsee.context.WebServiceContext`. This usage will need to be replaced with the Java Enterprise Edition standard `javax.xml.WebServiceContext` interface.. Example code:. ```java. @Resource. private WebServiceContext webServiceContext;. ``` + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - webservice + - weblogic + - context + links: + - title: javax.xml.WebServiceContext Documentation + url: http://docs.oracle.com/javaee/7/api/javax/xml/ws/WebServiceContext.html + message: This code uses the WebLogic specific class `weblogic.wsee.context.WebServiceContext`. + This usage will need to be replaced with the Java Enterprise Edition standard + `javax.xml.WebServiceContext` interface.. Example code:. ```java. @Resource. private + WebServiceContext webServiceContext;. ``` + ruleID: weblogic-webservices-eap7-04000 + when: + java.referenced: + pattern: weblogic.wsee.context.WebServiceContext +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary web services API - ContextNotFoundException + This exception (`weblogic.wsee.context.ContextNotFoundException`) is WebLogic specific and can be removed. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - webservice + - weblogic + - context + links: [] + message: This exception (`weblogic.wsee.context.ContextNotFoundException`) is WebLogic + specific and can be removed. + ruleID: weblogic-webservices-eap7-05000 + when: + java.referenced: + pattern: weblogic.wsee.context.ContextNotFoundException +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary web services generated client classes + This class has been generated by a WebLogic web service client generator (ClientGen).. It could be replaced by an equivalent standard Java EE technology using for example the EAP 7 wsconsume tool, the wsgen tool or the CXF tools. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - webservice + - weblogic + - client + links: + - title: Oracle ClientGen Ant Task Reference + url: https://docs.oracle.com/cd/E13222_01/wls/docs90/webserv/anttasks.html#1039270 + - title: Developing Web Services Applications - Using JAX-WS Tools + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/developing_web_services_applications/#using_jax_ws_tools + - title: JAX-WS - wsgen + url: https://jax-ws.java.net/nonav/2.2.6/docs/ch04.html#tools-wsgen + - title: Apache CXF tools + url: https://cxf.apache.org/docs/tools.html + message: This class has been generated by a WebLogic web service client generator + (ClientGen).. It could be replaced by an equivalent standard Java EE technology + using for example the EAP 7 wsconsume tool, the wsgen tool or the CXF tools. + ruleID: weblogic-webservices-eap7-06000 + when: + or: + - java.referenced: + pattern: weblogic.wsee.tools.clientgen* + - java.referenced: + pattern: weblogic.webservice* +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary web service annotation @Transactional + Replace WebLogic proprietary web-service annotation `@Transactional` by the standard Java EE annotation `@TransactionAttribute`. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - webservice + - weblogic + links: + - title: WebLogic-specific Annotations - Transactional + url: https://docs.oracle.com/middleware/11119/wls/WSREF/annotations.htm#i1058163 + - title: JBoss EAP 7 - API TransactionAttribute + url: https://access.redhat.com/webassets/avalon/d/red-hat-jboss-enterprise-application-platform/7.0.0/javadocs/javax/ejb/TransactionAttribute.html + message: Replace WebLogic proprietary web-service annotation `@Transactional` by + the standard Java EE annotation `@TransactionAttribute`. + ruleID: weblogic-webservices-07000 + when: + java.referenced: + location: ANNOTATION + pattern: weblogic.jws.Transactional diff --git a/resources/rulesets/eap7/95-weblogic-xml-descriptors.windup.yaml b/resources/rulesets/eap7/95-weblogic-xml-descriptors.windup.yaml new file mode 100644 index 0000000..5ae6f27 --- /dev/null +++ b/resources/rulesets/eap7/95-weblogic-xml-descriptors.windup.yaml @@ -0,0 +1,430 @@ +- customVariables: [] + description: "WebLogic EAR application descriptor (weblogic-application.xml)\n\n + \ The `weblogic-application.xml` deployment descriptor file + is used to describe Oracle WebLogic Server EAR archives. Oracle WebLogic Server + EAR configures some application settings through the `application-param` element.\n + \ These settings could be replaced with `context-param` elements + in Java EE Servlet `web.xml` descriptor.\n \n" + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: + - title: 'Migrate Oracle WebLogic configuration files to JBoss EAP 6 or 7 ' + url: https://access.redhat.com/articles/1326803 + - title: Migrate Oracle WebLogic server descriptors (weblogic-application.xml) to + JBoss EAP 6 or 7 + url: https://access.redhat.com/articles/1328043 + ruleID: weblogic-xml-descriptor-eap7-01000 + tag: + - webservice + - weblogic + - WebLogic EAR application descriptor (weblogic-application.xml) + when: + builtin.xml: + namespaces: {} + xpath: /*[local-name()='weblogic-application'] +- customVariables: [] + description: | + WebLogic Entity EJB configuration + WebLogic Entity EJB Configuration are used for RDBMS based persistence services. + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: + - title: Migrate Oracle WebLogic Server Configuration Files and Descriptors to JBoss + EAP 6 or 7 + url: https://access.redhat.com/articles/1326803 + ruleID: weblogic-xml-descriptor-eap7-02000 + tag: + - database + - ejb + - configuration + - weblogic + - WebLogic Entity EJB configuration + when: + builtin.xml: + namespaces: {} + xpath: /*[local-name()='weblogic-rdbms-jar'] +- category: mandatory + customVariables: [] + description: |- + WebLogic EJB XML (weblogic-ejb-jar.xml) delay-updates-until-end-of-tx + The WebLogic `` configuration element, which defaults to `true`, is used for performance reasons to delay updates to the persistent store of all beans until the end of the transaction. When set to `false`, updates are sent to the database after each method invocation, but are not committed until the end of the transaction. This allows other processes to access the persisted data while the transaction is waiting to be completed.. In JBoss EAP 6+, you can achieve the same behavior by specifying the `` in the jbosscmp-jdbc.xml file. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + - performance + - ejb + - database + links: + - title: Map delay-updates-until-end-of-tx element from weblogic-ejb-jar.xml Elements + to the JBoss Enterprise Application Platform Equivalent + url: https://access.redhat.com/articles/1326823 + message: The WebLogic `` configuration element, which + defaults to `true`, is used for performance reasons to delay updates to the persistent + store of all beans until the end of the transaction. When set to `false`, updates + are sent to the database after each method invocation, but are not committed until + the end of the transaction. This allows other processes to access the persisted + data while the transaction is waiting to be completed.. In JBoss EAP 6+, you can + achieve the same behavior by specifying the `` in the jbosscmp-jdbc.xml + file. + ruleID: weblogic-xml-descriptor-eap7-03000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='delay-updates-until-end-of-tx']/text() +- category: mandatory + customVariables: [] + description: |- + WebLogic EJB XML (weblogic-ejb-jar.xml) + The elements of proprietary `weblogic-ejb-jar.xml` descriptor need to be mapped to the `jboss-ejb3.xml` one according to the attached knowledge article. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + - ejb + links: + - title: Migrate the weblogic-ejb-jar.xml + url: https://access.redhat.com/articles/1326823 + message: The elements of proprietary `weblogic-ejb-jar.xml` descriptor need to be + mapped to the `jboss-ejb3.xml` one according to the attached knowledge article. + ruleID: weblogic-xml-descriptor-eap7-04000 + when: + or: + - builtin.xml: + namespaces: {} + xpath: /weblogic-ejb-jar + - builtin.xml: + namespaces: + wl9: http://www.bea.com/ns/weblogic/90 + xpath: /wl9:weblogic-ejb-jar + - builtin.xml: + namespaces: + wl10: http://www.bea.com/ns/weblogic/10.0 + xpath: /wl10:weblogic-ejb-jar + - builtin.xml: + namespaces: + wls: http://xmlns.oracle.com/weblogic/weblogic-ejb-jar + xpath: /wls:weblogic-ejb-jar +- category: mandatory + customVariables: [] + description: |- + WebLogic Stateful Session Bean (SFSB) + Replace WebLogic proprietary configuration by Java EE annotation `@AccessTimeout`.. The equivalent usage is `@AccessTimeout(value= -1)` + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + - ejb + links: + - title: Java EE 7 annotation @AccessTimeout + url: http://docs.oracle.com/javaee/7/api/javax/ejb/AccessTimeout.html + message: Replace WebLogic proprietary configuration by Java EE annotation `@AccessTimeout`.. + The equivalent usage is `@AccessTimeout(value= -1)` + ruleID: weblogic-xml-descriptor-eap7-06001 + when: + builtin.xml: + namespaces: + wl9: http://www.bea.com/ns/weblogic/90 + xpath: //*[local-name() = 'allow-concurrent-calls' and translate(text(),'TRUE','true') + = 'true' ] +- customVariables: [] + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: [] + ruleID: weblogic-xml-descriptor-eap7-07000 + tag: + - soap + - weblogic + - WebLogic SOAP client mapping + when: + builtin.xml: + namespaces: + wl10: http://www.bea.com/ns/weblogic/weblogic-wsee-standaloneclient + xpath: /weblogic-wsee-standaloneclient |/wl10:weblogic-wsee-standaloneclient +- customVariables: [] + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: [] + ruleID: weblogic-xml-descriptor-eap7-08000 + tag: + - wsdl + - weblogic + - WebLogic Java to WSDL Mapping + when: + builtin.xml: + namespaces: + jee: http://java.sun.com/xml/ns/j2ee + xpath: /java-wsdl-mapping +- customVariables: [] + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: [] + ruleID: weblogic-xml-descriptor-eap7-09000 + tag: + - webservice + - weblogic + - WebLogic web service policy + when: + builtin.xml: + namespaces: + wl: http://www.bea.com/ns/weblogic/webservice-policy-ref + wl9: http://www.bea.com/ns/weblogic/90 + xpath: /webservice-policy-ref | /wl:webservice-policy-ref | /wl9:webservice-policy-ref +- category: optional + customVariables: [] + description: |- + Webservice Type + WebLogic webservices can be migrated to `jboss-webservices.xml` descriptor or to a Java EE standard Annotation based configuration. Reference the JBoss EAP product documentation for more information. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: [] + message: WebLogic webservices can be migrated to `jboss-webservices.xml` descriptor + or to a Java EE standard Annotation based configuration. Reference the JBoss EAP + product documentation for more information. + ruleID: weblogic-xml-descriptor-eap7-10000 + when: + or: + - as: webservices + builtin.xml: + namespaces: + wl: http://www.bea.com/ns/weblogic/weblogic-webservices + wl9: http://www.bea.com/ns/weblogic/90 + xpath: /weblogic-webservices | /wl:weblogic-webservices | /wl9:weblogic-webservices + - as: webservices-types + builtin.xml: + namespaces: + wl: http://www.bea.com/ns/weblogic/weblogic-webservices + wl9: http://www.bea.com/ns/weblogic/90 + xpath: //webservice-type | //wl:webservice-type | //wl9:webservice-type + from: webservices +- customVariables: [] + description: "WebLogic JMS descriptor\n\n This file is a + proprietary WebLogic JMS configuration and needs to be migrated.\n While + there is no direct mapping of these descriptor elements, many of these features + may be configured in the application deployment or JBoss server configuration + files.\n\n For information on how to configure JBoss EAP + JMS, please refer to the JBoss Enterprise Application Platform 7 messaging configuration + documentation.\n \n" + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: + - title: EAP 7 Overview of the Messaging subsystem configuration + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuring_messaging/#intro_messaging_config + ruleID: weblogic-xml-descriptor-eap7-11000 + tag: + - jms + - configuration + - weblogic + - WebLogic JMS descriptor + when: + builtin.xml: + namespaces: {} + xpath: /*[local-name()='weblogic-jms'] +- customVariables: [] + description: "WebLogic web application descriptor (weblogic.xml)\n\n The + Oracle WebLogic Server deployment descriptor file (`weblogic.xml`) provides functionality + that is not included in the standard Java EE specification.\n While + there is no direct mapping of these descriptor elements, many of these features + may be configured in the application deployment or JBoss server configuration + files.\n\n For more information on how to configure JBoss + EAP, please refer to the Configuration Guide for JBoss Enterprise Application + Platform 7.\n \n" + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: + - title: Migrate Oracle WebLogic configuration files to JBoss EAP + url: https://access.redhat.com/articles/1326803 + - title: Map weblogic.xml configurations to JBoss EAP + url: https://access.redhat.com/articles/1327803 + - title: Configuration Guide for JBoss EAP 7 + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/configuration_guide/ + ruleID: weblogic-xml-descriptor-eap7-12000 + tag: + - web-app + - weblogic + - WebLogic web application descriptor (weblogic.xml) + when: + builtin.xml: + namespaces: + bea: http://www.bea.com/ns/weblogic/90 + wls: http://www.bea.com/ns/weblogic/weblogic-web-app + wlso: http://xmlns.oracle.com/weblogic/weblogic-web-app + xpath: /bea:weblogic-web-app | /wlso:weblogic-web-app | /wls:weblogic-web-app + | /weblogic-web-app +- customVariables: [] + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: [] + ruleID: weblogic-xml-descriptor-eap7-14000 + tag: + - webservice + - weblogic + - WebLogic web service type mapping + when: + builtin.xml: + namespaces: + wsdd: http://www.bea.com/servers/wls70 + xpath: /wsdd:type-mapping +- customVariables: [] + description: | + WebLogic services configuration + WebLogic specific configuration of web services runtime parameters + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: [] + ruleID: weblogic-xml-descriptor-eap7-15000 + tag: + - webservice + - configuration + - weblogic + - WebLogic services configuration + when: + builtin.xml: + namespaces: + wlw: http://www.bea.com/2003/03/wlw/config/ + xpath: /wlw:wlw-config +- customVariables: [] + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: [] + ruleID: weblogic-xml-descriptor-eap7-16000 + tag: + - webservice + - weblogic + - WebLogic specific webservice ant tasks + when: + as: default + builtin.xml: + namespaces: {} + xpath: /project/taskdef[@classname='weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask'] + | /project/taskdef[@classname='weblogic.ant.taskdefs.webservices.javaschema.JavaSchema'] + | /project/taskdef[@classname='weblogic.ant.taskdefs.webservices.autotype.JavaSource2DD'] + | /project/taskdef[@classname='weblogic.ant.taskdefs.webservices.clientgen.ClientGenTask'] +- customVariables: [] + description: "WebLogic annotation manifest\n\n In this file, + the value set for a property by a metadata annotation can be overridden. (It does + not override the values set by a setter method.)\n \n" + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: [] + ruleID: weblogic-xml-descriptor-eap7-17000 + tag: + - configuration + - weblogic + - WebLogic annotation manifest + when: + builtin.xml: + namespaces: + wl: http://www.bea.com/2004/03/wlw/external-config/ + xpath: /wl:annotation-manifest | /annotation-manifest +- customVariables: [] + description: "WebLogic plan.xml deployment descriptor\n\n WebLogic + `plan.xml` deployment descriptor file provides a way to target the application + deployment for a specific environment.\n \n" + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + links: + - title: Replace the WebLogic plan.xml deployment descriptor configuration + url: https://access.redhat.com/articles/1329173 + ruleID: weblogic-xml-descriptor-eap7-18000 + tag: + - configuration + - weblogic + - WebLogic plan.xml deployment descriptor + when: + builtin.xml: + namespaces: + wls: http://xmlns.oracle.com/weblogic/deployment-plan + xpath: /wls:deployment-plan +- category: mandatory + customVariables: [] + description: |- + WebLogic EJB XML (weblogic-ejb-jar.xml) trans-timeout-seconds + The WebLogic `` configuration element sets the maximum duration for an EJB's container-initiated transactions, in seconds, after which the transaction is rolled back.. In JBoss EAP 6+, you can achieve the same behavior by using the `TransactionTimeout` annotation. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - descriptor + - configuration + - ejb + - database + links: + - title: WebLogic Server Deployment Elements + url: https://docs.oracle.com/middleware/1221/wls/WLMDB/summary.htm#r35c1-t4 + - title: JBoss EAP 6 - Session Bean Transaction Timeout + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/administration_and_configuration_guide/#Session_Bean_Transaction_Timeout + - title: How to set EJB transaction timeout in JBoss EAP 6 + url: https://access.redhat.com/solutions/90553 + message: The WebLogic `` configuration element sets the maximum + duration for an EJB's container-initiated transactions, in seconds, after which + the transaction is rolled back.. In JBoss EAP 6+, you can achieve the same behavior + by using the `TransactionTimeout` annotation. + ruleID: weblogic-xml-descriptor-19000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='trans-timeout-seconds']/text() diff --git a/resources/rulesets/eap7/96-weblogic.windup.yaml b/resources/rulesets/eap7/96-weblogic.windup.yaml new file mode 100644 index 0000000..5acbbf6 --- /dev/null +++ b/resources/rulesets/eap7/96-weblogic.windup.yaml @@ -0,0 +1,381 @@ +- category: mandatory + customVariables: [] + description: |- + WebLogic Scheduled Job + WebLogic scheduled jobs should be migrated to use the standard EJB `javax.ejb.TimerService`. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - scheduler + - ejb + - timer + links: + - title: Java EE 7 - Using TimerService + url: https://docs.oracle.com/javaee/7/tutorial/ejb-basicexamples004.htm + message: WebLogic scheduled jobs should be migrated to use the standard EJB `javax.ejb.TimerService`. + ruleID: weblogic-eap7-01000 + tag: + - scheduler + - ejb + - timer + - weblogic + - WebLogic scheduled job + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: weblogic.time.common.Triggerable +- category: mandatory + customVariables: [] + description: |- + WebLogic StringUtils usage + Replace with the `StringUtils` class from Apache Commons. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + links: + - title: Apache Commons Lang + url: https://commons.apache.org/proper/commons-lang/ + message: Replace with the `StringUtils` class from Apache Commons. + ruleID: weblogic-eap7-02000 + when: + java.referenced: + pattern: weblogic.utils.StringUtils* +- category: mandatory + customVariables: [] + description: |- + WebLogic specific Apache XML package + Code using this package should be replaced with code using the org.apache.xml package from [Apache Xerces](http://xerces.apache.org/). + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + links: [] + message: Code using this package should be replaced with code using the org.apache.xml + package from [Apache Xerces](http://xerces.apache.org/). + ruleID: weblogic-eap7-03000 + when: + java.referenced: + pattern: weblogic.apache.xml* +- category: mandatory + customVariables: + - name: classname + nameOfCaptureGroup: classname + pattern: weblogic.transaction.(?P(Client)*TransactionManager)? + description: |- + WebLogic TransactionManager usage + Replace with the Java EE standard [javax.transaction.TransactionManager](http://docs.oracle.com/javaee/7/api/javax/transaction/TransactionManager.html) + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - transactions + links: + - title: JBoss EAP - Java Transaction API (JTA) + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#java_transaction_api_jta + - title: Java Enterprise Edition 7 - TransactionManager + url: http://docs.oracle.com/javaee/7/api/javax/transaction/TransactionManager.html + message: Replace with the Java EE standard [javax.transaction.TransactionManager](http://docs.oracle.com/javaee/7/api/javax/transaction/TransactionManager.html) + ruleID: weblogic-eap7-04000 + when: + java.referenced: + pattern: weblogic.transaction.(Client)*TransactionManager +- category: mandatory + customVariables: [] + description: |- + WebLogic TransactionManager usage of resume method + Replace with the Java EE standard method `javax.transaction.TransactionManager.resume(Transaction tx)`. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - transactions + links: [] + message: Replace with the Java EE standard method `javax.transaction.TransactionManager.resume(Transaction + tx)`. + ruleID: weblogic-eap7-05000 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.TransactionManager.resume* + - java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.TransactionManager.forceResume* + - java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.ClientTransactionManager.resume* + - java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.ClientTransactionManager.forceResume* +- category: mandatory + customVariables: [] + description: |- + WebLogic TransactionManager usage of suspend method + Replace with the Java EE standard `javax.transaction.TransactionManager.suspend()` + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - transactions + links: [] + message: Replace with the Java EE standard `javax.transaction.TransactionManager.suspend()` + ruleID: weblogic-eap7-06000 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.TransactionManager.suspend* + - java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.TransactionManager.forceSuspend* + - java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.ClientTransactionManager.suspend* + - java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.ClientTransactionManager.forceSuspend* +- category: mandatory + customVariables: [] + description: |- + WebLogic TxHelper usage + Remove the `weblogic.transaction.TxHelper` import statement. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - transactions + links: [] + message: Remove the `weblogic.transaction.TxHelper` import statement. + ruleID: weblogic-eap7-07000 + when: + java.referenced: + location: IMPORT + pattern: weblogic.transaction.TxHelper +- customVariables: + - name: classname + nameOfCaptureGroup: classname + pattern: weblogic.transaction.(?P(Client)*TxHelper.)?getTransactionManager() + description: |- + WebLogic ClientTxHelper + Look up the Java Enterprise Edition `javax.transaction.TransactionManager` in JBoss EAP using the following code:. ```java. InitialContext context = new InitialContext();. TransactionManager transactionManager =. (TransactionManager)context.lookup("java:jboss/TransactionManager");. ``` + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - transactions + links: [] + message: Look up the Java Enterprise Edition `javax.transaction.TransactionManager` + in JBoss EAP using the following code:. ```java. InitialContext context = new + InitialContext();. TransactionManager transactionManager =. (TransactionManager)context.lookup("java:jboss/TransactionManager");. + ``` + ruleID: weblogic-eap7-08000 + when: + java.referenced: + location: METHOD_CALL + pattern: weblogic.transaction.(Client)*TxHelper.getTransactionManager() +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary Clob JDBC object (OracleThinClob) + This Oracle and WebLogic proprietary code (`OracleThinClob`) should be replaced with the use of the java.sql.Clob interface. + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - jdbc + links: + - title: Oracle JDBC Documentation + url: https://docs.oracle.com/database/121/JAJDB/oracle/jdbc/class-use/OracleClob.html + - title: java.sql.Clob interface + url: http://docs.oracle.com/javase/7/docs/api/java/sql/Clob.html + message: This Oracle and WebLogic proprietary code (`OracleThinClob`) should be + replaced with the use of the java.sql.Clob interface. + ruleID: weblogic-eap7-09000 + when: + java.referenced: + pattern: weblogic.jdbc.vendor.oracle.OracleThinClob +- category: mandatory + customVariables: [] + description: |- + WebLogic JDBC code + This code is specific to WebLogic and should be replaced with `java.sql.Clob.setCharacterStream(1)` + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - jdbc + links: + - title: Oracle JDBC Documentation + url: https://docs.oracle.com/database/121/JAJDB/oracle/jdbc/class-use/OracleClob.html + - title: java.sql.Clob interface + url: http://docs.oracle.com/javase/7/docs/api/java/sql/Clob.html + message: This code is specific to WebLogic and should be replaced with `java.sql.Clob.setCharacterStream(1)` + ruleID: weblogic-eap7-10000 + when: + java.referenced: + pattern: weblogic.jdbc.vendor.oracle.OracleThinClob.getCharacterOutputStream() +- category: mandatory + customVariables: [] + description: |- + WebLogic proprietary logger (NonCatalogLogger) + The WebLogic `NonCatalogLogger` is not supported on JBoss EAP, and should be migrated to a supported logging framework,. such as the JDK Logger or JBoss Logging:. ```java. import java.util.logging.Logger;. Logger LOG = Logger.getLogger("MyLogger");. ``` + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - logging + links: + - title: JDK Logging Documentation + url: https://docs.oracle.com/javase/7/docs/technotes/guides/logging/overview.html + - title: Logging with JBoss EAP + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/configuration_guide/logging_with_jboss_eap + message: The WebLogic `NonCatalogLogger` is not supported on JBoss EAP, and should + be migrated to a supported logging framework,. such as the JDK Logger or JBoss + Logging:. ```java. import java.util.logging.Logger;. Logger LOG = Logger.getLogger("MyLogger");. + ``` + ruleID: weblogic-eap7-11000 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: weblogic.i18n.logging.NonCatalogLogger* + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: weblogic.i18n.logging.NonCatalogLogger* +- category: mandatory + customVariables: [] + description: |- + WebLogic Oracle FCF JDBC property + Oracle Fast Connection Failover is specific property supported only by Oracle JDBC driver which provides support for their vendor's special features transparently to the application server in which they are deployed.. For example, one can supply a URL like this to the Oracle JDBC driver and the driver will provide transparent load-balancing and fail-over:. ```. jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=my.host.org)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=my.host.org)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=servjboss)(failover_mode=(type=select)(method=basic))). ``` + effort: 1 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - jdbc + links: + - title: Implement Oracle Fast Connection Failover (FCF) in EAP + url: https://access.redhat.com/articles/1329233 + message: Oracle Fast Connection Failover is specific property supported only by + Oracle JDBC driver which provides support for their vendor's special features + transparently to the application server in which they are deployed.. For example, + one can supply a URL like this to the Oracle JDBC driver and the driver will provide + transparent load-balancing and fail-over:. ```. jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=my.host.org)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=my.host.org)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=servjboss)(failover_mode=(type=select)(method=basic))). + ``` + ruleID: weblogic-eap7-12000 + when: + builtin.xml: + namespaces: {} + xpath: /jdbc-data-source/jdbc-driver-params/property/name[text()='FastConnectionFailoverEnabled'] +- category: mandatory + customVariables: [] + description: |- + WebLogic side-by-side redeployment configuration + Oracle WebLogic Server includes a proprietary side-by-side production redeployment feature. For applications that meet certain requirements and restrictions, the new version of the application is deployed while the older version is still running.. The old and new applications must be running on the same server or cluster. The new version of the application accepts new web session requests while the older version finishes processing requests already in process. Upon completion of the existing session requests, the older version of the application is then undeployed.. In JBoss EAP, you can either deploy the new application to a secondary server group or cluster, or deploy the new application serially to the same clustered domain. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + links: + - title: Replace WebLogic side-by-side production redeployment in EAP 6 + url: https://access.redhat.com/articles/1329253 + message: Oracle WebLogic Server includes a proprietary side-by-side production redeployment + feature. For applications that meet certain requirements and restrictions, the + new version of the application is deployed while the older version is still running.. + The old and new applications must be running on the same server or cluster. The + new version of the application accepts new web session requests while the older + version finishes processing requests already in process. Upon completion of the + existing session requests, the older version of the application is then undeployed.. + In JBoss EAP, you can either deploy the new application to a secondary server + group or cluster, or deploy the new application serially to the same clustered + domain. + ruleID: weblogic-eap7-13000 + when: + builtin.filecontent: + pattern: 'Weblogic-Application-Version:' +- category: mandatory + customVariables: [] + description: |- + WebLogic Oracle Wallet + WebLogic administrators use wallets created by Oracle Wallet Manager to manage public key security credentials on application clients and servers.. These wallets must first be converted to standard Java KeyStore (JKS) entries that can then be used to configure the credentials in JBoss EAP 7. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + links: + - title: Replace WebLogic Oracle Wallets When Migrating to EAP 6 + url: https://access.redhat.com/articles/1329073 + message: WebLogic administrators use wallets created by Oracle Wallet Manager to + manage public key security credentials on application clients and servers.. These + wallets must first be converted to standard Java KeyStore (JKS) entries that can + then be used to configure the credentials in JBoss EAP 7. + ruleID: weblogic-eap7-15000 + when: + builtin.filecontent: + pattern: oracle.net.wallet_location +- category: mandatory + customVariables: [] + description: |- + WebLogic InitialContextFactory + `weblogic.jndi.WLInitialContextFactory` is an implementation of `InitialContextFactory` used to get object instances from JNDI.. The equivalent functionality needs to be configured on JBoss EAP 7 using `org.jboss.naming.remote.client.InitialContextFactory`. Then the context could be instanticated as follows: `InitialContext ctx = new InitialContext();`. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - configuration + links: + - title: Calling JMS resources and EJB in EAP 6 from Weblogic + url: https://access.redhat.com/solutions/161543 + - title: How to configure an EJB client in JBoss EAP 6 + url: https://access.redhat.com/solutions/396853 + message: '`weblogic.jndi.WLInitialContextFactory` is an implementation of `InitialContextFactory` + used to get object instances from JNDI.. The equivalent functionality needs to + be configured on JBoss EAP 7 using `org.jboss.naming.remote.client.InitialContextFactory`. + Then the context could be instanticated as follows: `InitialContext ctx = new + InitialContext();`.' + ruleID: weblogic-eap7-016000 + when: + builtin.filecontent: + pattern: weblogic.jndi.WLInitialContextFactory +- category: mandatory + customVariables: [] + description: |- + WebLogic T3 JNDI binding + Weblogic’s implementation of the RMI specification uses a proprietary protocol known as T3. T3S is the version of the protocol over SSL.. `t3://` and `t3s://` URLs are used to configure a JNDI InitialContext within WebLogic.. The equivalent functionality needs to be configured in JBoss EAP 7.. This could be done either by using standard Java EE JNDI names or by using a WebLogic proprietary library if the connectivity to WebLogic server is still required. + effort: 3 + labels: + - konveyor.io/source=weblogic + - konveyor.io/target=eap7 + - weblogic + - configuration + links: + - title: Oracle WebLogic RMI with T3 + url: https://docs.oracle.com/cd/E24329_01/web.1211/e24389/rmi_t3.htm#WLRMI143 + - title: Invoking EJBs deployed on WebLogic from EAP6 + url: https://access.redhat.com/solutions/1230143 + message: Weblogic’s implementation of the RMI specification uses a proprietary protocol + known as T3. T3S is the version of the protocol over SSL.. `t3://` and `t3s://` + URLs are used to configure a JNDI InitialContext within WebLogic.. The equivalent + functionality needs to be configured in JBoss EAP 7.. This could be done either + by using standard Java EE JNDI names or by using a WebLogic proprietary library + if the connectivity to WebLogic server is still required. + ruleID: weblogic-eap7-017000 + when: + builtin.filecontent: + pattern: t3s?:// diff --git a/resources/rulesets/eap7/97-websphere-catchall.windup.yaml b/resources/rulesets/eap7/97-websphere-catchall.windup.yaml new file mode 100644 index 0000000..347093d --- /dev/null +++ b/resources/rulesets/eap7/97-websphere-catchall.windup.yaml @@ -0,0 +1,71 @@ +- category: potential + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: com.ibm.db2.jcc.(?P[^.]+)? + description: | + IBM DB2 driver type reference + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - phase=PostMigrationRulesPhase + links: [] + message: This is a reference to the IBM DB2 driver type (`com.ibm.db2.jcc.{{type}}`). + It probably does not need to be migrated. However the IBM DB2 driver should be + configured properly. + ruleID: websphere-catchall-db2-00000 + when: + java.referenced: + pattern: com.ibm.db2.jcc* +- category: potential + customVariables: + - name: package + nameOfCaptureGroup: package + pattern: (?P(com\.)?(websphere|ibm)(\..*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: (?P(com\.)?(websphere|ibm)(\..*)?.)?(?P[^.]+)? + description: | + IBM proprietary type reference + effort: 0 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This is an IBM proprietary type (`{{package}}.{{type}}`) and needs to be + migrated to a compatible API. There is currently no detailed. information about + this type. + ruleID: websphere-catchall-00000 + when: + java.referenced: + pattern: (com.)?(websphere|ibm).** +- category: potential + customVariables: + - name: subpackage + nameOfCaptureGroup: subpackage + pattern: ilog.(?P.*.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: ilog.(?P.*.)?(?P[^.]+)? + description: | + IBM ILog proprietary type reference + effort: 0 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap6 + - konveyor.io/target=eap7 + - phase=PostMigrationRulesPhase + - catchall + links: [] + message: This is an IBM ILog proprietary type (`ilog.{{subpackage}}.{{type}}`) and + needs to be migrated to a compatible API. There is currently no detailed. information + about this type. + ruleID: websphere-catchall-00001 + when: + java.referenced: + pattern: ilog.** diff --git a/resources/rulesets/eap7/98-websphere-ignore-references.windup.yaml b/resources/rulesets/eap7/98-websphere-ignore-references.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/eap7/98-websphere-ignore-references.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/eap7/99-websphere-jms.windup.yaml b/resources/rulesets/eap7/99-websphere-jms.windup.yaml new file mode 100644 index 0000000..98a4c4e --- /dev/null +++ b/resources/rulesets/eap7/99-websphere-jms.windup.yaml @@ -0,0 +1,163 @@ +- customVariables: + - name: package + nameOfCaptureGroup: package + pattern: (?Pcom.ibm(\..*)?\.jms.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: (?Pcom.ibm(\..*)?\.jms.)?(?P[^.]+)? + description: "IBM JMS Client\nWebSphere MQ client API is used to communicate with + the MQ server from client-side applications.\n For JBoss + EAP 7, this needs to be replaced with standard Java EE 7 JMS API, or with ActiveMQ + Artemis client API.\n \n" + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - websphere + links: + - title: Java EE 7 JMS Tutorial + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + - title: ActiveMQ Artemis User Manual + url: http://activemq.apache.org/artemis/docs/1.5.0/messaging-concepts.html + - title: ActiveMQ Artemis Core Client API Javadoc + url: http://activemq.apache.org/artemis/docs/javadocs/javadoc-1.5.0/org/apache/activemq/artemis/api/core/client/package-summary.html + ruleID: websphere-jms-eap7-00000 + tag: + - jms + - websphere + - IBM JMS Client + when: + java.referenced: + pattern: com.ibm.*jms* +- category: mandatory + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: (?Pcom.ibm(\.[^.]*)*\.jms.)?(?P(Jms|MQeJNDI|MQe|MQ)?)?(?P[^.]*?)?ConnectionFactory + - name: package + nameOfCaptureGroup: package + pattern: (?Pcom.ibm(\.[^.]*)*\.jms.)?(?P(Jms|MQeJNDI|MQe|MQ)?)?(?P[^.]*?)?ConnectionFactory + - name: prefix + nameOfCaptureGroup: prefix + pattern: (?Pcom.ibm(\.[^.]*)*\.jms.)?(?P(Jms|MQeJNDI|MQe|MQ)?)?(?P[^.]*?)?ConnectionFactory + description: | + IBM {prefix}{type}ConnectionFactory reference + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - websphere + links: + - title: Java EE JMS Documentation + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + message: 'IBM {{prefix}}{{type}}ConnectionFactory is a proprietary encapsulation + of JMS servers to which Connections can be created for. message distribution. + This reference should be replaced with the Java EE standard API: `javax.jms.{{type}}ConnectionFactory`.' + ruleID: websphere-jms-eap7-01000 + when: + java.referenced: + pattern: com.ibm*.jms.(Jms|MQeJNDI|MQe|MQ)?*ConnectionFactory +- category: mandatory + customVariables: + - name: package + nameOfCaptureGroup: package + pattern: (?Pcom.ibm(\..*)?\.jms.)?JmsMsg(?P(Producer|Consumer))? + - name: type + nameOfCaptureGroup: type + pattern: (?Pcom.ibm(\..*)?\.jms.)?JmsMsg(?P(Producer|Consumer))? + description: | + IBM JMS topic/queue message + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - websphere + links: + - title: Java EE JMS Documentation + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + message: IBM JMS API {{type}}s are used for sending/reading messages to/from a topic + or queue. This reference should be. replaced with the Java EE standard API `javax.jms.Message{{type}}`. + ruleID: websphere-jms-eap7-02000 + when: + java.referenced: + pattern: com.ibm.*jms.JmsMsg(Producer|Consumer) +- category: mandatory + customVariables: [] + description: | + WebSphere implementation MQe{type}Queue of JMS Queue + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - websphere + links: + - title: Java EE 7 JMS Tutorial + url: https://docs.oracle.com/javaee/7/tutorial/jms-concepts003.htm#BNCEH + message: '`MQe{{type}}Queue` is a WebSphere implementation of a JMS `Queue` and + should be migrated to. the Java EE 6 JMS standard interface `javax.jms.Queue`.' + ruleID: websphere-jms-eap7-02500 + when: + java.referenced: + pattern: com.ibm.mqe.jms.{type}Queue +- category: mandatory + customVariables: + - name: prefix + nameOfCaptureGroup: prefix + pattern: (?Pcom.ibm(\..*)?\.jms.)?(?P(JMS|MQe|MQ))?(?P(Text|Stream|Object|Map|Bytes)?)?Message + - name: package + nameOfCaptureGroup: package + pattern: (?Pcom.ibm(\..*)?\.jms.)?(?P(JMS|MQe|MQ))?(?P(Text|Stream|Object|Map|Bytes)?)?Message + - name: type + nameOfCaptureGroup: type + pattern: (?Pcom.ibm(\..*)?\.jms.)?(?P(JMS|MQe|MQ))?(?P(Text|Stream|Object|Map|Bytes)?)?Message + description: | + IBM JMS destination message + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - websphere + links: [] + message: JMS `{{package}}.{{prefix}}{{type}}Message` messages represent the actual + data passed through JMS destinations. This reference should be. replaced with + the Java EE standard API `javax.jms.{{type}}Message`. + ruleID: websphere-jms-eap7-03000 + when: + java.referenced: + pattern: com.ibm.*jms.(JMS|MQe|MQ)(Text|Stream|Object|Map|Bytes)?Message +- category: mandatory + customVariables: + - name: type + nameOfCaptureGroup: type + pattern: (?Pcom.ibm(\..*)?\.jms.)?(?P(Jms|MQe|MQ))?(?P[^.]+)? + - name: package + nameOfCaptureGroup: package + pattern: (?Pcom.ibm(\..*)?\.jms.)?(?P(Jms|MQe|MQ))?(?P[^.]+)? + - name: prefix + nameOfCaptureGroup: prefix + pattern: (?Pcom.ibm(\..*)?\.jms.)?(?P(Jms|MQe|MQ))?(?P[^.]+)? + description: | + IBM JMS interface + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=eap7 + - konveyor.io/target=java-ee7 + - jms + - websphere + links: [] + message: '`{{package}}.{{prefix}}{{type}}` is an IBM proprietary interface and needs + to be migrated to the Java EE standard API `javax.jms.{{type}}`.' + ruleID: websphere-jms-eap7-04000 + when: + java.referenced: + pattern: com.ibm.*jms.(Jms|MQe|MQ)* diff --git a/resources/rulesets/eap7/image.svg b/resources/rulesets/eap7/image.svg new file mode 100644 index 0000000..4df446d --- /dev/null +++ b/resources/rulesets/eap7/image.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/eap7/ruleset.yaml b/resources/rulesets/eap7/ruleset.yaml new file mode 100644 index 0000000..25bd8c1 --- /dev/null +++ b/resources/rulesets/eap7/ruleset.yaml @@ -0,0 +1,4 @@ +name: eap7/weblogic +description: This ruleset provides analysis of WebLogic proprietary classes and constructs + for Enterprise Java Beans that may require individual attention when migrating to + JBoss EAP 6+. diff --git a/resources/rulesets/eap8/104-eap8-faces.windup.yaml b/resources/rulesets/eap8/104-eap8-faces.windup.yaml new file mode 100644 index 0000000..3b0e708 --- /dev/null +++ b/resources/rulesets/eap8/104-eap8-faces.windup.yaml @@ -0,0 +1,234 @@ +- category: mandatory + customVariables: [] + description: |- + Dependency on JSF artifacts must be updated + Dependency on JSF artifacts must be updated for EAP8 to Jakarta Faces 4.0.. Update dependency to `org.glassfish:jakarta.faces:4.0.0` or greater + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: Jakarta Faces 4.0 specification + url: https://jakarta.ee/specifications/faces/4.0/ + - title: Jakarta Server Faces + url: https://access.redhat.com/articles/6980265#faces + message: Dependency on JSF artifacts must be updated for EAP8 to Jakarta Faces 4.0.. + Update dependency to `org.glassfish:jakarta.faces:4.0.0` or greater + ruleID: eap8-faces-00001 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + nameregex: org\.jboss\.spec\.javax\.faces\..* + - java.dependency: + lowerbound: 0.0.0 + nameregex: com\.sun\.faces\..* +- category: mandatory + customVariables: [] + description: |- + Source reference to `javax.faces.bean.ManagedProperty` must be updated + Source reference to `javax.faces.bean.ManagedProperty` must be updated.. Use 'jakarta.faces.annotation.ManagedProperty' along with `@Inject`. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: Jakarta Faces ManagedProperty api + url: https://jakarta.ee/specifications/platform/9/apidocs/jakarta/faces/bean/managedproperty + - title: Faces Managed Beans + url: https://access.redhat.com/articles/6980265#faces_managed_beans + message: Source reference to `javax.faces.bean.ManagedProperty` must be updated.. + Use 'jakarta.faces.annotation.ManagedProperty' along with `@Inject`. + ruleID: eap8-faces-00002 + when: + or: + - java.referenced: + location: IMPORT + pattern: javax.faces.bean.ManagedProperty + - java.referenced: + location: ANNOTATION + pattern: javax.faces.bean.ManagedProperty +- category: mandatory + customVariables: [] + description: |- + JSF ManagedBean has been removed + JSF ManagedBean has been removed.. Use CDI's `@jakarta.inject.Named(“foo”)` to replace JSF ManagedBeans. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: Jakarta EE9 Faces ManagedBean api (Deprecated) + url: https://jakarta.ee/specifications/platform/9/apidocs/jakarta/faces/bean/managedbean + - title: Jakarta CDI 4.0 Specification + url: https://jakarta.ee/specifications/cdi/4.0/ + - title: Faces Managed Beans + url: https://access.redhat.com/articles/6980265#faces_managed_beans + message: JSF ManagedBean has been removed.. Use CDI's `@jakarta.inject.Named(“foo”)` + to replace JSF ManagedBeans. + ruleID: eap8-faces-00003 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: javax.faces.bean.ManagedBean + - builtin.xml: + filepaths: + - faces-config.xml + namespaces: + j: http://java.sun.com/xml/ns/javaee + xpath: //*/j:managed-bean +- category: mandatory + customVariables: [] + description: |- + Annotation `javax.faces.bean.ViewScoped` removed + Annotation `javax.faces.bean.ViewScoped` removed.. Use `jakarta.faces.view.ViewScoped` to replace it. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: Jakarta Faces ViewScoped api + url: https://jakarta.ee/specifications/faces/3.0/apidocs/jakarta/faces/view/viewscoped + - title: Other Faces API Changes + url: https://access.redhat.com/articles/6980265#faces_other + message: Annotation `javax.faces.bean.ViewScoped` removed.. Use `jakarta.faces.view.ViewScoped` + to replace it. + ruleID: eap8-faces-00004 + when: + java.referenced: + location: IMPORT + pattern: javax.faces.bean.ViewScoped +- category: mandatory + customVariables: + - name: scope + nameOfCaptureGroup: scope + pattern: javax.faces.bean.(?PApplication|Request|Session)?Scoped + description: | + Annotation `javax.faces.bean.{scope}Scoped` removed + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: jakarta.enterprise.context package javadoc + url: https://jakarta.ee/specifications/cdi/4.0/apidocs/jakarta.cdi/jakarta/enterprise/context/package-summary.html + - title: Faces Managed Beans + url: https://access.redhat.com/articles/6980265#faces_managed_beans + message: Annotation `javax.faces.bean.{{scope}}Scoped` removed.. Use `jakarta.enterprise.context.{{scope}}Scoped` + to replace it. + ruleID: eap8-faces-00005 + when: + java.referenced: + location: IMPORT + pattern: javax.faces.bean.Application|Request|SessionScoped +- category: mandatory + customVariables: [] + description: |- + Annotation `javax.faces.bean.CustomScoped` removed + Annotation `javax.faces.bean.CustomScoped` removed.. Use `jakarta.enterprise.context.spi.Context` to replace it. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: jakarta.enterprise.context.spi.Context javadoc + url: https://jakarta.ee/specifications/cdi/4.0/apidocs/jakarta.cdi/jakarta/enterprise/context/spi/context + - title: Faces Managed Beans + url: https://access.redhat.com/articles/6980265#faces_managed_beans + message: Annotation `javax.faces.bean.CustomScoped` removed.. Use `jakarta.enterprise.context.spi.Context` + to replace it. + ruleID: eap8-faces-00006 + when: + java.referenced: + location: IMPORT + pattern: javax.faces.bean.CustomScoped +- category: mandatory + customVariables: [] + description: |- + Annotation `javax.faces.bean.NoneScoped` removed + Annotation `javax.faces.bean.NoneScoped` removed.. Use `jakarta.enterprise.context.Dependent` to replace it. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: jakarta.enterprise.context.Dependent javadoc + url: https://jakarta.ee/specifications/cdi/4.0/apidocs/jakarta.cdi/jakarta/enterprise/context/dependent + - title: Faces Managed Beans + url: https://access.redhat.com/articles/6980265#faces_managed_beans + message: Annotation `javax.faces.bean.NoneScoped` removed.. Use `jakarta.enterprise.context.Dependent` + to replace it. + ruleID: eap8-faces-00007 + when: + java.referenced: + location: IMPORT + pattern: javax.faces.bean.NoneScoped +- category: mandatory + customVariables: [] + description: |- + ResourceResolvers have been removed + ResourceResolvers have been removed in eap8.. Instead, implement a `jakarta.faces.application.ResourceHandler` and register the fully qualified class name via faces-config.xml/application/resource-handler element + effort: 3 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: 'Faces 4.0: remove deprecated ResourceResolver' + url: https://github.com/jakartaee/faces/issues/1583 + - title: Other Faces API Changes + url: https://access.redhat.com/articles/6980265#faces_other + message: ResourceResolvers have been removed in eap8.. Instead, implement a `jakarta.faces.application.ResourceHandler` + and register the fully qualified class name via faces-config.xml/application/resource-handler + element + ruleID: eap8-faces-00008 + when: + or: + - java.referenced: + pattern: javax.faces.view.facelets.FaceletsResourceResolver + - java.referenced: + pattern: javax.faces.view.facelets.ResourceResolver +- category: mandatory + customVariables: [] + description: |- + JSP support has been removed in Jakarta EE 10 + JSP support has been removed in Jakarta EE 10. Facelets will remain as the only default view language, and views can also now be created solely using java. + effort: 5 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - eap8 + links: + - title: Jakarta EE Faces 4.0 Facelets + url: https://jakarta.ee/specifications/faces/4.0/jakarta-faces-4.0.html#a5476 + - title: Support for creating views in Java + url: https://github.com/jakartaee/faces/issues/1581 + - title: Faces and JSPs + url: https://access.redhat.com/articles/6980265#faces_jsp + message: JSP support has been removed in Jakarta EE 10. Facelets will remain as + the only default view language, and views can also now be created solely using + java. + ruleID: eap8-faces-00009 + when: + or: + - builtin.filecontent: + pattern: (AbstractPropertyHolder|AccessType|AnnotatedClassType|AnnotationBinder|AttributeConversionInfo|AttributeConverterDefinition|BaselineSessionEventsListenerBuilder|BinderHelper|CannotForceNonNullableException|ClassPropertyHolder|CollectionPropertyHolder|ColumnsBuilder|ComponentPropertyHolder|EJB3DTDEntityResolver|Ejb3Column|Ejb3DiscriminatorColumn|Ejb3JoinColumn|ExternalSessionFactoryConfig|IndexColumn|InheritanceState|JPAIndexHolder|NotYetImplementedException|ObjectNameSource|PropertyContainer|PropertyData|PropertyHolder|PropertyHolderBuilder|PropertyInferredData|PropertyPreloadedData|Settings|ToOneBinder|UniqueConstraintHolder|WrappedInferredData|annotations.ArrayBinder|annotations.BagBinder|annotations.CollectionBinder|annotations.CustomizableColumns|annotations.EntityBinder|annotations.HCANNHelper|annotations.IdBagBinder|annotations.ListBinder|annotations.MapBinder|annotations.MapKeyColumnDelegator|annotations.MapKeyJoinColumnDelegator|annotations.NamedEntityGraphDefinition|annotations.NamedProcedureCallDefinition|annotations.Nullability|annotations.PrimitiveArrayBinder|annotations.PropertyBinder|annotations.QueryBinder|annotations.QueryHintDefinition|annotations.SetBinder|annotations.SimpleValueBinder|annotations.TableBinder|annotations.reflection.AttributeConverterDefinitionCollector|annotations.reflection.ClassLoaderAccessLazyImpl|annotations.reflection.PersistentAttributeFilter|annotations.reflection.internal.JPAXMLOverriddenAnnotationReader|annotations.reflection.internal.JPAXMLOverriddenMetadataProvider|annotations.reflection.internal.PropertyMappingElementCollector|annotations.reflection.internal.XMLContext|annotations.reflection.package-info|beanvalidation.ActivationContext|beanvalidation.BeanValidationEventListener|beanvalidation.BeanValidationIntegrator|beanvalidation.DuplicationStrategyImpl|beanvalidation.GroupsPerOperation|beanvalidation.HibernateTraversableResolver|beanvalidation.IntegrationException|beanvalidation.TypeSafeActivator|beanvalidation.ValidationMode))? + description: |- + Class {class-name} within the org.hibernate.cfg package has been moved + This class within `org.hibernate.cfg` has been moved; see link for more information. + effort: 1 + labels: + - konveyor.io/target=hibernate6.2 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate 6 migration guide - API/SPI/Internal distinction + url: https://docs.jboss.org/hibernate/orm/6.2/migration-guide/migration-guide.html#api-internal-cfg + message: This class within `org.hibernate.cfg` has been moved; see link for more + information. + ruleID: hibernate-6.2-00040 + when: + java.referenced: + pattern: org.hibernate.cfg.(AbstractPropertyHolder|AccessType|AnnotatedClassType|AnnotationBinder|AttributeConversionInfo|AttributeConverterDefinition|BaselineSessionEventsListenerBuilder|BinderHelper|CannotForceNonNullableException|ClassPropertyHolder|CollectionPropertyHolder|ColumnsBuilder|ComponentPropertyHolder|EJB3DTDEntityResolver|Ejb3Column|Ejb3DiscriminatorColumn|Ejb3JoinColumn|ExternalSessionFactoryConfig|IndexColumn|InheritanceState|JPAIndexHolder|NotYetImplementedException|ObjectNameSource|PropertyContainer|PropertyData|PropertyHolder|PropertyHolderBuilder|PropertyInferredData|PropertyPreloadedData|Settings|ToOneBinder|UniqueConstraintHolder|WrappedInferredData|annotations.ArrayBinder|annotations.BagBinder|annotations.CollectionBinder|annotations.CustomizableColumns|annotations.EntityBinder|annotations.HCANNHelper|annotations.IdBagBinder|annotations.ListBinder|annotations.MapBinder|annotations.MapKeyColumnDelegator|annotations.MapKeyJoinColumnDelegator|annotations.NamedEntityGraphDefinition|annotations.NamedProcedureCallDefinition|annotations.Nullability|annotations.PrimitiveArrayBinder|annotations.PropertyBinder|annotations.QueryBinder|annotations.QueryHintDefinition|annotations.SetBinder|annotations.SimpleValueBinder|annotations.TableBinder|annotations.reflection.AttributeConverterDefinitionCollector|annotations.reflection.ClassLoaderAccessLazyImpl|annotations.reflection.PersistentAttributeFilter|annotations.reflection.internal.JPAXMLOverriddenAnnotationReader|annotations.reflection.internal.JPAXMLOverriddenMetadataProvider|annotations.reflection.internal.PropertyMappingElementCollector|annotations.reflection.internal.XMLContext|annotations.reflection.package-info|beanvalidation.ActivationContext|beanvalidation.BeanValidationEventListener|beanvalidation.BeanValidationIntegrator|beanvalidation.DuplicationStrategyImpl|beanvalidation.GroupsPerOperation|beanvalidation.HibernateTraversableResolver|beanvalidation.IntegrationException|beanvalidation.TypeSafeActivator|beanvalidation.ValidationMode) +- category: mandatory + customVariables: + - name: class-name + nameOfCaptureGroup: class-name + pattern: org.hibernate.loader.(?P(AbstractEntityJoinWalker|BasicLoader|CollectionAliases|ColumnEntityAliases|DefaultEntityAliases|EntityAliases|GeneratedCollectionAliases|JoinWalker|Loader|OuterJoinLoader|OuterJoinableAssociation|collection.BasicCollectionJoinWalker|collection.BasicCollectionLoader|collection.BatchingCollectionInitializer|collection.BatchingCollectionInitializerBuilder|collection.CollectionInitializer|collection.CollectionJoinWalker|collection.CollectionLoader|collection.DynamicBatchingCollectionInitializerBuilder|collection.LegacyBatchingCollectionInitializerBuilder|collection.OneToManyJoinWalker|collection.OneToManyLoader|collection.PaddedBatchingCollectionInitializerBuilder|collection.SubselectCollectionLoader|collection.SubselectOneToManyLoader|collection.plan.AbstractBatchingCollectionInitializerBuilder|collection.plan.AbstractLoadPlanBasedCollectionInitializer|collection.plan.BatchingCollectionInitializer|collection.plan.CollectionLoader|collection.plan.LegacyBatchingCollectionInitializerBuilder|criteria.ComponentCollectionCriteriaInfoProvider|criteria.CriteriaInfoProvider|criteria.CriteriaJoinWalker|criteria.CriteriaLoader|criteria.CriteriaQueryTranslator|criteria.EntityCriteriaInfoProvider|criteria.ScalarCollectionCriteriaInfoProvider|custom.CollectionFetchReturn|custom.CollectionReturn|custom.ColumnCollectionAliases|custom.ConstructorResultColumnProcessor|custom.ConstructorReturn|custom.CustomLoader|custom.CustomQuery|custom.EntityFetchReturn|custom.FetchReturn|custom.JdbcResultMetadata|custom.NonScalarResultColumnProcessor|custom.NonScalarReturn|custom.NonUniqueDiscoveredSqlAliasException|custom.ResultColumnProcessor|custom.ResultRowProcessor|custom.Return|custom.RootReturn|custom.ScalarResultColumnProcessor|custom.ScalarReturn|custom.sql.NamedParamBinder|custom.sql.PositionalParamBinder|custom.sql.SQLCustomQuery|custom.sql.SQLQueryParser|custom.sql.SQLQueryReturnProcessor|entity.AbstractEntityLoader|entity.BatchingEntityLoaderBuilder|entity.CacheEntityLoaderHelper|entity.CascadeEntityJoinWalker|entity.CascadeEntityLoader|entity.CollectionElementLoader|entity.EntityJoinWalker|entity.EntityLoader|entity.NaturalIdEntityJoinWalker|entity.NaturalIdType|entity.UniqueEntityLoader|entity.plan.AbstractBatchingEntityLoaderBuilder|entity.plan.AbstractLoadPlanBasedEntityLoader|entity.plan.BatchingEntityLoader|entity.plan.DynamicBatchingEntityLoader|entity.plan.DynamicBatchingEntityLoaderBuilder|entity.plan.EntityLoader|entity.plan.LegacyBatchingEntityLoaderBuilder|entity.plan.MultiEntityLoadingSupport|entity.plan.PaddedBatchingEntityLoader|entity.plan.PaddedBatchingEntityLoaderBuilder|hql.QueryLoader|plan.build.internal.AbstractEntityGraphVisitationStrategy|plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy|plan.build.internal.CascadeStyleLoadPlanBuildingAssociationVisitationStrategy|plan.build.internal.FetchGraphLoadPlanBuildingStrategy|plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy|plan.build.internal.LoadGraphLoadPlanBuildingStrategy|plan.build.internal.LoadPlanImpl|plan.build.internal.returns.AbstractAnyReference|plan.build.internal.returns.AbstractCollectionReference|plan.build.internal.returns.AbstractCompositeEntityIdentifierDescription|plan.build.internal.returns.AbstractCompositeFetch|plan.build.internal.returns.AbstractCompositeReference|plan.build.internal.returns.AbstractEntityReference|plan.build.internal.returns.AbstractExpandingFetchSource|plan.build.internal.returns.AnyAttributeFetchImpl|plan.build.internal.returns.BidirectionalEntityReferenceImpl|plan.build.internal.returns.CollectionAttributeFetchImpl|plan.build.internal.returns.CollectionFetchableElementAnyGraph|plan.build.internal.returns.CollectionFetchableElementCompositeGraph|plan.build.internal.returns.CollectionFetchableElementEntityGraph|plan.build.internal.returns.CollectionFetchableIndexAnyGraph|plan.build.internal.returns.CollectionFetchableIndexCompositeGraph|plan.build.internal.returns.CollectionFetchableIndexEntityGraph|plan.build.internal.returns.CollectionReturnImpl|plan.build.internal.returns.CompositeAttributeFetchImpl|plan.build.internal.returns.EncapsulatedEntityIdentifierDescription|plan.build.internal.returns.EntityAttributeFetchImpl|plan.build.internal.returns.EntityReturnImpl|plan.build.internal.returns.NestedCompositeAttributeFetchImpl|plan.build.internal.returns.NonEncapsulatedEntityIdentifierDescription|plan.build.internal.returns.ScalarReturnImpl|plan.build.internal.returns.SimpleEntityIdentifierDescriptionImpl|plan.build.internal.spaces.AbstractExpandingSourceQuerySpace|plan.build.internal.spaces.AbstractQuerySpace|plan.build.internal.spaces.CollectionQuerySpaceImpl|plan.build.internal.spaces.CompositePropertyMapping|plan.build.internal.spaces.CompositeQuerySpaceImpl|plan.build.internal.spaces.EntityQuerySpaceImpl|plan.build.internal.spaces.JoinHelper|plan.build.internal.spaces.JoinImpl|plan.build.internal.spaces.QuerySpaceHelper|plan.build.internal.spaces.QuerySpacesImpl|plan.build.spi.ExpandingCollectionQuerySpace|plan.build.spi.ExpandingCompositeQuerySpace|plan.build.spi.ExpandingEntityIdentifierDescription|plan.build.spi.ExpandingEntityQuerySpace|plan.build.spi.ExpandingFetchSource|plan.build.spi.ExpandingQuerySpace|plan.build.spi.ExpandingQuerySpaces|plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy|plan.build.spi.LoadPlanBuildingContext|plan.build.spi.LoadPlanTreePrinter|plan.build.spi.MetamodelDrivenLoadPlanBuilder|plan.build.spi.QuerySpaceTreePrinter|plan.build.spi.ReturnGraphTreePrinter|plan.build.spi.TreePrinterHelper|plan.exec.internal.AbstractCollectionLoadQueryDetails|plan.exec.internal.AbstractLoadPlanBasedLoader|plan.exec.internal.AbstractLoadQueryDetails|plan.exec.internal.AliasResolutionContextImpl|plan.exec.internal.BasicCollectionLoadQueryDetails|plan.exec.internal.BatchingLoadQueryDetailsFactory|plan.exec.internal.CollectionReferenceAliasesImpl|plan.exec.internal.EntityLoadQueryDetails|plan.exec.internal.EntityReferenceAliasesImpl|plan.exec.internal.FetchStats|plan.exec.internal.LoadQueryJoinAndFetchProcessor|plan.exec.internal.OneToManyLoadQueryDetails|plan.exec.internal.RootHelper|plan.exec.process.internal.AbstractRowReader|plan.exec.process.internal.CollectionReferenceInitializerImpl|plan.exec.process.internal.CollectionReturnReader|plan.exec.process.internal.EntityReferenceInitializerImpl|plan.exec.process.internal.EntityReturnReader|plan.exec.process.internal.HydratedEntityRegistration|plan.exec.process.internal.ResultSetProcessingContextImpl|plan.exec.process.internal.ResultSetProcessorHelper|plan.exec.process.internal.ResultSetProcessorImpl|plan.exec.process.spi.CollectionReferenceInitializer|plan.exec.process.spi.EntityReferenceInitializer|plan.exec.process.spi.ReaderCollector|plan.exec.process.spi.ResultSetProcessingContext|plan.exec.process.spi.ResultSetProcessor|plan.exec.process.spi.ResultSetProcessorResolver|plan.exec.process.spi.ReturnReader|plan.exec.process.spi.RowReader|plan.exec.process.spi.ScrollableResultSetProcessor|plan.exec.query.internal.QueryBuildingParametersImpl|plan.exec.query.internal.SelectStatementBuilder|plan.exec.query.spi.NamedParameterContext|plan.exec.query.spi.QueryBuildingParameters|plan.exec.spi.AliasResolutionContext|plan.exec.spi.CollectionReferenceAliases|plan.exec.spi.EntityReferenceAliases|plan.exec.spi.LoadQueryDetails|plan.exec.spi.LockModeResolver|plan.spi.AnyAttributeFetch|plan.spi.AttributeFetch|plan.spi.BidirectionalEntityReference|plan.spi.CollectionAttributeFetch|plan.spi.CollectionFetchableElement|plan.spi.CollectionFetchableIndex|plan.spi.CollectionQuerySpace|plan.spi.CollectionReference|plan.spi.CollectionReturn|plan.spi.CompositeAttributeFetch|plan.spi.CompositeFetch|plan.spi.CompositeQuerySpace|plan.spi.EntityFetch|plan.spi.EntityIdentifierDescription|plan.spi.EntityQuerySpace|plan.spi.EntityReference|plan.spi.EntityReturn|plan.spi.Fetch|plan.spi.FetchSource|plan.spi.Join|plan.spi.JoinDefinedByMetadata|plan.spi.LoadPlan|plan.spi.QuerySpace|plan.spi.QuerySpaceUidNotRegisteredException|plan.spi.QuerySpaces|plan.spi.Return|plan.spi.ScalarReturn|spi.AfterLoadAction))? + description: |- + Class {class-name} within the org.hibernate.loader package has been moved + This class within `org.hibernate.loader` has been moved; see link for more information. + effort: 1 + labels: + - konveyor.io/target=hibernate6.2 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate 6 migration guide - API/SPI/Internal distinction + url: https://docs.jboss.org/hibernate/orm/6.2/migration-guide/migration-guide.html#api-internal-loader + message: This class within `org.hibernate.loader` has been moved; see link for more + information. + ruleID: hibernate-6.2-00050 + when: + java.referenced: + pattern: org.hibernate.loader.(AbstractEntityJoinWalker|BasicLoader|CollectionAliases|ColumnEntityAliases|DefaultEntityAliases|EntityAliases|GeneratedCollectionAliases|JoinWalker|Loader|OuterJoinLoader|OuterJoinableAssociation|collection.BasicCollectionJoinWalker|collection.BasicCollectionLoader|collection.BatchingCollectionInitializer|collection.BatchingCollectionInitializerBuilder|collection.CollectionInitializer|collection.CollectionJoinWalker|collection.CollectionLoader|collection.DynamicBatchingCollectionInitializerBuilder|collection.LegacyBatchingCollectionInitializerBuilder|collection.OneToManyJoinWalker|collection.OneToManyLoader|collection.PaddedBatchingCollectionInitializerBuilder|collection.SubselectCollectionLoader|collection.SubselectOneToManyLoader|collection.plan.AbstractBatchingCollectionInitializerBuilder|collection.plan.AbstractLoadPlanBasedCollectionInitializer|collection.plan.BatchingCollectionInitializer|collection.plan.CollectionLoader|collection.plan.LegacyBatchingCollectionInitializerBuilder|criteria.ComponentCollectionCriteriaInfoProvider|criteria.CriteriaInfoProvider|criteria.CriteriaJoinWalker|criteria.CriteriaLoader|criteria.CriteriaQueryTranslator|criteria.EntityCriteriaInfoProvider|criteria.ScalarCollectionCriteriaInfoProvider|custom.CollectionFetchReturn|custom.CollectionReturn|custom.ColumnCollectionAliases|custom.ConstructorResultColumnProcessor|custom.ConstructorReturn|custom.CustomLoader|custom.CustomQuery|custom.EntityFetchReturn|custom.FetchReturn|custom.JdbcResultMetadata|custom.NonScalarResultColumnProcessor|custom.NonScalarReturn|custom.NonUniqueDiscoveredSqlAliasException|custom.ResultColumnProcessor|custom.ResultRowProcessor|custom.Return|custom.RootReturn|custom.ScalarResultColumnProcessor|custom.ScalarReturn|custom.sql.NamedParamBinder|custom.sql.PositionalParamBinder|custom.sql.SQLCustomQuery|custom.sql.SQLQueryParser|custom.sql.SQLQueryReturnProcessor|entity.AbstractEntityLoader|entity.BatchingEntityLoaderBuilder|entity.CacheEntityLoaderHelper|entity.CascadeEntityJoinWalker|entity.CascadeEntityLoader|entity.CollectionElementLoader|entity.EntityJoinWalker|entity.EntityLoader|entity.NaturalIdEntityJoinWalker|entity.NaturalIdType|entity.UniqueEntityLoader|entity.plan.AbstractBatchingEntityLoaderBuilder|entity.plan.AbstractLoadPlanBasedEntityLoader|entity.plan.BatchingEntityLoader|entity.plan.DynamicBatchingEntityLoader|entity.plan.DynamicBatchingEntityLoaderBuilder|entity.plan.EntityLoader|entity.plan.LegacyBatchingEntityLoaderBuilder|entity.plan.MultiEntityLoadingSupport|entity.plan.PaddedBatchingEntityLoader|entity.plan.PaddedBatchingEntityLoaderBuilder|hql.QueryLoader|plan.build.internal.AbstractEntityGraphVisitationStrategy|plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy|plan.build.internal.CascadeStyleLoadPlanBuildingAssociationVisitationStrategy|plan.build.internal.FetchGraphLoadPlanBuildingStrategy|plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy|plan.build.internal.LoadGraphLoadPlanBuildingStrategy|plan.build.internal.LoadPlanImpl|plan.build.internal.returns.AbstractAnyReference|plan.build.internal.returns.AbstractCollectionReference|plan.build.internal.returns.AbstractCompositeEntityIdentifierDescription|plan.build.internal.returns.AbstractCompositeFetch|plan.build.internal.returns.AbstractCompositeReference|plan.build.internal.returns.AbstractEntityReference|plan.build.internal.returns.AbstractExpandingFetchSource|plan.build.internal.returns.AnyAttributeFetchImpl|plan.build.internal.returns.BidirectionalEntityReferenceImpl|plan.build.internal.returns.CollectionAttributeFetchImpl|plan.build.internal.returns.CollectionFetchableElementAnyGraph|plan.build.internal.returns.CollectionFetchableElementCompositeGraph|plan.build.internal.returns.CollectionFetchableElementEntityGraph|plan.build.internal.returns.CollectionFetchableIndexAnyGraph|plan.build.internal.returns.CollectionFetchableIndexCompositeGraph|plan.build.internal.returns.CollectionFetchableIndexEntityGraph|plan.build.internal.returns.CollectionReturnImpl|plan.build.internal.returns.CompositeAttributeFetchImpl|plan.build.internal.returns.EncapsulatedEntityIdentifierDescription|plan.build.internal.returns.EntityAttributeFetchImpl|plan.build.internal.returns.EntityReturnImpl|plan.build.internal.returns.NestedCompositeAttributeFetchImpl|plan.build.internal.returns.NonEncapsulatedEntityIdentifierDescription|plan.build.internal.returns.ScalarReturnImpl|plan.build.internal.returns.SimpleEntityIdentifierDescriptionImpl|plan.build.internal.spaces.AbstractExpandingSourceQuerySpace|plan.build.internal.spaces.AbstractQuerySpace|plan.build.internal.spaces.CollectionQuerySpaceImpl|plan.build.internal.spaces.CompositePropertyMapping|plan.build.internal.spaces.CompositeQuerySpaceImpl|plan.build.internal.spaces.EntityQuerySpaceImpl|plan.build.internal.spaces.JoinHelper|plan.build.internal.spaces.JoinImpl|plan.build.internal.spaces.QuerySpaceHelper|plan.build.internal.spaces.QuerySpacesImpl|plan.build.spi.ExpandingCollectionQuerySpace|plan.build.spi.ExpandingCompositeQuerySpace|plan.build.spi.ExpandingEntityIdentifierDescription|plan.build.spi.ExpandingEntityQuerySpace|plan.build.spi.ExpandingFetchSource|plan.build.spi.ExpandingQuerySpace|plan.build.spi.ExpandingQuerySpaces|plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy|plan.build.spi.LoadPlanBuildingContext|plan.build.spi.LoadPlanTreePrinter|plan.build.spi.MetamodelDrivenLoadPlanBuilder|plan.build.spi.QuerySpaceTreePrinter|plan.build.spi.ReturnGraphTreePrinter|plan.build.spi.TreePrinterHelper|plan.exec.internal.AbstractCollectionLoadQueryDetails|plan.exec.internal.AbstractLoadPlanBasedLoader|plan.exec.internal.AbstractLoadQueryDetails|plan.exec.internal.AliasResolutionContextImpl|plan.exec.internal.BasicCollectionLoadQueryDetails|plan.exec.internal.BatchingLoadQueryDetailsFactory|plan.exec.internal.CollectionReferenceAliasesImpl|plan.exec.internal.EntityLoadQueryDetails|plan.exec.internal.EntityReferenceAliasesImpl|plan.exec.internal.FetchStats|plan.exec.internal.LoadQueryJoinAndFetchProcessor|plan.exec.internal.OneToManyLoadQueryDetails|plan.exec.internal.RootHelper|plan.exec.process.internal.AbstractRowReader|plan.exec.process.internal.CollectionReferenceInitializerImpl|plan.exec.process.internal.CollectionReturnReader|plan.exec.process.internal.EntityReferenceInitializerImpl|plan.exec.process.internal.EntityReturnReader|plan.exec.process.internal.HydratedEntityRegistration|plan.exec.process.internal.ResultSetProcessingContextImpl|plan.exec.process.internal.ResultSetProcessorHelper|plan.exec.process.internal.ResultSetProcessorImpl|plan.exec.process.spi.CollectionReferenceInitializer|plan.exec.process.spi.EntityReferenceInitializer|plan.exec.process.spi.ReaderCollector|plan.exec.process.spi.ResultSetProcessingContext|plan.exec.process.spi.ResultSetProcessor|plan.exec.process.spi.ResultSetProcessorResolver|plan.exec.process.spi.ReturnReader|plan.exec.process.spi.RowReader|plan.exec.process.spi.ScrollableResultSetProcessor|plan.exec.query.internal.QueryBuildingParametersImpl|plan.exec.query.internal.SelectStatementBuilder|plan.exec.query.spi.NamedParameterContext|plan.exec.query.spi.QueryBuildingParameters|plan.exec.spi.AliasResolutionContext|plan.exec.spi.CollectionReferenceAliases|plan.exec.spi.EntityReferenceAliases|plan.exec.spi.LoadQueryDetails|plan.exec.spi.LockModeResolver|plan.spi.AnyAttributeFetch|plan.spi.AttributeFetch|plan.spi.BidirectionalEntityReference|plan.spi.CollectionAttributeFetch|plan.spi.CollectionFetchableElement|plan.spi.CollectionFetchableIndex|plan.spi.CollectionQuerySpace|plan.spi.CollectionReference|plan.spi.CollectionReturn|plan.spi.CompositeAttributeFetch|plan.spi.CompositeFetch|plan.spi.CompositeQuerySpace|plan.spi.EntityFetch|plan.spi.EntityIdentifierDescription|plan.spi.EntityQuerySpace|plan.spi.EntityReference|plan.spi.EntityReturn|plan.spi.Fetch|plan.spi.FetchSource|plan.spi.Join|plan.spi.JoinDefinedByMetadata|plan.spi.LoadPlan|plan.spi.QuerySpace|plan.spi.QuerySpaceUidNotRegisteredException|plan.spi.QuerySpaces|plan.spi.Return|plan.spi.ScalarReturn|spi.AfterLoadAction) diff --git a/resources/rulesets/eap8/110-hibernate-search-6.1.windup.yaml b/resources/rulesets/eap8/110-hibernate-search-6.1.windup.yaml new file mode 100644 index 0000000..2bebcc9 --- /dev/null +++ b/resources/rulesets/eap8/110-hibernate-search-6.1.windup.yaml @@ -0,0 +1,412 @@ +- category: mandatory + customVariables: [] + description: |- + Hibernate Search 6.1.* now requires using Hibernate ORM versions from the 5.6.x family. + Hibernate Search 6.1.x now requires using Hibernate ORM versions from the 5.6.x family. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#requirements + message: Hibernate Search 6.1.x now requires using Hibernate ORM versions from the + 5.6.x family. + ruleID: hibernate-search-6.1-00010 + when: + and: + - or: + - java.dependency: + name: org.hibernate.hibernate-core + upperbound: 5.5.9.Final + - java.dependency: + name: org.hibernate.hibernate-core + upperbound: 5.5.9.Final + - java.dependency: + lowerbound: 6.1.0.Final + name: org.hibernate.search.hibernate-search-mapper-orm + - java.dependency: + lowerbound: 6.1.0.Final + name: org.hibernate.search.hibernate-search-mapper-orm +- category: mandatory + customVariables: [] + description: |- + org.hibernate.search.engine.cfg.spi.ConfigurationPropertySource has moved + `org.hibernate.search.engine.cfg.spi.ConfigurationPropertySource` has been moved to `org.hibernate.search.engine.cfg.ConfigurationPropertySource`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`org.hibernate.search.engine.cfg.spi.ConfigurationPropertySource` has + been moved to `org.hibernate.search.engine.cfg.ConfigurationPropertySource`.' + ruleID: hibernate-search-6.1-00020 + when: + or: + - java.referenced: + pattern: org.hibernate.search.engine.cfg.spi.ConfigurationPropertySource +- category: mandatory + customVariables: [] + description: |- + org.hibernate.search.backend.elasticsearch.client.spi.ElasticsearchHttpClientConfigurer has moved + `org.hibernate.search.backend.elasticsearch.client.spi.ElasticsearchHttpClientConfigurer` moved to `org.hibernate.search.backend.elasticsearch.client.ElasticsearchHttpClientConfigurer` and is now an API. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`org.hibernate.search.backend.elasticsearch.client.spi.ElasticsearchHttpClientConfigurer` + moved to `org.hibernate.search.backend.elasticsearch.client.ElasticsearchHttpClientConfigurer` + and is now an API.' + ruleID: hibernate-search-6.1-00030 + when: + or: + - java.referenced: + pattern: org.hibernate.search.backend.elasticsearch.client.spi.ElasticsearchHttpClientConfigurer +- category: mandatory + customVariables: [] + description: |- + org.hibernate.search.backend.elasticsearch.client.spi.ElasticsearchHttpClientConfigurationContext has moved + `org.hibernate.search.backend.elasticsearch.client.spi.ElasticsearchHttpClientConfigurationContext` moved to `org.hibernate.search.backend.elasticsearch.client.ElasticsearchHttpClientConfigurationContext` and is now an API. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`org.hibernate.search.backend.elasticsearch.client.spi.ElasticsearchHttpClientConfigurationContext` + moved to `org.hibernate.search.backend.elasticsearch.client.ElasticsearchHttpClientConfigurationContext` + and is now an API.' + ruleID: hibernate-search-6.1-00040 + when: + or: + - java.referenced: + pattern: org.hibernate.search.backend.elasticsearch.client.spi.ElasticsearchHttpClientConfigurationContext +- category: mandatory + customVariables: [] + description: |- + org.hibernate.search.engine.common.timing.spi.Deadline has moved + `org.hibernate.search.engine.common.timing.spi.Deadline` moved to `org.hibernate.search.engine.common.timing.Deadline` and is now API. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`org.hibernate.search.engine.common.timing.spi.Deadline` moved to `org.hibernate.search.engine.common.timing.Deadline` + and is now API.' + ruleID: hibernate-search-6.1-00050 + when: + or: + - java.referenced: + pattern: org.hibernate.search.engine.common.timing.spi.Deadline +- category: mandatory + customVariables: [] + description: |- + org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlanExecutionReport has moved + `org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlanExecutionReport` is now `org.hibernate.search.engine.backend.work.execution.spi.MultiEntityOperationExecutionReport`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlanExecutionReport` + is now `org.hibernate.search.engine.backend.work.execution.spi.MultiEntityOperationExecutionReport`.' + ruleID: hibernate-search-6.1-00060 + when: + or: + - java.referenced: + pattern: org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlanExecutionReport +- category: mandatory + customVariables: [] + description: |- + URLEncodedString#fromJsonString was removed + `URLEncodedString#fromJsonString` must be removed. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`URLEncodedString#fromJsonString` must be removed.' + ruleID: hibernate-search-6.1-00070 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.backend.elasticsearch.util.spi.URLEncodedString.fromJSon* +- category: mandatory + customVariables: [] + description: |- + FieldPaths#absolutize(String, String, String) has been removed + `FieldPaths#absolutize(String, String, String)` must be removed. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`FieldPaths#absolutize(String, String, String)` must be removed.' + ruleID: hibernate-search-6.1-00080 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.engine.backend.common.spi.FieldPaths.absolutize(java.lang.String, + java.lang.String, java.lang.String) +- category: mandatory + customVariables: [] + description: |- + IndexManagerImplementor#createIndexingPlan has changed + `IndexManagerImplementor#createIndexingPlan` no longer expects an `EntityReferenceFactory` parameter. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`IndexManagerImplementor#createIndexingPlan` no longer expects an `EntityReferenceFactory` + parameter.' + ruleID: hibernate-search-6.1-00090 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor.createIndexingPlan* +- category: mandatory + customVariables: [] + description: |- + IndexIndexingPlan#executeAndReport has changed + `IndexIndexingPlan#executeAndReport` now expects an `EntityReferenceFactory` parameter. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`IndexIndexingPlan#executeAndReport` now expects an `EntityReferenceFactory` + parameter.' + ruleID: hibernate-search-6.1-00100 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan.executeAndReport(* +- category: mandatory + customVariables: [] + description: |- + IndexSchemaObjectNodeBuilder has changed + `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaObjectNodeBuilder` is now `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexCompositeNodeBuilder` + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaObjectNodeBuilder` + is now `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexCompositeNodeBuilder`' + ruleID: hibernate-search-6.1-00120 + when: + or: + - java.referenced: + pattern: org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaObjectNodeBuilder +- category: mandatory + customVariables: [] + description: |- + IndexSchemaObjectNodeBuilder has changed + `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaObjectFieldNodeBuilder` is now `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexObjectFieldBuilder` + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaObjectFieldNodeBuilder` + is now `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexObjectFieldBuilder`' + ruleID: hibernate-search-6.1-00130 + when: + or: + - java.referenced: + pattern: org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaObjectFieldNodeBuilder +- category: mandatory + customVariables: [] + description: |- + IndexSchemaObjectNodeBuilder has changed + `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaRootNodeBuilder` is now `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexRootBuilder` + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#spi + message: '`org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaRootNodeBuilder` + is now `org.hibernate.search.engine.backend.document.model.dsl.spi.IndexRootBuilder`' + ruleID: hibernate-search-6.1-00140 + when: + or: + - java.referenced: + pattern: org.hibernate.search.engine.backend.document.model.dsl.spi.IndexSchemaObjectFieldNodeBuilder +- category: optional + customVariables: [] + description: |- + FromDocumentFieldValueConverter has been deprecated + `FromDocumentFieldValueConverter` has been deprecated, implement `FromDocumentValueConverter` instead. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#api + message: '`FromDocumentFieldValueConverter` has been deprecated, implement `FromDocumentValueConverter` + instead.' + ruleID: hibernate-search-6.1-00150 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.hibernate.search.engine.backend.types.converter.FromDocumentFieldValueConverter +- category: optional + customVariables: [] + description: |- + ToDocumentFieldValueConverter has been deprecated + `ToDocumentFieldValueConverter` has been deprecated, implement `ToDocumentValueConverter` instead. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#api + message: '`ToDocumentFieldValueConverter` has been deprecated, implement `ToDocumentValueConverter` + instead.' + ruleID: hibernate-search-6.1-00160 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.hibernate.search.engine.backend.types.converter.ToDocumentFieldValueConverter +- category: optional + customVariables: [] + description: |- + MassIndexingFailureHandler has been deprecated + `org.hibernate.search.mapper.orm.massindexing.MassIndexingFailureHandler` has been deprecated, implement `org.hibernate.search.mapper.pojo.massindexing.MassIndexingFailureHandler` instead. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#api + message: '`org.hibernate.search.mapper.orm.massindexing.MassIndexingFailureHandler` + has been deprecated, implement `org.hibernate.search.mapper.pojo.massindexing.MassIndexingFailureHandler` + instead.' + ruleID: hibernate-search-6.1-00170 + when: + java.referenced: + pattern: org.hibernate.search.mapper.orm.massindexing.MassIndexingFailureHandler +- category: optional + customVariables: [] + description: |- + MassIndexingMonitor has been deprecated + `org.hibernate.search.mapper.orm.massindexing.MassIndexingMonitor` has been deprecated, implement `org.hibernate.search.mapper.pojo.massindexing.MassIndexingMonitor` instead. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#api + message: '`org.hibernate.search.mapper.orm.massindexing.MassIndexingMonitor` has + been deprecated, implement `org.hibernate.search.mapper.pojo.massindexing.MassIndexingMonitor` + instead.' + ruleID: hibernate-search-6.1-00180 + when: + java.referenced: + pattern: org.hibernate.search.mapper.orm.massindexing.MassIndexingMonitor +- category: optional + customVariables: [] + description: |- + Deprecated configuration settings + Property has been deprecated: use the new configuration property that accepts `true`/`false` instead. See `HibernateOrmMapperSettings#AUTOMATIC_INDEXING_ENABLED`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6.1 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6.1 - Migration Guide from 6.0 + url: https://docs.jboss.org/hibernate/search/6.1/migration/html_single/#api + message: 'Property has been deprecated: use the new configuration property that + accepts `true`/`false` instead. See `HibernateOrmMapperSettings#AUTOMATIC_INDEXING_ENABLED`.' + ruleID: hibernate-search-6.1-00190 + when: + or: + - java.referenced: + pattern: org.hibernate.search.mapper.orm.automaticindexing.AutomaticIndexingStrategyName diff --git a/resources/rulesets/eap8/111-hibernate-search.windup.yaml b/resources/rulesets/eap8/111-hibernate-search.windup.yaml new file mode 100644 index 0000000..2a2edc7 --- /dev/null +++ b/resources/rulesets/eap8/111-hibernate-search.windup.yaml @@ -0,0 +1,2425 @@ +- category: mandatory + customVariables: [] + description: |- + Constants for Hibernate Search configuration property keys have changed + In Hibernate Search 6, constants are provided through classes whose name ends with Settings. Follow link for more details. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Constants for Property Keys' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#_constants_for_property_keys + message: In Hibernate Search 6, constants are provided through classes whose name + ends with Settings. Follow link for more details. + ruleID: hibernate-search-00010 + when: + or: + - java.referenced: + pattern: org.hibernate.search.cfg.Environment + - java.referenced: + pattern: org.hibernate.search.elasticsearch.cfg.ElasticsearchEnvironment +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.analyzer not available anymore + This property is not available anymore. To override the default analyzer, define a custom analyzer named default. See link. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: Analysis Definition Provider + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#analysis-definition-provider + message: This property is not available anymore. To override the default analyzer, + define a custom analyzer named default. See link. + ruleID: hibernate-search-00020 + when: + builtin.filecontent: + pattern: hibernate.search.analyzer +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.autoregister_listeners not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.enabled`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.enabled`.' + ruleID: hibernate-search-00030 + when: + builtin.filecontent: + pattern: hibernate.search.autoregister_listeners +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.batch_size not available anymore + No direct equivalent in Hibernate Search 6. This property was not documented in Hibernate Search 5. For the specific use case of batch processes, know that upon Hibernate ORM session flushes,. Hibernate Search 6 will automatically turn entities to documents and hold documents in memory until the transaction commit.. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 6: Manual Indexing' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#manual-index-changes + message: No direct equivalent in Hibernate Search 6. This property was not documented + in Hibernate Search 5. For the specific use case of batch processes, know that + upon Hibernate ORM session flushes,. Hibernate Search 6 will automatically turn + entities to documents and hold documents in memory until the transaction commit.. + See links for more information. + ruleID: hibernate-search-00040 + when: + builtin.filecontent: + pattern: hibernate.search.batch_size +- category: mandatory + customVariables: [] + description: |- + The syntax for configuring AWS authentication changed in Hibernate Search 6. + AWS configuration properties must change from `hibernate.search.default.elasticsearch.aws.*` to `hibernate.search.backend.aws.*`.. See link for more information about credential configuration changes. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: AWS configuration properties must change from `hibernate.search.default.elasticsearch.aws.*` + to `hibernate.search.backend.aws.*`.. See link for more information about credential + configuration changes. + ruleID: hibernate-search-00050 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.aws.* +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.batch_size not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.connection_timeout`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.connection_timeout`.' + ruleID: hibernate-search-00060 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.connection_timeout +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.discovery.default_scheme not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.default.elasticsearch.discovery.default_scheme`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.default.elasticsearch.discovery.default_scheme`.' + ruleID: hibernate-search-00070 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.discovery.default_scheme +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.discovery.enabled not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.discovery.enabled`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.discovery.enabled`.' + ruleID: hibernate-search-00080 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.discovery.enabled +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.discovery.refresh_interval not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.discovery.refresh_interval`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.discovery.refresh_interval`.' + ruleID: hibernate-search-00090 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.discovery.refresh_interval +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.elasticsearch.dynamic_mapping not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.dynamic_mapping` (for global defaults). or `hibernate.search.backend.indexes..dynamic_mapping` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.dynamic_mapping` (for global defaults). + or `hibernate.search.backend.indexes..dynamic_mapping` (per-index).' + ruleID: hibernate-search-00100 + when: + builtin.filecontent: + pattern: hibernate.search.*.elasticsearch.dynamic_mapping +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.host not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.uris`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.uris`.' + ruleID: hibernate-search-00105 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.host +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.elasticsearch.index_management_wait_timeout not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.schema_management.minimal_required_status_wait_timeout` (for global defaults). or `hibernate.search.backend.indexes..schema_management.minimal_required_status_wait_timeout` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.schema_management.minimal_required_status_wait_timeout` + (for global defaults). or `hibernate.search.backend.indexes..schema_management.minimal_required_status_wait_timeout` + (per-index).' + ruleID: hibernate-search-00110 + when: + builtin.filecontent: + pattern: hibernate.search.*.elasticsearch.index_management_wait_timeout +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.elasticsearch.index_schema_management_strategy not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.schema_management.strategy` (for global defaults). There is no equivalent for per-index configuration. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.schema_management.strategy` (for global + defaults). There is no equivalent for per-index configuration.' + ruleID: hibernate-search-00120 + when: + builtin.filecontent: + pattern: hibernate.search.*.elasticsearch.index_schema_management_strategy +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.max_total_connection_per_route not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.max_connections_per_route`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.max_connections_per_route`.' + ruleID: hibernate-search-00140 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.max_total_connection_per_route +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.max_total_connection not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.max_connections`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.max_connections`.' + ruleID: hibernate-search-00150 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.max_total_connection +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.password not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.password`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.password`.' + ruleID: hibernate-search-00160 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.password +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.path_prefix not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.path_prefix`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.path_prefix`.' + ruleID: hibernate-search-00170 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.path_prefix +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.read_timeout not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.read_timeout`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.read_timeout`.' + ruleID: hibernate-search-00180 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.read_timeout +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.elasticsearch.refresh_after_write not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.automatic_indexing.synchronization.strategy` (for global defaults). There is no equivalent for per-index configuration. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.automatic_indexing.synchronization.strategy` + (for global defaults). There is no equivalent for per-index configuration.' + ruleID: hibernate-search-00190 + when: + builtin.filecontent: + pattern: hibernate.search.*.elasticsearch.refresh_after_write +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.request_timeout not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.request_timeout`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.request_timeout`.' + ruleID: hibernate-search-00200 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.request_timeout +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.elasticsearch.required_index_status not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.schema_management.minimal_required_status` (for global defaults). or `hibernate.search.backend.indexes..schema_management.minimal_required_status` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.schema_management.minimal_required_status` + (for global defaults). or `hibernate.search.backend.indexes..schema_management.minimal_required_status` + (per-index).' + ruleID: hibernate-search-00210 + when: + builtin.filecontent: + pattern: hibernate.search.*.elasticsearch.required_index_status +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default.elasticsearch.username not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.username`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.username`.' + ruleID: hibernate-search-00220 + when: + builtin.filecontent: + pattern: hibernate.search.default.elasticsearch.username +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.exclusive_index_use not available anymore + This property is not available anymore. There is no substitute in Hibernate Search 6. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: This property is not available anymore. There is no substitute in Hibernate + Search 6. + ruleID: hibernate-search-00230 + when: + builtin.filecontent: + pattern: hibernate.search.*.exclusive_index_use +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.directory_provider not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.directory.type` (for global defaults). or `hibernate.search.backend.indexes..directory.type` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.directory.type` (for global defaults). + or `hibernate.search.backend.indexes..directory.type` (per-index).' + ruleID: hibernate-search-00240 + when: + builtin.filecontent: + pattern: hibernate.search.*.directory_provider +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.indexBase not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.directory.root` (for global defaults). or `hibernate.search.backend.indexes..directory.root` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.directory.root` (for global defaults). + or `hibernate.search.backend.indexes..directory.root` (per-index).' + ruleID: hibernate-search-00250 + when: + builtin.filecontent: + pattern: hibernate.search.*.indexBase +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.indexName not available anymore + No equivalent in Hibernate Search 6. The name of an index can still be customized in the mapping, using. @Indexed(name = ...), or with the programmatic equivalent. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: No equivalent in Hibernate Search 6. The name of an index can still be + customized in the mapping, using. @Indexed(name = ...), or with the programmatic + equivalent. + ruleID: hibernate-search-00260 + when: + builtin.filecontent: + pattern: hibernate.search.*.indexName +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.index_flush_interval not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.io.commit_interval` (for global defaults). or `hibernate.search.backend.indexes..io.commit_interval` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.io.commit_interval` (for global + defaults). or `hibernate.search.backend.indexes..io.commit_interval` + (per-index).' + ruleID: hibernate-search-00270 + when: + builtin.filecontent: + pattern: hibernate.search.*.index_flush_interval +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.index_metadata_complete not available anymore + No equivalent in Hibernate Search 6. This property was not documented in Hibernate Search 5. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: No equivalent in Hibernate Search 6. This property was not documented in + Hibernate Search 5. + ruleID: hibernate-search-00280 + when: + builtin.filecontent: + pattern: hibernate.search.*.index_metadata_complete +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.indexmanager not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.type` (for global defaults).. No equivalent for the per-index configuration. See link for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.type` (for global defaults).. No + equivalent for the per-index configuration. See link for more information.' + ruleID: hibernate-search-00290 + when: + builtin.filecontent: + pattern: hibernate.search.*.indexmanager +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.indexwriter not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.io.writer` or `hibernate.search.backend.io.merge` (for global defaults). or `hibernate.search.backend.indexes..io.writer` or `hibernate.search.backend.indexes..io.merge` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.io.writer` or `hibernate.search.backend.io.merge` + (for global defaults). or `hibernate.search.backend.indexes..io.writer` + or `hibernate.search.backend.indexes..io.merge` (per-index).' + ruleID: hibernate-search-00300 + when: + builtin.filecontent: + pattern: hibernate.search.*.indexwriter +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.locking_strategy not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.directory.locking.strategy` (for global defaults). or `hibernate.search.backend.indexes..directory.locking.strategy` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: Hibernate Search 6 - Locking Strategy + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#backend-lucene-configuration-directory-locking-strategy + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.directory.locking.strategy` (for + global defaults). or `hibernate.search.backend.indexes..directory.locking.strategy` + (per-index).' + ruleID: hibernate-search-00310 + when: + builtin.filecontent: + pattern: hibernate.search.*.locking_strategy +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.max_queue_length not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.indexing.queue_size` (for global defaults). or `hibernate.search.backend.indexes..indexing.queue_size` (per-index). + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.indexing.queue_size` (for global + defaults). or `hibernate.search.backend.indexes..indexing.queue_size` + (per-index).' + ruleID: hibernate-search-00320 + when: + builtin.filecontent: + pattern: hibernate.search.*.max_queue_length +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.default_null_token not available anymore + No equivalent in Hibernate Search 6. In most cases, you won’t need to use indexNullAs anymore. Where indexNullAs is still needed, define the token explicitly for each index field. See links for more info. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: Hibernate Search 5 to 6 Migration - indexNullAs field + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#field-indexnullas + message: No equivalent in Hibernate Search 6. In most cases, you won’t need to use + indexNullAs anymore. Where indexNullAs is still needed, define the token explicitly + for each index field. See links for more info. + ruleID: hibernate-search-00330 + when: + builtin.filecontent: + pattern: hibernate.search.default_null_token +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.reader not available anymore + No direct equivalent in Hibernate Search 6. To enable async reader refresh, set hibernate.search.backend.io.refresh_interval or hibernate.search.backend.indexes..io.refresh_interval. to a strictly positive value (in milliseconds). See links for more information. Custom reader strategies are no longer supported. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: Hibernate Search 6 - Reference Documentation + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#backend-lucene-io-refresh + message: No direct equivalent in Hibernate Search 6. To enable async reader refresh, + set hibernate.search.backend.io.refresh_interval or hibernate.search.backend.indexes..io.refresh_interval. + to a strictly positive value (in milliseconds). See links for more information. + Custom reader strategies are no longer supported. + ruleID: hibernate-search-00340 + when: + builtin.filecontent: + pattern: hibernate.search.*.reader +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.retry_marker_lookup not available anymore + This property is not available anymore. The filesystem-slave directory provider is no longer supported. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Search Backends' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#search-5-backends + message: This property is not available anymore. The filesystem-slave directory + provider is no longer supported. See links for more information. + ruleID: hibernate-search-00350 + when: + builtin.filecontent: + pattern: hibernate.search.*.retry_marker_lookup +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.sharding_strategy not available anymore + This property is not available anymore. Sharding is configured differently. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Sharding' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#sharding + message: This property is not available anymore. Sharding is configured differently. + See links for more information. + ruleID: hibernate-search-00360 + when: + builtin.filecontent: + pattern: hibernate.search.*.sharding_strategy +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.similarity not available anymore + This property is not available anymore. The similarity is configured through the analysis configurer. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Analysis Definition Provider' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#analysis-definition-provider + message: This property is not available anymore. The similarity is configured through + the analysis configurer. See links for more information. + ruleID: hibernate-search-00370 + when: + builtin.filecontent: + pattern: hibernate.search.*.similarity +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.worker.backend not available anymore + This property is not available anymore. The JMS/JGroups backends are no longer supported. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Backends' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#search-5-backends + message: This property is not available anymore. The JMS/JGroups backends are no + longer supported. See links for more information. + ruleID: hibernate-search-00380 + when: + builtin.filecontent: + pattern: hibernate.search.*.worker.backend +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.worker.execution not available anymore + This property is not available anymore. Setting hibernate.search.automatic_indexing.synchronization.strategy to async or sync will produce results similar to setting hibernate.search..worker.execution to the same value. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: Hibernate Search 6 - Reference Documentation + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#mapper-orm-indexing-automatic-synchronization + message: This property is not available anymore. Setting hibernate.search.automatic_indexing.synchronization.strategy + to async or sync will produce results similar to setting hibernate.search..worker.execution + to the same value. See links for more information. + ruleID: hibernate-search-00390 + when: + builtin.filecontent: + pattern: hibernate.search.*.worker.execution +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.*.worker not available anymore + This property is not available anymore. The JMS/JGroups backends are no longer supported. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Backends' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#search-5-backends + message: This property is not available anymore. The JMS/JGroups backends are no + longer supported. See links for more information. + ruleID: hibernate-search-00400 + when: + builtin.filecontent: + pattern: hibernate.search.*.worker +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.elasticsearch.analysis_definition_provider not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.analysis.configurer`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Analysis definition provider' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#analysis-definition-provider + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.analysis.configurer`.' + ruleID: hibernate-search-00410 + when: + builtin.filecontent: + pattern: hibernate.search.elasticsearch.analysis_definition_provider +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.elasticsearch.log.json_pretty_printing not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.log.json_pretty_printing`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.log.json_pretty_printing`.' + ruleID: hibernate-search-00420 + when: + builtin.filecontent: + pattern: hibernate.search.elasticsearch.log.json_pretty_printing +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.elasticsearch.scroll_backtracking_window_size not available anymore + This property is not available anymore: scrolling is forward-only. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Scrolling is forward-only' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#scrolling-forward-only + message: 'This property is not available anymore: scrolling is forward-only. See + links for more information.' + ruleID: hibernate-search-00430 + when: + builtin.filecontent: + pattern: hibernate.search.elasticsearch.scroll_backtracking_window_size +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.elasticsearch.scroll_fetch_size not available anymore + This property is not available anymore. When using Hibernate Search APIs, the "chunk size" is an argument to the scroll method. When using the Hibernate ORM or JPA adapters, the "chunk size" is set to the same value as the fetch size. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 6 Reference: Scrolling' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#search-dsl-query-fetching-results-scrolling + message: This property is not available anymore. When using Hibernate Search APIs, + the "chunk size" is an argument to the scroll method. When using the Hibernate + ORM or JPA adapters, the "chunk size" is set to the same value as the fetch size. + See links for more information. + ruleID: hibernate-search-00440 + when: + builtin.filecontent: + pattern: hibernate.search.elasticsearch.scroll_fetch_size +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.elasticsearch.scroll_timeout not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.scroll_timeout`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.scroll_timeout`.' + ruleID: hibernate-search-00450 + when: + builtin.filecontent: + pattern: hibernate.search.elasticsearch.scroll_timeout +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.enable_dirty_check not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.automatic_indexing.enable_dirty_check`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.automatic_indexing.enable_dirty_check`.' + ruleID: hibernate-search-00460 + when: + builtin.filecontent: + pattern: hibernate.search.enable_dirty_check +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.error_handler not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.background_failure_handler`. A different interface should be implemented: see links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Error handler' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#error-handler + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.background_failure_handler`. A different + interface should be implemented: see links for more information.' + ruleID: hibernate-search-00470 + when: + builtin.filecontent: + pattern: hibernate.search.error_handler +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.filter.cache_docidresults.size not available anymore + This property is not available anymore. There's no equivalent for Hibernate Search 6. If you need caching for some of your Lucene queries, consider upgrading directly to Hibernate Search 6.1, which provides configurable Low-level hit caching. See link for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Full-text filter' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#full-text-filter + - title: 'Hibernate Search 6 Reference: Low-level hit caching' + url: https://docs.jboss.org/hibernate/search/6.1/reference/en-US/html_single/#backend-lucene-search-caching + message: This property is not available anymore. There's no equivalent for Hibernate + Search 6. If you need caching for some of your Lucene queries, consider upgrading + directly to Hibernate Search 6.1, which provides configurable Low-level hit caching. + See link for more information. + ruleID: hibernate-search-00480 + when: + builtin.filecontent: + pattern: hibernate.search.filter.cache_docidresults.size +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.filter.cache_strategy not available anymore + This property is not available anymore. There's no equivalent for Hibernate Search 6. If you need caching for some of your Lucene queries, consider upgrading directly to Hibernate Search 6.1, which provides configurable Low-level hit caching. See link for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Full-text filter' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#full-text-filter + - title: 'Hibernate Search 6 Reference: Low-level hit caching' + url: https://docs.jboss.org/hibernate/search/6.1/reference/en-US/html_single/#backend-lucene-search-caching + message: This property is not available anymore. There's no equivalent for Hibernate + Search 6. If you need caching for some of your Lucene queries, consider upgrading + directly to Hibernate Search 6.1, which provides configurable Low-level hit caching. + See link for more information. + ruleID: hibernate-search-00490 + when: + builtin.filecontent: + pattern: hibernate.search.filter.cache_strategy +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.generate_statistics not available anymore + This property is not available anymore. There's no equivalent for Hibernate Search 6. No equivalent in Hibernate Search 6. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Statistics: SearchFactory.getStatistics()' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#searchfactory-getstatistics + message: This property is not available anymore. There's no equivalent for Hibernate + Search 6. No equivalent in Hibernate Search 6. See links for more information. + ruleID: hibernate-search-00500 + when: + builtin.filecontent: + pattern: hibernate.search.generate_statistics +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.index_uninverting_allowed not available anymore + Index uninverting was deprecated in Hibernate Search 5 due to poor performance and is no longer allowed. All index fields that you want to sort on must be marked as sortable. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: @SortableField, @SortableFields' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#sortablefield + message: Index uninverting was deprecated in Hibernate Search 5 due to poor performance + and is no longer allowed. All index fields that you want to sort on must be marked + as sortable. See links for more information. + ruleID: hibernate-search-00510 + when: + builtin.filecontent: + pattern: hibernate.search.index_uninverting_allowed +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.indexing_strategy not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.automatic_indexing.strategy`. Set to `none` to get the equivalent of `hibernate.search.indexing_strategy = manual` in Hibernate Search 5. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.automatic_indexing.strategy`. Set to `none` + to get the equivalent of `hibernate.search.indexing_strategy = manual` in Hibernate + Search 5.' + ruleID: hibernate-search-00520 + when: + builtin.filecontent: + pattern: hibernate.search.indexing_strategy +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.jmx_bean_suffix not available anymore + This property is not available anymore. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: JMX' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#jmx + message: This property is not available anymore. See links for more information. + ruleID: hibernate-search-00530 + when: + builtin.filecontent: + pattern: hibernate.search.jmx_bean_suffix +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.jmx_enabled not available anymore + This property is not available anymore. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: JMX' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#jmx + message: This property is not available anymore. See links for more information. + ruleID: hibernate-search-00540 + when: + builtin.filecontent: + pattern: hibernate.search.jmx_enabled +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.error_handler not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.analysis.configurer`. A different interface should be implemented: see links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Analysis definition provider' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#analysis-definition-provider + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.analysis.configurer`. A different + interface should be implemented: see links for more information.' + ruleID: hibernate-search-00550 + when: + builtin.filecontent: + pattern: hibernate.search.lucene.analysis_definition_provider +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.lucene_version not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.backend.lucene_version`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.backend.lucene_version`.' + ruleID: hibernate-search-00560 + when: + builtin.filecontent: + pattern: hibernate.search.lucene_version +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.model_mapping not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.mapping.configurer`. A different interface should be implemented: see links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Programmatic mapping' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#mapping-programmatic + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.mapping.configurer`. A different interface + should be implemented: see links for more information.' + ruleID: hibernate-search-00570 + when: + builtin.filecontent: + pattern: hibernate.search.model_mapping +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.query.database_retrieval_method not available anymore + This property is no available anymore. No equivalent in Hibernate Search 6: entities are always loaded with a query. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + message: 'This property is no available anymore. No equivalent in Hibernate Search + 6: entities are always loaded with a query.' + ruleID: hibernate-search-00580 + when: + builtin.filecontent: + pattern: hibernate.search.query.database_retrieval_method +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.query.object_lookup_method not available anymore + This property is not available anymore. Substitute with the Hibernate Search 6 equivalent: `hibernate.search.query.loading.cache_lookup.strategy`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Cache lookup strategy' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#search-dsl-query-cache-lookup-strategy + message: 'This property is not available anymore. Substitute with the Hibernate + Search 6 equivalent: `hibernate.search.query.loading.cache_lookup.strategy`.' + ruleID: hibernate-search-00590 + when: + builtin.filecontent: + pattern: hibernate.search.query.object_lookup_method +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.similarity not available anymore + This property is not available anymore. There is no direct equivalent in Hibernate Search 6: the similarity is configured through the analysis configurer. The default similarity changed when this property is not configured: see links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 5 to 6 Migration: Default similarity' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#default-similarity + message: 'This property is not available anymore. There is no direct equivalent + in Hibernate Search 6: the similarity is configured through the analysis configurer. + The default similarity changed when this property is not configured: see links + for more information.' + ruleID: hibernate-search-00600 + when: + builtin.filecontent: + pattern: hibernate.search.similarity +- category: mandatory + customVariables: [] + description: |- + Property hibernate.search.worker.* not available anymore + This property is not available anymore. No equivalent to the concept of "worker" in Hibernate Search 6:. automatic indexing is always performed on transaction commit or, when there is no transaction, on session flush.. Also, transactional backends, for example the JMS backend, are no longer supported. See links for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Configuration Property Reference' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#configuration-property-reference + - title: 'Hibernate Search 6 Reference: How automatic indexing works' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#mapper-orm-indexing-automatic-concepts + - title: 'Hibernate Search 5 to 6 Migration: Backends' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#search-5-backends + message: This property is not available anymore. No equivalent to the concept of + "worker" in Hibernate Search 6:. automatic indexing is always performed on transaction + commit or, when there is no transaction, on session flush.. Also, transactional + backends, for example the JMS backend, are no longer supported. See links for + more information. + ruleID: hibernate-search-00610 + when: + builtin.filecontent: + pattern: hibernate.search.worker.* +- category: mandatory + customVariables: [] + description: |- + Annotation @Analyzer not available anymore + In Hibernate Search 5, it was possible to apply an @Analyzer annotation to a class or property, so that the corresponding analyzer would be used by default for any index field declared in this scope.. There is no equivalent to that feature in Hibernate Search 6: all fields must specify their analyzer explicitly using @FullTextField(analyzer = "myAnalyzer"), or rely on the (global) default analyzer.. Also, still in Hibernate Search 5, @Analyzer could point directly to a class extending org.apache.lucene.analysis.Analyzer, for example with @Analyzer(impl = StandardAnalyzer.class).. This is no longer possible: analyzers are now always referenced by their name. However, you can assign a name to a given analyzer instance using the Lucene analysis configurer. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: Custom analyzers and normalizers' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#backend-lucene-analysis-analyzers + message: 'In Hibernate Search 5, it was possible to apply an @Analyzer annotation + to a class or property, so that the corresponding analyzer would be used by default + for any index field declared in this scope.. There is no equivalent to that feature + in Hibernate Search 6: all fields must specify their analyzer explicitly using + @FullTextField(analyzer = "myAnalyzer"), or rely on the (global) default analyzer.. + Also, still in Hibernate Search 5, @Analyzer could point directly to a class extending + org.apache.lucene.analysis.Analyzer, for example with @Analyzer(impl = StandardAnalyzer.class).. + This is no longer possible: analyzers are now always referenced by their name. + However, you can assign a name to a given analyzer instance using the Lucene analysis + configurer.' + ruleID: hibernate-search-00620 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Analyzer +- category: mandatory + customVariables: [] + description: |- + Annotation @AnalyzerDef(s) not available anymore + Annotation-based analyzer definitions are no longer supported.. Instead, implement an analysis configurer: see links for Lucene and Elasticsearch replacements. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: Custom analyzers and normalizers' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#backend-lucene-analysis-analyzers + - title: 'Hibernate Search 6 Reference: Elasticsearch analyzers and normalizers' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#backend-elasticsearch-analysis-analyzers + message: 'Annotation-based analyzer definitions are no longer supported.. Instead, + implement an analysis configurer: see links for Lucene and Elasticsearch replacements.' + ruleID: hibernate-search-00630 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.AnalyzerDef + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.AnalyzerDefs +- category: mandatory + customVariables: [] + description: |- + Annotation @AnalyzerDiscriminator not available anymore + `@AnalyzerDiscriminator` has no direct equivalent in Hibernate Search 6: the analyzer assigned to each field is static and cannot change at runtime, because that results in unreliable matches and in scoring issues.. Instead, Hibernate Search 6 allows declaring multiple index fields for a single property, and putting the content of that property in a different field depending on a discriminator. Then, when searching, you can target all fields at once.. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: Mapping multiple alternatives' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#mapper-orm-alternatives + message: '`@AnalyzerDiscriminator` has no direct equivalent in Hibernate Search + 6: the analyzer assigned to each field is static and cannot change at runtime, + because that results in unreliable matches and in scoring issues.. Instead, Hibernate + Search 6 allows declaring multiple index fields for a single property, and putting + the content of that property in a different field depending on a discriminator. + Then, when searching, you can target all fields at once.. See link for more information.' + ruleID: hibernate-search-00640 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.AnalyzerDiscriminator +- category: mandatory + customVariables: [] + description: |- + Annotation @Boost not available anymore + Index-time boosting was deprecated in Hibernate Search 5. It is no longer available in Hibernate Search 6.. Instead, rely on query-time boosting. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: Query-time boosting' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#search-dsl-predicate-common-boost + message: Index-time boosting was deprecated in Hibernate Search 5. It is no longer + available in Hibernate Search 6.. Instead, rely on query-time boosting. See link + for more information. + ruleID: hibernate-search-00650 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Boost +- category: mandatory + customVariables: [] + description: |- + Annotation @CacheFromIndex not available anymore + This annotation was deprecated and non-functional in Hibernate Search 5. It is no longer available in Hibernate Search 6. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: [] + message: This annotation was deprecated and non-functional in Hibernate Search 5. + It is no longer available in Hibernate Search 6. + ruleID: hibernate-search-00660 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.CacheFromIndex +- category: mandatory + customVariables: [] + description: |- + Annotation @CalendarBridge not available anymore + `@CalendarBridge` is not necessary to index Calendar values: you can simply apply @GenericField to a property of type Calendar, and an appropriate default bridge will be used.. See link for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @CalendarBridge' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#calendarbridge + message: '`@CalendarBridge` is not necessary to index Calendar values: you can simply + apply @GenericField to a property of type Calendar, and an appropriate default + bridge will be used.. See link for more information.' + ruleID: hibernate-search-00670 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.CalendarBridge +- category: mandatory + customVariables: [] + description: |- + Annotation @CharFilterDef not available anymore + Annotation-based analyzer definitions are no longer supported. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @CharFilterDef' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#charfilterdef + message: Annotation-based analyzer definitions are no longer supported. See link + for more information. + ruleID: hibernate-search-00680 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.CharFilterDef +- category: mandatory + customVariables: [] + description: |- + Annotation @ClassBridge(s) not available anymore + The bridge API was completely reworked in Hibernate Search 6. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Bridges' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#bridges + message: The bridge API was completely reworked in Hibernate Search 6. See link + for more information. + ruleID: hibernate-search-00690 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.ClassBridge + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.ClassBridges +- category: mandatory + customVariables: [] + description: |- + Annotation @ContainedIn not available anymore + @ContainedIn is no longer necessary in Hibernate Search 6.. Hibernate Search 6 infers indexing dependencies from the mapping, and raises errors at bootstrap when the equivalent of @ContainedIn cannot be applied automatically (for example an @IndexedEmbedded association with no inverse side).. Thus, the recommended approach when migrating is to simply remove all @ContainedIn annotations, then deal with the bootstrap errors, if any. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Automatic indexing across associations + by defaults' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#automatic-indexing-across-associations-by-default + message: '@ContainedIn is no longer necessary in Hibernate Search 6.. Hibernate + Search 6 infers indexing dependencies from the mapping, and raises errors at bootstrap + when the equivalent of @ContainedIn cannot be applied automatically (for example + an @IndexedEmbedded association with no inverse side).. Thus, the recommended + approach when migrating is to simply remove all @ContainedIn annotations, then + deal with the bootstrap errors, if any.' + ruleID: hibernate-search-00700 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.ContainedIn +- category: mandatory + customVariables: [] + description: |- + Annotation @DateBridge not available anymore + @DateBridge is not necessary to index Date values: you can simply apply @GenericField to a property of type java.util.Date, java.sql.Date, java.sql.Time or java.sql.Timestamp, and an appropriate default bridge will be used.. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @DateBridge' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#datebridge + message: '@DateBridge is not necessary to index Date values: you can simply apply + @GenericField to a property of type java.util.Date, java.sql.Date, java.sql.Time + or java.sql.Timestamp, and an appropriate default bridge will be used.. See link + for more information.' + ruleID: hibernate-search-00710 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.DateBridge +- category: mandatory + customVariables: [] + description: |- + Annotation @DocumentId has moved + `@DocumentId` is still available in Hibernate Search 6, but moved to a different package: `org.hibernate.search.mapper.pojo.mapping.definition.annotation.DocumentId`.. However, it no longer exposes a name attribute, because the document ID is no longer an index field, and thus it does not need a name. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @DocumentId' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#documentid + message: '`@DocumentId` is still available in Hibernate Search 6, but moved to a + different package: `org.hibernate.search.mapper.pojo.mapping.definition.annotation.DocumentId`.. + However, it no longer exposes a name attribute, because the document ID is no + longer an index field, and thus it does not need a name.' + ruleID: hibernate-search-00720 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.DocumentId +- category: mandatory + customVariables: [] + description: |- + Annotation @DynamicBoost not available anymore + Index-time boosting was deprecated in Hibernate Search 5. It is no longer available in Hibernate Search 6.. Instead, rely on query-time boosting. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: Boosting the score of a predicate' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#search-dsl-predicate-common-boost + message: Index-time boosting was deprecated in Hibernate Search 5. It is no longer + available in Hibernate Search 6.. Instead, rely on query-time boosting. See link + for more information. + ruleID: hibernate-search-00730 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.DynamicBoost +- category: mandatory + customVariables: [] + description: |- + Facets have changed + Facets are now called aggregations, which are a generalization of the concept of faceting. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: @Facet(s)' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#facet + message: Facets are now called aggregations, which are a generalization of the concept + of faceting. See link for more information. + ruleID: hibernate-search-00740 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Facet + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Facets +- category: mandatory + customVariables: [] + description: |- + The @Field(s) annotation has been split into multiple annotations + The @Field annotation was split into multiple annotations, specific to each field type. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: @Field(s)' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#field + message: The @Field annotation was split into multiple annotations, specific to + each field type. See link for more information. + ruleID: hibernate-search-00750 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Field + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Fields +- category: mandatory + customVariables: [] + description: |- + Annotation @FieldBridge not available anymore + The bridge API was completely reworked in Hibernate Search 6. See link for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Bridges' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#bridges + message: The bridge API was completely reworked in Hibernate Search 6. See link + for more information. + ruleID: hibernate-search-00760 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.FieldBridge +- category: mandatory + customVariables: [] + description: |- + The @FullTextFilterDef(s) annotation is not available anymore + Full-text filters have no direct equivalent in Hibernate Search 6. See link for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Full-text filter' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#full-text-filter + message: Full-text filters have no direct equivalent in Hibernate Search 6. See + link for more information. + ruleID: hibernate-search-00770 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.FullTextFilterDef + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.FullTextFilterDefs +- category: mandatory + customVariables: [] + description: |- + Annotation @Indexed has moved + `@Indexed` is still available in Hibernate Search 6, but moved to a different package: `org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed`.. However, there are some related changes that must be addressed - see link for more information. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @Indexed' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#indexed + message: '`@Indexed` is still available in Hibernate Search 6, but moved to a different + package: `org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed`.. + However, there are some related changes that must be addressed - see link for + more information.' + ruleID: hibernate-search-00780 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Indexed +- category: mandatory + customVariables: [] + description: |- + Annotation @IndexedEmbedded has moved + `@IndexedEmbedded` is still available in Hibernate Search 6, but moved to a different package: `org.hibernate.search.mapper.pojo.mapping.definition.annotation.IndexedEmbedded`.. Some other changes within the annotation have been made. For more information, see the link. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @IndexedEmbedded' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#indexedembeded + message: '`@IndexedEmbedded` is still available in Hibernate Search 6, but moved + to a different package: `org.hibernate.search.mapper.pojo.mapping.definition.annotation.IndexedEmbedded`.. + Some other changes within the annotation have been made. For more information, + see the link.' + ruleID: hibernate-search-00790 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.IndexedEmbedded +- category: mandatory + customVariables: [] + description: |- + The @Key annotation is not available anymore + `@Key` has no equivalent in Hibernate Search 6. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Full-text filter' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#full-text-filter + message: '`@Key` has no equivalent in Hibernate Search 6.' + ruleID: hibernate-search-00800 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Key +- category: mandatory + customVariables: [] + description: |- + Annotation @Latitude has moved + `@Latitude` is still available in Hibernate Search 6, but moved to a different package: `org.hibernate.search.annotations.Latitude`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @Latitude' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#latitude + message: '`@Latitude` is still available in Hibernate Search 6, but moved to a different + package: `org.hibernate.search.annotations.Latitude`.' + ruleID: hibernate-search-00810 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Latitude +- category: mandatory + customVariables: [] + description: |- + Annotation @Longitude has moved + `@Longitude` is still available in Hibernate Search 6, but moved to a different package: `org.hibernate.search.annotations.Longitude`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @Longitude' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#longitude + message: '`@Longitude` is still available in Hibernate Search 6, but moved to a + different package: `org.hibernate.search.annotations.Longitude`.' + ruleID: hibernate-search-00820 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Longitude +- category: mandatory + customVariables: [] + description: |- + Annotation @Longitude has moved + In Hibernate Search 5, `@Normalizer` could point directly to a class extending `org.apache.lucene.analysis.Analyzer`, for example with `@Normalizer(impl = MyNormalizer.class)`.. This is no longer possible: normalizers are now always referenced by their name. However, you can assign a name to a given normalizer instance using the Lucene analysis configurer. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: Lucene analysis configurer' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#backend-lucene-analysis-analyzers + message: 'In Hibernate Search 5, `@Normalizer` could point directly to a class extending + `org.apache.lucene.analysis.Analyzer`, for example with `@Normalizer(impl = MyNormalizer.class)`.. + This is no longer possible: normalizers are now always referenced by their name. + However, you can assign a name to a given normalizer instance using the Lucene + analysis configurer.' + ruleID: hibernate-search-00830 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Normalizer +- category: mandatory + customVariables: [] + description: |- + Annotation @NormalizerDef(s) not available anymore + Annotation-based analyzer definitions are no longer supported.. Instead, implement an analysis configurer: see links for Lucene and Elasticsearch + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 6 Reference: Custom analyzers and normalizers' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#backend-lucene-analysis-analyzers + - title: 'Hibernate Search 6 Reference: Elasticsearch analyzers and normalizers' + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#backend-elasticsearch-analysis-analyzers + message: 'Annotation-based analyzer definitions are no longer supported.. Instead, + implement an analysis configurer: see links for Lucene and Elasticsearch' + ruleID: hibernate-search-00840 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.NormalizerDef + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.NormalizerDefs +- category: mandatory + customVariables: [] + description: |- + Annotation @NumericField(s) not available anymore + @NumericField no longer exists in Hibernate Search 6.. Numeric types are indexed as numeric values by default, so this annotation can simply be removed. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: [] + message: '@NumericField no longer exists in Hibernate Search 6.. Numeric types are + indexed as numeric values by default, so this annotation can simply be removed.' + ruleID: hibernate-search-00850 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.NumericField + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.NumericFields +- category: mandatory + customVariables: [] + description: |- + Annotation @ProvidedId is no longer available + `@ProvidedId` was deprecated in Hibernate Search 5. It no longer exists in Hibernate Search 6. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: [] + message: '`@ProvidedId` was deprecated in Hibernate Search 5. It no longer exists + in Hibernate Search 6.' + ruleID: hibernate-search-00860 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.ProvidedId +- category: mandatory + customVariables: [] + description: |- + Annotation @SortableField(s) not available anymore + @SortableField(s) no longer exists in Hibernate Search 6. Instead, use @*Field.sortable. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @SortableField(s)' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#sortablefield + message: '@SortableField(s) no longer exists in Hibernate Search 6. Instead, use + @*Field.sortable.' + ruleID: hibernate-search-00870 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.SortableField + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.SortableFields +- category: mandatory + customVariables: [] + description: |- + Annotation @Spatial(s) not available anymore + @Spatial has no direct equivalent in Hibernate Search 6.. Check link for a quick reference of how to convert a @Spatial annotation to Hibernate Search 6. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @Spatial' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#spatial + message: '@Spatial has no direct equivalent in Hibernate Search 6.. Check link for + a quick reference of how to convert a @Spatial annotation to Hibernate Search + 6.' + ruleID: hibernate-search-00880 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Spatial + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Spatials +- category: mandatory + customVariables: [] + description: |- + Annotation @TikaBridge is no longer available + @TikaBridge has no equivalent in Hibernate Search 6 yet. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @TikaBridge' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#tikabridge + message: '@TikaBridge has no equivalent in Hibernate Search 6 yet.' + ruleID: hibernate-search-00890 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.TikaBridge +- category: mandatory + customVariables: [] + description: |- + Annotation @AnalyzerDef(s) not available anymore + Annotation-based analyzer definitions are no longer supported.. See links for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @TokenFilterDef' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#tokenfilterdef + - title: 'Hibernate Search 5 to 6 Migration: @TokenizerDef' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#tokenizerdef + message: Annotation-based analyzer definitions are no longer supported.. See links + for more information. + ruleID: hibernate-search-00900 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.TokenFilterDef + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.TokenizerDef +- category: mandatory + customVariables: [] + description: |- + FullTextEntityManager and FullTextSession removed + The equivalent to Hibernate Search 5’s `FullTextEntityManager/FullTextSession` is Hibernate Search 6’s `SearchSession`. Check link for guide. to switch implementation to `SearchSession`. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: FullTextEntityManager/FullTextSession' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#fulltextsession + message: The equivalent to Hibernate Search 5’s `FullTextEntityManager/FullTextSession` + is Hibernate Search 6’s `SearchSession`. Check link for guide. to switch implementation + to `SearchSession`. + ruleID: hibernate-search-00910 + when: + or: + - java.referenced: + pattern: org.hibernate.search.jpa.FullTextEntityManager + - java.referenced: + pattern: org.hibernate.search.FullTextSession +- category: mandatory + customVariables: [] + description: |- + Full text queries now done via SDL - FullTextQueries have changed + Search APIs have changed significantly in order to implement several improvements. The recommended way to build search. queries in Hibernate Search 6 is through the Hibernate Search DSL. See link for a thorough explanation and examples. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: FullTextQuery' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#searching-fulltextquery + message: Search APIs have changed significantly in order to implement several improvements. + The recommended way to build search. queries in Hibernate Search 6 is through + the Hibernate Search DSL. See link for a thorough explanation and examples. + ruleID: hibernate-search-00920 + when: + or: + - java.referenced: + pattern: org.hibernate.search.FullTextQuery + - java.referenced: + pattern: org.hibernate.search.jpa.FullTextQuery +- category: mandatory + customVariables: [] + description: |- + Full text queries now done via SDL - Lucene queries replaced with search predicates + Lucene queries are replaced with Lucene-independent "search predicates" in Hibernate Search 6. See link for guide and examples. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: org.apache.lucene.search.Query -> SearchPredicate' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#queries + message: Lucene queries are replaced with Lucene-independent "search predicates" + in Hibernate Search 6. See link for guide and examples. + ruleID: hibernate-search-00930 + when: + java.referenced: + pattern: org.apache.lucene.search.Query +- category: mandatory + customVariables: [] + description: |- + Full text queries now done via DSL - Sort fields replaced with search sorts + Lucene sort fields are replaced with Lucene-independent "search sorts" in Hibernate Search 6. Follow the link for more info and examples. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: org.apache.lucene.search.Sort/SortField + -> SearchSort' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#sorts + message: Lucene sort fields are replaced with Lucene-independent "search sorts" + in Hibernate Search 6. Follow the link for more info and examples. + ruleID: hibernate-search-00940 + when: + or: + - java.referenced: + pattern: org.apache.lucene.search.Sort + - java.referenced: + pattern: org.apache.lucene.search.SortField +- category: mandatory + customVariables: [] + description: |- + ProjectionConstants no longer available + The `ProjectionConstants` are no longer available, and Hibernate Search 6's DSL must be used instead to build `SearchProjection` objects. Follow link for more information and examples. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Projections' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#projections + message: The `ProjectionConstants` are no longer available, and Hibernate Search + 6's DSL must be used instead to build `SearchProjection` objects. Follow link + for more information and examples. + ruleID: hibernate-search-00950 + when: + or: + - java.referenced: + pattern: org.hibernate.search.engine.ProjectionConstants + - java.referenced: + pattern: org.hibernate.search.elasticsearch.ElasticsearchProjectionConstants +- category: mandatory + customVariables: [] + description: |- + Full text queries now done via SDL - Facets now called aggregations + Facets are now called aggregations, which are a generalization of the concept of faceting. See link for more information and examples. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Facets' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#searching-facet + message: Facets are now called aggregations, which are a generalization of the concept + of faceting. See link for more information and examples. + ruleID: hibernate-search-00960 + when: + or: + - java.referenced: + pattern: org.hibernate.search*Facet* + - java.referenced: + pattern: org.hibernate.search*facet* +- category: mandatory + customVariables: [] + description: |- + ErrorHandler API no longer available + The ErrorHandler interface and API have been replaced with the `FailureHandler` interface, and the related configuration properties changed. See link for more information and examples. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: ErrorHandler' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#error-handler + message: The ErrorHandler interface and API have been replaced with the `FailureHandler` + interface, and the related configuration properties changed. See link for more + information and examples. + ruleID: hibernate-search-00970 + when: + or: + - java.referenced: + pattern: org.hibernate.search*ErrorHandl* + - java.referenced: + pattern: org.hibernate.search*errorhandl* +- category: mandatory + customVariables: [] + description: |- + The @Factory annotation is not available anymore + The @Factory annotation does not exist in Hibernate Search 6 anymore. It is encouraged instead to rely on a proper dependency injection framework if such a feature is needed.. This can be done by referencing the bean name instead of referencing the bean class in your Hibernate Search mapping/configuration. See link for more information. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: @Factory' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#factory + message: The @Factory annotation does not exist in Hibernate Search 6 anymore. It + is encouraged instead to rely on a proper dependency injection framework if such + a feature is needed.. This can be done by referencing the bean name instead of + referencing the bean class in your Hibernate Search mapping/configuration. See + link for more information. + ruleID: hibernate-search-00980 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.search.annotations.Factory +- category: mandatory + customVariables: [] + description: |- + org.hibernate.search.exception.SearchException has been moved + `org.hibernate.search.exception.SearchException` has been moved to `org.hibernate.search.util.common.SearchException`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: SearchException' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#searchexception + message: '`org.hibernate.search.exception.SearchException` has been moved to `org.hibernate.search.util.common.SearchException`.' + ruleID: hibernate-search-00990 + when: + java.referenced: + pattern: org.hibernate.search.exception.SearchException +- category: mandatory + customVariables: [] + description: |- + Sharding has changed in Hibernate Search 6 + Static sharding is still available in Hibernate Search 6, but it works differently, so the Hibernate Search 5 APIs are no longer available.. To implement static sharding in Hibernate Search 6, refer to the link. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6 Reference - Sharding and routing + url: https://docs.jboss.org/hibernate/search/6.0/reference/en-US/html_single/#concepts-sharding-routing + message: Static sharding is still available in Hibernate Search 6, but it works + differently, so the Hibernate Search 5 APIs are no longer available.. To implement + static sharding in Hibernate Search 6, refer to the link. + ruleID: hibernate-search-01000 + when: + or: + - java.referenced: + pattern: org.hibernate.search.store.IndexShardingStrategy + - java.referenced: + pattern: org.hibernate.search.store.ShardIdentifierProvider + - java.referenced: + pattern: org.hibernate.search.store.ShardIdentifierProviderTemplate +- category: mandatory + customVariables: [] + description: |- + SearchFactory is no longer available + The equivalent to Hibernate Search 5’s SearchFactory is Hibernate Search 6’s SearchMapping, but some operations are more conveniently accessible directly from SearchSession.. Check the link for more information and examples. + effort: 3 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6 Reference - SearchFactory + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#_searchfactory + message: The equivalent to Hibernate Search 5’s SearchFactory is Hibernate Search + 6’s SearchMapping, but some operations are more conveniently accessible directly + from SearchSession.. Check the link for more information and examples. + ruleID: hibernate-search-01010 + when: + java.referenced: + pattern: org.hibernate.search*SearchFactory +- category: mandatory + customVariables: [] + description: |- + MassIndexer has moved + The MassIndexer mostly stays the same in Hibernate Search 6, but it moved to a different package: `org.hibernate.search.mapper.orm.massindexing.MassIndexer`.. There are some other changes that can be checked by following the link. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6 Reference - MassIndexer + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#massindexer + message: 'The MassIndexer mostly stays the same in Hibernate Search 6, but it moved + to a different package: `org.hibernate.search.mapper.orm.massindexing.MassIndexer`.. + There are some other changes that can be checked by following the link.' + ruleID: hibernate-search-01020 + when: + java.referenced: + pattern: org.hibernate.search.MassIndexer +- category: mandatory + customVariables: [] + description: |- + MassIndexer has moved + The mass indexing Batch (JSR-352) job mostly stays the same in Hibernate Search 6, but `MassIndexingJob` moved to a different package: `org.hibernate.search.batch.jsr352.core.massindexing.MassIndexingJob`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: Hibernate Search 6 Reference - MassIndexingJob + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#jsr352 + message: 'The mass indexing Batch (JSR-352) job mostly stays the same in Hibernate + Search 6, but `MassIndexingJob` moved to a different package: `org.hibernate.search.batch.jsr352.core.massindexing.MassIndexingJob`.' + ruleID: hibernate-search-01030 + when: + java.referenced: + pattern: org.hibernate.search.jsr352.massindexing.MassIndexingJob +- category: mandatory + customVariables: [] + description: |- + Dependency must be migrated from Hibernate Search 5 to 6 + Hibernate Search 6 uses the groupId `org.hibernate.search` and all dependencies must be updated + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/target=hibernate6 + - konveyor.io/source + - hibernate + - eap8 + links: + - title: 'Hibernate Search 5 to 6 Migration: Maven coordinates' + url: https://docs.jboss.org/hibernate/search/6.0/migration/html_single/#maven-coordinates + message: Hibernate Search 6 uses the groupId `org.hibernate.search` and all dependencies + must be updated + ruleID: hibernate-search-01040 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + nameregex: org\.hibernate\.hibernate-search.* + - java.dependency: + lowerbound: 0.0.0 + nameregex: org\.hibernate\.hibernate-search.* diff --git a/resources/rulesets/eap8/112-hibernate6.windup.yaml b/resources/rulesets/eap8/112-hibernate6.windup.yaml new file mode 100644 index 0000000..87e73ff --- /dev/null +++ b/resources/rulesets/eap8/112-hibernate6.windup.yaml @@ -0,0 +1,741 @@ +- category: potential + customVariables: [] + description: |- + Implicit name determination for sequences and tables associated with identifier generation has changed + The way in which Hibernate determines implicit names for sequences and tables associated with identifier generation has changed in 6.0 which may affect migrating applications.. As of 6.0, Hibernate by default creates a sequence per entity hierarchy instead of a single sequence hibernate_sequence.. Due to this change, users that previously used `@GeneratedValue(strategy = GenerationStrategy.AUTO)` or simply `@GeneratedValue` (since `AUTO` is the default), need to ensure that the database now contains sequences for every entity, named `_seq`. For an entity Person, a sequence person_seq is expected to exist.. It’s best to run hbm2ddl (e.g. by temporarily setting `hbm2ddl.auto=create`) to obtain a list of DDL statements for the sequences. + effort: 3 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Implicit Identifier Sequence and Table + Name + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#implicit-identifier-sequence-and-table-name + message: The way in which Hibernate determines implicit names for sequences and + tables associated with identifier generation has changed in 6.0 which may affect + migrating applications.. As of 6.0, Hibernate by default creates a sequence per + entity hierarchy instead of a single sequence hibernate_sequence.. Due to this + change, users that previously used `@GeneratedValue(strategy = GenerationStrategy.AUTO)` + or simply `@GeneratedValue` (since `AUTO` is the default), need to ensure that + the database now contains sequences for every entity, named `_seq`. + For an entity Person, a sequence person_seq is expected to exist.. It’s best to + run hbm2ddl (e.g. by temporarily setting `hbm2ddl.auto=create`) to obtain a list + of DDL statements for the sequences. + ruleID: hibernate-00005 + when: + java.referenced: + location: ANNOTATION + pattern: javax.persistence.GeneratedValue +- category: mandatory + customVariables: + - name: annotation + nameOfCaptureGroup: annotation + pattern: org.hibernate.annotations.(?P(AnyMetaDef|AnyMetaDefs|TypeDef|TypeDefs))? + description: |- + String-based approaches for specifying Types to use have been removed + As part of the Hibernate ORM 6.0 release, mapping annotations have been modernised and made more type-safe. These annotations must be removed. See the User Guide for details about mapping your domain model. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Type System + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#type-system + - title: Hibernate ORM 6 user guide - Domain model + url: https://docs.jboss.org/hibernate/orm/6.0/userguide/html_single/Hibernate_User_Guide.html#domain-model + message: As part of the Hibernate ORM 6.0 release, mapping annotations have been + modernised and made more type-safe. These annotations must be removed. See the + User Guide for details about mapping your domain model. + ruleID: hibernate-00010 + when: + java.referenced: + pattern: org.hibernate.annotations.(AnyMetaDef|AnyMetaDefs|TypeDef|TypeDefs) +- category: mandatory + customVariables: + - name: annotation + nameOfCaptureGroup: annotation + pattern: org.hibernate.annotations.(?P(CollectionType|ParamDef|Type))? + description: |- + String-based approaches for specifying Types to use have been removed + As part of the Hibernate ORM 6.0 release, mapping annotations have been modernised and made more type-safe. Annotation attributes accepting types as String have been removed. See the User Guide for details about mapping your domain model. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Type System + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#type-system + - title: Hibernate ORM 6 user guide - Domain model + url: https://docs.jboss.org/hibernate/orm/6.0/userguide/html_single/Hibernate_User_Guide.html#domain-model + message: As part of the Hibernate ORM 6.0 release, mapping annotations have been + modernised and made more type-safe. Annotation attributes accepting types as String + have been removed. See the User Guide for details about mapping your domain model. + ruleID: hibernate6-00020 + when: + java.referenced: + location: ANNOTATION + pattern: org.hibernate.annotations.(CollectionType|ParamDef|Type) +- category: mandatory + customVariables: [] + description: |- + Basic mappings are no longer configurable through the BasicType contract + Basic mappings are no longer configurable through the BasicType contract. Instead, users configure the different aspects of mapping the basic value to the database. See migration guide for more details. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Type System + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#basic-types + message: Basic mappings are no longer configurable through the BasicType contract. + Instead, users configure the different aspects of mapping the basic value to the + database. See migration guide for more details. + ruleID: hibernate6-00030 + when: + java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.hibernate.type.BasicType +- category: mandatory + customVariables: [] + description: |- + StandardBasicTypes class now exposes fields of type BasicTypeReference + The `StandardBasicTypes` class previously exposed `BasicType` instance fields, which now have been replaced with fields of the type `BasicTypeReference`. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Basic Types + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#basic-types + message: The `StandardBasicTypes` class previously exposed `BasicType` instance + fields, which now have been replaced with fields of the type `BasicTypeReference`. + ruleID: hibernate6-00040 + when: + java.referenced: + pattern: org.hibernate.type.StandardBasicTypes +- category: mandatory + customVariables: [] + description: |- + Renaming of JavaTypeDescriptor contract + The interface `org.hibernate.type.descriptor.java.JavaTypeDescriptor` must be renamed to `org.hibernate.type.descriptor.java.JavaType`. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Type System + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#renaming-of-javatypedescriptor-contract + message: The interface `org.hibernate.type.descriptor.java.JavaTypeDescriptor` must + be renamed to `org.hibernate.type.descriptor.java.JavaType`. + ruleID: hibernate6-00050 + when: + java.referenced: + pattern: org.hibernate.type.descriptor.java.JavaTypeDescriptor +- category: mandatory + customVariables: [] + description: |- + Renaming of SqlTypeDescriptor contract + The interface `org.hibernate.type.descriptor.sql.SqlTypeDescriptor` has been renamed to `org.hibernate.type.descriptor.jdbc.JdbcType`. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Type System + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#renaming-of-sqltypedescriptor-contract + message: The interface `org.hibernate.type.descriptor.sql.SqlTypeDescriptor` has + been renamed to `org.hibernate.type.descriptor.jdbc.JdbcType`. + ruleID: hibernate6-00060 + when: + java.referenced: + pattern: org.hibernate.type.descriptor.sql.SqlTypeDescriptor +- category: mandatory + customVariables: [] + description: |- + The CompositeUserType interface has been reimplemented + The CompositeUserType interface was re-implemented to be able to model user types as proper embeddable types. See the migration guide for more information. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - CompositeUserType + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#compositeusertype-changes + message: The CompositeUserType interface was re-implemented to be able to model + user types as proper embeddable types. See the migration guide for more information. + ruleID: hibernate6-00070 + when: + java.referenced: + pattern: org.hibernate.usertype.CompositeUserType +- category: mandatory + customVariables: [] + description: |- + Property hibernate.hql.bulk_id_strategy has changed + The configuration property `hibernate.hql.bulk_id_strategy` was changed to `hibernate.query.mutation_strategy` which now refers to classes or objects implementing `org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy`. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Multi-table Mutation Queries + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#multi-table-mutation-queries + message: The configuration property `hibernate.hql.bulk_id_strategy` was changed + to `hibernate.query.mutation_strategy` which now refers to classes or objects + implementing `org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy`. + ruleID: hibernate6-00080 + when: + builtin.filecontent: + pattern: hibernate.hql.bulk_id_strategy +- category: mandatory + customVariables: [] + description: |- + Stream#close() must be called explicitly to close the underlying resources + `jakarta.persistence.Query#getResultStream()` and `org.hibernate.query.Query#stream()` no longer return a Stream decorator. In order to close the underlying IO resources, it is now necessary to explicitly call the `Stream#close()` method.. This change makes the Streams returned by Hibernate behave as defined in the JDK Stream documentation, which is quite explicit about the need for an explicit call to close by the user to avoid resource leakages. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Stream + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#stream + message: '`jakarta.persistence.Query#getResultStream()` and `org.hibernate.query.Query#stream()` + no longer return a Stream decorator. In order to close the underlying IO resources, + it is now necessary to explicitly call the `Stream#close()` method.. This change + makes the Streams returned by Hibernate behave as defined in the JDK Stream documentation, + which is quite explicit about the need for an explicit call to close by the user + to avoid resource leakages.' + ruleID: hibernate6-00090 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: jakarta.persistence.Query.getResultStream* + - java.referenced: + location: METHOD_CALL + pattern: org.hibernate.query.Query.stream* +- category: mandatory + customVariables: [] + description: |- + The signature of the Interceptor#onSave method has been changed + The signature of the `Interceptor#onSave` method has been changed to account for the general change in expected identifier type from `Serializable` to `Object`. See migration guide for more information. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Interceptor + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#interceptor + message: The signature of the `Interceptor#onSave` method has been changed to account + for the general change in expected identifier type from `Serializable` to `Object`. + See migration guide for more information. + ruleID: hibernate6-00100 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.Interceptor.onSave* +- category: mandatory + customVariables: [] + description: |- + The contents of the loader.collection package have been restructured + The contents of the `loader.collection` package were restructured into `loader.ast.spi` and `loader.ast.internal` as well as adapted to the SQM API. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Restructuring of org.hibernate.loader + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#restructuring-of-orghibernateloader + message: The contents of the `loader.collection` package were restructured into + `loader.ast.spi` and `loader.ast.internal` as well as adapted to the SQM API. + ruleID: hibernate6-00110 + when: + java.referenced: + location: IMPORT + pattern: org.hibernate.loader.collection* +- category: mandatory + customVariables: [] + description: |- + The contents of the loader.custom package have been moved + The contents of the `loader.custom` package were adapted and moved to `query.sql`. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Restructuring of org.hibernate.loader + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#restructuring-of-orghibernateloader + message: The contents of the `loader.custom` package were adapted and moved to `query.sql`. + ruleID: hibernate6-00120 + when: + java.referenced: + location: IMPORT + pattern: org.hibernate.loader.custom* +- category: mandatory + customVariables: [] + description: |- + The contents of the loader.entity and loader.plan packages have been removed + The contents of `loader.entity` and `loader.plan` were removed + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Restructuring of org.hibernate.loader + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#restructuring-of-orghibernateloader + message: The contents of `loader.entity` and `loader.plan` were removed + ruleID: hibernate6-00130 + when: + or: + - java.referenced: + location: IMPORT + pattern: org.hibernate.loader.entity* + - java.referenced: + location: IMPORT + pattern: org.hibernate.loader.plan* +- category: mandatory + customVariables: [] + description: |- + The contents of sql.ordering have moved + The contents of `sql.ordering` were adapted and moved to `metamodel.mapping.ordering.ast`. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Restructuring of the SQL package + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#restructuring-of-the-sql-package + message: The contents of `sql.ordering` were adapted and moved to `metamodel.mapping.ordering.ast`. + ruleID: hibernate6-00140 + when: + java.referenced: + location: IMPORT + pattern: org.hibernate.sql.ordering* +- category: mandatory + customVariables: + - name: class-name + nameOfCaptureGroup: class-name + pattern: org.hibernate.sql.(?P(ANSICaseFragment|ANSIJoinFragment|CacheJoinFragment|CaseFragment|ConditionFragment|DecodeCaseFragment|DerbyCaseFragment|DisjunctionFragment|HSQLCaseFragment|InsertSelect|JoinFragment|JoinType|MckoiCaseFragment|OracleJoinFragment|QueryJoinFragment|QuerySelect|Select|SelectExpression|SelectFragment|SelectValues|Sybase11JoinFragment))? + description: |- + Some classes of the sql package that were previously used for building SQL were removed + Classes of the sql package that were previously used for building SQL, but aren’t needed anymore, were removed. The SQL generation is now fully handled through the `SqlAstTranslator` which a `Dialect` exposes a factory for. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Restructuring of the SQL package + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#restructuring-of-the-sql-package + message: Classes of the sql package that were previously used for building SQL, + but aren’t needed anymore, were removed. The SQL generation is now fully handled + through the `SqlAstTranslator` which a `Dialect` exposes a factory for. + ruleID: hibernate6-00150 + when: + java.referenced: + pattern: org.hibernate.sql.(ANSICaseFragment|ANSIJoinFragment|CacheJoinFragment|CaseFragment|ConditionFragment|DecodeCaseFragment|DerbyCaseFragment|DisjunctionFragment|HSQLCaseFragment|InsertSelect|JoinFragment|JoinType|MckoiCaseFragment|OracleJoinFragment|QueryJoinFragment|QuerySelect|Select|SelectExpression|SelectFragment|SelectValues|Sybase11JoinFragment) +- category: mandatory + customVariables: [] + description: |- + Support for basic property mappings with multiple columns was removed + In Hibernate 6.0 the support for basic property mappings with multiple columns was removed. The only use case for that was when a `CompositeUserType` was in use, which was reworked to now work on top of components. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - hbm.xml multiple now disallowed + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#hbmxml-multiple-column-now-disallowed + message: In Hibernate 6.0 the support for basic property mappings with multiple + columns was removed. The only use case for that was when a `CompositeUserType` + was in use, which was reworked to now work on top of components. + ruleID: hibernate6-00160 + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*\.hbm\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: + h: http://www.hibernate.org/xsd/hibernate-mapping + xpath: //*/h:property[count(h:column) > 1] +- category: mandatory + customVariables: [] + description: |- + Legacy Hibernate Criteria API has been removed + The legacy Hibernate Criteria API which was deprecated back in Hibernate 5.x and removed in 6.0. Usually, all queries using the legacy API can be modeled with the JPA Criteria API. In some cases it is necessary to use the Hibernate JPA Criteria extensions. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Legacy hibernate criteria API + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#legacy-hibernate-criteria-api + message: The legacy Hibernate Criteria API which was deprecated back in Hibernate + 5.x and removed in 6.0. Usually, all queries using the legacy API can be modeled + with the JPA Criteria API. In some cases it is necessary to use the Hibernate + JPA Criteria extensions. + ruleID: hibernate6-00170 + when: + java.referenced: + location: IMPORT + pattern: org.hibernate.criterion* +- category: mandatory + customVariables: [] + description: |- + The Query#iterate() method has been removed + The Query#iterate() method has been removed. See link for alternatives. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Iterate + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#iterate + message: The Query#iterate() method has been removed. See link for alternatives. + ruleID: hibernate6-00180 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.query.Query.iterate* +- category: mandatory + customVariables: [] + description: |- + Using NativeQuery to call SQL functions and procedures is no longer supported + Using `NativeQuery` to call SQL functions and procedures is no longer supported. `org.hibernate.procedure.ProcedureCall` or `jakarta.persistence.StoredProcedureQuery` should be used instead. `@NamedNativeQuery` references defining execution of procedure or functions should be migrated to use `@NamedStoredProcedureQuery` instead. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Callable via NativeQuery + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#callable-via-nativequery + message: Using `NativeQuery` to call SQL functions and procedures is no longer supported. + `org.hibernate.procedure.ProcedureCall` or `jakarta.persistence.StoredProcedureQuery` + should be used instead. `@NamedNativeQuery` references defining execution of procedure + or functions should be migrated to use `@NamedStoredProcedureQuery` instead. + ruleID: hibernate6-00190 + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.hibernate.annotations.NamedNativeQuery + - as: xmlfiles + builtin.file: + pattern: .*\.hbm\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: + h: http://www.hibernate.org/xsd/hibernate-mapping + xpath: //*/h:sql-query[@callable = 'true'] +- category: mandatory + customVariables: [] + description: |- + Using NativeQuery to call SQL functions and procedures is no longer supported + The fetch all properties clause was removed from the HQL language without a replacement. See link for replacement info. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - HQL fetch all properties clause + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#hql-fetch-all-properties-clause + message: The fetch all properties clause was removed from the HQL language without + a replacement. See link for replacement info. + ruleID: hibernate6-00200 + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*\.hbm\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: //text()[contains(., 'fetch all properties')] +- category: mandatory + customVariables: [] + description: |- + Hibernate no longer provides built-in support for integrating itself with JMX environments + Hibernate no longer provides built-in support for integrating itself with JMX environments. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - JMX integration + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#jmx-integration + message: Hibernate no longer provides built-in support for integrating itself with + JMX environments. + ruleID: hibernate6-00210 + when: + java.referenced: + pattern: org.hibernate.jmx* +- category: mandatory + customVariables: [] + description: |- + Hibernate no longer provides built-in support for integrating itself with JACC environments + Hibernate no longer provides built-in support for integrating itself with JACC environments. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - JACC integration + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#jacc-integration + message: Hibernate no longer provides built-in support for integrating itself with + JACC environments. + ruleID: hibernate6-00220 + when: + java.referenced: + pattern: org.hibernate*Jacc* +- category: mandatory + customVariables: [] + description: |- + Removed hibernate classloader properties + These properties are deprecated: use `hibernate.classLoaders` instead. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Previously deprecated features + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#previously-deprecated-features + message: 'These properties are deprecated: use `hibernate.classLoaders` instead.' + ruleID: hibernate6-00230 + when: + builtin.filecontent: + pattern: hibernate.classLoader.(application|resources|hibernate|environment) +- category: mandatory + customVariables: [] + description: |- + Removed hibernate properties + This property has been removed: use `jakarta.persistence.create-database-schemas` or `hibernate.hbm2ddl.create_namespaces` instead + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Previously deprecated features + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#previously-deprecated-features + message: 'This property has been removed: use `jakarta.persistence.create-database-schemas` + or `hibernate.hbm2ddl.create_namespaces` instead' + ruleID: hibernate6-00240 + when: + builtin.filecontent: + pattern: hibernate.hbm2dll.create_namespaces +- category: mandatory + customVariables: [] + description: |- + Renamed hibernate property hibernate.ejb.metamodel.population + This property has been removed: please use `hibernate.jpa.metamodel.population` instead + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Configuration property renames + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#configuration-property-renames + message: 'This property has been removed: please use `hibernate.jpa.metamodel.population` + instead' + ruleID: hibernate6-00250 + when: + builtin.filecontent: + pattern: hibernate.ejb.metamodel.population +- category: mandatory + customVariables: [] + description: |- + Renamed hibernate property hibernate.ejb.cfgfile + This property has been removed: please use `hibernate.cfg_xml_file` instead + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Configuration property renames + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#configuration-property-renames + message: 'This property has been removed: please use `hibernate.cfg_xml_file` instead' + ruleID: hibernate6-00251 + when: + builtin.filecontent: + pattern: hibernate.ejb.cfgfile +- category: mandatory + customVariables: [] + description: |- + Renamed hibernate property hibernate.ejb.xml_files + This property has been removed: please use `hibernate.orm_xml_files` instead + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Configuration property renames + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#configuration-property-renames + message: 'This property has been removed: please use `hibernate.orm_xml_files` instead' + ruleID: hibernate6-00252 + when: + builtin.filecontent: + pattern: hibernate.ejb.xml_files +- category: mandatory + customVariables: [] + description: |- + Renamed hibernate property hibernate.hbmxml.files + This property has been removed: please use `hibernate.hbm_xml_files` instead + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Configuration property renames + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#configuration-property-renames + message: 'This property has been removed: please use `hibernate.hbm_xml_files` instead' + ruleID: hibernate6-00253 + when: + builtin.filecontent: + pattern: hibernate.hbmxml.files +- category: mandatory + customVariables: [] + description: |- + Renamed hibernate property hibernate.ejb.loaded.classes + This property has been removed: please use `hibernate.loaded_classes` instead + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Configuration property renames + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#configuration-property-renames + message: 'This property has been removed: please use `hibernate.loaded_classes` + instead' + ruleID: hibernate6-00254 + when: + builtin.filecontent: + pattern: hibernate.ejb.loaded.classes +- category: mandatory + customVariables: [] + description: | + Renamed hibernate property hibernate.ejb.{property} + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Configuration property renames + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#configuration-property-renames + message: 'This property has been removed: please use `hibernate.{{property}}` instead' + ruleID: hibernate6-00255 + when: + builtin.filecontent: + pattern: hibernate.ejb.(persistenceUnitName|discard_pc_on_close|session_factory_observer|identifier_generator_strategy_provider|classcache|collectioncache|event) +- category: mandatory + customVariables: [] + description: |- + Renamed hibernate property hibernate.ejb.entitymanager_factory_name + This property has been removed: please use `hibernate.session_factory_name` instead + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Configuration property renames + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#configuration-property-renames + message: 'This property has been removed: please use `hibernate.session_factory_name` + instead' + ruleID: hibernate6-00257 + when: + builtin.filecontent: + pattern: hibernate.ejb.entitymanager_factory_name +- category: potential + customVariables: [] + description: |- + Community dialects moved to a separate module + As of Hibernate 6.0, some dialect classes that are maintained by vendors or individuals, as opposed to the Hibernate team, have been moved to a separate Maven artifact: `org.hibernate.orm:hibernate-community-dialects`.. Note that the new artifact is not included in the EAP 8 distribution and will have to be added manually. + effort: 1 + labels: + - konveyor.io/target=hibernate6 + - konveyor.io/target=eap8 + - konveyor.io/source + - hibernate + links: + - title: Hibernate ORM 6 migration guide - Community dialects + url: https://github.com/hibernate/hibernate-orm/blob/6.0/migration-guide.adoc#community-dialects-moved-to-a-separate-module + message: 'As of Hibernate 6.0, some dialect classes that are maintained by vendors + or individuals, as opposed to the Hibernate team, have been moved to a separate + Maven artifact: `org.hibernate.orm:hibernate-community-dialects`.. Note that the + new artifact is not included in the EAP 8 distribution and will have to be added + manually.' + ruleID: hibernate6-00270 + when: + or: + - builtin.filecontent: + pattern: hibernate.dialect + - builtin.filecontent: + pattern: quarkus.hibernate-orm.dialect diff --git a/resources/rulesets/eap8/113-jakarta-cdi.windup.yaml b/resources/rulesets/eap8/113-jakarta-cdi.windup.yaml new file mode 100644 index 0000000..0b62c51 --- /dev/null +++ b/resources/rulesets/eap8/113-jakarta-cdi.windup.yaml @@ -0,0 +1,84 @@ +- category: mandatory + customVariables: [] + description: |- + Method javax.enterprise.inject.spi.Bean.isNullable() has been removed + Replace this method call with `false` (which is the value that CDI implementations have returned for many years now). + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - JakartaEE + - eap8 + links: [] + message: Replace this method call with `false` (which is the value that CDI implementations + have returned for many years now). + ruleID: jakarta-cdi-00001 + when: + java.referenced: + location: METHOD_CALL + pattern: javax.enterprise.inject.spi.Bean.isNullable() +- category: mandatory + customVariables: [] + description: |- + Method jakarta.enterprise.inject.spi.BeanManager.createInjectionTarget(AnnotatedType) has been removed. + Replace this method call with with BeanManager.getInjectionTargetFactory(AnnotatedType) and use the returned factory to create injection targets. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - JakartaEE + - eap8 + links: + - title: Obtaining an InjectionTarget for a class + url: https://jakarta.ee/specifications/cdi/3.0/jakarta-cdi-spec-3.0.html#bm_obtain_injectiontarget + message: Replace this method call with with BeanManager.getInjectionTargetFactory(AnnotatedType) + and use the returned factory to create injection targets. + ruleID: jakarta-cdi-00002 + when: + java.referenced: + location: METHOD_CALL + pattern: jakarta.enterprise.inject.spi.BeanManager.createInjectionTarget* +- category: mandatory + customVariables: [] + description: |- + Method jakarta.enterprise.inject.spi.BeanManager.fireEvent(Object, Annotation) has been removed. + jakarta.enterprise.inject.spi.BeanManager.fireEvent(Object, Annotation) has been removed. Use BeanManager.getEvent() as an entry point to a similar API. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - JakartaEE + - eap8 + links: + - title: Firing an event + url: https://jakarta.ee/specifications/cdi/3.0/jakarta-cdi-spec-3.0.html#bm_fire_event + message: jakarta.enterprise.inject.spi.BeanManager.fireEvent(Object, Annotation) + has been removed. Use BeanManager.getEvent() as an entry point to a similar API. + ruleID: jakarta-cdi-00003 + when: + java.referenced: + location: METHOD_CALL + pattern: jakarta.enterprise.inject.spi.BeanManager.fireEvent* +- category: potential + customVariables: [] + description: |- + Method javax.enterprise.inject.spi.BeforeBeanDiscovery.addAnnotatedType(AnnotatedType) has been removed + If you application is calling method BeforeBeanDiscovery.addAnnotatedType(AnnotatedType) replace it with BeforeBeanDiscovery.addAnnotatedType(AnnotatedType, (String) null) + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - JakartaEE + - eap8 + links: [] + message: If you application is calling method BeforeBeanDiscovery.addAnnotatedType(AnnotatedType) + replace it with BeforeBeanDiscovery.addAnnotatedType(AnnotatedType, (String) null) + ruleID: jakarta-cdi-00004 + when: + java.referenced: + location: METHOD_CALL + pattern: javax.enterprise.inject.spi.BeforeBeanDiscovery.addAnnotatedType* diff --git a/resources/rulesets/eap8/114-jakarta-el.windup.yaml b/resources/rulesets/eap8/114-jakarta-el.windup.yaml new file mode 100644 index 0000000..5cd750b --- /dev/null +++ b/resources/rulesets/eap8/114-jakarta-el.windup.yaml @@ -0,0 +1,32 @@ +- category: mandatory + customVariables: [] + description: |- + The incorrectly spelled javax.el.MethodExpression.isParmetersProvided() method has been removed + The incorrectly spelled `javax.el.MethodExpression.isParmetersProvided()` method has been removed. Use `MethodExpression.isParametersProvided()` instead. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: The incorrectly spelled `javax.el.MethodExpression.isParmetersProvided()` + method has been removed. Use `MethodExpression.isParametersProvided()` instead. + ruleID: jakarta-el-00010 + when: + java.referenced: + pattern: javax.el.MethodExpression.isParmetersProvided* +- category: mandatory + customVariables: [] + description: |- + The incorrectly spelled jakarta.el.MethodExpression.isParmetersProvided() method has been removed + The incorrectly spelled `jakarta.el.MethodExpression.isParmetersProvided()` method has been removed. Use `MethodExpression.isParametersProvided()` instead. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: The incorrectly spelled `jakarta.el.MethodExpression.isParmetersProvided()` + method has been removed. Use `MethodExpression.isParametersProvided()` instead. + ruleID: jakarta-el-00020 + when: + java.referenced: + pattern: jakarta.el.MethodExpression.isParmetersProvided* diff --git a/resources/rulesets/eap8/115-jakarta-faces.windup.yaml b/resources/rulesets/eap8/115-jakarta-faces.windup.yaml new file mode 100644 index 0000000..d23fbd2 --- /dev/null +++ b/resources/rulesets/eap8/115-jakarta-faces.windup.yaml @@ -0,0 +1,25 @@ +- category: potential + customVariables: [] + description: |- + Producer for creating FacesContext must be removed + The `@Produces` annotation for instantiating `FacesContext` is not necessary anymore, as CDI injection for `FacesContext` works out of the box. + effort: 1 + labels: + - konveyor.io/source=eap6 + - konveyor.io/source=eap7 + - konveyor.io/target=eap8 + - JakartaEE + - eap8 + links: [] + message: The `@Produces` annotation for instantiating `FacesContext` is not necessary + anymore, as CDI injection for `FacesContext` works out of the box. + ruleID: jakarta-faces-00001 + when: + and: + - as: discard + java.referenced: + location: FIELD_DECLARATION + pattern: jakarta.faces.context.FacesContext + - java.referenced: + location: RETURN_TYPE + pattern: jakarta.faces.context.FacesContext diff --git a/resources/rulesets/eap8/116-jakarta-json-binding.windup.yaml b/resources/rulesets/eap8/116-jakarta-json-binding.windup.yaml new file mode 100644 index 0000000..4afecc5 --- /dev/null +++ b/resources/rulesets/eap8/116-jakarta-json-binding.windup.yaml @@ -0,0 +1,20 @@ +- category: potential + customVariables: [] + description: |- + Types annotated with the jakarta.json.bind.annotation.JsonbCreator annotation no longer require all parameters to be present + By default, types annotated with the `jakarta.json.bind.annotation.JsonbCreator` annotation no longer require all parameters to be present in the JSON content. Default values will be used if the JSON being parsed is missing one of the parameters.. The EE 8 behavior of requiring that all parameters be present in the JSON can be turned on by calling `jakarta.json.bind.JsonbConfig().withCreatorParametersRequired(true)`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: By default, types annotated with the `jakarta.json.bind.annotation.JsonbCreator` + annotation no longer require all parameters to be present in the JSON content. + Default values will be used if the JSON being parsed is missing one of the parameters.. + The EE 8 behavior of requiring that all parameters be present in the JSON can + be turned on by calling `jakarta.json.bind.JsonbConfig().withCreatorParametersRequired(true)`. + ruleID: jakarta-json-binding-00010 + when: + java.referenced: + location: ANNOTATION + pattern: jakarta.json.bind.annotation.JsonbCreator diff --git a/resources/rulesets/eap8/117-jakarta-soap.windup.yaml b/resources/rulesets/eap8/117-jakarta-soap.windup.yaml new file mode 100644 index 0000000..d6f024a --- /dev/null +++ b/resources/rulesets/eap8/117-jakarta-soap.windup.yaml @@ -0,0 +1,33 @@ +- category: mandatory + customVariables: [] + description: |- + javax.xml.soap.SOAPElementFactory.newInstance() must be replaced + `javax.xml.soap.SOAPElementFactory.newInstance()` must be replaced with `jakarta.xml.soap.SOAPFactory.newInstance()`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`javax.xml.soap.SOAPElementFactory.newInstance()` must be replaced with + `jakarta.xml.soap.SOAPFactory.newInstance()`.' + ruleID: jakarta-soap-00010 + when: + java.referenced: + pattern: javax.xml.soap.SOAPElementFactory.newInstance* +- category: mandatory + customVariables: [] + description: |- + javax.xml.soap.SOAPElementFactory.create() must be replaced + `javax.xml.soap.SOAPElementFactory.create()` must be replaced with `jakarta.xml.soap.SOAPFactory.createElement()`. If `javax.xml.soap.Name` is passed as a parameter, it must be replaced with `jakarta.xml.soap.Name`. + effort: 1 + labels: + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`javax.xml.soap.SOAPElementFactory.create()` must be replaced with `jakarta.xml.soap.SOAPFactory.createElement()`. + If `javax.xml.soap.Name` is passed as a parameter, it must be replaced with `jakarta.xml.soap.Name`.' + ruleID: jakarta-soap-00020 + when: + java.referenced: + location: METHOD_CALL + pattern: javax.xml.soap.SOAPElementFactory.create* diff --git a/resources/rulesets/eap8/118-jakarta-ws-rs.windup.yaml b/resources/rulesets/eap8/118-jakarta-ws-rs.windup.yaml new file mode 100644 index 0000000..2cebf46 --- /dev/null +++ b/resources/rulesets/eap8/118-jakarta-ws-rs.windup.yaml @@ -0,0 +1,21 @@ +- category: potential + customVariables: [] + description: |- + RESTful Web Services @Context annotation has been deprecated + Future versions of this API will no longer support `@Context` and related types such as `ContextResolver`. + effort: 0 + labels: + - konveyor.io/target=eap8 + - konveyor.io/source + - JakartaEE + - eap8 + links: + - title: Support for @Context Injection + url: https://jakarta.ee/specifications/restful-ws/3.1/jakarta-restful-ws-spec-3.1.html#context-injection + message: Future versions of this API will no longer support `@Context` and related + types such as `ContextResolver`. + ruleID: jakarta-ws-rs-00001 + when: + java.referenced: + location: ANNOTATION + pattern: jakarta.ws.rs.core.Context diff --git a/resources/rulesets/eap8/119-javaee-to-jakarta-namespaces.windup.yaml b/resources/rulesets/eap8/119-javaee-to-jakarta-namespaces.windup.yaml new file mode 100644 index 0000000..8bc5e9e --- /dev/null +++ b/resources/rulesets/eap8/119-javaee-to-jakarta-namespaces.windup.yaml @@ -0,0 +1,1203 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE namespace, schemaLocation and version with the Jakarta equivalent + Replace `http://xmlns.jcp.org/xml/ns/javaee` with `https://jakarta.ee/xml/ns/jakartaee` and change the schema version number + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#10 + message: Replace `http://xmlns.jcp.org/xml/ns/javaee` with `https://jakarta.ee/xml/ns/jakartaee` + and change the schema version number + ruleID: javaee-to-jakarta-namespaces-00001 + when: + builtin.filecontent: + pattern: http://xmlns.jcp.org/xml/ns/javaee +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE persistence namespace, schemaLocation and version with the Jakarta equivalent + Replace `http://xmlns.jcp.org/xml/ns/persistence` with `https://jakarta.ee/xml/ns/persistence` and change the schema version number + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta Persistence XML Schemas + url: https://jakarta.ee/xml/ns/persistence/#3 + message: Replace `http://xmlns.jcp.org/xml/ns/persistence` with `https://jakarta.ee/xml/ns/persistence` + and change the schema version number + ruleID: javaee-to-jakarta-namespaces-00002 + when: + builtin.filecontent: + pattern: http://xmlns.jcp.org/xml/ns/persistence +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE bean validation configuration namespace, schemaLocation and version with the Jakarta equivalent + Replace `http://xmlns.jcp.org/xml/ns/validation` with `https://jakarta.ee/xml/ns/validation` and change the schema version number + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta Bean Validation XML Schemas + url: https://jakarta.ee/xml/ns/validation/ + message: Replace `http://xmlns.jcp.org/xml/ns/validation` with `https://jakarta.ee/xml/ns/validation` + and change the schema version number + ruleID: javaee-to-jakarta-namespaces-00003 + when: + builtin.filecontent: + pattern: http://xmlns.jcp.org/xml/ns/validation +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `javaee_web_services_metadata_handler_2_0.xsd` with `jakartaee_web_services_metadata_handler_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `javaee_web_services_metadata_handler_2_0.xsd` with `jakartaee_web_services_metadata_handler_3_0.xsd` + and update the version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00004 + when: + builtin.filecontent: + pattern: javaee_web_services_metadata_handler_2_0.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `batchXML_1_0.xsd` with `batchXML_2_0.xsd` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `batchXML_1_0.xsd` with `batchXML_2_0.xsd` + ruleID: javaee-to-jakarta-namespaces-00005 + when: + builtin.filecontent: + pattern: batchXML_1_0.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `beans_1_1.xsd` with `beans_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `beans_1_1.xsd` with `beans_3_0.xsd` and update the version attribute + to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00006 + when: + builtin.filecontent: + pattern: beans_1_1.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `beans_2_0.xsd` with `beans_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `beans_2_0.xsd` with `beans_3_0.xsd` and update the version attribute + to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00007 + when: + builtin.filecontent: + pattern: beans_2_0.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `jobXML_1_0.xsd` with `jobXML_2_0.xsd` and update the version attribute to `"2.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `jobXML_1_0.xsd` with `jobXML_2_0.xsd` and update the version attribute + to `"2.0"` + ruleID: javaee-to-jakarta-namespaces-00008 + when: + builtin.filecontent: + pattern: jobXML_1_0.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `application_7.xsd` with `application_9.xsd` and update the version attribute to `"9"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `application_7.xsd` with `application_9.xsd` and update the version + attribute to `"9"` + ruleID: javaee-to-jakarta-namespaces-00009 + when: + builtin.filecontent: + pattern: application_7.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `application_8.xsd` with `application_9.xsd` and update the version attribute to `"9"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `application_8.xsd` with `application_9.xsd` and update the version + attribute to `"9"` + ruleID: javaee-to-jakarta-namespaces-00010 + when: + builtin.filecontent: + pattern: application_8.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `application-client_7.xsd` with `application-client_9.xsd` and update the version attribute to `"9"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `application-client_7.xsd` with `application-client_9.xsd` and + update the version attribute to `"9"` + ruleID: javaee-to-jakarta-namespaces-00011 + when: + builtin.filecontent: + pattern: application-client_7.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `application-client_8.xsd` with `application-client_9.xsd` and update the version attribute to `"9"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `application-client_8.xsd` with `application-client_9.xsd` and + update the version attribute to `"9"` + ruleID: javaee-to-jakarta-namespaces-00012 + when: + builtin.filecontent: + pattern: application-client_8.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `connector_1_7.xsd` with `connector_2_0.xsd` and update the version attribute to `"2.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `connector_1_7.xsd` with `connector_2_0.xsd` and update the version + attribute to `"2.0"` + ruleID: javaee-to-jakarta-namespaces-00013 + when: + builtin.filecontent: + pattern: connector_1_7.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `ejb-jar_3_2.xsd` with `ejb-jar_4_0.xsd` and update the version attribute to `"4.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `ejb-jar_3_2.xsd` with `ejb-jar_4_0.xsd` and update the version + attribute to `"4.0"` + ruleID: javaee-to-jakarta-namespaces-00014 + when: + builtin.filecontent: + pattern: ejb-jar_3_2.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `javaee_web_services_1_4.xsd` with `jakartaee_web_services_2_0.xsd` and update the version attribute to `"2.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `javaee_web_services_1_4.xsd` with `jakartaee_web_services_2_0.xsd` + and update the version attribute to `"2.0"` + ruleID: javaee-to-jakarta-namespaces-00015 + when: + builtin.filecontent: + pattern: javaee_web_services_1_4.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `permissions_7.xsd` with `permissions_9.xsd` and update the version attribute to `"9"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `permissions_7.xsd` with `permissions_9.xsd` and update the version + attribute to `"9"` + ruleID: javaee-to-jakarta-namespaces-00016 + when: + builtin.filecontent: + pattern: permissions_7.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-app_3_1.xsd` with `web-app_5_0.xsd` and update the version attribute to `"5.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-app_3_1.xsd` with `web-app_5_0.xsd` and update the version + attribute to `"5.0"` + ruleID: javaee-to-jakarta-namespaces-00017 + when: + builtin.filecontent: + pattern: web-app_3_1.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-app_4_0.xsd` with `web-app_5_0.xsd` and update the version attribute to `"5.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-app_4_0.xsd` with `web-app_5_0.xsd` and update the version + attribute to `"5.0"` + ruleID: javaee-to-jakarta-namespaces-00018 + when: + builtin.filecontent: + pattern: web-app_4_0.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-fragment_3_1.xsd` with `web-fragment_5_0.xsd` and update the version attribute to `"5.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-fragment_3_1.xsd` with `web-fragment_5_0.xsd` and update the + version attribute to `"5.0"` + ruleID: javaee-to-jakarta-namespaces-00019 + when: + builtin.filecontent: + pattern: web-fragment_3_1.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-fragment_4_0.xsd` with `web-fragment_5_0.xsd` and update the version attribute to `"5.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-fragment_4_0.xsd` with `web-fragment_5_0.xsd` and update the + version attribute to `"5.0"` + ruleID: javaee-to-jakarta-namespaces-00020 + when: + builtin.filecontent: + pattern: web-fragment_4_0.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-facesconfig_2_2.xsd` with `web-facesconfig_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-facesconfig_2_2.xsd` with `web-facesconfig_3_0.xsd` and update + the version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00021 + when: + builtin.filecontent: + pattern: web-facesconfig_2_2.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-facesconfig_2_3.xsd` with `web-facesconfig_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-facesconfig_2_3.xsd` with `web-facesconfig_3_0.xsd` and update + the version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00022 + when: + builtin.filecontent: + pattern: web-facesconfig_2_3.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-facelettaglibrary_2_2.xsd` with `web-facelettaglibrary_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-facelettaglibrary_2_2.xsd` with `web-facelettaglibrary_3_0.xsd` + and update the version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00023 + when: + builtin.filecontent: + pattern: web-facelettaglibrary_2_2.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-facelettaglibrary_2_3.xsd` with `web-facelettaglibrary_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-facelettaglibrary_2_3.xsd` with `web-facelettaglibrary_3_0.xsd` + and update the version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00024 + when: + builtin.filecontent: + pattern: web-facelettaglibrary_2_3.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-partialresponse_2_2.xsd` with `web-partialresponse_3_0.xsd` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-partialresponse_2_2.xsd` with `web-partialresponse_3_0.xsd` + ruleID: javaee-to-jakarta-namespaces-00025 + when: + builtin.filecontent: + pattern: web-partialresponse_2_2.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-partialresponse_2_3.xsd` with `web-partialresponse_3_0.xsd` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-partialresponse_2_3.xsd` with `web-partialresponse_3_0.xsd` + ruleID: javaee-to-jakarta-namespaces-00026 + when: + builtin.filecontent: + pattern: web-partialresponse_2_3.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `web-jsptaglibrary_2_1.xsd` with `web-jsptaglibrary_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `web-jsptaglibrary_2_1.xsd` with `web-jsptaglibrary_3_0.xsd` and + update the version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00027 + when: + builtin.filecontent: + pattern: web-jsptaglibrary_2_1.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `validation-mapping-2.0.xsd` with `validation-mapping-3.0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `validation-mapping-2.0.xsd` with `validation-mapping-3.0.xsd` + and update the version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00028 + when: + builtin.filecontent: + pattern: validation-mapping-2.0.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `validation-configuration-2.0.xsd` with `validation-configuration-3.0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `validation-configuration-2.0.xsd` with `validation-configuration-3.0.xsd` + and update the version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00029 + when: + builtin.filecontent: + pattern: validation-configuration-2.0.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `persistence_2_1.xsd` with `persistence_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `persistence_2_1.xsd` with `persistence_3_0.xsd` and update the + version attribute to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00030 + when: + builtin.filecontent: + pattern: persistence_2_1.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `orm_2_1.xsd` with `orm_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `orm_2_1.xsd` with `orm_3_0.xsd` and update the version attribute + to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00031 + when: + builtin.filecontent: + pattern: orm_2_1.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE XSD with the Jakarta equivalent + Replace `orm_2_2.xsd` with `orm_3_0.xsd` and update the version attribute to `"3.0"` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta XML Schemas + url: https://jakarta.ee/xml/ns/jakartaee/#9 + message: Replace `orm_2_2.xsd` with `orm_3_0.xsd` and update the version attribute + to `"3.0"` + ruleID: javaee-to-jakarta-namespaces-00032 + when: + builtin.filecontent: + pattern: orm_2_2.xsd +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + In the root tag, replace the `version` attribute value `2.1` with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: In the root tag, replace the `version` attribute value `2.1` with `3.0` + ruleID: javaee-to-jakarta-namespaces-00033 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.1("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/persistence + xpath: p:persistence[@version='2.1'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + In the root tag, replace the `version` attribute value `7` with `9` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: In the root tag, replace the `version` attribute value `7` with `9` + ruleID: javaee-to-jakarta-namespaces-00034 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')7("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:permissions[@version='7'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `beans_1_1.xsd`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`beans_1_1.xsd`: In the root tag, replace the `version` attribute value + with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00035 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')1.1("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:beans[@version='1.1'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `beans_2_0.xsd`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`beans_2_0.xsd`: In the root tag, replace the `version` attribute value + with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00036 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.0("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:beans[@version='2.0'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `application_7.xsd`: In the root tag, replace the `version` attribute value with `9` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`application_7.xsd`: In the root tag, replace the `version` attribute + value with `9`' + ruleID: javaee-to-jakarta-namespaces-00037 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')7("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:application[@version='7'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `application_8.xsd`: In the root tag, replace the `version` attribute value with `9` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`application_8.xsd`: In the root tag, replace the `version` attribute + value with `9`' + ruleID: javaee-to-jakarta-namespaces-00038 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')8("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:application[@version='8'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `application-client_7.xsd`: In the root tag, replace the `version` attribute value with `9` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`application-client_7.xsd`: In the root tag, replace the `version` attribute + value with `9`' + ruleID: javaee-to-jakarta-namespaces-00039 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')7("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:application-client[@version='7'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `application-client_8.xsd`: In the root tag, replace the `version` attribute value with `9` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`application-client_8.xsd`: In the root tag, replace the `version` attribute + value with `9`' + ruleID: javaee-to-jakarta-namespaces-00040 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')8("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:application-client[@version='8'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `connector_1_7.xsd`: In the root tag, replace the `version` attribute value with `2.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`connector_1_7.xsd`: In the root tag, replace the `version` attribute + value with `2.0`' + ruleID: javaee-to-jakarta-namespaces-00041 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')1.7("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:connector[@version='1.7'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `ejb-jar_3_2.xsd`: In the root tag, replace the `version` attribute value with `4.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`ejb-jar_3_2.xsd`: In the root tag, replace the `version` attribute value + with `4.0`' + ruleID: javaee-to-jakarta-namespaces-00042 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')3.2("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:ejb-jar[@version='3.2'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `javaee_web_services_1_4.xsd`: In the root tag, replace the `version` attribute value with `2.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`javaee_web_services_1_4.xsd`: In the root tag, replace the `version` + attribute value with `2.0`' + ruleID: javaee-to-jakarta-namespaces-00043 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')1.4("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:webservices[@version='1.4'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-app_3_1`: In the root tag, replace the `version` attribute value with `5.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-app_3_1`: In the root tag, replace the `version` attribute value + with `5.0`' + ruleID: javaee-to-jakarta-namespaces-00044 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')3.1("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:web-app[@version='3.1'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-app_4_0`: In the root tag, replace the `version` attribute value with `5.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-app_4_0`: In the root tag, replace the `version` attribute value + with `5.0`' + ruleID: javaee-to-jakarta-namespaces-00045 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')4.0("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:web-app[@version='4.0'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-fragment_3_1`: In the root tag, replace the `version` attribute value with `5.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-fragment_3_1`: In the root tag, replace the `version` attribute value + with `5.0`' + ruleID: javaee-to-jakarta-namespaces-00046 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')3.1("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:web-fragment[@version='3.1'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-fragment_4_0`: In the root tag, replace the `version` attribute value with `5.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-fragment_4_0`: In the root tag, replace the `version` attribute value + with `5.0`' + ruleID: javaee-to-jakarta-namespaces-00047 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')4.0("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:web-fragment[@version='4.0'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-facesconfig_2_2`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-facesconfig_2_2`: In the root tag, replace the `version` attribute + value with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00048 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.2("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:faces-config[@version='2.2'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-facesconfig_2_3`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-facesconfig_2_3`: In the root tag, replace the `version` attribute + value with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00049 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.3("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:faces-config[@version='2.3'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-facelettaglibrary_2_2`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-facelettaglibrary_2_2`: In the root tag, replace the `version` attribute + value with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00050 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.2("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:facelet-taglib[@version='2.2'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-facelettaglibrary_2_3`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-facelettaglibrary_2_3`: In the root tag, replace the `version` attribute + value with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00051 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.3("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:facelet-taglib[@version='2.3'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `web-jsptaglibrary_2_1`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`web-jsptaglibrary_2_1`: In the root tag, replace the `version` attribute + value with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00052 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.1("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: p:taglib[@version='2.1'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `validation-mapping-2.0`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`validation-mapping-2.0`: In the root tag, replace the `version` attribute + value with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00053 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.0("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/validation/mapping + xpath: p:constraint-mappings[@version='2.0'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `validation-configuration-2.0`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`validation-configuration-2.0`: In the root tag, replace the `version` + attribute value with `3.0`' + ruleID: javaee-to-jakarta-namespaces-00054 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.0("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/validation/configuration + xpath: p:validation-config[@version='2.0'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `orm_2_1`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`orm_2_1`: In the root tag, replace the `version` attribute value with + `3.0`' + ruleID: javaee-to-jakarta-namespaces-00055 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.1("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/persistence/orm + xpath: p:entity-mappings[@version='2.1'] +- category: mandatory + customVariables: [] + description: |- + Replace the Java EE version with the Jakarta equivalent + `orm_2_2`: In the root tag, replace the `version` attribute value with `3.0` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: '`orm_2_2`: In the root tag, replace the `version` attribute value with + `3.0`' + ruleID: javaee-to-jakarta-namespaces-00056 + when: + or: + - as: result + builtin.filecontent: + pattern: version=("|')2.2("|') + from: xml-file + - as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/persistence/orm + xpath: p:entity-mappings[@version='2.2'] diff --git a/resources/rulesets/eap8/120-javax-to-jakarta-bootstrapping-files.windup.yaml b/resources/rulesets/eap8/120-javax-to-jakarta-bootstrapping-files.windup.yaml new file mode 100644 index 0000000..e03c5ce --- /dev/null +++ b/resources/rulesets/eap8/120-javax-to-jakarta-bootstrapping-files.windup.yaml @@ -0,0 +1,18 @@ +- category: mandatory + customVariables: [] + description: |- + Bootstrapping files prefixed with javax should be renamed to use the jakarta prefix + Replace the bootstrapping file name prefix `javax.` with `jakarta.` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Replace the bootstrapping file name prefix `javax.` with `jakarta.` + ruleID: javax-to-jakarta-bootstrapping-files-00001 + when: + builtin.file: + pattern: javax\.enterprise.* diff --git a/resources/rulesets/eap8/121-javax-to-jakarta-dependencies.windup.yaml b/resources/rulesets/eap8/121-javax-to-jakarta-dependencies.windup.yaml new file mode 100644 index 0000000..fd801fa --- /dev/null +++ b/resources/rulesets/eap8/121-javax-to-jakarta-dependencies.windup.yaml @@ -0,0 +1,147 @@ +- category: mandatory + customVariables: [] + description: | + javax.{renamed-g} groupId has been replaced by jakarta.{renamed-g} + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Update the group dependency by replacing the `javax.{{renamed-g}}` groupId + with `jakarta.{{renamed-g}}` + ruleID: javax-to-jakarta-dependencies-00001 + when: + builtin.filecontent: + pattern: groupId>javax.(annotation|batch|ejb|el|enterprise.concurrent|enterprise.deploy|faces|interceptor|jms|jws|mail|management.j2ee|resource|security.auth.message|security.jacc|servlet|servlet.jsp|servlet.jsp.jstl|transaction|websocket|ws.rs|xml.bind|xml.registry|xml.rpc|xml.soap|xml.ws)< +- category: mandatory + customVariables: [] + description: | + javax.{renamed-a} javax.{renamed-a}-api artifactId has been replaced by jakarta.{renamed-a} jakarta.{renamed-a}-api + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Update artifact dependency by replacing the `javax.{{renamed-a}}-api` artifactId + with `jakarta.{{renamed-a}}-api` + ruleID: javax-to-jakarta-dependencies-00002 + when: + builtin.filecontent: + pattern: artifactId>javax.(activation|annotation|batch|ejb|el|enterprise.concurrent|enterprise.deploy|faces|interceptor|jms|jws|mail|management.j2ee|resource|security.auth.message|security.jacc|servlet|servlet.jsp|servlet.jsp.jstl|transaction|websocket|ws.rs|xml.registry|xml.rpc|xml.soap|xml.ws)-api< +- category: mandatory + customVariables: [] + description: |- + javax.xml.bind jaxb-api artifactId has been replaced by jakarta.xml.bind jakarta.xml.bind-api + Replace the `jaxb-api` artifact dependency with `jakarta.xml.bind-api` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Replace the `jaxb-api` artifact dependency with `jakarta.xml.bind-api` + ruleID: javax-to-jakarta-dependencies-00003 + when: + builtin.filecontent: + pattern: artifactId>jaxb-api< +- category: mandatory + customVariables: [] + description: |- + javax.activation groupId has been replaced by jakarta.activation + Replace dependency groupId `javax.activation` with `jakarta.activation` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Replace dependency groupId `javax.activation` with `jakarta.activation` + ruleID: javax-to-jakarta-dependencies-00004 + when: + java.dependency: + lowerbound: 0.0.0 + name: javax.activation.javax.activation-api +- category: mandatory + customVariables: [] + description: |- + org.glassfish javax.faces artifactId has been replaced by org.glassfish jakarta.faces + Replace the `javax.faces` artifactId with `jakarta.faces` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Replace the `javax.faces` artifactId with `jakarta.faces` + ruleID: javax-to-jakarta-dependencies-00005 + when: + builtin.filecontent: + pattern: artifactId>javax.faces< +- category: mandatory + customVariables: [] + description: |- + javax groupId has been replaced by jakarta.platform + Update group dependency by replacing the `javax` groupId with `jakarta.platform` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Update group dependency by replacing the `javax` groupId with `jakarta.platform` + ruleID: javax-to-jakarta-dependencies-00006 + when: + builtin.filecontent: + pattern: groupId>javax< +- category: mandatory + customVariables: [] + description: |- + javax javaee-api artifactId has been replaced by jakarta.platform jakarta.jakartaee-api + Update artifact dependency by replacing the `javaee-api` artifactId with `jakarta.jakartaee-api` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Update artifact dependency by replacing the `javaee-api` artifactId with + `jakarta.jakartaee-api` + ruleID: javax-to-jakarta-dependencies-00007 + when: + builtin.filecontent: + pattern: artifactId>javaee-api< +- category: mandatory + customVariables: [] + description: |- + javax javaee-web-api artifactId has been replaced by jakarta.platform jakarta.jakartaee-web-api + Update artifact dependency by replacing the `javaee-web-api` artifactId with `jakarta.jakartaee-web-api` + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Update artifact dependency by replacing the `javaee-web-api` artifactId + with `jakarta.jakartaee-web-api` + ruleID: javax-to-jakarta-dependencies-00008 + when: + builtin.filecontent: + pattern: artifactId>javaee-web-api< diff --git a/resources/rulesets/eap8/122-javax-to-jakarta-package.windup.yaml b/resources/rulesets/eap8/122-javax-to-jakarta-package.windup.yaml new file mode 100644 index 0000000..3881beb --- /dev/null +++ b/resources/rulesets/eap8/122-javax-to-jakarta-package.windup.yaml @@ -0,0 +1,20 @@ +- category: mandatory + customVariables: + - name: renamed + nameOfCaptureGroup: renamed + pattern: javax.(?P(activation|annotation|batch|decorator|ejb|el|enterprise|faces|inject|interceptor|jms|json|jws|mail|persistence|resource|security|servlet|transaction|validation|websocket|ws|xml))?{*} + description: | + javax.{renamed} has been replaced by jakarta.{renamed} + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: [] + message: Replace the `javax.{{renamed}}` import statement with `jakarta.{{renamed}}` + ruleID: javax-to-jakarta-import-00001 + when: + as: javaClass + java.referenced: + location: IMPORT + pattern: javax.(activation|annotation|batch|decorator|ejb|el|enterprise|faces|inject|interceptor|jms|json|jws|mail|persistence|resource|security|servlet|transaction|validation|websocket|ws|xml)* diff --git a/resources/rulesets/eap8/123-javax-to-jakarta-properties.windup.yaml b/resources/rulesets/eap8/123-javax-to-jakarta-properties.windup.yaml new file mode 100644 index 0000000..4ec3cf8 --- /dev/null +++ b/resources/rulesets/eap8/123-javax-to-jakarta-properties.windup.yaml @@ -0,0 +1,17 @@ +- category: mandatory + customVariables: [] + description: "Rename properties prefixed by javax with jakarta \nRename properties + prefixed by `javax` with `jakarta`" + effort: 1 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=eap8 + - konveyor.io/source + links: + - title: Jakarta EE + url: https://jakarta.ee/ + message: Rename properties prefixed by `javax` with `jakarta` + ruleID: javax-to-jakarta-properties-00001 + when: + builtin.filecontent: + pattern: + + + + + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/eap8/ruleset.yaml b/resources/rulesets/eap8/ruleset.yaml new file mode 100644 index 0000000..b6612d3 --- /dev/null +++ b/resources/rulesets/eap8/ruleset.yaml @@ -0,0 +1,2 @@ +name: eap8/eap7 +description: This ruleset provides migration rules to Hibernate ORM 6. diff --git a/resources/rulesets/eapxp/130-eapxp_bootable_jar_maven_plugin_configuration_changes.mta.yaml b/resources/rulesets/eapxp/130-eapxp_bootable_jar_maven_plugin_configuration_changes.mta.yaml new file mode 100644 index 0000000..fecf2ed --- /dev/null +++ b/resources/rulesets/eapxp/130-eapxp_bootable_jar_maven_plugin_configuration_changes.mta.yaml @@ -0,0 +1,26 @@ +- category: potential + customVariables: [] + description: |- + Bootable JAR Maven Plugin: rename extraServerContent configuration element + If you migrate your application to JBoss EAP XP 3.0 (or later), and want to ensure its Maven building, running or testing works as expected, rename the configuration element `extraServerContent` to `extraServerContentDirs`. + effort: 1 + labels: + - konveyor.io/source=eapxp + - konveyor.io/target=eapxp3 + - JBossEAP + - EAPXP + links: + - title: 'JBoss EAP XP upgrade and migration guide: Bootable JAR application migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html-single/jboss_eap_xp_upgrade_and_migration_guide/index#microprofile-application-migration-bootable-jar_default + message: If you migrate your application to JBoss EAP XP 3.0 (or later), and want + to ensure its Maven building, running or testing works as expected, rename the + configuration element `extraServerContent` to `extraServerContentDirs`. + ruleID: eapxp_bootable_jar_maven_plugin_configuration_changes-1 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: //m:plugin[m:groupId/text() = 'org.wildfly.plugins' and m:artifactId/text() + = 'wildfly-jar-maven-plugin']/m:configuration/m:extraServerContent diff --git a/resources/rulesets/eapxp/131-remove_thorntail_yaml_configuration_files.mta.yaml b/resources/rulesets/eapxp/131-remove_thorntail_yaml_configuration_files.mta.yaml new file mode 100644 index 0000000..ba6c49a --- /dev/null +++ b/resources/rulesets/eapxp/131-remove_thorntail_yaml_configuration_files.mta.yaml @@ -0,0 +1,22 @@ +- category: potential + customVariables: [] + description: |- + Remove Thorntail YAML Configuration Files + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, remove all Thorntail YAML Configuration Files. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, remove all + Thorntail YAML Configuration Files. + ruleID: remove_thorntail_yaml_configuration_files-1 + when: + builtin.file: + pattern: project-defaults\.yml diff --git a/resources/rulesets/eapxp/132-replace_thorntail_boms.mta.yaml b/resources/rulesets/eapxp/132-replace_thorntail_boms.mta.yaml new file mode 100644 index 0000000..55096b0 --- /dev/null +++ b/resources/rulesets/eapxp/132-replace_thorntail_boms.mta.yaml @@ -0,0 +1,56 @@ +- category: potential + customVariables: [] + description: |- + Replace Thorntail BOMs - io.thorntail:bom + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail BOM `io.thorntail:bom` with JBoss EAP XP MicroProfile BOM and/or JBoss EAP Jakarta EE BOM. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + BOM `io.thorntail:bom` with JBoss EAP XP MicroProfile BOM and/or JBoss EAP Jakarta + EE BOM. + ruleID: replace_thorntail_boms-1 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencyManagement/m:dependencies/m:dependency[m:groupId/text() + = 'io.thorntail' and m:artifactId/text() = 'bom'] +- category: potential + customVariables: [] + description: |- + Replace Thorntail BOMs - io.thorntail:bom-certified + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail BOM `io.thorntail:bom-certified` with JBoss EAP XP MicroProfile BOM and/or JBoss EAP Jakarta EE BOM. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + BOM `io.thorntail:bom-certified` with JBoss EAP XP MicroProfile BOM and/or JBoss + EAP Jakarta EE BOM. + ruleID: replace_thorntail_boms-2 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencyManagement/m:dependencies/m:dependency[m:groupId/text() + = 'io.thorntail' and m:artifactId/text() = 'bom-certified'] diff --git a/resources/rulesets/eapxp/133-replace_thorntail_fractions.mta.yaml b/resources/rulesets/eapxp/133-replace_thorntail_fractions.mta.yaml new file mode 100644 index 0000000..15fa793 --- /dev/null +++ b/resources/rulesets/eapxp/133-replace_thorntail_fractions.mta.yaml @@ -0,0 +1,1200 @@ +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:bean-validation + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:bean-validation` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:bean-validation` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-01 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.bean-validation +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:cdi-config + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:cdi-config` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:cdi-config` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-02 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.cdi-config +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:cdi + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:cdi` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:cdi` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-03 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.cdi +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:config-api-runtime + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:config-api-runtime` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:config-api-runtime` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-04 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.config-api-runtime +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:datasources + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:datasources` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:datasources` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-05 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.datasources +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:ee-security + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:ee-security` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:ee-security` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-06 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.ee-security +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:ejb-mdb + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:ejb-mdb` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:ejb-mdb` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-07 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.ejb-mdb +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:ejb + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:ejb` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:ejb` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-08 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.ejb +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:elytron + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:elytron` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:elytron` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-09 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.elytron +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:fraction-metadata + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:fraction-metadata` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:fraction-metadata` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-10 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.fraction-metadata +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:hibernate-validator + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:hibernate-validator` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:hibernate-validator` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-11 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.hibernate-validator +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:hibernate + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:hibernate` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:hibernate` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-12 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.hibernate +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:hystrix + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:hystrix` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:hystrix` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-13 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.hystrix +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:infinispan + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:infinispan` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:infinispan` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-14 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.infinispan +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jaeger + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jaeger` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jaeger` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-15 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jaeger +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jaxrs-jaxb + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jaxrs-jaxb` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jaxrs-jaxb` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-16 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jaxrs-jaxb +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jaxrs-jsonb + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jaxrs-jsonb` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jaxrs-jsonb` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-17 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jaxrs-jsonb +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jaxrs-jsonp + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jaxrs-jsonp` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jaxrs-jsonp` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-18 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jaxrs-jsonp +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jaxrs-multipart + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jaxrs-multipart` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jaxrs-multipart` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-19 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jaxrs-multipart +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jaxrs-validator + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jaxrs-validator` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jaxrs-validator` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-20 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jaxrs-validator +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jaxrs + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jaxrs` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jaxrs` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-21 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jaxrs +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jca + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jca` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jca` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-22 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jca +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jmx + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jmx` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jmx` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-23 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jmx +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jpa + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jpa` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jpa` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-24 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jpa +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jsf + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jsf` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jsf` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-25 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jsf +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jsonb + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jsonb` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jsonb` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-26 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jsonb +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:jsonp + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:jsonp` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:jsonp` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-27 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.jsonp +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:keycloak + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:keycloak` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:keycloak` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-28 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.keycloak +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:logging + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:logging` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:logging` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-29 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.logging +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:management + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:management` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:management` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-30 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.management +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile-config + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile-config` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile-config` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-31 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile-config +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile-fault-tolerance + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile-fault-tolerance` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile-fault-tolerance` with the related Eclipse + MicroProfile and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-32 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile-fault-tolerance +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile-health + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile-health` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile-health` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-33 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile-health +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile-jwt + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile-jwt` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile-jwt` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-34 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile-jwt +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile-metrics + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile-metrics` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile-metrics` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-35 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile-metrics +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile-openapi + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile-openapi` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile-openapi` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-36 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile-openapi +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile-opentracing + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile-opentracing` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile-opentracing` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-37 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile-opentracing +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile-restclient + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile-restclient` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile-restclient` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-38 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile-restclient +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:microprofile + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:microprofile` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:microprofile` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-39 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.microprofile +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:opentracing + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:opentracing` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:opentracing` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-40 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.opentracing +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:remoting + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:remoting` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:remoting` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-41 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.remoting +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:resource-adapters + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:resource-adapters` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:resource-adapters` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-42 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.resource-adapters +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:spi + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:spi` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:spi` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-43 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.spi +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:topology-openshift + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:topology-openshift` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:topology-openshift` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-44 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.topology-openshift +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:topology-webapp + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:topology-webapp` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:topology-webapp` with the related Eclipse MicroProfile + and/or Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-45 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.topology-webapp +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:transactions + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:transactions` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:transactions` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-46 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.transactions +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:undertow + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:undertow` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:undertow` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-47 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.undertow +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:web + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:web` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:web` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-48 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.web +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:archaius + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:archaius` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:archaius` with the related Eclipse MicroProfile and/or + Jakarta EE artifacts. + ruleID: replace_thorntail_fractions-49 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.archaius +- category: potential + customVariables: [] + description: |- + Replace Thorntail Fractions - io.thorntail:monitor + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Fraction `io.thorntail:monitor` with the related Eclipse MicroProfile and/or Jakarta EE artifacts. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Fraction `io.thorntail:monitor` with the related Eclipse MicroProfile and/or Jakarta + EE artifacts. + ruleID: replace_thorntail_fractions-50 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.thorntail.monitor diff --git a/resources/rulesets/eapxp/134-replace_thorntail_maven_plugin.mta.yaml b/resources/rulesets/eapxp/134-replace_thorntail_maven_plugin.mta.yaml new file mode 100644 index 0000000..f27f980 --- /dev/null +++ b/resources/rulesets/eapxp/134-replace_thorntail_maven_plugin.mta.yaml @@ -0,0 +1,27 @@ +- category: potential + customVariables: [] + description: |- + Replace Thorntail Maven Plugin + If you migrate your application to JBoss EAP XP 2.0 (or later), and want to ensure its Maven building, running or testing works as expected, replace Thorntail Maven Plugin with JBoss EAP XP Bootable JAR Maven Plugin. + effort: 1 + labels: + - konveyor.io/source=thorntail + - konveyor.io/target=eapxp2 + - JBossEAP + - Thorntail + links: + - title: 'Red Hat JBoss EAP XP Migration Guide: Thorntail Application Maven Project + Migration' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.4/html/jboss_eap_xp_upgrade_and_migration_guide/thorntail-application-maven-project-migration_default#migrating-a-thorntail-application-maven-project-into-eap-xp_default + message: If you migrate your application to JBoss EAP XP 2.0 (or later), and want + to ensure its Maven building, running or testing works as expected, replace Thorntail + Maven Plugin with JBoss EAP XP Bootable JAR Maven Plugin. + ruleID: replace_thorntail_maven_plugin-1 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: //m:plugin[m:groupId/text() = 'io.thorntail' and m:artifactId/text() + = 'thorntail-maven-plugin'] diff --git a/resources/rulesets/eapxp/image.svg b/resources/rulesets/eapxp/image.svg new file mode 100644 index 0000000..4df446d --- /dev/null +++ b/resources/rulesets/eapxp/image.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/eapxp/ruleset.yaml b/resources/rulesets/eapxp/ruleset.yaml new file mode 100644 index 0000000..2bde35b --- /dev/null +++ b/resources/rulesets/eapxp/ruleset.yaml @@ -0,0 +1,4 @@ +name: eapxp/thorntail +description: This ruleset provides analysis of Maven built applications that use Thorntail + Maven Plugin, which should be replaced by JBoss EAP XP Bootable JAR Maven Plugin, + when migrating to JBoss EAP XP. diff --git a/resources/rulesets/filemappings/135-default-package-to-organization-names.windup.yaml b/resources/rulesets/filemappings/135-default-package-to-organization-names.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/filemappings/135-default-package-to-organization-names.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/filemappings/136-file-mappings.windup.yaml b/resources/rulesets/filemappings/136-file-mappings.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/filemappings/136-file-mappings.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/filemappings/image.svg b/resources/rulesets/filemappings/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/filemappings/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/filemappings/ruleset.yaml b/resources/rulesets/filemappings/ruleset.yaml new file mode 100644 index 0000000..af40265 --- /dev/null +++ b/resources/rulesets/filemappings/ruleset.yaml @@ -0,0 +1,3 @@ +name: filemappings +description: This rule set configures the organization matching functionality, using + known root-package prefixes to identify libraries and other code. diff --git a/resources/rulesets/fuse-service-works/140-soa-p-5.windup.yaml b/resources/rulesets/fuse-service-works/140-soa-p-5.windup.yaml new file mode 100644 index 0000000..0b7a7db --- /dev/null +++ b/resources/rulesets/fuse-service-works/140-soa-p-5.windup.yaml @@ -0,0 +1,960 @@ +- customVariables: + - name: javaclassname + nameOfCaptureGroup: javaclassname + pattern: org.jboss.soa.esb.message.Message + description: "JBoss ESB 5 Action Handler\n\n \n Custom + action classes should be migrated to CDI Beans in Fuse Service Works. These beans + can be defined as services or called directly from a Camel route.\n \n + \ \nCustom action classes should be migrated to CDI Beans + in Fuse Service Works. These beans can be defined as services or called directly + from a Camel route.. For more information, see the [Action Class Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-class-migration.md)." + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: Custom action classes should be migrated to CDI Beans in Fuse Service Works. + These beans can be defined as services or called directly from a Camel route.. + For more information, see the [Action Class Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-class-migration.md). + ruleID: soa-p-5-01000 + tag: + - jboss-esb + - JBoss ESB 5 Action Handler + when: + or: + - as: javaclasses + java.referenced: + pattern: org.jboss.soa.esb.message.Message + - as: xmlclass + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and not(starts-with(@class, 'org.jboss.soa.esb.actions')) + and not(starts-with(@class, 'org.jboss.soa.esb.smooks')) and matches(@class, + '.*')]/@class +- customVariables: [] + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + ruleID: soa-p-5-02000 + tag: + - jboss-esb + - JBoss ESB Deployment Descriptor + when: + builtin.xml: + namespaces: {} + xpath: /jbossesb-deployment +- customVariables: [] + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: Action Pipeline Migration + url: https://github.com/windup/soa-migration/blob/master/advice/action-pipeline-migration.md + ruleID: soa-p-5-03000 + tag: + - jboss-esb + - JBoss ESB Pipeline Configuration + when: + builtin.xml: + namespaces: {} + xpath: /*[local-name()='jbossesb'] +- customVariables: [] + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: Smooks Development Guide + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_2_Smooks/ + ruleID: soa-p-5-04000 + tag: + - smooks + - Smooks Configuration + when: + builtin.xml: + namespaces: {} + xpath: /*[local-name()='smooks-resource-list'] +- customVariables: [] + description: |- + JMS Gateway Listener + This listener requires a composite service binding in Fuse Service Works. The configuration for a JCA or JMS binding can be found in the jms-bus definition. associated with this listener.. For additional information, see the. [Gateway Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: This listener requires a composite service binding in Fuse Service Works. + The configuration for a JCA or JMS binding can be found in the jms-bus definition. + associated with this listener.. For additional information, see the. [Gateway + Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + ruleID: soa-p-5-05000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='jms-listener' and @is-gateway='true']/@name +- customVariables: [] + description: |- + ESB-Aware Listener (non-gateway) + An ESB-aware listener is no longer required in Fuse Service Works. + effort: 1 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: An ESB-aware listener is no longer required in Fuse Service Works. + ruleID: soa-p-5-06000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='jms-listener' and (not(@is-gateway) or @is-gateway='false')]/@name +- customVariables: [] + description: |- + JBoss SOA-P Service + Each definition in SOA-P 5 represents a service which can be. called from outside the application through an ESB listner. The. equivalent definition in Fuse Service Works is a composite service.. For additional information, see the. [Service Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/service-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: Each definition in SOA-P 5 represents a service which can be. + called from outside the application through an ESB listner. The. equivalent definition + in Fuse Service Works is a composite service.. For additional information, see + the. [Service Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/service-migration.md). + ruleID: soa-p-5-07000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='service']/@name +- customVariables: [] + description: |- + JBoss SOA-P Action Pipeline + The logic and execution flow of a service in SOA-P 5 is defined in an. action processing pipeline. This logic is. contained within a service component definition and expressed. using any of the available implementation types in Fuse Service Works.. For additional information see: the [Action Pipeline Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-pipeline-migration.md) + effort: 5 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: 'The logic and execution flow of a service in SOA-P 5 is defined in an. + action processing pipeline. This logic is. contained within a service component + definition and expressed. using any of the available implementation types in Fuse + Service Works.. For additional information see: the [Action Pipeline Migration + Guide](https://github.com/windup/soa-migration/blob/master/advice/action-pipeline-migration.md)' + ruleID: soa-p-5-08000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='actions'] +- customVariables: [] + description: |- + Service Binding: Hibernate Bus + Although Camel has both Hibernate and JPA components that are. useful in consuming records, there isn't any support for Hibernate events.. To migrate this to SwitchYard you may have to. build a custom SwitchYard component using Hibernate. listeners, or redesign your requirements to leverage the. existing Camel components available (Hibernate/JPA/SQL). in this area. + effort: 13 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: Although Camel has both Hibernate and JPA components that are. useful in + consuming records, there isn't any support for Hibernate events.. To migrate this + to SwitchYard you may have to. build a custom SwitchYard component using Hibernate. + listeners, or redesign your requirements to leverage the. existing Camel components + available (Hibernate/JPA/SQL). in this area. + ruleID: soa-p-5-09000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='hibernate-bus']/@busid +- customVariables: [] + description: |- + JMS Bus Definition + A jms-bus definition can be converted to a JMS or JCA gateway. binding on a composite service in SwitchYard. If the jms-bus. configuration is used for a non-gateway listener, it does not. need to be migrated to Fuse Service Works.. For additional information, see the. [JMS Bus Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/jms-bus-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: A jms-bus definition can be converted to a JMS or JCA gateway. binding + on a composite service in SwitchYard. If the jms-bus. configuration is used for + a non-gateway listener, it does not. need to be migrated to Fuse Service Works.. + For additional information, see the. [JMS Bus Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/jms-bus-migration.md). + ruleID: soa-p-5-10000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='jms-bus']/@busid +- customVariables: [] + description: |- + FTP Bus Definition + A ftp-bus definition can be converted to a FTP gateway. binding on a composite service in SwitchYard.. For additional information, see the. [FTP Bus Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/ftp-bus-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: A ftp-bus definition can be converted to a FTP gateway. binding on a composite + service in SwitchYard.. For additional information, see the. [FTP Bus Migration + Guide](https://github.com/windup/soa-migration/blob/master/advice/ftp-bus-migration.md). + ruleID: soa-p-5-11000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='ftp-bus']/@busid +- customVariables: [] + description: |- + Camel Bus Definition + A camel-bus definition can be converted to a Camel gateway. binding on a composite service in SwitchYard.. For additional information, see the. [Camel Bus Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/camel-bus-migration.md) + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + - camel + links: [] + message: A camel-bus definition can be converted to a Camel gateway. binding on + a composite service in SwitchYard.. For additional information, see the. [Camel + Bus Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/camel-bus-migration.md) + ruleID: soa-p-5-12000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='camel-bus']/@busid +- customVariables: [] + description: |- + UDP Listener Configuration + A UDP Listener definition can be converted to a TCP/UDP. gateway binding on a composite service in SwitchYard. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: TCP/UDP Gateway + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-TCP_UDP + message: A UDP Listener definition can be converted to a TCP/UDP. gateway binding + on a composite service in SwitchYard. + ruleID: soa-p-5-13000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='udp-listener'] +- customVariables: [] + description: |- + JMS JCA Provider + A jms-jca-provider definition can be converted to a JCA. gateway binding on a composite service in Fuse Service Works. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: JCA Gateway Binding + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-JCA + message: A jms-jca-provider definition can be converted to a JCA. gateway binding + on a composite service in Fuse Service Works. + ruleID: soa-p-5-14000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='jms-jca-provider'] +- customVariables: [] + description: |- + HTTP Provider + A http-provider definition can be converted to a HTTP gateway. binding on a composite service in Fuse Service Works.. For additional information, see the. [Gateway Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + - soa-p + links: [] + message: A http-provider definition can be converted to a HTTP gateway. binding + on a composite service in Fuse Service Works.. For additional information, see + the. [Gateway Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + ruleID: soa-p-5-15000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='http-provider'] +- customVariables: [] + description: |- + Cron Schedule + A cron-schedule definition can be converted to a Quartz. gateway binding on a composite service in Fuse Service Works.. For additional information, see the. [Cron Scheduler Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/cron-schedule-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: A cron-schedule definition can be converted to a Quartz. gateway binding + on a composite service in Fuse Service Works.. For additional information, see + the. [Cron Scheduler Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/cron-schedule-migration.md). + ruleID: soa-p-16000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='cron-schedule'] +- customVariables: [] + description: |- + FTP Gateway Listener + This listener requires a composite service binding in Fuse Service Works. The configuration for a FTP binding. can be found in the ftp-bus definition associated with this listener.. For additional information, see the. [Gateway Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: This listener requires a composite service binding in Fuse Service Works. + The configuration for a FTP binding. can be found in the ftp-bus definition associated + with this listener.. For additional information, see the. [Gateway Listener Migration + Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + ruleID: soa-p-17000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='ftp-listener' and @is-gateway='true']/@name +- customVariables: [] + description: |- + Camel Gateway Listener + This gateway requires a composite service binding in Fuse Service Works.. The configuration for a Camel binding can be found in the camel-bus definition associated. with this listener.. For additional information, see the. [Gateway Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + - camel + links: [] + message: This gateway requires a composite service binding in Fuse Service Works.. + The configuration for a Camel binding can be found in the camel-bus definition + associated. with this listener.. For additional information, see the. [Gateway + Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + ruleID: soa-p-18000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='camel-gateway']/@busidref +- customVariables: [] + description: |- + HTTP Gateway Listener + A can be replaced in Fuse Service Works by a http binding added to your composite service.. For additional information, see the. [HTTP Gateway Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/http-gateway-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: A can be replaced in Fuse Service Works by a http binding + added to your composite service.. For additional information, see the. [HTTP Gateway + Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/http-gateway-migration.md). + ruleID: soa-p-19000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='http-gateway']/@name +- customVariables: [] + description: |- + Smooks Transformation Action + Fuse Service Works uses a to replace the invocation. of as SmooksAction to transform message content. You most likely will want to use a Smooks transform. to specify your Smooks configuration and from/to types.. For additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + - smooks + links: [] + message: Fuse Service Works uses a to replace the invocation. of as + SmooksAction to transform message content. You most likely will want to use a + Smooks transform. to specify your Smooks configuration and from/to types.. For + additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + ruleID: soa-p-20000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.smooks.SmooksAction']/@class +- customVariables: [] + description: |- + Smooks Config + In a Fuse Service Works Smooks transform, you can specify your Smooks configuration with the "config" attribute.. For additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + - smooks + links: [] + message: In a Fuse Service Works Smooks transform, you can specify your Smooks configuration + with the "config" attribute.. For additional information, see the. [Transformation + Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + ruleID: soa-p-21000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='property' and @name='smooksConfig']/@name +- customVariables: [] + description: |- + Smooks Result Type + Fuse Service Works uses a to replace the invocation of as SmooksAction. to transform message content. You most likely will want to use a Smooks transform. to specify your Smooks configuration and from/to types.. For additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + - smooks + links: [] + message: Fuse Service Works uses a to replace the invocation of as SmooksAction. + to transform message content. You most likely will want to use a Smooks transform. + to specify your Smooks configuration and from/to types.. For additional information, + see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + ruleID: soa-p-22000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.smooks.SmooksAction']/*[local-name()='property' + and @name='resultType'] +- customVariables: [] + description: |- + ESB SOAP Proxy + Instead of the JBoss ESB SOAPProxy action which transforms a specified WSDL and rewrites the address to the JBoss ESB server,. Fuse Service Works relies on Camel's routing capability to forward requests from a proxying service to the source.. Create a proxy service and a reference to the original service, and then use Camel to route them.. For additional information, see the. [SOAPProxy Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/soap-proxy.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: Instead of the JBoss ESB SOAPProxy action which transforms a specified + WSDL and rewrites the address to the JBoss ESB server,. Fuse Service Works relies + on Camel's routing capability to forward requests from a proxying service to the + source.. Create a proxy service and a reference to the original service, and then + use Camel to route them.. For additional information, see the. [SOAPProxy Migration + Guide](https://github.com/windup/soa-migration/blob/master/advice/soap-proxy.md). + ruleID: soa-p-23000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.soap.proxy.SOAPProxy']/@class +- customVariables: [] + description: |- + ESB SystemPrintln Action + In order to log your message (or a static logging message), you may want to create a Bean service which logs the message in the manner you wish, or you can use Camel routing to log static. logging messages.. For additional information, see the. [Action Class Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-class-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to log your message (or a static logging message), you may want + to create a Bean service which logs the message in the manner you wish, or you + can use Camel routing to log static. logging messages.. For additional information, + see the. [Action Class Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-class-migration.md). + ruleID: soa-p-24000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.SystemPrintln']/@class +- customVariables: [] + description: |- + ESB Static Router + In order to configure static routes for your message in. Fuse Service Works, you should use Camel's routing (either through Java DSL routes or route.xml).. For additional information, see the. [Action Class Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-class-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to configure static routes for your message in. Fuse Service Works, + you should use Camel's routing (either through Java DSL routes or route.xml).. + For additional information, see the. [Action Class Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-class-migration.md). + ruleID: soa-p-25000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.StaticRouter']/@class +- customVariables: [] + description: |- + ESB JMS Router + In order to replace the use of the JMSRouter in Fuse Service Works, you should use a JMS binding. You may need to review the options for JMS bindings in. Fuse Service Works if you are using the unwrap property.. For additional information, see the. [Action Class Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-class-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to replace the use of the JMSRouter in Fuse Service Works, you + should use a JMS binding. You may need to review the options for JMS bindings + in. Fuse Service Works if you are using the unwrap property.. For additional information, + see the. [Action Class Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/action-class-migration.md). + ruleID: soa-p-26000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.routing.JMSRouter']/@class +- customVariables: [] + description: |- + ESB Test Message Store + TestMessageStore is an out-of-the-box ESB action that is used in JBoss Application Server. container tests to store a message with some form of logging - to a file, JMX, etc. TestMessageStore is used throughout. the JBoss ESB sample projects to help test the results of processed messages.. Fuse Service Works is able to leverage Arquillian to do container testing, so TestMessageStore is not. necessary for testing. This action should simply be removed during the migration. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: TestMessageStore is an out-of-the-box ESB action that is used in JBoss + Application Server. container tests to store a message with some form of logging + - to a file, JMX, etc. TestMessageStore is used throughout. the JBoss ESB sample + projects to help test the results of processed messages.. Fuse Service Works is + able to leverage Arquillian to do container testing, so TestMessageStore is not. + necessary for testing. This action should simply be removed during the migration. + ruleID: soa-p-27000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.TestMessageStore']/@class +- customVariables: [] + description: |- + ESB GroovyActionProcessor + The GroovyActionProcessor action executes a Groovy script. You can duplicate this functionality in. Fuse Service Works through Camel routing (both Java and XML.). For additional information, see the. [Camel Scripting Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Service_Implementations.html#Using_Scripting_Languages). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: The GroovyActionProcessor action executes a Groovy script. You can duplicate + this functionality in. Fuse Service Works through Camel routing (both Java and + XML.). For additional information, see the. [Camel Scripting Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Service_Implementations.html#Using_Scripting_Languages). + ruleID: soa-p-28000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.scripting.GroovyActionProcessor']/@class +- customVariables: [] + description: |- + ESB BpmProcessor + The BpmProcessor makes calls to jBPM 3 through the jBPM command API. Fuse Service Works supports jBPM 5, so you will need. to migrate your existing workflow from jBPM 3 to jBPM 5 and use a Fuse Service Works BPM implementation.. For additional information, see the. [BPM Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/bpm_migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: The BpmProcessor makes calls to jBPM 3 through the jBPM command API. Fuse + Service Works supports jBPM 5, so you will need. to migrate your existing workflow + from jBPM 3 to jBPM 5 and use a Fuse Service Works BPM implementation.. For additional + information, see the. [BPM Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/bpm_migration.md). + ruleID: soa-p-29000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.services.jbpm.actions.BpmProcessor']/@class +- customVariables: [] + description: |- + ESB Filesystem Bus + A fs-bus definition can be converted to a Camel binding on a composite service in Fuse Service Works.. For additional information, see the. [Gateway Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: A fs-bus definition can be converted to a Camel binding on a composite + service in Fuse Service Works.. For additional information, see the. [Gateway + Listener Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/gateway-listener-migration.md). + ruleID: soa-p-30000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='fs-bus']/@busid +- customVariables: [] + description: |- + ESB Notifier Action + JBoss ESB uses notifiers to transform ESB aware messages to a format that ESB-unaware services can handle. Fuse Service Works uses bi-directional gateways to transfer messages. via its service bindings.. A JBoss ESB Notifier should be converted to a Fuse Service Works Service Binding.. For example:. ```xml. . . . . . . . . . . . . . . ```. Could be translated to:. ```xml. . . /tmp. HelloWorldFileNotifierTest.log. . . . . . . . ``` + effort: 7 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: JBoss ESB uses notifiers to transform ESB aware messages to a format that + ESB-unaware services can handle. Fuse Service Works uses bi-directional gateways + to transfer messages. via its service bindings.. A JBoss ESB Notifier should be + converted to a Fuse Service Works Service Binding.. For example:. ```xml. . . . + . . + . . . . . . + . . . ```. Could be translated to:. ```xml. . . + /tmp. HelloWorldFileNotifierTest.log. + . . . . . + . . ``` + ruleID: soa-p-31000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.Notifier']/@class +- customVariables: [] + description: |- + ESB ByteArrayToString + JBoss ESB uses a ByteArrayToString action to do conversion on a message body. In Fuse Service Works. you would use Camel to do type conversion. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: Camel convertBodyTo + url: http://camel.apache.org/convertbodyto.html + - title: Camel Type Converters + url: http://camel.apache.org/type-converter.html + message: JBoss ESB uses a ByteArrayToString action to do conversion on a message + body. In Fuse Service Works. you would use Camel to do type conversion. + ruleID: soa-p-32000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.converters.ByteArrayToString']/@class +- customVariables: [] + description: |- + ESB LongToDateConverter + JBoss ESB uses the LongToDateConverter action to do conversion on a message body.. In Fuse Service Works you would use Camel to do type conversion. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: Camel Type Converters + url: http://camel.apache.org/type-converter.html + message: JBoss ESB uses the LongToDateConverter action to do conversion on a message + body.. In Fuse Service Works you would use Camel to do type conversion. + ruleID: soa-p-33000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.converters.LongToDateConverter']/@class +- customVariables: [] + description: |- + ESB ObjectToCSVString + JBoss ESB uses the ObjectToCSVString action to do conversion on a message body. Fuse Service Works. would use a Smooks transform or a Camel route to perform this type of conversion.. For additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: JBoss ESB uses the ObjectToCSVString action to do conversion on a message + body. Fuse Service Works. would use a Smooks transform or a Camel route to perform + this type of conversion.. For additional information, see the. [Transformation + Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + ruleID: soa-p-34000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.converters.ObjectToCSVString']/@class +- customVariables: [] + description: |- + ESB ObjectInvoke + JBoss ESB uses a ObjectInvoke action to invoke a processor on a message.. Fuse Service Works would use a bean component to do this. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: Fuse Service Works Bean Component + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Service_Implementations.html#sect-Bean + message: JBoss ESB uses a ObjectInvoke action to invoke a processor on a message.. + Fuse Service Works would use a bean component to do this. + ruleID: soa-p-35000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.converters.ObjectInvoke']/@class +- customVariables: [] + description: |- + ESB ObjectToXStream + JBoss ESB uses an ObjectToXStream action to do convert an Object payload to XML using the XStream. processor. Fuse Service Works would use a Smooks transform or a Camel route to do this type of conversion.. For additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: JBoss ESB uses an ObjectToXStream action to do convert an Object payload + to XML using the XStream. processor. Fuse Service Works would use a Smooks transform + or a Camel route to do this type of conversion.. For additional information, see + the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + ruleID: soa-p-36000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.converters.ObjectToXStream']/@class +- customVariables: [] + description: |- + ESB XStreamToObject + JBoss ESB uses an XStreamToObject action to convert XML in a payload to an object using the XStream processor.. Fuse Service Works would use Smooks transform or a Camel route transform to do this type of conversion.. For additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: JBoss ESB uses an XStreamToObject action to convert XML in a payload to + an object using the XStream processor.. Fuse Service Works would use Smooks transform + or a Camel route transform to do this type of conversion.. For additional information, + see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + ruleID: soa-p-37000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.converters.XStreamToObject']/@class +- customVariables: [] + description: |- + ESB XsltAction + JBoss ESB uses the XsltAction action to transform documents in a payload. Fuse Service Works would use Camel to do this type of. conversion.. For additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: JBoss ESB uses the XsltAction action to transform documents in a payload. + Fuse Service Works would use Camel to do this type of. conversion.. For additional + information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + ruleID: soa-p-38000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.transformation.xslt.XsltAction']/@class +- customVariables: [] + description: |- + ESB SmooksTransformer + Fuse Service Works uses a <transform> to replace the invocation of a SmooksTransformer to transform message content.. You will need to use a Smooks transform to specify your Smooks configuration and from/to types.. For additional information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: Smooks Development Guide + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_2_Smooks/ + message: Fuse Service Works uses a <transform> to replace the invocation of + a SmooksTransformer to transform message content.. You will need to use a Smooks + transform to specify your Smooks configuration and from/to types.. For additional + information, see the. [Transformation Migration Guide](https://github.com/windup/soa-migration/blob/master/advice/transformation-migration.md). + ruleID: soa-p-39000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.converters.SmooksTransformer']/@class +- customVariables: [] + description: |- + ESB MessagePersister + JBoss ESB uses the MessagePersister action to persist a message. Fuse Service Works would use. a [SQL reference binding](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-SQL) to accomplish something similar. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: JBoss ESB uses the MessagePersister action to persist a message. Fuse Service + Works would use. a [SQL reference binding](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-SQL) + to accomplish something similar. + ruleID: soa-p-40000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.MessagePersister']/@class +- customVariables: [] + description: |- + ESB EJBProcessor + JBoss ESB uses the EJBProcessor action to invoke a stateless session bean with the contents of a message.. Similar things can be achieved in Fuse Service Works through the use ofa bean service. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: + - title: Fuse Service Works Bean Component + url: https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Service_Implementations.html#sect-Bean + message: JBoss ESB uses the EJBProcessor action to invoke a stateless session bean + with the contents of a message.. Similar things can be achieved in Fuse Service + Works through the use ofa bean service. + ruleID: soa-p-41000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.EJBProcessor']/@class +- customVariables: [] + description: |- + ESB ScriptingAction + The ScriptingAction executes a script using the BeanScriptingFramework. You can duplicate this functionality in Fuse Service Works. through Camel routing (both Java and XML.). For additional information, see the. [Camel Scripting Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Service_Implementations.html#Using_Scripting_Languages). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: The ScriptingAction executes a script using the BeanScriptingFramework. + You can duplicate this functionality in Fuse Service Works. through Camel routing + (both Java and XML.). For additional information, see the. [Camel Scripting Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Service_Implementations.html#Using_Scripting_Languages). + ruleID: soa-p-42000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.scripting.ScriptingAction']/@class +- customVariables: [] + description: | + ESB {javaclassname} + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: JBoss ESB uses the {{javaclassname}} action to aggregate a message sequence + into a single aggregated message.. Fuse Service Works would make use of Camel + routing and Camel's aggregator to accomplish this.. For more information, see + the. [Camel Aggregator Documentation](http://camel.apache.org/aggregator.html). + ruleID: soa-p-43000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and matches(@class, 'org.jboss.soa.esb.actions.(StreamingAggregator)|(Aggregator)')]/@class +- customVariables: [] + description: |- + ESB HTTP Router + In order to replace the use of the HttpRouter in JBoss ESB, you should use a HTTP reference binding.. Further documentation is available in the. [Fuse Service Works Developer Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-HTTP). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to replace the use of the HttpRouter in JBoss ESB, you should + use a HTTP reference binding.. Further documentation is available in the. [Fuse + Service Works Developer Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-HTTP). + ruleID: soa-p-44000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.routing.http.HttpRouter']/@class +- customVariables: [] + description: |- + ESB Email Router + In order to replace the use of the EmailRouter in Fuse Service Works, you should use a mail reference binding.. Further documentation is available in the. [Fuse Service Works Developer Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-Mail). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to replace the use of the EmailRouter in Fuse Service Works, you + should use a mail reference binding.. Further documentation is available in the. + [Fuse Service Works Developer Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-Mail). + ruleID: soa-p-45000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.routing.email.EmailRouter']/@class +- customVariables: [] + description: |- + ESB ContentBasedRouter + In order to replace the use of the ContentBasedRouter in Fuse Service Works, you should use Camel to route messages.. A good example of this functionality can be found in the quickstarts project in the [rules-camel-jbr. quickstart](https://github.com/jboss-switchyard/quickstarts/tree/master/rules-camel-cbr). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to replace the use of the ContentBasedRouter in Fuse Service Works, + you should use Camel to route messages.. A good example of this functionality + can be found in the quickstarts project in the [rules-camel-jbr. quickstart](https://github.com/jboss-switchyard/quickstarts/tree/master/rules-camel-cbr). + ruleID: soa-p-46000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.ContentBasedRouter']/@class +- customVariables: [] + description: |- + ESB StaticWiretap + In order to replace the use of the StaticWiretap in Fuse Service Works, you should use a. [Camel Wiretap](http://camel.apache.org/wire-tap.html) to perform this action. + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to replace the use of the StaticWiretap in Fuse Service Works, + you should use a. [Camel Wiretap](http://camel.apache.org/wire-tap.html) to perform + this action. + ruleID: soa-p-47000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.StaticWiretap']/@class +- customVariables: [] + description: |- + ESB Static Router + In order to replace the use of the StaticRouter in Fuse Service Works, you should use Camel to route messages.. Further information is available in the [Camel Integration Patterns Documentation](http://camel.apache.org/enterprise-integration-patterns.html). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to replace the use of the StaticRouter in Fuse Service Works, + you should use Camel to route messages.. Further information is available in the + [Camel Integration Patterns Documentation](http://camel.apache.org/enterprise-integration-patterns.html). + ruleID: soa-p-48000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.StaticRouter']/@class +- customVariables: [] + description: |- + ESB SOAPProcessor + In order to replace the use of the SOAPProcessor you should use a SOAP reference binding in Fuse Service Works.. For more information, see the. [Fuse Service Works Development Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-SOAP). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to replace the use of the SOAPProcessor you should use a SOAP + reference binding in Fuse Service Works.. For more information, see the. [Fuse + Service Works Development Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-SOAP). + ruleID: soa-p-49000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.soap.SOAPProcessor']/@class +- customVariables: [] + description: |- + ESB SOAPClient + In order to replace the use of the SOAPClient in Fuse Service Works, you should use a SOAP reference binding.. For more information, see the. [Fuse Service Works Development Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-SOAP). + effort: 3 + labels: + - konveyor.io/source=soa-p5 + - konveyor.io/target=fsw6 + - jboss-esb + links: [] + message: In order to replace the use of the SOAPClient in Fuse Service Works, you + should use a SOAP reference binding.. For more information, see the. [Fuse Service + Works Development Guide](https://access.redhat.com/documentation/en-us/Red_Hat_JBoss_Fuse_Service_Works/6.0/html/Development_Guide_Volume_1_SwitchYard/chap-Gateways.html#sect-SOAP). + ruleID: soa-p-50000 + when: + builtin.xml: + namespaces: {} + xpath: //*[local-name()='action' and @class='org.jboss.soa.esb.actions.soap.SOAPClient']/@class diff --git a/resources/rulesets/fuse-service-works/image.svg b/resources/rulesets/fuse-service-works/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/fuse-service-works/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/fuse-service-works/ruleset.yaml b/resources/rulesets/fuse-service-works/ruleset.yaml new file mode 100644 index 0000000..18a4886 --- /dev/null +++ b/resources/rulesets/fuse-service-works/ruleset.yaml @@ -0,0 +1,3 @@ +name: fuse-service-works/soa-p-5 +description: This ruleset provides analysis of JBoss SOA Platform 5 applications and + provides information on how to migrate these to Red Hat JBoss Fuse Service Works diff --git a/resources/rulesets/fuse/137-sonic-catchall.windup.yaml b/resources/rulesets/fuse/137-sonic-catchall.windup.yaml new file mode 100644 index 0000000..13bfd79 --- /dev/null +++ b/resources/rulesets/fuse/137-sonic-catchall.windup.yaml @@ -0,0 +1,25 @@ +- category: potential + customVariables: + - name: subpackage + nameOfCaptureGroup: subpackage + pattern: com.(?P(sonic|sonicsw)(\..*)?.)?(?P[^.]+)? + - name: classname + nameOfCaptureGroup: classname + pattern: com.(?P(sonic|sonicsw)(\..*)?.)?(?P[^.]+)? + description: | + Sonic proprietary type reference com.{subpackage}.{classname} + effort: 0 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=camel2 + - konveyor.io/target=fuse6 + - sonic + - catchall + links: [] + message: This com.{{subpackage}}.{{classname}} is a Sonic proprietary type and needs + to be migrated to a compatible API. There are currently no detailed. migration + rules about this type. + ruleID: sonic-catchall-00000 + when: + java.referenced: + pattern: com.(sonic|sonicsw).** diff --git a/resources/rulesets/fuse/138-sonic-esb.windup.yaml b/resources/rulesets/fuse/138-sonic-esb.windup.yaml new file mode 100644 index 0000000..6f3a459 --- /dev/null +++ b/resources/rulesets/fuse/138-sonic-esb.windup.yaml @@ -0,0 +1,449 @@ +- category: mandatory + customVariables: [] + description: |- + Sonic ESB service - inheritance from com.sonicsw.xq.XQService + Sonic ESB services inherit from XQService. In Camel, this can be achieved through the simple Java Bean Camel Component.. * [Camel Java Bean Component](http://camel.apache.org/bean.html) + effort: 4 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: + - title: XQService Javadoc + url: http://documentation.progress.com/output/Sonic/8.0.0/Docs8.0/api/esb_api/com/sonicsw/xq/XQService.html + message: Sonic ESB services inherit from XQService. In Camel, this can be achieved + through the simple Java Bean Camel Component.. * [Camel Java Bean Component](http://camel.apache.org/bean.html) + ruleID: sonic-esb-01000 + tag: + - sonic-esb + - Sonic ESB Service + when: + java.referenced: + location: INHERITANCE + pattern: com.sonicsw.xq.XQService +- category: mandatory + customVariables: [] + description: | + Reference to com.sonicsw.xq.XQServiceContext + effort: 4 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Sonic ESB services leverage the service(XQServiceContext context) method + to implement business logic. When messages are routed to the service, the service(XQServiceContext + context) method is executed.. In Camel, this is achieved by routing messages to + the Java Bean via the Camel Route's Bean Component syntax.. * [Camel Java Bean + Component](http://camel.apache.org/bean.html). * [Camel Binding Annotations](http://camel.apache.org/parameter-binding-annotations.html). + Camel's Java Bean Component can leverage annotations annotations on the method + to specify how Camel Message body values are mapped to the method parameters. Additionally, + the @Handler annotation can be leveraged to setup the default Java Bean method.. + **For example:**. ```java. public void service(XQServiceContext ctx) throws XQServiceException + \{{. .... }}. ```. **Should become:**. ```java. @Handler. public void service(@Header + messageHeader, @Body messageBody, Exchange exchange) \{{. .... }}. ```. * org.apache.camel.Body. + * org.apache.camel.Header. * org.apache.camel.Exchange + ruleID: sonic-esb-02000 + when: + or: + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQServiceContext + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQServiceContext +- category: mandatory + customVariables: [] + description: | + Reference to com.sonicsw.xq.XQInitContext + effort: 4 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + - spring + links: [] + message: The XQInitContext is used to receive initialization information for the + service from Sonic ESB.. This is not neccessary for Camel. The init() method + that receives this object should be replaced with Spring Bean property injection. For + initialization beyond propery injection, leverage Spring's @PostConstruct annotation + on this init() method.. * [Spring @PostConstruct Documentation](http://docs.spring.io/spring/docs/2.5.x/reference/beans.html#beans-postconstruct-and-predestroy-annotations). + ```java. @PostConstruct. public void init() \{{. //leverage injected properties. + }}. ``` + ruleID: sonic-esb-03000 + when: + or: + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQInitContext + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQInitContext +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQInitContext.getParameters + Migrate XQInitContext.getParameters to Spring property injection. + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate XQInitContext.getParameters to Spring property injection. + ruleID: sonic-esb-04000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQInitContext.getParameters* +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQParameters.getParameter + Migrate XQParameters.getParameter to Spring property injection. + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + - spring + links: [] + message: Migrate XQParameters.getParameter to Spring property injection. + ruleID: sonic-esb-05000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQParameters.getParameter* +- category: mandatory + customVariables: [] + description: |- + Reference to com.sonicsw.xq.XQParameters + Migrate XQParameters to Spring property injection. + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + - spring + links: [] + message: Migrate XQParameters to Spring property injection. + ruleID: sonic-esb-06000 + when: + or: + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQParameters + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQParameters +- category: mandatory + customVariables: [] + description: |- + Reference to com.sonicsw.xq.XQParameters + Migrate XQParameterInfo to Spring property injection. + effort: 3 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + - spring + links: [] + message: Migrate XQParameterInfo to Spring property injection. + ruleID: sonic-esb-07000 + when: + or: + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQParameterInfo + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQParameterInfo +- category: mandatory + customVariables: [] + description: |- + Reference to com.sonicsw.xq.XQMessage + Migrate to org.apache.camel.Message + effort: 3 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate to org.apache.camel.Message + ruleID: sonic-esb-08000 + when: + or: + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQMessage + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQMessage +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQMessage.getHeaderValue + Migrate to org.apache.camel.Message.getHeader(String name) + effort: 3 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate to org.apache.camel.Message.getHeader(String name) + ruleID: sonic-esb-09000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQMessage.getHeaderValue* +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQMessage.setHeaderValue + Migrate to org.apache.camel.Message.setHeader(String name, Object value) + effort: 3 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate to org.apache.camel.Message.setHeader(String name, Object value) + ruleID: sonic-esb-10000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQMessage.setHeaderValue* +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQMessage.getHeaderNames + Migrate to org.apache.camel.Message.getHeaders() + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate to org.apache.camel.Message.getHeaders() + ruleID: sonic-esb-11000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQMessage.getHeaderNames* +- category: mandatory + customVariables: [] + description: |- + Reference to com.sonicsw.xq.XQPart + Migrate XQPart to an attachment on the org.apache.camel.Message + effort: 3 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate XQPart to an attachment on the org.apache.camel.Message + ruleID: sonic-esb-12000 + when: + or: + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQPart + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQPart +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQMessage.getPartCount + Migrate to org.apache.camel.Message.getAttachments().size() + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate to org.apache.camel.Message.getAttachments().size() + ruleID: sonic-esb-13000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQMessage.getPartCount* +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQMessage.getPart + Migrate to org.apache.camel.Message.getAttachment(String id) + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate to org.apache.camel.Message.getAttachment(String id) + ruleID: sonic-esb-14000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQMessage.getPart(* +- category: mandatory + customVariables: [] + description: |- + Reference to com.sonicsw.xq.XQLog + Migrate to [Apache SLF4J](http://www.slf4j.org). + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + - slf4j + links: [] + message: Migrate to [Apache SLF4J](http://www.slf4j.org). + ruleID: sonic-esb-15000 + when: + or: + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQLog + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQLog +- category: mandatory + customVariables: [] + description: "Reference to com.sonicsw.xq.XQServiceException \nCreate a custom ServiceException + class, extending Exception. The documentation below explains exception handling + in Camel.. * [Camel Exception Handling](http://camel.apache.org/exception-clause.html)" + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Create a custom ServiceException class, extending Exception. The documentation + below explains exception handling in Camel.. * [Camel Exception Handling](http://camel.apache.org/exception-clause.html) + ruleID: sonic-esb-16000 + when: + or: + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQServiceException + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQServiceException +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQMessage.getCorrelationId + Correlation is handled several ways in Camel. Read the article below.. * [Camel Exception Handling](http://camel.apache.org/correlation-identifier.html) + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Correlation is handled several ways in Camel. Read the article below.. + * [Camel Exception Handling](http://camel.apache.org/correlation-identifier.html) + ruleID: sonic-esb-17000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQMessage.getCorrelationId* +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQAddressFactory.createEndpointAddress + This indicates that the Sonic ESB Service is routing messages to a [1...N] endpoints. To achieve this in Camel, take the business logic in the service, and populate a header property with an array of target enpoints.. Next, create a Recipient List processor to route the message to N endpoints.. * [Camel Recipient List](http://camel.apache.org/recipientlist-annotation.html) + effort: 3 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: This indicates that the Sonic ESB Service is routing messages to a [1...N] + endpoints. To achieve this in Camel, take the business logic in the service, + and populate a header property with an array of target enpoints.. Next, create + a Recipient List processor to route the message to N endpoints.. * [Camel Recipient + List](http://camel.apache.org/recipientlist-annotation.html) + ruleID: sonic-esb-18000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQAddressFactory.createEndpointAddress* +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQServiceContext.addOutgoing + Sonic ESB uses the addOutgoing method to set the outgoing message.. This is achieved in Camel by either modifying the @Body parameter in the Java Bean Component method, or literally setting a new message to the Exchange.. * [Camel Setting Response](http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html) + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Sonic ESB uses the addOutgoing method to set the outgoing message.. This + is achieved in Camel by either modifying the @Body parameter in the Java Bean + Component method, or literally setting a new message to the Exchange.. * [Camel + Setting Response](http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html) + ruleID: sonic-esb-19000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQServiceContext.addOutgoing* +- category: mandatory + customVariables: [] + description: |- + Reference to com.sonicsw.xq.XQEnvelope + Migrate to org.apache.camel.Exchange + effort: 3 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate to org.apache.camel.Exchange + ruleID: sonic-esb-20000 + when: + or: + - java.referenced: + location: TYPE + pattern: com.sonicsw.xq.XQEnvelope + - java.referenced: + location: IMPORT + pattern: com.sonicsw.xq.XQEnvelope +- category: mandatory + customVariables: [] + description: |- + Call of com.sonicsw.xq.XQEnvelope.getMessage + Migrate to org.apache.camel.Message.getIn() + effort: 1 + labels: + - konveyor.io/source=sonic + - konveyor.io/target=fuse6 + - sonic-esb + - camel + links: [] + message: Migrate to org.apache.camel.Message.getIn() + ruleID: sonic-esb-21000 + when: + java.referenced: + location: METHOD_CALL + pattern: com.sonicsw.xq.XQEnvelope.getMessage* diff --git a/resources/rulesets/fuse/139-xml-sonic-esb.windup.yaml b/resources/rulesets/fuse/139-xml-sonic-esb.windup.yaml new file mode 100644 index 0000000..172e9da --- /dev/null +++ b/resources/rulesets/fuse/139-xml-sonic-esb.windup.yaml @@ -0,0 +1,15 @@ +- customVariables: [] + labels: + - konveyor.io/source=sonicesb + - konveyor.io/target=fuse6 + - sonic-esb + links: [] + ruleID: xml-sonic-esb-01000 + tag: + - sonic-esb + - SonicESB Service Configuration + when: + builtin.xml: + namespaces: + xq: http://www.sonicsw.com/sonicxq + xpath: /*[local-name()='serviceType'] diff --git a/resources/rulesets/fuse/image.svg b/resources/rulesets/fuse/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/fuse/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/fuse/ruleset.yaml b/resources/rulesets/fuse/ruleset.yaml new file mode 100644 index 0000000..1b89d84 --- /dev/null +++ b/resources/rulesets/fuse/ruleset.yaml @@ -0,0 +1,3 @@ +name: fuse +description: This ruleset provides analysis that may require individual attention + when migrating from Sonic classes. diff --git a/resources/rulesets/hibernate/141-hibernate-catchall.windup.yaml b/resources/rulesets/hibernate/141-hibernate-catchall.windup.yaml new file mode 100644 index 0000000..ec19918 --- /dev/null +++ b/resources/rulesets/hibernate/141-hibernate-catchall.windup.yaml @@ -0,0 +1,23 @@ +- customVariables: + - name: package-remainder + nameOfCaptureGroup: package-remainder + pattern: org.hibernate.(?P(.*)?.)?(?P[^.]+)? + - name: type + nameOfCaptureGroup: type + pattern: org.hibernate.(?P(.*)?.)?(?P[^.]+)? + description: | + Hibernate + This is a Hibernate type and it will need to be verified for compatibility with the latest Hibernate version. + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: [] + ruleID: hibernate-catchall-00000 + tag: + - catchall + - Hibernate + when: + java.referenced: + pattern: org.hibernate.(*)?* diff --git a/resources/rulesets/hibernate/142-hibernate-xml.windup.yaml b/resources/rulesets/hibernate/142-hibernate-xml.windup.yaml new file mode 100644 index 0000000..e7f2694 --- /dev/null +++ b/resources/rulesets/hibernate/142-hibernate-xml.windup.yaml @@ -0,0 +1,74 @@ +- category: mandatory + customVariables: [] + description: |- + Hibernate: Deprecated 'string' CLOB data type + In versions of Hibernate prior to 3.5, text type was mapped to JDBC CLOB. A new Hibernate type, `materialized_clob`, was added in Hibernate 4 to map Java `String` properties to JDBC CLOB + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - hibernate + - configuration + links: [] + message: In versions of Hibernate prior to 3.5, text type was mapped to JDBC CLOB. + A new Hibernate type, `materialized_clob`, was added in Hibernate 4 to map Java + `String` properties to JDBC CLOB + ruleID: hibernate-xml-01000 + when: + or: + - as: "1" + builtin.xml: + namespaces: {} + xpath: /hibernate-mapping + - as: "2" + builtin.xml: + namespaces: {} + xpath: //*[@type='string'] + from: "1" +- category: mandatory + customVariables: [] + description: |- + hibernate.jdbc.use_streams_for_binary must be set according to the provider + If you are using Oracle and using the ```materialized_clob``` or ```materialized_blob``` properties, this global environment variable must be set to true.. If you are using PostgreSQL and using the CLOB or BLOB properties, this global environment variable must be set to false. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - hibernate + - configuration + links: [] + message: If you are using Oracle and using the ```materialized_clob``` or ```materialized_blob``` + properties, this global environment variable must be set to true.. If you are + using PostgreSQL and using the CLOB or BLOB properties, this global environment + variable must be set to false. + ruleID: hibernate-xml-02000 + when: + or: + - as: "1" + builtin.xml: + namespaces: {} + xpath: /hibernate-configuration + - as: "2" + builtin.xml: + namespaces: {} + xpath: //property[@name='hibernate.jdbc.use_streams_for_binary'] + from: "1" +- category: mandatory + customVariables: [] + description: |- + Hibernate: Removed package org.hibernate.connection + From Hibernate 4.0 there were moved classes from package `org.hibernate.connection` to package `org.hibernate.service.jdbc.connections.internal`.. You should change your Hibernate setup to replace references to the old package names. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - hibernate + - configuration + links: [] + message: From Hibernate 4.0 there were moved classes from package `org.hibernate.connection` + to package `org.hibernate.service.jdbc.connections.internal`.. You should change + your Hibernate setup to replace references to the old package names. + ruleID: hibernate-xml-03000 + when: + builtin.filecontent: + pattern: org.hibernate.connection diff --git a/resources/rulesets/hibernate/143-hibernate.windup.yaml b/resources/rulesets/hibernate/143-hibernate.windup.yaml new file mode 100644 index 0000000..39b216f --- /dev/null +++ b/resources/rulesets/hibernate/143-hibernate.windup.yaml @@ -0,0 +1,235 @@ +- category: optional + customVariables: [] + description: |- + Hibernate 4 - Deprecated @Type(type=text) + In versions of Hibernate prior to 3.5, text type was mapped to JDBC CLOB. A new Hibernate type, materialized_clob, was added in Hibernate 4 to map Java String properties to JDBC CLOB. Therefore, Hibernate 4 text LOB type definitions should be defined using `@Lob`, instead. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: + - title: Hibernate 4 java @Type migration. + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#Migrate_Your_Hibernate_33x_Application_to_Hibernate_4x + message: In versions of Hibernate prior to 3.5, text type was mapped to JDBC CLOB. + A new Hibernate type, materialized_clob, was added in Hibernate 4 to map Java + String properties to JDBC CLOB. Therefore, Hibernate 4 text LOB type definitions + should be defined using `@Lob`, instead. + ruleID: hibernate-01000 + when: + java.referenced: + pattern: org.hibernate.annotations.Type +- category: optional + customVariables: + - name: method + nameOfCaptureGroup: method + pattern: org.hibernate.criterion.Projections.(?P(count|rowCount|sum))?{*} + description: |- + Hibernate 4 - Changed 'Projections' return types + The return types of the numeric aggregate criteria projections has changed to Long in hibernate 4. This change may introduce conflicts in the code. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: + - title: Hibernate 4 projections return type change. + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#Migrate_Your_Hibernate_33x_Application_to_Hibernate_4x + message: The return types of the numeric aggregate criteria projections has changed + to Long in hibernate 4. This change may introduce conflicts in the code. + ruleID: hibernate-02000 + when: + java.referenced: + location: METHOD_CALL + pattern: org.hibernate.criterion.Projections.(count|rowCount|sum)* +- category: optional + customVariables: [] + description: |- + Hibernate 4 - Changed naming strategy from 'DefaultNamingStrategy' to 'EJB3NamingStrategy' + The initial/default naming strategy in Hibernate 4 was changed from DefaultNamingStrategy to EJB3NamingStrategy. This can result in naming mismatches. If you rely on the naming strategy, call Configuration#setNamingStrategy. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: + - title: Hibernate 4 naming strategy change documentation. + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/index#Migrate_Your_Hibernate_3.5.x_Application_to_Hibernate_4.x + message: The initial/default naming strategy in Hibernate 4 was changed from DefaultNamingStrategy + to EJB3NamingStrategy. This can result in naming mismatches. If you rely on the + naming strategy, call Configuration#setNamingStrategy. + ruleID: hibernate-03000 + when: + java.referenced: + location: CONSTRUCTOR_CALL + pattern: org.hibernate.cfg.AnnotationConfiguration* +- category: optional + customVariables: [] + description: |- + Hibernate 4 - Removed classes in 'org.hibernate.classic' + The deprecated classes in org.hibernate.classic package was removed in Hibernate 4. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: + - title: 'JBoss EAP - Migration Guide: Hibernate and JPA Changes' + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/6.4/html-single/migration_guide/#sect-Hibernate_and_JPA_Changes + message: The deprecated classes in org.hibernate.classic package was removed in + Hibernate 4. + ruleID: hibernate-04000 + when: + java.referenced: + pattern: org.hibernate.classic* +- category: optional + customVariables: [] + description: |- + Hibernate 4 - Replaced DialectResolver + Replace org.hibernate.dialect.resolver.DialectResolver with org.hibernate.service.jdbc.dialect.spi.DialectResolver. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: [] + message: Replace org.hibernate.dialect.resolver.DialectResolver with org.hibernate.service.jdbc.dialect.spi.DialectResolver. + ruleID: hibernate-05000 + when: + java.referenced: + pattern: org.hibernate.dialect.resolver.DialectResolver +- category: optional + customVariables: [] + description: |- + Hibernate 4 - Replaced BatcherFactory + Replace org.hibernate.jdbc.BatcherFactory by org.hibernate.engine.jdbc.batch.spi.BatchBuilder.. Their default implementations are in org.hibernate.engine.jdbc.batch.internal.. You can override the default BatchBuilder by defining the "hibernate.jdbc.batch.builder" property as the name of a BatchBuilder implementation. or by providing a BatchBuilder in a custom ServiceRegistry. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: [] + message: Replace org.hibernate.jdbc.BatcherFactory by org.hibernate.engine.jdbc.batch.spi.BatchBuilder.. + Their default implementations are in org.hibernate.engine.jdbc.batch.internal.. + You can override the default BatchBuilder by defining the "hibernate.jdbc.batch.builder" + property as the name of a BatchBuilder implementation. or by providing a BatchBuilder + in a custom ServiceRegistry. + ruleID: hibernate-06000 + when: + or: + - java.referenced: + pattern: org.hibernate.jdbc.BatcherFactory + - java.referenced: + pattern: org.hibernate.jdbc.BatchingBatcherFactory + - java.referenced: + pattern: org.hibernate.jdbc.NonBatchingBatcherFactory +- category: optional + customVariables: [] + description: |- + Hibernate 4 - Replaced JDBC Batcher + Replace org.hibernate.jdbc.Batcher by org.hibernate.engine.jdbc.batch.spi.Batch.. Their default implementations are in org.hibernate.engine.jdbc.batch.internal. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: [] + message: Replace org.hibernate.jdbc.Batcher by org.hibernate.engine.jdbc.batch.spi.Batch.. + Their default implementations are in org.hibernate.engine.jdbc.batch.internal. + ruleID: hibernate-07000 + when: + or: + - java.referenced: + pattern: org.hibernate.jdbc.Batcher + - java.referenced: + pattern: org.hibernate.jdbc.AbstractBatcher + - java.referenced: + pattern: org.hibernate.jdbc.BatchingBatcher + - java.referenced: + pattern: org.hibernate.jdbc.NonBatchingBatcher +- category: optional + customVariables: [] + description: |- + Hibernate 4 - SessionImplementor replacement + Replace org.hibernate.engine.SessionImplementor with org.hibernate.engine.spi.SessionImplementor + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: [] + message: Replace org.hibernate.engine.SessionImplementor with org.hibernate.engine.spi.SessionImplementor + ruleID: hibernate-08000 + when: + java.referenced: + pattern: org.hibernate.engine.SessionImplementor +- category: optional + customVariables: + - name: classname + nameOfCaptureGroup: classname + pattern: org.hibernate.connection.(?P[^.]+)? + description: |- + Hibernate 4 - Renamed package 'org.hibernate.connection' + The classes in org.hibernate.connection package was moved to org.hibernate.service.jdbc.connections.internal in Hibernate 4 + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: [] + message: The classes in org.hibernate.connection package was moved to org.hibernate.service.jdbc.connections.internal + in Hibernate 4 + ruleID: hibernate-09000 + when: + java.referenced: + pattern: org.hibernate.connection* +- category: optional + customVariables: [] + description: |- + Hibernate 4 - Replace org.hibernate.collection.PersistentBag + The class org.hibernate.collection.PersistentBag was moved to org.hibernate.collection.internal.PersistentBag in Hibernate 4 + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: [] + message: The class org.hibernate.collection.PersistentBag was moved to org.hibernate.collection.internal.PersistentBag + in Hibernate 4 + ruleID: hibernate-10000 + when: + java.referenced: + pattern: org.hibernate.collection.PersistentBag +- category: optional + customVariables: + - name: classname + nameOfCaptureGroup: classname + pattern: net.sf.hibernate.(?P[^.]+)? + description: |- + Hibernate type reference net.sf.hibernate.{classname} + This is an old Hibernate package name from version 2.x and needs to be migrated to a compatible API to Hibernate 4.x/5.x,. where package name is org.hibernate. + effort: 1 + labels: + - konveyor.io/source=hibernate3.9 + - konveyor.io/target=hibernate4 + - konveyor.io/target=eap6 + - hibernate + links: [] + message: This is an old Hibernate package name from version 2.x and needs to be + migrated to a compatible API to Hibernate 4.x/5.x,. where package name is org.hibernate. + ruleID: hibernate-10100 + tag: + - Hibernate 2.x - Renamed package 'net.sf.hibernate' + when: + java.referenced: + pattern: net.sf.hibernate* diff --git a/resources/rulesets/hibernate/image.svg b/resources/rulesets/hibernate/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/hibernate/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/hibernate/ruleset.yaml b/resources/rulesets/hibernate/ruleset.yaml new file mode 100644 index 0000000..501e078 --- /dev/null +++ b/resources/rulesets/hibernate/ruleset.yaml @@ -0,0 +1,3 @@ +name: hibernate +description: This ruleset provides analysis of deprecated Hibernate java constructs + and their migration to newer one. diff --git a/resources/rulesets/jakarta-ee9/144-spring-components.windup.yaml b/resources/rulesets/jakarta-ee9/144-spring-components.windup.yaml new file mode 100644 index 0000000..edc1e8b --- /dev/null +++ b/resources/rulesets/jakarta-ee9/144-spring-components.windup.yaml @@ -0,0 +1,47 @@ +- category: mandatory + customVariables: [] + description: |- + Version of Spring Boot not compatible with Jakarta EE 9+ + Version 3.0.0 is the minimum version of Spring Boot that is Jakarta EE 9+ compatible + effort: 3 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=jws6 + - konveyor.io/source + links: + - title: A Java 17 and Jakarta EE 9 baseline for Spring Framework 6 + url: https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6/ + message: Version 3.0.0 is the minimum version of Spring Boot that is Jakarta EE + 9+ compatible + ruleID: spring-components-00001 + when: + or: + - java.dependency: + nameregex: org\.springframework\.boot\..* + upperbound: 2.99.999 + - java.dependency: + nameregex: org\.springframework\.boot\..* + upperbound: 2.99.999 +- category: mandatory + customVariables: [] + description: |- + Version of Spring not compatible with Jakarta EE 9+ + Version 6.0.0 is the minimum version of Spring that is Jakarta EE 9+ compatible + effort: 3 + labels: + - konveyor.io/target=jakarta-ee9 + - konveyor.io/target=jws6 + - konveyor.io/source + links: + - title: A Java 17 and Jakarta EE 9 baseline for Spring Framework 6 + url: https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6/ + message: Version 6.0.0 is the minimum version of Spring that is Jakarta EE 9+ compatible + ruleID: spring-components-00002 + when: + or: + - java.dependency: + nameregex: org\.springframework\..* + upperbound: 5.99.999 + - java.dependency: + nameregex: org\.springframework\..* + upperbound: 5.99.999 diff --git a/resources/rulesets/jakarta-ee9/image.svg b/resources/rulesets/jakarta-ee9/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/jakarta-ee9/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/jakarta-ee9/ruleset.yaml b/resources/rulesets/jakarta-ee9/ruleset.yaml new file mode 100644 index 0000000..335cc9c --- /dev/null +++ b/resources/rulesets/jakarta-ee9/ruleset.yaml @@ -0,0 +1,3 @@ +name: jakarta-ee9/java-ee +description: This ruleset ensures the versions of Spring and Spring Boot are Jakarta + EE 9 compliant diff --git a/resources/rulesets/openjdk11/145-java-removals.windup.yaml b/resources/rulesets/openjdk11/145-java-removals.windup.yaml new file mode 100644 index 0000000..ee673d5 --- /dev/null +++ b/resources/rulesets/openjdk11/145-java-removals.windup.yaml @@ -0,0 +1,349 @@ +- category: mandatory + customVariables: [] + description: |- + Methods in `java.lang.Thread` have been removed + The `java.lang.Thread.stop(Throwable)` method has been removed, as it is dangerous for a thread to not only be able to directly stop another thread, but with an exception it may not expect. Instead, the thread should be notified to stop using a shared variable or `interrupt()`.. The `java.lang.Thread.destroy()` method was never even implemented and just throws `NoSuchMethodError`. + effort: 3 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Java Thread Primitive Deprecation + url: https://docs.oracle.com/javase/7/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html + message: The `java.lang.Thread.stop(Throwable)` method has been removed, as it is + dangerous for a thread to not only be able to directly stop another thread, but + with an exception it may not expect. Instead, the thread should be notified to + stop using a shared variable or `interrupt()`.. The `java.lang.Thread.destroy()` + method was never even implemented and just throws `NoSuchMethodError`. + ruleID: java-removals-00000 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: java.lang.Thread.stop({.+}) + - java.referenced: + location: METHOD_CALL + pattern: java.lang.Thread.destroy* +- category: mandatory + customVariables: [] + description: |- + sun.reflect.Reflection class was deprecated in Java 9 + Java 9 introduced the `StackWalker API` to replace `sun.reflect.Reflection`.. As such, the use of `sun.reflect.Reflection` class and particular the `getCallerClass` method should no longer be needed.. Refer to the example changeset linked below. + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Example changeset + url: https://hg.openjdk.java.net/openjfx/9-dev/rt/rev/70f6fa01a32c + message: Java 9 introduced the `StackWalker API` to replace `sun.reflect.Reflection`.. + As such, the use of `sun.reflect.Reflection` class and particular the `getCallerClass` + method should no longer be needed.. Refer to the example changeset linked below. + ruleID: java-removals-00010 + when: + or: + - java.referenced: + location: IMPORT + pattern: sun.reflect.Reflection* + - java.referenced: + location: METHOD_CALL + pattern: sun.reflect.Reflection* +- category: mandatory + customVariables: [] + description: |- + sun.reflect.CallerSensitive annotation was deprecated in Java 9 + `sun.reflect.CallerSensitive` annotation was deprecated in Java 9.. Refer to the example changeset linked below. + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Example changeset + url: https://hg.openjdk.java.net/openjfx/9-dev/rt/rev/70f6fa01a32c + message: '`sun.reflect.CallerSensitive` annotation was deprecated in Java 9.. Refer + to the example changeset linked below.' + ruleID: java-removals-00020 + when: + or: + - java.referenced: + location: IMPORT + pattern: sun.reflect.CallerSensitive* + - java.referenced: + location: ANNOTATION + pattern: sun.reflect.CallerSensitive* +- category: mandatory + customVariables: [] + description: |- + The `javax.security.auth.Policy` class has been removed + The `javax.security.auth.Policy` class has been removed.. It should be replaced by the use of `java.security.Policy` and `java.security.ProtectionDomain`.. Usage of `policy.getPermissions(subject,codeSource)` should be replaced with a call to. policy.getPermissions passing in a new ProtectionDomain (see links below for details) + effort: 3 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Java 10 javax.security.auth.Policy api + url: https://docs.oracle.com/javase/10/docs/api/javax/security/auth/Policy.html + - title: Java 11 java.security.Policy api + url: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/Policy.html + message: The `javax.security.auth.Policy` class has been removed.. It should be + replaced by the use of `java.security.Policy` and `java.security.ProtectionDomain`.. + Usage of `policy.getPermissions(subject,codeSource)` should be replaced with + a call to. policy.getPermissions passing in a new ProtectionDomain (see links + below for details) + ruleID: java-removals-00030 + when: + java.referenced: + pattern: javax.security.auth.Policy +- category: mandatory + customVariables: + - name: method-name + nameOfCaptureGroup: method-name + pattern: java.lang.SecurityManager.(?P(checkAwtEventQueueAccess|checkSystemClipboardAccess|checkTopLevelWindow))?({*}) + description: |- + AWT SecurityManager method java.lang.SecurityManager.{method-name} has been removed in Java 11 + Due to modularisation, the methods `java.lang.SecurityManager.checkAwtEventQueueAccess()`,. `java.lang.SecurityManager.checkSystemClipboardAccess()` and. `java.lang.SecurityManager.checkTopLevelWindow(java.lang.Object)`. have been removed, so that the core SecurityManager class does not depend on the AWT stack.. Replace with a call to `java.lang.SecurityManager.checkPermission(java.security.Permission)` as follows:. `java.lang.SecurityManager.checkAwtEventQueueAccess()` --> `java.lang.SecurityManager.checkPermission(new AWTPermission("accessEventQueue"))`. `java.lang.SecurityManager.checkSystemClipboardAccess()` --> `java.lang.SecurityManager.checkPermission(new AWTPermission("accessClipboard"))`. `java.lang.SecurityManager.checkTopLevelWindow(java.lang.Object) --> java.lang.SecurityManager.checkPermission(new AWTPermission("showWindowWithoutWarningBanner"))` + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Java 11 SecurityManager api + url: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/SecurityManager.html + - title: Java 11 AWTPermission api + url: https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/AWTPermission.html + message: Due to modularisation, the methods `java.lang.SecurityManager.checkAwtEventQueueAccess()`,. + `java.lang.SecurityManager.checkSystemClipboardAccess()` and. `java.lang.SecurityManager.checkTopLevelWindow(java.lang.Object)`. + have been removed, so that the core SecurityManager class does not depend on the + AWT stack.. Replace with a call to `java.lang.SecurityManager.checkPermission(java.security.Permission)` + as follows:. `java.lang.SecurityManager.checkAwtEventQueueAccess()` --> `java.lang.SecurityManager.checkPermission(new + AWTPermission("accessEventQueue"))`. `java.lang.SecurityManager.checkSystemClipboardAccess()` + --> `java.lang.SecurityManager.checkPermission(new AWTPermission("accessClipboard"))`. + `java.lang.SecurityManager.checkTopLevelWindow(java.lang.Object) --> java.lang.SecurityManager.checkPermission(new + AWTPermission("showWindowWithoutWarningBanner"))` + ruleID: java-removals-00040 + when: + java.referenced: + pattern: java.lang.SecurityManager.(checkAwtEventQueueAccess|checkSystemClipboardAccess|checkTopLevelWindow)* +- category: mandatory + customVariables: [] + description: |- + SecurityManager method java.lang.SecurityManager.checkMemberAccess has been removed + The implementation of `java.lang.SecurityManager.checkMemberAccess(java.lang.Class, int)` relies on an assumption. that the caller is at a stack depth of 4, which is not something that can be enforced, making the code error-prone.. Replace with a call to `java.lang.SecurityManager.checkPermission(new RuntimePermission("accessDeclaredMembers"))`. + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Java 11 SecurityManager api + url: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/SecurityManager.html + message: The implementation of `java.lang.SecurityManager.checkMemberAccess(java.lang.Class, + int)` relies on an assumption. that the caller is at a stack depth of 4, which + is not something that can be enforced, making the code error-prone.. Replace with + a call to `java.lang.SecurityManager.checkPermission(new RuntimePermission("accessDeclaredMembers"))`. + ruleID: java-removals-00041 + when: + java.referenced: + pattern: java.lang.SecurityManager.checkMemberAccess* +- category: mandatory + customVariables: [] + description: |- + The java.util.logging.LogManager.addPropertyChangeListener() method was removed in Java 9 + `java.util.logging.LogManager.addPropertyChangeListener()` method was removed in Java 9.. In order to listen to property change events, please consider overriding the `java.util.logging.LogManager.readConfiguration` methods,. which previously triggered property change events for the registered listeners. + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: APIs removed in JDK 9 + url: https://docs.oracle.com/en/java/javase/16/migrate/removed-apis.html#GUID-B96BD00F-12A4-493A-9907-2FFE8DA6748C + message: '`java.util.logging.LogManager.addPropertyChangeListener()` method was + removed in Java 9.. In order to listen to property change events, please consider + overriding the `java.util.logging.LogManager.readConfiguration` methods,. which + previously triggered property change events for the registered listeners.' + ruleID: java-removals-00050 + when: + java.referenced: + pattern: java.util.logging.LogManager.addPropertyChangeListener* +- category: mandatory + customVariables: [] + description: |- + The java.util.logging.LogManager.removePropertyChangeListener() method was removed in Java 9 + `java.util.logging.LogManager.removePropertyChangeListener()` method was removed in Java 9.. In order to listen to property change events, please consider overriding the `java.util.logging.LogManager.readConfiguration` methods,. which previously triggered property change events for the registered listeners. + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: APIs removed in JDK 9 + url: https://docs.oracle.com/en/java/javase/16/migrate/removed-apis.html#GUID-B96BD00F-12A4-493A-9907-2FFE8DA6748C + message: '`java.util.logging.LogManager.removePropertyChangeListener()` method was + removed in Java 9.. In order to listen to property change events, please consider + overriding the `java.util.logging.LogManager.readConfiguration` methods,. which + previously triggered property change events for the registered listeners.' + ruleID: java-removals-00060 + when: + java.referenced: + pattern: java.util.logging.LogManager.removePropertyChangeListener* +- category: mandatory + customVariables: [] + description: |- + Property listener methods on `Pack200.Packer` and `Pack200.Unpacker` have been removed + Property listener methods on `Pack200.Packer` and `Pack200.Unpacker` have been removed.. Instead, a strategy based on polling the `PROGRESS` value maintained by `java.util.jar.Pack200.Packer`. or `java.util.jar.Pack200.Unpacker` is recommended. + effort: 3 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: java.util.jar.Packer API + url: https://docs.oracle.com/javase/8/docs/api/java/util/jar/Pack200.Packer.html + - title: java.util.jar.Unpacker API + url: https://docs.oracle.com/javase/8/docs/api/java/util/jar/Pack200.Unpacker.html + message: Property listener methods on `Pack200.Packer` and `Pack200.Unpacker` have + been removed.. Instead, a strategy based on polling the `PROGRESS` value maintained + by `java.util.jar.Pack200.Packer`. or `java.util.jar.Pack200.Unpacker` is recommended. + ruleID: java-removals-00100 + when: + or: + - java.referenced: + pattern: java.util.jar.Pack200.Packer.addPropertyChangeListener* + - java.referenced: + pattern: java.util.jar.Pack200.Packer.removePropertyChangeListener* + - java.referenced: + pattern: java.util.jar.Pack200.Unpacker.addPropertyChangeListener* + - java.referenced: + pattern: java.util.jar.Pack200.Unpacker.removePropertyChangeListener* +- category: mandatory + customVariables: + - name: method-name + nameOfCaptureGroup: method-name + pattern: sun.misc.Unsafe.(?P(getInt|putInt|getFloat|putFloat|getDouble|putDouble|getBoolean|putBoolean|getObject|putObject|getByte|putByte|getChar|putChar|getShort|putShort|getLong|putLong|fieldOffset|staticFieldBase|tryMonitorEnter|monitorEnter|monitorExit))?({*}) + description: |- + Methods in `sun.misc.Unsafe` have been removed + The `sun.misc.Unsafe` API is scheduled for removal in the long term, and some of its methods have been removed. In short term, please consider the following:. - The `get` and `put` methods have equivalents that take long offsets (OpenJDK 8's version of the removed methods just casts the int offsets and used the long versions).. - `fieldOffset(Field)` should be replaced by `staticFieldOffset(Field)` and `ObjectFieldOffset(Field)`.. - `staticFieldBase(Class)` should be replaced by asking for a specific field with `staticFieldBase(Field)`. The removed method only returned the address of the first static field in the class and relied on the assumption that the JVM stored all statics together, which may not be true.. - `tryMonitorEnter(Object)` and `monitorExit(Object)` can be replaced with use of the Java synchronized primitives, as illustrated in the test changes for JDK-8054494 (see links below).. In the long term, please consider using Variable Handles (see the link below) + effort: 2 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Test changes for JDK-8054494 + url: https://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/0a0a0986400e#l2.19 + - title: Variable Handles + url: https://openjdk.java.net/jeps/193 + message: The `sun.misc.Unsafe` API is scheduled for removal in the long term, and + some of its methods have been removed. In short term, please consider the following:. + - The `get` and `put` methods have equivalents that take long offsets (OpenJDK + 8's version of the removed methods just casts the int offsets and used the long + versions).. - `fieldOffset(Field)` should be replaced by `staticFieldOffset(Field)` + and `ObjectFieldOffset(Field)`.. - `staticFieldBase(Class)` should be replaced + by asking for a specific field with `staticFieldBase(Field)`. The removed method + only returned the address of the first static field in the class and relied on + the assumption that the JVM stored all statics together, which may not be true.. + - `tryMonitorEnter(Object)` and `monitorExit(Object)` can be replaced with use + of the Java synchronized primitives, as illustrated in the test changes for JDK-8054494 + (see links below).. In the long term, please consider using Variable Handles (see + the link below) + ruleID: java-removals-00110 + when: + java.referenced: + pattern: sun.misc.Unsafe.(getInt|putInt|getFloat|putFloat|getDouble|putDouble|getBoolean|putBoolean|getObject|putObject|getByte|putByte|getChar|putChar|getShort|putShort|getLong|putLong|fieldOffset|staticFieldBase|tryMonitorEnter|monitorEnter|monitorExit)* +- category: mandatory + customVariables: + - name: encoder-decoder + nameOfCaptureGroup: encoder-decoder + pattern: sun.misc.BASE64(?P(Encoder|Decoder))?{*} + description: | + The `sun.misc.BASE64{encoder-decoder}` class has been removed + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: java.util.Base64 - Javadoc + url: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Base64.html + - title: Code example + url: https://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/9078c34437ab + - title: OpenJDK - Original enhancement request + url: https://bugs.openjdk.java.net/browse/JDK-8006182 + message: The `sun.misc.BASE64{{encoder-decoder}}` class has been removed.. It can + be replaced with `Base64.{{encoder-decoder}}` class instantiated using `java.util.Base64.getMime{{encoder-decoder}}()` + method.. For further examples on how to replace the `BASE64{{encoder-decoder}}` + class with `Base64.{{encoder-decoder}}` one, refer to the "Code example" link + below. + ruleID: java-removals-00120 + when: + java.referenced: + pattern: sun.misc.BASE64(Encoder|Decoder)* +- category: mandatory + customVariables: [] + description: |- + The `runFinalizersOnExit` methods have been removed + The `java.lang.System.runFinalizersOnExit(boolean value)` and `java.lang.Runtime.runFinalizersOnExit(boolean value)`. have been removed as they are regarded as inherently unsafe. Running finalizers on exit was disabled by default. and enabling it could result in finalizers being called on live objects which are still being manipulated by other threads.. Remove these method calls. + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: JDK 11 removed APIs + url: https://docs.oracle.com/en/java/javase/11/migrate/index.html#JSMIG-GUID-4B613B7E-B150-4D0A-835C-2393C60BE1F8 + message: The `java.lang.System.runFinalizersOnExit(boolean value)` and `java.lang.Runtime.runFinalizersOnExit(boolean + value)`. have been removed as they are regarded as inherently unsafe. Running + finalizers on exit was disabled by default. and enabling it could result in finalizers + being called on live objects which are still being manipulated by other threads.. + Remove these method calls. + ruleID: java-removals-00130 + when: + or: + - java.referenced: + pattern: java.lang.System.runFinalizersOnExit* + - java.referenced: + pattern: java.lang.Runtime.runFinalizersOnExit* +- category: mandatory + customVariables: [] + description: |- + The `java.awt.Font.getPeer()` and `java.awt.Component.getPeer()` methods have been removed + The `java.awt.Font.getPeer()` and `java.awt.Component.getPeer()` methods have been removed.. The `java.awt.peer` and `java.awt.dnd.peer` are no longer accessible and are considered. internal implementation details, the API may be removed without notice or changed in non. compatible ways.. Methods exposing this API, such as `java.awt.Font.getPeer()` have been removed since JDK 9.. Since Font rendering is platform independent, there are no substitutes for this method. + effort: 3 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: java.awt.peer Not Accessible + url: https://docs.oracle.com/en/java/javase/11/migrate/index.html#JSMIG-GUID-0C350BAB-F2C8-409E-AD3E-63831C684A55 + message: The `java.awt.Font.getPeer()` and `java.awt.Component.getPeer()` methods + have been removed.. The `java.awt.peer` and `java.awt.dnd.peer` are no longer + accessible and are considered. internal implementation details, the API may be + removed without notice or changed in non. compatible ways.. Methods exposing this + API, such as `java.awt.Font.getPeer()` have been removed since JDK 9.. Since Font + rendering is platform independent, there are no substitutes for this method. + ruleID: java-removals-00140 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: java.awt.Font.getPeer* + - java.referenced: + location: METHOD_CALL + pattern: java.awt.Component.getPeer* +- category: potential + customVariables: [] + description: |- + Changes in ClassLoader hierarchy in JDK 11 may impact code + The changes that were implemented in JDK 9 may impact code that creates class loaders with null (that is, the bootstrap class loader). as the parent class loader and assumes that all platform classes are visible to the parent.. Such code may need to be changed to use the platform class loader as the parent (see the links below) + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: JDK11 New Classloader Implementations + url: https://docs.oracle.com/en/java/javase/11/migrate/index.html#JSMIG-GUID-A868D0B9-026F-4D46-B979-901834343F9E + - title: ClassLoader Constructor API + url: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/ClassLoader.html#%3Cinit%3E(java.lang.ClassLoader) + message: The changes that were implemented in JDK 9 may impact code that creates + class loaders with null (that is, the bootstrap class loader). as the parent class + loader and assumes that all platform classes are visible to the parent.. Such + code may need to be changed to use the platform class loader as the parent (see + the links below) + ruleID: java-removals-00150 + when: + java.referenced: + pattern: java.lang.ClassLoader diff --git a/resources/rulesets/openjdk11/146-removed-javaee-modules.windup.yaml b/resources/rulesets/openjdk11/146-removed-javaee-modules.windup.yaml new file mode 100644 index 0000000..362c83e --- /dev/null +++ b/resources/rulesets/openjdk11/146-removed-javaee-modules.windup.yaml @@ -0,0 +1,67 @@ +- category: mandatory + customVariables: [] + description: |- + The java.activation (JAF) module has been removed from OpenJDK 11 + Add the `jakarta.activation` dependency to your application's `pom.xml`.. `jakarta.activation`. `jakarta.activation` + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Removed Java EE modules + url: https://www.oracle.com/java/technologies/javase/11-relnote-issues.html#JDK-8190378 + message: Add the `jakarta.activation` dependency to your application's `pom.xml`.. + `jakarta.activation`. `jakarta.activation` + ruleID: removed-javaee-modules-00000 + when: + java.referenced: + location: IMPORT + pattern: javax.activation* +- category: mandatory + customVariables: [] + description: |- + The java.corba module has been removed from OpenJDK 11 + The `java.corba` (CORBA) module has been removed from OpenJDK 11.. If you wish to continue using CORBA within your application consider using the GlassFish implementation of CORBA and RMI-IIOP. + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: GlassFish implementation of CORBA and RMI-IIOP + url: https://javaee.github.io/glassfish-corba/index.html + - title: Removed Java EE modules + url: https://www.oracle.com/java/technologies/javase/11-relnote-issues.html#JDK-8190378 + message: The `java.corba` (CORBA) module has been removed from OpenJDK 11.. If you + wish to continue using CORBA within your application consider using the GlassFish + implementation of CORBA and RMI-IIOP. + ruleID: removed-javaee-modules-00010 + when: + or: + - java.referenced: + location: IMPORT + pattern: javax.activity* + - java.referenced: + location: IMPORT + pattern: javax.rmi* + - java.referenced: + location: IMPORT + pattern: com.sun.corba* +- category: mandatory + customVariables: [] + description: |- + The java.annotation (Common Annotations) module has been removed from OpenJDK 11 + Add the `jakarta.annotation` dependency to your application's `pom.xml`.. `jakarta.annotation`. `jakarta.annotation-api` + effort: 1 + labels: + - konveyor.io/source=openjdk8 + - konveyor.io/target=openjdk11 + links: + - title: Removed Java EE modules + url: https://www.oracle.com/java/technologies/javase/11-relnote-issues.html#JDK-8190378 + message: Add the `jakarta.annotation` dependency to your application's `pom.xml`.. + `jakarta.annotation`. `jakarta.annotation-api` + ruleID: removed-javaee-modules-00020 + when: + java.referenced: + location: IMPORT + pattern: javax.annotation* diff --git a/resources/rulesets/openjdk11/image.svg b/resources/rulesets/openjdk11/image.svg new file mode 100644 index 0000000..07f51f9 --- /dev/null +++ b/resources/rulesets/openjdk11/image.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/resources/rulesets/openjdk11/ruleset.yaml b/resources/rulesets/openjdk11/ruleset.yaml new file mode 100644 index 0000000..1fb587b --- /dev/null +++ b/resources/rulesets/openjdk11/ruleset.yaml @@ -0,0 +1,3 @@ +name: openjdk11/openjdk8 +description: This ruleset provides analysis with respect to API removals between OpenJDK + 8 and 11. diff --git a/resources/rulesets/openjdk17/147-applet-api-deprecation.windup.yaml b/resources/rulesets/openjdk17/147-applet-api-deprecation.windup.yaml new file mode 100644 index 0000000..3d606bd --- /dev/null +++ b/resources/rulesets/openjdk17/147-applet-api-deprecation.windup.yaml @@ -0,0 +1,24 @@ +- category: mandatory + customVariables: [] + description: |- + The Java Applet API has been deprecated + The Java Applet API has been deprecated and will be removed in future releases, since modern web browsers no longer support Java applets any references to it should be removed. + effort: 3 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 398: Deprecate the Applet API for Removal' + url: https://openjdk.org/jeps/398 + message: The Java Applet API has been deprecated and will be removed in future releases, + since modern web browsers no longer support Java applets any references to it + should be removed. + ruleID: applet-api-deprecation-00000 + when: + or: + - java.referenced: + pattern: java.applet* + - java.referenced: + pattern: java.beans.AppletInitializer + - java.referenced: + pattern: javax.swing.JApplet diff --git a/resources/rulesets/openjdk17/148-lombok.windup.yaml b/resources/rulesets/openjdk17/148-lombok.windup.yaml new file mode 100644 index 0000000..91cf75a --- /dev/null +++ b/resources/rulesets/openjdk17/148-lombok.windup.yaml @@ -0,0 +1,20 @@ +- category: mandatory + customVariables: [] + description: |- + The Lombok version is incompatible with Open JDK 17 + Lombok supports Java 17 since version 1.18.22. The version of Lombok used in this project is too old and not compatible with Java 17. You should consider upgrading it. + effort: 3 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: Upgrade Lombok version to support Java 17 + url: https://github.com/projectlombok/lombok/issues/2898 + message: Lombok supports Java 17 since version 1.18.22. The version of Lombok used + in this project is too old and not compatible with Java 17. You should consider + upgrading it. + ruleID: lombok-incompatibility-00001 + when: + java.dependency: + name: org.projectlombok.lombok + upperbound: 1.18.22 diff --git a/resources/rulesets/openjdk17/149-removed-classes.windup.yaml b/resources/rulesets/openjdk17/149-removed-classes.windup.yaml new file mode 100644 index 0000000..e55811f --- /dev/null +++ b/resources/rulesets/openjdk17/149-removed-classes.windup.yaml @@ -0,0 +1,25 @@ +- category: mandatory + customVariables: + - name: class-name + nameOfCaptureGroup: class-name + pattern: java.util.jar.(?P(Pack200|Pack200.Packer|Pack200.Unpacker))? + description: |- + The java.util.jar.{class-name} class has been removed + After being deprecated in OpenJDK 11, the pack200,. unpack200 and corresponding java.util.jar.Pack200* classes were removed in OpenJDK 14.. Please look into switching to either the jlink tool or the jpackage tool to create. application-specific runtimes with an optimized factor. + effort: 3 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 367: Remove the Pack200 Tools and API' + url: https://openjdk.org/jeps/367 + - title: 'JEP 392: Packaging Tool (jpackage tool)' + url: https://openjdk.org/jeps/392 + message: After being deprecated in OpenJDK 11, the pack200,. unpack200 and corresponding + java.util.jar.Pack200* classes were removed in OpenJDK 14.. Please look into switching + to either the jlink tool or the jpackage tool to create. application-specific + runtimes with an optimized factor. + ruleID: removed-classes-00000 + when: + java.referenced: + pattern: java.util.jar.(Pack200|Pack200.Packer|Pack200.Unpacker) diff --git a/resources/rulesets/openjdk17/150-removed-packages.windup.yaml b/resources/rulesets/openjdk17/150-removed-packages.windup.yaml new file mode 100644 index 0000000..297b578 --- /dev/null +++ b/resources/rulesets/openjdk17/150-removed-packages.windup.yaml @@ -0,0 +1,44 @@ +- category: mandatory + customVariables: [] + description: |- + The java.rmi.activation detected + RMI activation and its associated daemon, rmid, and code package, java.rmi.activation were deprecated in OpenJDK 15 and removed in OpenJDK 17. + effort: 3 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 407: Remove RMI Activation' + url: https://openjdk.org/jeps/407 + message: RMI activation and its associated daemon, rmid, and code package, java.rmi.activation + were deprecated in OpenJDK 15 and removed in OpenJDK 17. + ruleID: removed-packages-00000 + when: + java.referenced: + location: IMPORT + pattern: java.rmi.activation* +- category: mandatory + customVariables: [] + description: |- + The jdk.nashorn.api.scripting and jdk.nashorn.api.tree packages have been removed + The Nashorn scripting implementation has been removed from OpenJDK 15 onwards.. The javax.script API is still present and third party implementations, such as Rhino or Nashorn itself, can be installed if needed. Any references to its packages should be removed or substituted with the third party implementations. + effort: 3 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 372: Remove RMI Activation' + url: https://openjdk.org/jeps/372 + - title: openjdk/nashorn + url: https://github.com/openjdk/nashorn + message: The Nashorn scripting implementation has been removed from OpenJDK 15 onwards.. + The javax.script API is still present and third party implementations, such as + Rhino or Nashorn itself, can be installed if needed. Any references to its packages + should be removed or substituted with the third party implementations. + ruleID: removed-packages-00010 + when: + or: + - java.referenced: + pattern: jdk.nashorn.api.scripting* + - java.referenced: + pattern: jdk.nashorn.api.tree* diff --git a/resources/rulesets/openjdk17/151-security-manager-deprecation.windup.yaml b/resources/rulesets/openjdk17/151-security-manager-deprecation.windup.yaml new file mode 100644 index 0000000..01931a6 --- /dev/null +++ b/resources/rulesets/openjdk17/151-security-manager-deprecation.windup.yaml @@ -0,0 +1,157 @@ +- category: mandatory + customVariables: + - name: class-name + nameOfCaptureGroup: class-name + pattern: java.security.(?P(AccessController|AccessControlContext|AccessControlException|DomainCombiner|Policy|PolicySpi|Policy.Parameters))? + description: |- + The java.security.{class-name} class has been deprecated + The Java Security Manager API is deprecated in Java 17. Any references to it should be removed.. See the link for further information. + effort: 5 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 411: Deprecate the Security Manager for Removal' + url: https://openjdk.org/jeps/411 + message: The Java Security Manager API is deprecated in Java 17. Any references + to it should be removed.. See the link for further information. + ruleID: security-manager-deprecation-00000 + when: + java.referenced: + pattern: java.security.(AccessController|AccessControlContext|AccessControlException|DomainCombiner|Policy|PolicySpi|Policy.Parameters) +- category: mandatory + customVariables: + - name: fqcn + nameOfCaptureGroup: fqcn + pattern: (?P(java.lang.SecurityManager|java.rmi.RMISecurityManager|javax.security.auth.SubjectDomainCombiner))? + description: |- + The {fqcn} class has been deprecated + References to Java Security Manager API classes deprecated in Java 17. Any references to it should be removed.. See the link for further information. + effort: 5 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 411: Deprecate the Security Manager for Removal' + url: https://openjdk.org/jeps/411 + message: References to Java Security Manager API classes deprecated in Java 17. + Any references to it should be removed.. See the link for further information. + ruleID: security-manager-deprecation-00010 + when: + java.referenced: + pattern: (java.lang.SecurityManager|java.rmi.RMISecurityManager|javax.security.auth.SubjectDomainCombiner) +- category: mandatory + customVariables: + - name: method-name + nameOfCaptureGroup: method-name + pattern: java.lang.System.(?P(getSecurityManager|setSecurityManager))?({*}) + description: |- + The java.lang.System.{method-name} method has been deprecated + The java.lang.System::getSecurityManager and java.lang.System::setSecurityManager methods have been deprecated in Java 17.. See the link for further information. + effort: 5 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 411: Deprecate the Security Manager for Removal' + url: https://openjdk.org/jeps/411 + message: The java.lang.System::getSecurityManager and java.lang.System::setSecurityManager + methods have been deprecated in Java 17.. See the link for further information. + ruleID: security-manager-deprecation-00020 + when: + java.referenced: + pattern: java.lang.System.(getSecurityManager|setSecurityManager)* +- category: mandatory + customVariables: [] + description: |- + java.lang.Thread.checkAccess method has been deprecated + The java.lang.Thread::checkAccess method has been deprecated in Java 17.. See the link for further information. + effort: 5 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 411: Deprecate the Security Manager for Removal' + url: https://openjdk.org/jeps/411 + message: The java.lang.Thread::checkAccess method has been deprecated in Java 17.. + See the link for further information. + ruleID: security-manager-deprecation-00030 + when: + java.referenced: + pattern: java.lang.Thread.checkAccess* +- category: mandatory + customVariables: [] + description: |- + java.lang.ThreadGroup.checkAccess method has been deprecated + The java.lang.ThreadGroup::checkAccess method has been deprecated in Java 17.. See the link for further information. + effort: 5 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 411: Deprecate the Security Manager for Removal' + url: https://openjdk.org/jeps/411 + message: The java.lang.ThreadGroup::checkAccess method has been deprecated in Java + 17.. See the link for further information. + ruleID: security-manager-deprecation-00040 + when: + java.referenced: + pattern: java.lang.ThreadGroup.checkAccess* +- category: mandatory + customVariables: [] + description: |- + java.util.logging.LogManager.checkAccess method has been deprecated + The java.util.logging.LogManager::checkAccess method has been deprecated in Java 17.. See the link for further information. + effort: 5 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 411: Deprecate the Security Manager for Removal' + url: https://openjdk.org/jeps/411 + message: The java.util.logging.LogManager::checkAccess method has been deprecated + in Java 17.. See the link for further information. + ruleID: security-manager-deprecation-00050 + when: + java.referenced: + pattern: java.util.logging.LogManager.checkAccess* +- category: mandatory + customVariables: + - name: method-names + nameOfCaptureGroup: method-names + pattern: java.util.concurrent.Executors.(?P(privilegedCallable|privilegedCallableUsingCurrentClassLoader|privilegedThreadFactory))?({*}) + description: | + The java.util.concurrent.Executors.{method-names} method has been deprecated + effort: 5 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 411: Deprecate the Security Manager for Removal' + url: https://openjdk.org/jeps/411 + message: The java.util.concurrent.Executors::{{method-names}} method has been deprecated + in Java 17.. See the link for further information. + ruleID: security-manager-deprecation-00060 + when: + java.referenced: + pattern: java.util.concurrent.Executors.(privilegedCallable|privilegedCallableUsingCurrentClassLoader|privilegedThreadFactory)* +- category: mandatory + customVariables: + - name: meth-name + nameOfCaptureGroup: meth-name + pattern: javax.security.auth.Subject.(?P(doAsPrivileged|getSubject))?({*}) + description: | + javax.security.auth.Subject.{meth-name} method has been deprecated + effort: 5 + labels: + - konveyor.io/source=openjdk11 + - konveyor.io/target=openjdk17 + links: + - title: 'JEP 411: Deprecate the Security Manager for Removal' + url: https://openjdk.org/jeps/411 + message: The javax.security.auth.Subject::{{meth-name}} method has been deprecated + in Java 17.. See the link for further information. + ruleID: security-manager-deprecation-00070 + when: + java.referenced: + pattern: javax.security.auth.Subject.(doAsPrivileged|getSubject)* diff --git a/resources/rulesets/openjdk17/image.svg b/resources/rulesets/openjdk17/image.svg new file mode 100644 index 0000000..07f51f9 --- /dev/null +++ b/resources/rulesets/openjdk17/image.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/resources/rulesets/openjdk17/ruleset.yaml b/resources/rulesets/openjdk17/ruleset.yaml new file mode 100644 index 0000000..bed601f --- /dev/null +++ b/resources/rulesets/openjdk17/ruleset.yaml @@ -0,0 +1,3 @@ +name: openjdk17/openjdk11 +description: This ruleset provides analysis with respect to Lombok incompatibility + between OpenJDK 11 to 17. diff --git a/resources/rulesets/openjdk7/152-oracle2openjdk.rhamt.yaml b/resources/rulesets/openjdk7/152-oracle2openjdk.rhamt.yaml new file mode 100644 index 0000000..0584e20 --- /dev/null +++ b/resources/rulesets/openjdk7/152-oracle2openjdk.rhamt.yaml @@ -0,0 +1,222 @@ +- category: potential + customVariables: [] + description: |- + JavaFX usage + Currently OpenJFX (open-source implementation of JavaFX) is neither shipped nor supported on RHEL. + effort: 0 + labels: + - konveyor.io/source=oraclejdk7 + - konveyor.io/target=openjdk7 + - oracle-jdk + - jdk + - JavaFX + links: + - title: Knowledge base article about JavaFX support in RHEL + url: https://access.redhat.com/solutions/3299701 + - title: RFE to include OpenJFX in RHEL + url: https://bugzilla.redhat.com/show_bug.cgi?id=1275610 + message: Currently OpenJFX (open-source implementation of JavaFX) is neither shipped + nor supported on RHEL. + ruleID: oracle2openjdk-00000 + when: + java.referenced: + location: IMPORT + pattern: javafx* +- category: potential + customVariables: [] + description: |- + Fonts usage + The font library is different in OpenJDK compared to OracleJDK.. This means slightly different text layout in some cases.. Ensure with tests that the output is still as expected. + effort: 0 + labels: + - konveyor.io/source=oraclejdk7 + - konveyor.io/target=openjdk7 + - oracle-jdk + - jdk + - fonts + links: + - title: Knowledge base article OracleJDK vs. OpenJDK + url: https://access.redhat.com/solutions/2489791 + message: The font library is different in OpenJDK compared to OracleJDK.. This means + slightly different text layout in some cases.. Ensure with tests that the output + is still as expected. + ruleID: oracle2openjdk-00001 + when: + or: + - java.referenced: + location: IMPORT + pattern: (java.awt|javafx.scene.text).Font + - java.referenced: + location: METHOD_CALL + pattern: (java.awt|javafx.scene.text)*Font* + - java.referenced: + location: METHOD_CALL + pattern: javax.swing**Font* +- category: potential + customVariables: [] + description: |- + Resource management API usage + OpenJDK does not support the resource management API for Java. + effort: 0 + labels: + - konveyor.io/source=oraclejdk7 + - konveyor.io/target=openjdk7 + - oracle-jdk + - jdk + - Oracle-JDK-resource-management + links: + - title: Knowledge base article OracleJDK vs. OpenJDK + url: https://access.redhat.com/solutions/2489791 + message: OpenJDK does not support the resource management API for Java. + ruleID: oracle2openjdk-00002 + when: + java.referenced: + pattern: jdk.management.resource* +- category: potential + customVariables: [] + description: |- + Color management usage + OracleJDK used to use KCMS as color mangement system up until JDK7 by default. It switched to Little CMS (LCMS) with JDK8.. OpenJDK uses LCMS. If you continued to use KCMS by using the property ``sun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider``, remove this property and ensure in your tests that your application still works as expected. + effort: 0 + labels: + - konveyor.io/source=oraclejdk7 + - konveyor.io/target=openjdk7 + - oracle-jdk + - jdk + - JDK-color-management + links: + - title: Knowledge base article OracleJDK vs. OpenJDK + url: https://access.redhat.com/solutions/2489791 + message: OracleJDK used to use KCMS as color mangement system up until JDK7 by default. + It switched to Little CMS (LCMS) with JDK8.. OpenJDK uses LCMS. If you continued + to use KCMS by using the property ``sun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider``, + remove this property and ensure in your tests that your application still works + as expected. + ruleID: oracle2openjdk-00003 + when: + java.referenced: + pattern: java.awt.Color +- category: potential + customVariables: + - name: package + nameOfCaptureGroup: package + pattern: java.awt.(?P(geom|color|font|image|image\.renderable|print))?{*} + description: |- + Java 2D library usage + OpenJDK has its own 2D library, different from the proprietary JDK. This means that its performance may be different.. Ensure during your tests that the application behaves as expected. + effort: 0 + labels: + - konveyor.io/source=oraclejdk7 + - konveyor.io/target=openjdk7 + - oracle-jdk + - jdk + - 2DLibrary + links: + - title: Knowledge base article OracleJDK vs. OpenJDK + url: https://access.redhat.com/solutions/2489791 + message: OpenJDK has its own 2D library, different from the proprietary JDK. This + means that its performance may be different.. Ensure during your tests that the + application behaves as expected. + ruleID: oracle2openjdk-00004 + when: + java.referenced: + location: IMPORT + pattern: java.awt.(geom|color|font|image|image.renderable|print)* +- category: potential + customVariables: [] + description: |- + Crypto: elliptic curves usage + When on RHEL, OpenJDK uses the NSS crypto library from RHEL instead of the built-in one.. This mostly affects elliptic curve cryptography, where OpenJDK supports all of the RHEL curves and none of the others.. A list of all cipher suits of NSS in RHEL:. * RHEL6: [https://access.redhat.com/articles/1470663](https://access.redhat.com/articles/1470663). * RHEL7: [https://access.redhat.com/articles/1463663](https://access.redhat.com/articles/1463663) + effort: 0 + labels: + - konveyor.io/source=oraclejdk7 + - konveyor.io/target=openjdk7 + - oracle-jdk + - jdk + - crypto + links: + - title: Knowledge base article OracleJDK vs. OpenJDK + url: https://access.redhat.com/solutions/2489791 + message: 'When on RHEL, OpenJDK uses the NSS crypto library from RHEL instead of + the built-in one.. This mostly affects elliptic curve cryptography, where OpenJDK + supports all of the RHEL curves and none of the others.. A list of all cipher + suits of NSS in RHEL:. * RHEL6: [https://access.redhat.com/articles/1470663](https://access.redhat.com/articles/1470663). + * RHEL7: [https://access.redhat.com/articles/1463663](https://access.redhat.com/articles/1463663)' + ruleID: oracle2openjdk-00005 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: java.security.KeyPairGenerator.getInstance(* + - java.referenced: + location: METHOD_CALL + pattern: javax.crypto.KeyAgreement.getInstance(* + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: java.security.spec.EC* + - java.referenced: + location: IMPORT + pattern: java.security.spec.EC* + - java.referenced: + location: INHERITANCE + pattern: java.security.spec.EC* + - java.referenced: + location: METHOD_CALL + pattern: java.security.spec.EC* + - java.referenced: + location: VARIABLE_DECLARATION + pattern: java.security.spec.EC* + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: java.security.spec.EllipticCurve* + - java.referenced: + location: IMPORT + pattern: java.security.spec.EllipticCurve* + - java.referenced: + location: INHERITANCE + pattern: java.security.spec.EllipticCurve* + - java.referenced: + location: METHOD_CALL + pattern: java.security.spec.EllipticCurve* + - java.referenced: + location: VARIABLE_DECLARATION + pattern: java.security.spec.EllipticCurve* +- category: mandatory + customVariables: [] + description: |- + Oracle JDK JPEG image encoder/decoder usage + Replace the use of classes and methods from the `com.sun.image.codec.jpeg` package with `javax.imageio.ImageIO` + effort: 3 + labels: + - konveyor.io/source=oraclejdk7 + - konveyor.io/target=openjdk7 + - oracle-jdk + - jdk + links: + - title: 'java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException + when using OpenJDK' + url: https://access.redhat.com/solutions/443673 + - title: Java Image I/O tutorial + url: https://docs.oracle.com/javase/tutorial/2d/images/saveimage.html + - title: Java Image I/O API Guide + url: https://docs.oracle.com/javase/8/docs/technotes/guides/imageio/spec/imageio_guideTOC.fm.html + message: Replace the use of classes and methods from the `com.sun.image.codec.jpeg` + package with `javax.imageio.ImageIO` + ruleID: oracle2openjdk-00006 + when: + or: + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: com.sun.image.codec.jpeg* + - java.referenced: + location: IMPORT + pattern: com.sun.image.codec.jpeg* + - java.referenced: + location: INHERITANCE + pattern: com.sun.image.codec.jpeg* + - java.referenced: + location: METHOD_CALL + pattern: com.sun.image.codec.jpeg* + - java.referenced: + location: VARIABLE_DECLARATION + pattern: com.sun.image.codec.jpeg* diff --git a/resources/rulesets/openjdk7/image.svg b/resources/rulesets/openjdk7/image.svg new file mode 100644 index 0000000..07f51f9 --- /dev/null +++ b/resources/rulesets/openjdk7/image.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/resources/rulesets/openjdk7/ruleset.yaml b/resources/rulesets/openjdk7/ruleset.yaml new file mode 100644 index 0000000..926f47d --- /dev/null +++ b/resources/rulesets/openjdk7/ruleset.yaml @@ -0,0 +1,3 @@ +name: openjdk7/oraclejdk7 +description: This ruleset provides analysis with respect to the migration from OracleJDK + to OpenJDK. diff --git a/resources/rulesets/openliberty/153-liberty-java-unavailable-technologies.windup.yaml b/resources/rulesets/openliberty/153-liberty-java-unavailable-technologies.windup.yaml new file mode 100644 index 0000000..ac10d5d --- /dev/null +++ b/resources/rulesets/openliberty/153-liberty-java-unavailable-technologies.windup.yaml @@ -0,0 +1,307 @@ +- category: mandatory + customVariables: [] + description: |- + Java EE Application Deployment API is unavailable +
Java EE Application Deployment API.

This rule flags Java code that references the javax.enterprise.deploy package.

.

The Java EE Application Deployment API is not supported on Liberty or Liberty Core. The technology is deprecated in WebSphere Application Server traditional V9.0. If your application uses the Java EE Application Deployment API, you can deploy this part of your application on WebSphere Application Server traditional but the capability might be removed in a later version.

.

Use another way to deploy applications to the server, such as wsadmin scripting and JMX MBeans. The closest method to using the Java EE Deployment API is to use WebSphere JMX MBeans. For more information, see Ways to install enterprise applications or modules.

.

For Liberty, see Deploying applications in Liberty.

.
+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
Java EE Application Deployment + API.

This rule flags Java code that references the javax.enterprise.deploy + package.

.

The Java EE Application Deployment API is not supported on + Liberty or Liberty Core. The technology is deprecated in WebSphere Application + Server traditional V9.0. If your application uses the Java EE Application Deployment + API, you can deploy this part of your application on WebSphere Application Server + traditional but the capability might be removed in a later version.

.

+ Use another way to deploy applications to the server, such as wsadmin scripting + and JMX MBeans. The closest method to using the Java EE Deployment API is to use + WebSphere JMX MBeans. For more information, see Ways to install enterprise applications or modules.

.

For + Liberty, see Deploying applications in Liberty.

.
+ ruleID: DetectJavaApplicationDeploymentJava + when: + java.referenced: + pattern: javax.enterprise.deploy* +- category: mandatory + customVariables: + - name: DetectJavaPortlet_0_packages + nameOfCaptureGroup: DetectJavaPortlet_0_packages + pattern: (?P(javax.portlet\.[^.]+|javax.portlet.filter\.[^.]+))? + description: |- + Java Portlet is unsupported +
.

This rule flags Java code that has references to the following packages:

.
    .
  • javax.portlet
  • .
  • javax.portlet.filter
  • .
.

This rule also flags the following references in the portlet.xml file:

.
    .
  • <portlet-app></portlet-app>
  • .
.

The Java Portlet API and its deployment descriptors are not supported on Liberty. Deploy this part of your application on WebSphere Application Server traditional.

.
+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

This rule flags Java code that has references + to the following packages:

.
    .
  • javax.portlet
  • .
  • javax.portlet.filter
  • . +
.

This rule also flags the following references in the portlet.xml file: +

.
    .
  • <portlet-app></portlet-app>
  • .
. +

The Java Portlet API and its deployment descriptors are not supported on Liberty. + Deploy this part of your application on WebSphere Application Server traditional. +

.
' + ruleID: DetectJavaPortlet + when: + java.referenced: + pattern: (javax.portlet*|javax.portlet.filter*) +- category: mandatory + customVariables: + - name: DetectJAXRJava_0_packages + nameOfCaptureGroup: DetectJAXRJava_0_packages + pattern: (?P(javax.xml.registry\.[^.]+|javax.xml.registry.infomodel\.[^.]+))? + description: |- + Java API for XML Registries (JAXR) is unavailable +
Java API for XML Registries (JAXR).

This rule flags Java code that has references to the following packages:

.
    .
  • javax.xml.registry
  • .
  • javax.xml.registry.infomodel
  • .
.

The Java API for XML Registries (JAXR) is not supported on Liberty or Liberty Core. The API is deprecated in WebSphere Application Server traditional V9.0. If your application uses the JAXR API, you can deploy this part of your application on WebSphere Application Server traditional but the capability might be removed in a later version. It is recommended to migrate to using UDDI Version 3 to replace JAXR technologies.

.
+ effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
Java API for XML Registries + (JAXR).

This rule flags Java code that has references to the following + packages:

.
    .
  • javax.xml.registry
  • .
  • javax.xml.registry.infomodel
  • . +
.

The Java API for XML Registries (JAXR) is not supported on Liberty or + Liberty Core. The API is deprecated in WebSphere Application Server traditional + V9.0. If your application uses the JAXR API, you can deploy this part of your + application on WebSphere Application Server traditional but the capability might + be removed in a later version. It is recommended to migrate to using UDDI Version + 3 to replace JAXR technologies.

.
' + ruleID: DetectJAXRJava + when: + java.referenced: + pattern: (javax.xml.registry*|javax.xml.registry.infomodel*) +- category: mandatory + customVariables: + - name: DetectRemoteBundleRepositoriesJava_0_packages + nameOfCaptureGroup: DetectRemoteBundleRepositoriesJava_0_packages + pattern: (?Porg.osgi.service.repository\.[^.]+)? + description: |- + The OSGI remote bundle repository service API is unavailable +
.

The OSGI repository service APIs is not supported in Liberty or Liberty Core.

.

This rule flags java references to APIs in the org.osgi.service.repository package.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

The OSGI repository service APIs is not supported + in Liberty or Liberty Core.

.

This rule flags java references to APIs in + the org.osgi.service.repository package.

.
+ ruleID: DetectRemoteBundleRepositoriesJava + when: + java.referenced: + pattern: org.osgi.service.repository* +- category: mandatory + customVariables: + - name: DetectRemoteServicesJava_0_packages + nameOfCaptureGroup: DetectRemoteServicesJava_0_packages + pattern: (?Porg.osgi.service.remoteserviceadmin\.[^.]+)? + description: |- + The OSGI Remote Service Admin API is unavailable +
.

The OSGI Remote Service Admin is not supported in Liberty or Liberty Core.

.

This rule flags java references to APIs in the org.osgi.service.remoteserviceadmin package.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

The OSGI Remote Service Admin is not supported in + Liberty or Liberty Core.

.

This rule flags java references to APIs in the + org.osgi.service.remoteserviceadmin package.

.
+ ruleID: DetectRemoteServicesJava + when: + java.referenced: + pattern: org.osgi.service.remoteserviceadmin* +- category: mandatory + customVariables: [] + description: |- + Web Services Notification (WS-Notification) is unavailable +
.

This rule flags Java code that has references to the org.oasis_open.docs.wsn package.

.

This rule also flags the following references in WSDL files:

.
    .
  • <import location="http://docs.oasis-open.org/wsn/*.wsdl"></import>
  • .
.

Web Services Notification (WS-Notification) is not supported on Liberty or Liberty Core. If your application uses WS-Notification, you can deploy this part of your application on WebSphere Application Server traditional.

.
+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

This rule flags Java code that has references + to the org.oasis_open.docs.wsn package.

.

This rule also flags + the following references in WSDL files:

.
    .
  • <import location="http://docs.oasis-open.org/wsn/*.wsdl"></import>
  • . +
.

Web Services Notification (WS-Notification) is not supported on Liberty + or Liberty Core. If your application uses WS-Notification, you can deploy this + part of your application on WebSphere Application Server traditional.

.
' + ruleID: DetectWSNotificationJava + when: + java.referenced: + pattern: org.oasis_open.docs.wsn* +- category: mandatory + customVariables: [] + description: |- + Entity Enterprise JavaBeans (EJB) are unavailable +
Entity Enterprise JavaBeans (EJB).

This rule flags entity elements in ejb-jar.xml files.

.

Entity beans are optional in the EJB 3.2 specification and are not supported on Liberty or Liberty Core. The entity bean API is deprecated in WebSphere Application Server traditional V8.5.5 and V9.0 and might be removed in a later version.

.

The EJBDeploy tool used to deploy applications with entity beans has also been deprecated and may be removed in the future, either at the same time entity beans are removed or prior.

.

The Java Persistence API (JPA) is an alternative to using EJB entity beans for new database and other persistence-related operations.

.

Upgrading entity beans can be difficult, but it can be simplified if your application uses design patterns such as DTO, Session Facade, and DAO.

.
+ effort: 13 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
Entity Enterprise JavaBeans + (EJB).

This rule flags entity elements in ejb-jar.xml + files.

.

Entity beans are optional in the EJB 3.2 specification and are + not supported on Liberty or Liberty Core. The entity bean API is deprecated in + WebSphere Application Server traditional V8.5.5 and V9.0 and might be removed + in a later version.

.

The EJBDeploy tool used to deploy applications with + entity beans has also been deprecated and may be removed in the future, either + at the same time entity beans are removed or prior.

.

The Java Persistence + API (JPA) is an alternative to using EJB entity beans for new database and other + persistence-related operations.

.

Upgrading entity beans can be difficult, + but it can be simplified if your application uses design patterns such as DTO, + Session Facade, and DAO.

.
+ ruleID: DetectEJBEntityBeansXML + when: + builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: {} + xpath: //*[local-name()='entity'] +- category: mandatory + customVariables: [] + description: |- + Transaction propagation is not supported for Enterprise JavaBeans (EJB) remote interfaces +
.

Liberty does not support outbound or inbound transaction propagation for EJB remote interfaces. By default, EJB beans are container-managed and use the Required transaction attribute. As a result, existing EJB definitions that do not specify any container-transaction properties are configured by default to use transactions although they are not supported.

.

This rule flags Java code that references the following EJB annotations that indicate the use of remote business or home interfaces:

.
    .
  • javax.ejb.Remote
  • .
  • javax.ejb.RemoteHome
  • .
.

This rule also flags the following references in the ejb-jar.xml file:

.
    .
  • <remote/>
  • .
  • <business-remote/>
  • .
.

The EJB specification requires products that support outbound transaction propagation to still send a null transaction context. This context must be rejected by EJB components that use the Required (default), Mandatory , or Supports transaction attributes. A client with an active global transaction cannot start an EJB bean with default transaction attributes if either the client or server is on Liberty.

.

To enable the client to start the EJB bean, change the EJB bean to use either the RequiresNew or NotSupported transaction attribute. Although these attributes will allow the EJB bean to start, the transactional work that is done by the EJB bean is not committed as part of the client transactions.

.

Note that transaction propagation is supported for EJB remote interfaces that are running in the same JVM, however this may only be determined with further investigation of the application behavior.

.

Make sure remote EJB interfaces are needed

.

Often EJB 2.x beans configure the remote interfaces in ejb-jar.xml even when they are not used. You only need remote interfaces if you have code running across two different JVMs. In WebSphere terms, this is either between two different application servers or between a client application and an application server running in different JVMs. CORBA information, such as an iiop:// provider URL, in an EJB lookup is also an indicator that remote EJB beans are being used.

.

If you are referencing EJB beans using a remote interface that are running in the same JVM, the Local interface can be used and will perform better. Where possible, change annotations from @Remote to @Local and from @RemoteHome to @LocalHome and test all your code scenarios. Likewise for ejb-jar.xml configuration, remove the <remote/> and <business-remote/> definitions and test all scenarios. While transaction propagation is supported for this scenario, the best practice is to convert to using local interfaces to improve performance and remove the perception that methods can be called externally from the same JVM.

.

If you really need remote interfaces

.
Wrap the EJB beans in a web service (JAX-WS)
.

For those EJB beans that require remote access, best practice is to wrap them in a web service. Refer to Annotating an EJB bean to create a web service for instructions on using WebSphere Application Server Developer Tools for Eclipse to make these code changes. After wrapping the EJB beans in web services, use the web service client to call the EJB web service. After testing, you can remove the EJB remote annotations or configuration.

.
Handling Transaction Propagation
Liberty provides Web Services Atomic Transaction (WS-AT) support which enables distributed global transactions. When your EJB are deployed as web services, WS-AT can be used to manage the transactions. See Web Services Atomic Transaction overview for more information..

For more information on related topics, see

. .
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

Liberty does not support outbound or inbound transaction + propagation for EJB remote interfaces. By default, EJB beans are container-managed + and use the Required transaction attribute. As a result, existing + EJB definitions that do not specify any container-transaction properties + are configured by default to use transactions although they are not supported. +

.

This rule flags Java code that references the following EJB annotations + that indicate the use of remote business or home interfaces:

.
    .
  • javax.ejb.Remote
  • . +
  • javax.ejb.RemoteHome
  • .
.

This rule also flags the + following references in the ejb-jar.xml file:

. +
    .
  • <remote/>
  • .
  • <business-remote/>
  • . +
.

The EJB specification requires products that support outbound transaction + propagation to still send a null transaction context. This context must be rejected + by EJB components that use the Required (default), Mandatory + , or Supports transaction attributes. A client with an active global + transaction cannot start an EJB bean with default transaction attributes if either + the client or server is on Liberty.

.

To enable the client to start the + EJB bean, change the EJB bean to use either the RequiresNew or NotSupported + transaction attribute. Although these attributes will allow the EJB bean to start, + the transactional work that is done by the EJB bean is not committed as part of + the client transactions.

.

Note that transaction propagation is supported + for EJB remote interfaces that are running in the same JVM, however this may only + be determined with further investigation of the application behavior.

.

Make + sure remote EJB interfaces are needed

.

Often EJB 2.x beans configure + the remote interfaces in ejb-jar.xml even when they are not used. You only need + remote interfaces if you have code running across two different JVMs. In WebSphere + terms, this is either between two different application servers or between a client + application and an application server running in different JVMs. CORBA information, + such as an iiop:// provider URL, in an EJB lookup is also an indicator + that remote EJB beans are being used.

.

If you are referencing EJB beans + using a remote interface that are running in the same JVM, the Local interface + can be used and will perform better. Where possible, change annotations from @Remote + to @Local and from @RemoteHome to @LocalHome and test all your code scenarios. + Likewise for ejb-jar.xml configuration, remove the <remote/> + and <business-remote/> definitions and test all scenarios. + While transaction propagation is supported for this scenario, the best practice + is to convert to using local interfaces to improve performance and remove the + perception that methods can be called externally from the same JVM.

.

If + you really need remote interfaces

.
Wrap the EJB beans in a web service + (JAX-WS)
.

For those EJB beans that require remote access, best practice + is to wrap them in a web service. Refer to Annotating an EJB bean to create a web service for instructions + on using WebSphere Application Server Developer Tools for Eclipse to make these + code changes. After wrapping the EJB beans in web services, use the web service + client to call the EJB web service. After testing, you can remove the EJB remote + annotations or configuration.

.
Handling Transaction Propagation
+ Liberty provides Web Services Atomic Transaction (WS-AT) support which enables + distributed global transactions. When your EJB are deployed as web services, WS-AT + can be used to manage the transactions. See Web Services Atomic Transaction overview for more information.. +

For more information on related topics, see

. .
+ ruleID: DetectTransactionPropagationEJBRemote + when: + or: + - java.referenced: + pattern: (javax.ejb.Remote|javax.ejb.RemoteHome) + - builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: {} + xpath: //*[local-name()='remote' or local-name()='business-remote'] +- category: mandatory + customVariables: [] + description: |- + Java API for XML-based RPC (JAX-RPC) is unavailable +

This rule flags the use of any JAX-RPC specific packages and configuration files. Also, this rule will flag any use of the. jaxrpc-mapping-file tag in XML Mapping files. The following table lists Java packages, configuration files and. XML mapping files impacted by this rule:

.

Packages

.
    .
  • javax.xml.rpc
  • .
  • javax.xml.rpc.encoding
  • .
  • javax.xml.rpc.handler
  • .
  • javax.xml.rpc.handler.soap
  • .
  • javax.xml.rpc.holders
  • .
  • javax.xml.rpc.server
  • .
  • javax.xml.rpc.soap
  • .
.

Configuration Files

.
    .
  • ibm-webservices-ext.xmi
  • .
  • ibm-webservices-bnd.xmi
  • .
  • ibm-webservicesclient-ext.xmi
  • .
  • ibm-webservicesclient-bnd.xmi
  • .
  • ws-security.xml
  • .
.

XML Mapping Files

.
    .
  • webservices.xml
  • .
  • web.xml
  • .
  • ejb-jar.xml
  • .
  • ibm-webservicesclient-bnd.xmi
  • .
  • application.xml
  • .
.

. The Java API for XML-based RPC (JAX-RPC) is not supported on Liberty or Liberty Core.. The technology is deprecated in WebSphere Application Server traditional V9.0 and might be removed in a later version.. If your application uses JAX-RPC, the preferred migration path is to use JAX-WS, but here are the alternatives:

.
    .
  • Option 1: Migrate JAX-RPC web services to JAX-WS web services
  • .
  • Option 2: Use the Apache Axis 1 JAX-RPC engine on Liberty
  • .
  • Option 3: Use WebSphere Application Server traditional with its native JAX-RPC engine
  • .
.
+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '

This rule flags the use of any JAX-RPC specific packages + and configuration files. Also, this rule will flag any use of the. jaxrpc-mapping-file + tag in XML Mapping files. The following table lists Java packages, configuration + files and. XML mapping files impacted by this rule:

.

Packages

.
    . +
  • javax.xml.rpc
  • .
  • javax.xml.rpc.encoding
  • .
  • javax.xml.rpc.handler
  • . +
  • javax.xml.rpc.handler.soap
  • .
  • javax.xml.rpc.holders
  • .
  • javax.xml.rpc.server
  • . +
  • javax.xml.rpc.soap
  • .
.

Configuration Files

.
    .
  • ibm-webservices-ext.xmi
  • . +
  • ibm-webservices-bnd.xmi
  • .
  • ibm-webservicesclient-ext.xmi
  • .
  • ibm-webservicesclient-bnd.xmi
  • . +
  • ws-security.xml
  • .
.

XML Mapping Files

.
    .
  • webservices.xml
  • . +
  • web.xml
  • .
  • ejb-jar.xml
  • .
  • ibm-webservicesclient-bnd.xmi
  • . +
  • application.xml
  • .
.

. The Java API for XML-based RPC (JAX-RPC) + is not supported on Liberty or Liberty Core.. The technology is deprecated in + WebSphere Application Server traditional V9.0 and might be removed in a later + version.. If your application uses JAX-RPC, the preferred migration path is to + use JAX-WS, but here are the alternatives:

.
    .
  • Option 1: Migrate JAX-RPC + web services to JAX-WS web services
  • .
  • Option 2: Use the Apache Axis 1 + JAX-RPC engine on Liberty
  • .
  • Option 3: Use WebSphere Application Server + traditional with its native JAX-RPC engine
  • .
.
' + ruleID: DetectJAXRPC + when: + or: + - java.referenced: + pattern: javax.xml.rpc* + - builtin.xml: + filepaths: + - webservices.xml + - web.xml + - ejb-jar.xml + - application.xml + namespaces: {} + xpath: //*[local-name()='jaxrpc-mapping-file'] + - builtin.file: + pattern: (ibm-webservices(client)?-(ext|bnd)\\.xmi)|(ws-security\.xml) diff --git a/resources/rulesets/openliberty/154-liberty-websphere-unavailable-technologies.windup.yaml b/resources/rulesets/openliberty/154-liberty-websphere-unavailable-technologies.windup.yaml new file mode 100644 index 0000000..26f9c5a --- /dev/null +++ b/resources/rulesets/openliberty/154-liberty-websphere-unavailable-technologies.windup.yaml @@ -0,0 +1,1470 @@ +- category: mandatory + customVariables: [] + description: |- + The Activity Session service is unavailable +
.

The Activity Session service is unavailable on Liberty. This rule flags the following items:

.
    .
  • References to APIs in the com.ibm.websphere.ActivitySession package
  • .
  • The activity session JNDI name java:comp/websphere/UserActivitySession
  • .
  • Elements that are related to activity sessions in Java Platform, Enterprise Edition (Java EE) extension deployment descriptors
  • .
.
+ effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The Activity Session service is unavailable on + Liberty. This rule flags the following items:

.
    .
  • References to APIs + in the com.ibm.websphere.ActivitySession package
  • .
  • The activity + session JNDI name java:comp/websphere/UserActivitySession
  • .
  • Elements + that are related to activity sessions in Java Platform, Enterprise Edition (Java + EE) extension deployment descriptors
  • .
.
' + ruleID: ActivitySessionRule + when: + or: + - builtin.filecontent: + pattern: \"[^\"]*java\:comp/websphere/UserActivitySession[^\"]*\" + - java.referenced: + pattern: com.ibm.websphere.ActivitySession* + - builtin.xml: + filepaths: + - ibm-ejb-jar-ext.xml + namespaces: {} + xpath: //*[local-name()='bean-cache']/@activation-policy[matches(self::node(), + 'ACTIVITY_SESSION')] + - builtin.xml: + filepaths: + - ibm-ejb-jar-ext.xml + namespaces: {} + xpath: //*[local-name()='local-transaction']/@boundary[matches(self::node(), + 'ACTIVITY_SESSION')] + - builtin.xml: + filepaths: + - ibm-ejb-jar-ext.xmi + namespaces: {} + xpath: //*[local-name()='beanCache']/@activateAt[matches(self::node(), 'ACTIVITY_SESSION')] + - builtin.xml: + filepaths: + - ibm-ejb-jar-ext.xmi + namespaces: {} + xpath: //*[local-name()='localTransaction']/@boundary[matches(self::node(), + 'ActivitySession')] + - builtin.xml: + filepaths: + - (ibm-ejb-jar-ext-pme.xml) + - (ibm-web-ext-pme.xml) + namespaces: {} + xpath: //*[local-name()='activity-sessions'] + - builtin.xml: + filepaths: + - ibm-web-ext-pme.xmi + namespaces: {} + xpath: //*[local-name()='activitySessionWebAppExtension'] + - builtin.xml: + filepaths: + - ibm-ejb-jar-ext-pme.xmi + namespaces: {} + xpath: //*[local-name()='activitySessionEJBJarExtension'] +- category: mandatory + customVariables: [] + description: |- + The WebSphere Application Profiling APIs are unavailable +
.

The following WebSphere Application Profiling APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.appprofile
  • .
  • com.ibm.websphere.appprofile.accessintent
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Application Profiling + APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.appprofile
  • . +
  • com.ibm.websphere.appprofile.accessintent
  • .
.

You + must modify the application so that it can run on Liberty.

.
' + ruleID: AppProfileRule + when: + java.referenced: + pattern: com.ibm.websphere.appprofile* +- category: mandatory + customVariables: + - name: AsyncBeansSchedulerRule_0_packages + nameOfCaptureGroup: AsyncBeansSchedulerRule_0_packages + pattern: (?P(com.ibm.websphere.asynchbeans\.[^.]+|com.ibm.websphere.asynchbeans.pool\.[^.]+))? + description: |- + The WebSphere Asynchronous Beans API was superseded by a newer implementation + WebSphere Asynchronous Beans API.
.

This rule flags APIs from the com.ibm.websphere.asynchbeans package. These APIs are not provided on Liberty and are marked as deprecated in WebSphere Application Server traditional V9.0. The WebSphere Asynchronous Beans API are replaced by JSR 236, Concurrency Utilities for Java EE.

.

Note: Concurrency Utilities for Java EE provides no replacement for the com.ibm.websphere.asynchbeans.pool APIs.

.

For information and examples about how to use Concurrency Utilities for Java EE instead of Asynchronous beans in WebSphere traditional, see Examples to migrate to EE Concurrency from Asynchronous beans and CommonJ.

.

For information about the Concurrency Utilities for Java EE feature concurrent-1.0 in Liberty, see the link below.

+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Concurrency Utilities for Java EE 1.0 + url: https://www.ibm.com/docs/en/was-liberty/nd?topic=features-concurrency-utilities-java-ee-10 + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: WebSphere Asynchronous Beans API.
. +

This rule flags APIs from the com.ibm.websphere.asynchbeans package. + These APIs are not provided on Liberty and are marked as deprecated in WebSphere + Application Server traditional V9.0. The WebSphere Asynchronous Beans API are + replaced by JSR 236, Concurrency Utilities for Java EE.

.

Note: + Concurrency Utilities for Java EE provides no replacement for the com.ibm.websphere.asynchbeans.pool + APIs.

.

For information and examples about how to use Concurrency Utilities + for Java EE instead of Asynchronous beans in WebSphere traditional, see Examples to migrate to EE Concurrency from Asynchronous beans + and CommonJ.

.

For information about the Concurrency Utilities for + Java EE feature concurrent-1.0 in Liberty, see the link below.

+ ruleID: AsyncBeansSchedulerRule + when: + java.referenced: + pattern: (com.ibm.websphere.asynchbeans*|com.ibm.websphere.asynchbeans.pool*) +- category: mandatory + customVariables: [] + description: |- + The WebSphere Batch API and SPI are unavailable +
.

WebSphere Batch API and SPI are unavailable on Liberty. This rule flags the following packages:

.
    .
  • com.ibm.websphere.batch*
  • .
  • com.ibm.websphere.ci
  • .
  • com.ibm.websphere.grid.spi
  • .
  • com.ibm.websphere.longrun
  • .
  • com.ibm.wsspi.batch*
  • .
.

For information on Liberty Batch, see IBM WebSphere Liberty Java Batch.

.

For information on transitioning to WebSphere Liberty Batch, see the WebSphere Liberty Batch Migration documentation.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

WebSphere Batch API and SPI are unavailable on Liberty. + This rule flags the following packages:

.
    .
  • com.ibm.websphere.batch*
  • . +
  • com.ibm.websphere.ci
  • .
  • com.ibm.websphere.grid.spi
  • . +
  • com.ibm.websphere.longrun
  • .
  • com.ibm.wsspi.batch*
  • . +
.

For information on Liberty Batch, see IBM WebSphere Liberty Java Batch.

.

For information + on transitioning to WebSphere Liberty Batch, see the WebSphere Liberty Batch Migration documentation.

.
+ ruleID: BatchFeaturePackRule + when: + or: + - java.referenced: + pattern: (com.ibm.websphere.batch**|com.ibm.wsspi.batch**|com.ibm.websphere.ci*|com.ibm.websphere.grid.spi*|com.ibm.websphere.longrun*) + - builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: {} + xpath: //*[local-name()='local' or local-name()='local-home']/text()[matches(self::node(), + 'com\.ibm\.websphere\.batch\..*')] +- category: mandatory + customVariables: [] + description: |- + Web Services Policy Sets are unavailable in Liberty +
Web Services Policy Sets are unavailable in Liberty..

This rule detects the following generated files when using web services Policy Sets in WebSphere traditional:

.
    .
  • policySet.xml
  • .
  • policyAttachments.xml
  • .
  • clientPolicyAttachments.xml
  • .
  • policy.xml
  • .
  • bindings.xml
  • .
  • bindingDefinition.xml
  • .
.

In Liberty, web services Policy Sets are no longer used. Changes are needed to migrate an application to the Web Services Policy implementation on Liberty. For more information on using WS-Policy in Liberty see Defining web service policy via policy attachment.

.

The web services security implementation for Liberty is different than WebSphere traditional. If an application is using the WebSphere traditional web services security adhering to the OASIS specification changes may not be necessary. Review the WS-Security behavior differences between traditional and Liberty for more information about behavior differences that may require changes in your application.

.

For more information on the OASIS specification see Web Services Security specifications and standards.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
Web Services Policy Sets are + unavailable in Liberty..

This rule detects the following generated + files when using web services Policy Sets in WebSphere traditional:

.
    . +
  • policySet.xml
  • .
  • policyAttachments.xml
  • .
  • clientPolicyAttachments.xml
  • . +
  • policy.xml
  • .
  • bindings.xml
  • .
  • bindingDefinition.xml
  • .
. +

In Liberty, web services Policy Sets are no longer used. Changes are needed + to migrate an application to the Web Services Policy implementation on Liberty. + For more information on using WS-Policy in Liberty see Defining web service policy via policy attachment.

.

+ The web services security implementation for Liberty is different than WebSphere + traditional. If an application is using the WebSphere traditional web services + security adhering to the OASIS specification changes may not be necessary. Review + the WS-Security behavior differences between traditional and Liberty + for more information about behavior differences that may require changes in your + application.

.

For more information on the OASIS specification see Web Services Security specifications and standards.

. +
' + ruleID: DetectPolicySetAndWsSecurity + when: + builtin.file: + pattern: policySet\\.xml|policyAttachments\\.xml|clientPolicyAttachments\\.xml|policy\\.xml|bindings\\.xml|bindingDefinition\\.xml +- category: optional + customVariables: [] + description: |- + Web Services Atomic Transaction (WS-AT) Version 1.2 is available +
.

Web Services Atomic Transaction (WS-AT) Version 1.2 is now available on Liberty. This rule flags the following unsupported WS-AT attributes in IBM deployment descriptor extensions:

.
    .
  • execute-using-wsat="true"
  • .
  • sendWSAT="true"
  • .
  • send-wsat-context="true"
  • .
  • supportsWSAT="true"
  • .
.

Liberty does not provide support for WS-AT with EJB global transactions, but Liberty applications can use the WS-AT Version 1.2 specification.

.

For more information, see the knowledge center topics starting at Web Services Atomic Transaction in Liberty.

.
+ effort: 0 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

Web Services Atomic Transaction (WS-AT) Version + 1.2 is now available on Liberty. This rule flags the following unsupported WS-AT + attributes in IBM deployment descriptor extensions:

.
    .
  • execute-using-wsat="true"
  • . +
  • sendWSAT="true"
  • .
  • send-wsat-context="true"
  • . +
  • supportsWSAT="true"
  • .
.

Liberty does not provide + support for WS-AT with EJB global transactions, but Liberty applications can use + the WS-AT Version 1.2 specification.

.

For more information, see the knowledge + center topics starting at Web Services Atomic Transaction in Liberty.

.
' + ruleID: DetectWSATXML + when: + or: + - builtin.xml: + filepaths: + - (ibm-web-ext.xmi) + - (ibm-ejb-jar-ext.xmi) + namespaces: {} + xpath: //*[local-name()='globalTransaction']/@sendWSAT[matches(self::node(), + '(?i:true)')] + - builtin.xml: + filepaths: + - ibm-web-ext.xmi + namespaces: {} + xpath: //*[local-name()='webGlobalTransaction']/@supportsWSAT[matches(self::node(), + '(?i:true)')] + - builtin.xml: + filepaths: + - (ibm-web-ext.xml) + - (ibm-eb-jar-ext.xml) + namespaces: {} + xpath: //*[local-name()='global-transaction']/@send-wsat-context[matches(self::node(), + '(?i:true)')] + - builtin.xml: + filepaths: + - ibm-web-ext.xml + namespaces: {} + xpath: //*[local-name()='web-global-transaction']/@execute-using-wsat[matches(self::node(), + '(?i:true)')] +- category: mandatory + customVariables: [] + description: |- + Web Services Business Activity (WS-BA) is unavailable +
.

Web Services Business Activity (WS-BA) is unavailable on Liberty. This rule flags references to APIs in the com.ibm.websphere.wsba package and the business activity JNDI name java:comp/websphere/UserBusinessActivity.

.
+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

Web Services Business Activity (WS-BA) is unavailable + on Liberty. This rule flags references to APIs in the com.ibm.websphere.wsba package + and the business activity JNDI name java:comp/websphere/UserBusinessActivity. +

.
+ ruleID: DetectWSBAJava + when: + or: + - builtin.filecontent: + pattern: \"[^\"]*java\:comp/websphere/UserBusinessActivity[^\"]*\" + - java.referenced: + pattern: com.ibm.websphere.wsba* +- category: optional + customVariables: + - name: DynamicCacheRule_0_packages + nameOfCaptureGroup: DynamicCacheRule_0_packages + pattern: (?P(com.ibm.websphere.cache*\.[^.]+|com.ibm.websphere.servlet.cache*\.[^.]+|com.ibm.ws.cache*\.[^.]+|com.ibm.wsspi.cache*\.[^.]+))? + description: |- + Review use of the dynamic cache service +
.

On Liberty, the dynamic cache service is provided by the Distributed Map Interface for Dynamic Caching feature, distributedMap-1.0, and the Web Response Cache feature, webCache-1.0. The implementation has the following restrictions:

.
    .
  • No cache replication
  • .
  • Only the high-performance disk caching mode is supported with random and size eviction techniques
  • .
  • There is no support for Web Services client and server side caching as well as portlet caching in the cachespec.xml file
  • .
  • Servlet caching of SingleThreadModel servlets is not supported
  • .
  • Defining cache configuration by using properties files is not supported for JAR files that contain only Enterprise JavaBeans
  • .
  • Limiting the memory cache sizes in megabytes works only for 32-bit Java Virtual Machines
  • .
.

This rule flags Java code that has references to the following packages:

.
    .
  • com.ibm.websphere.cache
  • .
  • com.ibm.ws.cache
  • .
  • com.ibm.wsspi.cache
  • .
  • com.ibm.websphere.servlet.cache
  • .
.

The following APIs and SPIs are not available in Liberty:

.
    .
  • com.ibm.websphere.cache.ServletCache
  • .
  • com.ibm.wsspi.cache.CacheInstanceResourceBinder
  • .
  • com.ibm.wsspi.cache.CacheMonitor
  • .
  • com.ibm.wsspi.cache.ESIStats
  • .
  • com.ibm.wsspi.cache.ESIStats$ESIServerStats
  • .
  • com.ibm.wsspi.cache.ESIStats$ESIServerStats$ESIProcessorStats
  • .
  • com.ibm.wsspi.cache.ESIStats$ESIServerStats$ESIProcessorStats$ESICacheEntryStats
  • .
.

For detailed information about dynamic cache on Liberty, see the following resources:

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Distributed Map interface for Dynamic Caching + url: https://www.ibm.com/docs/en/was-liberty/nd?topic=features-distributed-map-interface-dynamic-caching-10 + - title: 'Web Response Cache feature documentation ' + url: https://www.ibm.com/docs/en/was-liberty/nd?topic=features-web-response-cache-10 + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

On Liberty, the dynamic cache service is provided + by the Distributed Map Interface for Dynamic Caching feature, distributedMap-1.0, + and the Web Response Cache feature, webCache-1.0. The implementation + has the following restrictions:

.
    .
  • No cache replication
  • .
  • Only + the high-performance disk caching mode is supported with random and size eviction + techniques
  • .
  • There is no support for Web Services client and server side + caching as well as portlet caching in the cachespec.xml file
  • .
  • Servlet + caching of SingleThreadModel servlets is not supported
  • .
  • Defining cache + configuration by using properties files is not supported for JAR files that contain + only Enterprise JavaBeans
  • .
  • Limiting the memory cache sizes in megabytes + works only for 32-bit Java Virtual Machines
  • .
.

This rule flags Java + code that has references to the following packages:

.
    .
  • com.ibm.websphere.cache
  • . +
  • com.ibm.ws.cache
  • .
  • com.ibm.wsspi.cache
  • . +
  • com.ibm.websphere.servlet.cache
  • .
.

The following + APIs and SPIs are not available in Liberty:

.
    .
  • com.ibm.websphere.cache.ServletCache
  • . +
  • com.ibm.wsspi.cache.CacheInstanceResourceBinder
  • .
  • com.ibm.wsspi.cache.CacheMonitor
  • . +
  • com.ibm.wsspi.cache.ESIStats
  • .
  • com.ibm.wsspi.cache.ESIStats$ESIServerStats
  • . +
  • com.ibm.wsspi.cache.ESIStats$ESIServerStats$ESIProcessorStats
  • . +
  • com.ibm.wsspi.cache.ESIStats$ESIServerStats$ESIProcessorStats$ESICacheEntryStats
  • . +
.

For detailed information about dynamic cache on Liberty, see the following + resources:

.
' + ruleID: DynamicCacheRule + when: + java.referenced: + pattern: (com.ibm.websphere.cache**|com.ibm.websphere.servlet.cache**|com.ibm.ws.cache**|com.ibm.wsspi.cache**) +- category: mandatory + customVariables: [] + description: |- + The WebSphere EJB Query API is unavailable +
.

The WebSphere Enterprise JavaBeans (EJB) query service is not available on Liberty.

.

This rule flags Java code that has references to the com.ibm.websphere.ejbquery package.

.

WebSphere EJB query service is used to query entity beans, which are not available on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

The WebSphere Enterprise JavaBeans (EJB) query + service is not available on Liberty.

.

This rule flags Java code that + has references to the com.ibm.websphere.ejbquery package.

.

+ WebSphere EJB query service is used to query entity beans, which are not available + on Liberty.

.
+ ruleID: DynamicQueryRule + when: + or: + - java.referenced: + pattern: com.ibm.websphere.ejbquery* + - builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: {} + xpath: //*[local-name()='home' or local-name()='remote']/text()[matches(self::node(), + 'com\.ibm\.websphere\.ejbquery\..*')] +- category: mandatory + customVariables: + - name: I18nRule_0_packages + nameOfCaptureGroup: I18nRule_0_packages + pattern: (?P(com.ibm.websphere.i18n.context\.[^.]+|com.ibm.wsspi.i18n.context.util\.[^.]+))? + description: |- + The WebSphere i18n APIs and SPIs are unavailable +
.

The following WebSphere i18n APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.i18n.context
  • .
  • com.ibm.wsspi.i18n.context.util
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere i18n APIs and SPIs are + not available on Liberty:

.
    .
  • com.ibm.websphere.i18n.context
  • . +
  • com.ibm.wsspi.i18n.context.util
  • .
.

You must modify + the application so that it can run on Liberty.

.
' + ruleID: I18nRule + when: + java.referenced: + pattern: (com.ibm.websphere.i18n.context*|com.ibm.wsspi.i18n.context.util*) +- category: optional + customVariables: [] + description: | + Review use of the javax.activation.DataHandler object + effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

On Liberty, each DataHandler object can be written + to an output stream only once. Writing a DataHandler object to an OutputStream + object more than once results in an empty file. After you call the javax.activation.DataHandler.writeTo(OutputStream) + method, you cannot pass the DataHandler object to another method, return it, or + store it for later use.

.

As a workaround, you can create a new DataHandler + object and initialize the DataHandler object with the content that was already + retrieved from the existing DataHandler object using the writeTo + method. For example:

. . . . . . .
+ File f = new File("received_image");
+ if (f.exists()) {{
f.delete();
+ }}

FileOutputStream fos = new + FileOutputStream(f);

// Write the DataHandler object to the output stream.
+ img_in.writeTo(fos);

// Create a new DataHandler object and initialize + it with
// the content that was retrieved using the writeTo method above.
+
FileDataSource fos_out = new + FileDataSource(f);

DataHandler img_out + = new DataHandler(fos_out);


return img_out;
. +
' + ruleID: MTOMRule + when: + java.referenced: + location: METHOD_CALL + pattern: javax.activation.DataHandler.writeTo(java.io.OutputStream) +- category: mandatory + customVariables: [] + description: |- + Getting the server name on Liberty +
.

This rule flags references to the following methods:

.
    .
  • com.ibm.websphere.management.AdminService.getProcessName()
  • .
  • com.ibm.ejs.ras.RasHelper.getServerName()
  • .
  • com.ibm.websphere.runtime.ServerName.getDisplayName()
  • .
  • com.ibm.websphere.runtime.ServerName.getFullName()
  • .
.

These methods are not available on Liberty.

.

The source scanner has a quick fix to change any reference to the methods mentioned earlier to java.lang.System.getProperty("wlp.server.name") which retrieves the name of your Liberty server. This solution does not work on WebSphere Application Server traditional.

.

For alternative solutions, see the Programmatic access to location properties section in the Knowledge Center.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

This rule flags references to the following methods: +

.
    .
  • com.ibm.websphere.management.AdminService.getProcessName()
  • . +
  • com.ibm.ejs.ras.RasHelper.getServerName()
  • .
  • com.ibm.websphere.runtime.ServerName.getDisplayName()
  • . +
  • com.ibm.websphere.runtime.ServerName.getFullName()
  • .
. +

These methods are not available on Liberty.

.

The source scanner has + a quick fix to change any reference to the methods mentioned earlier to java.lang.System.getProperty("wlp.server.name") + which retrieves the name of your Liberty server. This solution does not work on + WebSphere Application Server traditional.

.

For alternative solutions, + see the Programmatic access to location properties section in the + Knowledge Center.

.
' + ruleID: ServerName + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: com.ibm.websphere.management.AdminService.getProcessName* + - java.referenced: + location: METHOD_CALL + pattern: com.ibm.ejs.ras.RasHelper.getServerName* + - java.referenced: + location: METHOD_CALL + pattern: com.ibm.websphere.runtime.ServerName.(getDisplayName|getFullName)* +- category: mandatory + customVariables: [] + description: |- + SOAP over Java Message Service (JMS) is unavailable +
.

Liberty does not support Simple Object Access Protocol (SOAP) over Java Message Service (JMS). References to the following namespaces indicate usage of SOAP over JMS:

.
    .
  • http://www.w3.org/2010/soapjms/
  • .
  • http://www.w3.org/2010/soapjms/soap1.1
  • .
  • http://www.w3.org/2010/soapjms/soap1.2
  • .
This rule flags the following items:.

.
    .
  • javax.xml.ws.BindingType annotations with a value attribute that references one of the described namespaces
  • .
  • WSDL files with a transport attribute on the <binding> element that references one of the described namespaces
  • .
.
+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

Liberty does not support Simple Object Access + Protocol (SOAP) over Java Message Service (JMS). References to the following namespaces + indicate usage of SOAP over JMS:

.
    .
  • http://www.w3.org/2010/soapjms/
  • . +
  • http://www.w3.org/2010/soapjms/soap1.1
  • .
  • http://www.w3.org/2010/soapjms/soap1.2
  • . +
This rule flags the following items:.

.
    .
  • javax.xml.ws.BindingType + annotations with a value attribute that references one of the described + namespaces
  • .
  • WSDL files with a transport attribute on the + <binding> element that references one + of the described namespaces
  • .
.
' + ruleID: SOAPOverJMSRule + when: + or: + - java.referenced: + location: ANNOTATION + pattern: javax.xml.ws.BindingType + - builtin.xml: + filepaths: + - .*\.(?i:wsdl) + namespaces: {} + xpath: //*[local-name()='binding']/@transport[matches(self::node(), '.*/soapjms(/.*)?')] +- category: mandatory + customVariables: [] + description: |- + The WebSphere Startup Beans Service API was superseded by a newer implementation +
.

The WebSphere startup bean service was superseded by the startup beans in Enterprise JavaBeans (EJB) 3.1. The service is deprecated in WebSphere Application Server traditional V8.0 and is not available on Liberty.

.

This rule flags Java code that has references to the com.ibm.websphere.startupservice package.

.

For information about EJB 3.1 startup beans, see the following resources:

. .
+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The WebSphere startup bean service was superseded + by the startup beans in Enterprise JavaBeans (EJB) 3.1. The service is deprecated + in WebSphere Application Server traditional V8.0 and is not available on Liberty. +

.

This rule flags Java code that has references to the com.ibm.websphere.startupservice + package.

.

For information about EJB 3.1 startup beans, see the following + resources:

. .
' + ruleID: StartupBeanRule + when: + or: + - java.referenced: + pattern: com.ibm.websphere.startupservice* + - builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: {} + xpath: //*[local-name()='home' or local-name()='remote']/text()[matches(self::node(), + 'com\.ibm\.websphere\.startupservice\..*')] +- category: mandatory + customVariables: + - name: WebSphereSdoRule_0_packages + nameOfCaptureGroup: WebSphereSdoRule_0_packages + pattern: (?P(com.ibm.websphere.sdo*\.[^.]+|com.ibm.websphere.sdox*\.[^.]+))? + description: |- + The WebSphere Service Data Objects (SDO) APIs are unavailable +
.

The following WebSphere Service Data Objects (SDO) APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.sdo
  • .
  • com.ibm.websphere.sdox
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Service Data Objects (SDO) + APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.sdo
  • . +
  • com.ibm.websphere.sdox
  • .
.

You must modify the application + so that it can run on Liberty.

.
' + ruleID: WebSphereSdoRule + when: + java.referenced: + pattern: (com.ibm.websphere.sdo**|com.ibm.websphere.sdox**) +- category: mandatory + customVariables: [] + description: |- + The WebSphere Scheduler API was superseded by a newer implementation +
.

The WebSphere Scheduler API was superseded by Enterprise JavaBeans Persistent Timers 3.2, which is enabled by the ejbPersistentTimer-3.2 Liberty feature.

.

This rule flags references to the com.ibm.websphere.scheduler package because it is not available on Liberty.

.

For information about the Enterprise JavaBeans Persistent Timers feature, see the link below.

+ effort: 5 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Enterprise JavaBeans Persistence Timers 3.2 + url: https://www.ibm.com/docs/en/was-liberty/nd?topic=features-enterprise-javabeans-persistent-timers-32 + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

The WebSphere Scheduler API was superseded by Enterprise + JavaBeans Persistent Timers 3.2, which is enabled by the ejbPersistentTimer-3.2 + Liberty feature.

.

This rule flags references to the com.ibm.websphere.scheduler + package because it is not available on Liberty.

.

For information about + the Enterprise JavaBeans Persistent Timers feature, see the link below.

+ ruleID: WebSphereSchedulerRule + when: + or: + - java.referenced: + pattern: com.ibm.websphere.scheduler* + - builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: {} + xpath: //*[local-name()='home' or local-name()='remote']/text()[matches(self::node(), + 'com\.ibm\.websphere\.scheduler\..*')] +- category: mandatory + customVariables: [] + description: |- + The WebSphere Servlet API was superseded by a newer implementation +
.

The WebSphere Servlet API was superseded by standard Servlet 3.0 functionality.

.

This rule flags Java code that has references to the following classes and packages because they are not available on Liberty.

.
    .
  • com.ibm.servlet.ClientList
  • .
  • com.ibm.servlet.ClientListElement
  • .
  • com.ibm.servlet.MLNotFoundException
  • .
  • com.ibm.servlet.PageListServlet
  • .
  • com.ibm.servlet.PageNotFoundException
  • .
  • com.ibm.websphere.servlet.filter.ChainedRequest
  • .
  • com.ibm.websphere.servlet.filter.ChainedResponse
  • .
  • com.ibm.websphere.servlet.filter.ChainerServlet
  • .
  • com.ibm.websphere.servlet.filter.ServletChain
  • .
  • com.ibm.websphere.servlet.response.IResponse
  • .
  • com.ibm.websphere.servlet.response.StoredResponseCompat
  • .
  • com.ibm.websphere.servlet.response.HttpServletResponseProxy
  • .
  • com.ibm.websphere.servlet.response.ResponseUtils
  • .
  • com.ibm.websphere.servlet.response.ServletOutputStreamAdapter
  • .
  • com.ibm.websphere.servlet.response.ResponseErrorReport
  • .
  • com.ibm.websphere.servlet.request
  • .
  • com.ibm.websphere.webcontainer.async
  • .
.

For information about the Java EE Servlet APIs, see the javax.servlet package Java documentation.

.

For information about the WebSphere Servlet APIs, see the IBM WebSphere Application Server, Release 8.5 API Specification.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

The WebSphere Servlet API was superseded by standard + Servlet 3.0 functionality.

.

This rule flags Java code that has references + to the following classes and packages because they are not available on Liberty. +

.
    .
  • com.ibm.servlet.ClientList
  • .
  • com.ibm.servlet.ClientListElement
  • . +
  • com.ibm.servlet.MLNotFoundException
  • .
  • com.ibm.servlet.PageListServlet
  • . +
  • com.ibm.servlet.PageNotFoundException
  • .
  • com.ibm.websphere.servlet.filter.ChainedRequest
  • . +
  • com.ibm.websphere.servlet.filter.ChainedResponse
  • .
  • com.ibm.websphere.servlet.filter.ChainerServlet
  • . +
  • com.ibm.websphere.servlet.filter.ServletChain
  • .
  • com.ibm.websphere.servlet.response.IResponse
  • . +
  • com.ibm.websphere.servlet.response.StoredResponseCompat
  • . +
  • com.ibm.websphere.servlet.response.HttpServletResponseProxy
  • . +
  • com.ibm.websphere.servlet.response.ResponseUtils
  • .
  • com.ibm.websphere.servlet.response.ServletOutputStreamAdapter
  • . +
  • com.ibm.websphere.servlet.response.ResponseErrorReport
  • . +
  • com.ibm.websphere.servlet.request
  • .
  • com.ibm.websphere.webcontainer.async
  • . +
.

For information about the Java EE Servlet APIs, see the javax.servlet package Java documentation.

.

For information + about the WebSphere Servlet APIs, see the IBM WebSphere Application Server, Release 8.5 API Specification. +

.
+ ruleID: WebSphereServletRule + when: + or: + - java.referenced: + pattern: (com.ibm.websphere.servlet.request*|com.ibm.websphere.webcontainer.async*) + - java.referenced: + pattern: (com.ibm.servlet.ClientList|com.ibm.servlet.ClientListElement|com.ibm.servlet.MLNotFoundException|com.ibm.servlet.PageListServlet|com.ibm.servlet.PageNotFoundException|com.ibm.websphere.servlet.filter.ChainedRequest|com.ibm.websphere.servlet.filter.ChainedResponse|com.ibm.websphere.servlet.filter.ChainerServlet|com.ibm.websphere.servlet.filter.ServletChain|com.ibm.websphere.servlet.response.IResponse|com.ibm.websphere.servlet.response.StoredResponseCompat|com.ibm.websphere.servlet.response.HttpServletResponseProxy|com.ibm.websphere.servlet.response.ResponseUtils|com.ibm.websphere.servlet.response.ServletOutputStreamAdapter|com.ibm.websphere.servlet.response.ResponseErrorReport) +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsAppClient_0_packages + nameOfCaptureGroup: WebSphereUnavailableAPIsAppClient_0_packages + pattern: (?Pcom.ibm.websphere.client.applicationclient\.[^.]+)? + description: |- + The WebSphere Application Client APIs are unavailable +
.

The following WebSphere Application Client APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.client.applicationclient
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Application Client APIs + are not available on Liberty:

.
    .
  • com.ibm.websphere.client.applicationclient
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsAppClient + when: + java.referenced: + pattern: com.ibm.websphere.client.applicationclient* +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsConnectorArchitecture_0_packages + nameOfCaptureGroup: WebSphereUnavailableAPIsConnectorArchitecture_0_packages + pattern: (?Pcom.ibm.websphere.j2c\.[^.]+)? + description: |- + The WebSphere Connector Architecture APIs are unavailable +
.

The following WebSphere Connector Architecture APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.j2c
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Connector Architecture + APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.j2c
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsConnectorArchitecture + when: + java.referenced: + pattern: com.ibm.websphere.j2c* +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsEnterpriseJavaBeans_0_packages + nameOfCaptureGroup: WebSphereUnavailableAPIsEnterpriseJavaBeans_0_packages + pattern: (?P(com.ibm.websphere.ejbcontainer*\.[^.]+|com.ibm.websphere.ejbpersistence*\.[^.]+|com.ibm.wsspi.ejbpersistence\.[^.]+|com.ibm.websphere.csi\.[^.]+))? + description: |- + The WebSphere Enterprise JavaBeans APIs and SPIs are unavailable +
.

The following WebSphere Enterprise JavaBeans APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.ejbcontainer
  • .
  • com.ibm.websphere.ejbpersistence
  • .
  • com.ibm.websphere.csi
  • .
  • com.ibm.wsspi.ejbpersistence
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Enterprise JavaBeans APIs + and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.ejbcontainer
  • . +
  • com.ibm.websphere.ejbpersistence
  • .
  • com.ibm.websphere.csi
  • . +
  • com.ibm.wsspi.ejbpersistence
  • .
.

You must modify + the application so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsEnterpriseJavaBeans + when: + java.referenced: + pattern: (com.ibm.websphere.ejbcontainer**|com.ibm.websphere.ejbpersistence**|com.ibm.wsspi.ejbpersistence*|com.ibm.websphere.csi*) +- category: mandatory + customVariables: [] + description: |- + Some WebSphere Exception APIs and SPIs are unavailable +
.

The following WebSphere Exception APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.exception.DistributedEJBCreateException
  • .
  • com.ibm.websphere.exception.DistributedEJBRemoveException
  • .
  • com.ibm.ws.exception
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Exception APIs and SPIs + are not available on Liberty:

.
    .
  • com.ibm.websphere.exception.DistributedEJBCreateException
  • . +
  • com.ibm.websphere.exception.DistributedEJBRemoveException
  • . +
  • com.ibm.ws.exception
  • .
.

You must modify the application + so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsExceptions + when: + or: + - java.referenced: + pattern: (com.ibm.websphere.exception.DistributedEJBCreateException|com.ibm.websphere.exception.DistributedEJBRemoveException) + - java.referenced: + pattern: com.ibm.ws.exception* +- category: mandatory + customVariables: [] + description: |- + The Extension Registry APIs are unavailable +
.

The following Extension Registry APIs are not available on Liberty:

.
    .
  • com.ibm.workplace.extension
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following Extension Registry APIs are not + available on Liberty:

.
    .
  • com.ibm.workplace.extension
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsExtensionRegistry + when: + java.referenced: + pattern: com.ibm.workplace.extension* +- category: mandatory + customVariables: [] + description: |- + The Integrated Solutions Console (ISC) APIs are unavailable +
.

The following Integrated Solutions Console (ISC) APIs are not available on Liberty:

.
    .
  • com.ibm.isc.api.platform
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following Integrated Solutions Console (ISC) + APIs are not available on Liberty:

.
    .
  • com.ibm.isc.api.platform
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsISC + when: + java.referenced: + pattern: com.ibm.isc.api.platform* +- category: mandatory + customVariables: [] + description: |- + The WebSphere logging and RAS APIs and SPIs are unavailable +
.

The following WebSphere logging and RAS APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.logging.RawTraceList
  • .
  • com.ibm.websphere.logging.RawTraceList$PatternLevel
  • .
  • com.ibm.websphere.logging.MessageConverter
  • .
  • com.ibm.websphere.logging.WsLevel
  • .
  • com.ibm.ejs.ras
  • .
  • com.ibm.ffdc
  • .
  • com.ibm.ras
  • .
  • com.ibm.websphere.als
  • .
  • com.ibm.websphere.logging.cbe
  • .
  • com.ibm.websphere.ras
  • .
  • com.ibm.wsspi.rasdiag
  • .
  • com.ibm.wsspi.xct
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere logging and RAS APIs and + SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.logging.RawTraceList
  • . +
  • com.ibm.websphere.logging.RawTraceList$PatternLevel
  • .
  • com.ibm.websphere.logging.MessageConverter
  • . +
  • com.ibm.websphere.logging.WsLevel
  • .
  • com.ibm.ejs.ras
  • . +
  • com.ibm.ffdc
  • .
  • com.ibm.ras
  • .
  • com.ibm.websphere.als
  • . +
  • com.ibm.websphere.logging.cbe
  • .
  • com.ibm.websphere.ras
  • . +
  • com.ibm.wsspi.rasdiag
  • .
  • com.ibm.wsspi.xct
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsLoggingAndRAS + when: + or: + - java.referenced: + pattern: (com.ibm.ejs.ras**|com.ibm.ffdc**|com.ibm.ras**|com.ibm.websphere.als**|com.ibm.websphere.logging.cbe**|com.ibm.websphere.ras**|com.ibm.wsspi.rasdiag**|com.ibm.wsspi.xct**) + - java.referenced: + pattern: (com.ibm.websphere.logging.MessageConverter|com.ibm.websphere.logging.RawTraceList|com.ibm.websphere.logging.RawTraceList$PatternLevel|com.ibm.websphere.logging.WsLevel) +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsManagement_0_packages + nameOfCaptureGroup: WebSphereUnavailableAPIsManagement_0_packages + pattern: (?P(com.ibm.websphere.ant.tasks*\.[^.]+|com.ibm.websphere.hamanager.jmx*\.[^.]+|com.ibm.websphere.interrupt*\.[^.]+|com.ibm.websphere.management*\.[^.]+|com.ibm.websphere.naming*\.[^.]+|com.ibm.websphere.product*\.[^.]+|com.ibm.wsspi.management.metadata\.[^.]+))? + description: |- + The WebSphere Management APIs and SPIs are unavailable +
.

The following WebSphere Management APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.ant.tasks
  • .
  • com.ibm.websphere.hamanager.jmx
  • .
  • com.ibm.websphere.interrupt
  • .
  • com.ibm.websphere.management
  • .
  • com.ibm.websphere.naming
  • .
  • com.ibm.websphere.product
  • .
  • com.ibm.wsspi.management.metadata
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Management APIs and SPIs + are not available on Liberty:

.
    .
  • com.ibm.websphere.ant.tasks
  • . +
  • com.ibm.websphere.hamanager.jmx
  • .
  • com.ibm.websphere.interrupt
  • . +
  • com.ibm.websphere.management
  • .
  • com.ibm.websphere.naming
  • . +
  • com.ibm.websphere.product
  • .
  • com.ibm.wsspi.management.metadata
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsManagement + when: + java.referenced: + pattern: (com.ibm.websphere.ant.tasks**|com.ibm.websphere.hamanager.jmx**|com.ibm.websphere.interrupt**|com.ibm.websphere.management**|com.ibm.websphere.naming**|com.ibm.websphere.product**|com.ibm.wsspi.management.metadata*) +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsORB_0_packages + nameOfCaptureGroup: WebSphereUnavailableAPIsORB_0_packages + pattern: (?P(com.ibm.websphere.orbext*\.[^.]+|com.ibm.ejs.oa.EJSORB*\.[^.]+))? + description: |- + The WebSphere ORB Extensions APIs are unavailable +
.

The following WebSphere ORB Extensions APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.orbext
  • .
  • com.ibm.ejs.oa.EJSORB
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere ORB Extensions APIs are + not available on Liberty:

.
    .
  • com.ibm.websphere.orbext
  • . +
  • com.ibm.ejs.oa.EJSORB
  • .
.

You must modify the application + so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsORB + when: + java.referenced: + pattern: (com.ibm.websphere.orbext**|com.ibm.ejs.oa.EJSORB**) +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsPMI_0_packages + nameOfCaptureGroup: WebSphereUnavailableAPIsPMI_0_packages + pattern: (?P(com.ibm.websphere.pmi*\.[^.]+|com.ibm.wsspi.pmi*\.[^.]+|com.ibm.ws.pmi.server\.[^.]+|com.ibm.ws.performance.tuning.rule\.[^.]+))? + description: |- + The WebSphere Performance Monitoring Infrastructure (PMI) APIs and SPIs are unavailable +
.

The following WebSphere Performance Monitoring Infrastructure (PMI) APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.pmi
  • .
  • com.ibm.wsspi.pmi
  • .
  • com.ibm.ws.performance.tuning.rule
  • .
  • com.ibm.ws.pmi.server
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Performance Monitoring + Infrastructure (PMI) APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.pmi
  • . +
  • com.ibm.wsspi.pmi
  • .
  • com.ibm.ws.performance.tuning.rule
  • . +
  • com.ibm.ws.pmi.server
  • .
.

You must modify the application + so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsPMI + when: + java.referenced: + pattern: (com.ibm.websphere.pmi**|com.ibm.wsspi.pmi**|com.ibm.ws.pmi.server*|com.ibm.ws.performance.tuning.rule*) +- category: mandatory + customVariables: [] + description: |- + The WebSphere Portal APIs are unavailable +
.

The following WebSphere Portal APIs are not available on Liberty:

.
    .
  • com.ibm.portal
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Portal APIs are not available + on Liberty:

.
    .
  • com.ibm.portal
  • .
.

You must + modify the application so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsPortal + when: + java.referenced: + pattern: com.ibm.portal* +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsResourceAdapter_0_packages + nameOfCaptureGroup: WebSphereUnavailableAPIsResourceAdapter_0_packages + pattern: (?P(com.ibm.websphere.rsadapter*\.[^.]+|com.ibm.wsspi.rsadapter\.[^.]+|com.ibm.wsspi.rawrapper\.[^.]+))? + description: |- + The WebSphere Resource Adapter APIs and SPIs are unavailable +
.

The following WebSphere Resource Adapter APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.rsadapter
  • .
  • com.ibm.wsspi.rsadapter
  • .
  • com.ibm.wsspi.rawrapper
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Resource Adapter APIs + and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.rsadapter
  • . +
  • com.ibm.wsspi.rsadapter
  • .
  • com.ibm.wsspi.rawrapper
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsResourceAdapter + when: + java.referenced: + pattern: (com.ibm.websphere.rsadapter**|com.ibm.wsspi.rsadapter*|com.ibm.wsspi.rawrapper*) +- category: mandatory + customVariables: [] + description: |- + Some WebSphere Security APIs and SPIs are unavailable +
.

The following WebSphere Security APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.crypto.KeyGenerator
  • .
  • com.ibm.websphere.crypto.KeyPair
  • .
  • com.ibm.websphere.crypto.KeyPairGenerator
  • .
  • com.ibm.websphere.crypto.KeySetHelper
  • .
  • com.ibm.websphere.security.auth.WSPrincipal
  • .
  • com.ibm.websphere.security.auth.IdentityPrincipal
  • .
  • com.ibm.websphere.security.auth.MappingAuthData
  • .
  • com.ibm.websphere.security.auth.AuthenticationFailedException
  • .
  • com.ibm.websphere.security.auth.AuthenticationNotSupportedException
  • .
  • com.ibm.websphere.security.auth.MapCredentialFailedException
  • .
  • com.ibm.websphere.security.auth.MapCredentialNotSupportedException
  • .
  • com.ibm.websphere.security.auth.UnsupportedRealmException
  • .
  • com.ibm.websphere.security.auth.ValidationFailedException
  • .
  • com.ibm.websphere.security.auth.ValidationNotSupportedException
  • .
  • com.ibm.websphere.security.auth.callback.NonPromptCallbackHandler
  • .
  • com.ibm.websphere.security.auth.callback.WSCcacheCallBackHandlerImpl
  • .
  • com.ibm.websphere.security.auth.callback.WSGUICallbackHandlerImpl
  • .
  • com.ibm.websphere.security.auth.callback.WSStdinCallbackHandlerImpl
  • .
  • com.ibm.websphere.security.DistributedUserMappingFailedException
  • .
  • com.ibm.websphere.security.oidc.util
  • .
  • com.ibm.websphere.security.ProviderFailureException
  • .
  • com.ibm.websphere.security.SAFRoleMapper
  • .
  • com.ibm.websphere.security.TrustAssociationInterceptor
  • .
  • com.ibm.websphere.security.UserMapping
  • .
  • com.ibm.websphere.security.UserMappingException
  • .
  • com.ibm.websphere.security.WebSphereBaseTrustAssociationInterceptor
  • .
  • com.ibm.websphere.ssl.protocol
  • .
  • com.ibm.ws.security.core.SecurityContext
  • .
  • com.ibm.ws.security.util.LoginHelper
  • .
  • com.ibm.ws.security.util.ByteArray
  • .
  • com.ibm.wsspi.security.audit
  • .
  • com.ibm.wsspi.security.auth.callback.WSIdentityCallback
  • .
  • com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandlerFactory
  • .
  • com.ibm.wsspi.security.auth.callback.WSProtocolPolicyCallback
  • .
  • com.ibm.wsspi.security.auth.callback.WSTokenHolderCallback
  • .
  • com.ibm.wsspi.security.auth.WSSubjectWrapper
  • .
  • com.ibm.wsspi.security.authorization
  • .
  • com.ibm.wsspi.security.context
  • .
  • com.ibm.wsspi.security.crypto.aes
  • .
  • com.ibm.wsspi.security.csiv2
  • .
  • com.ibm.wsspi.security.ltpa
  • .
  • com.ibm.wsspi.security.policy
  • .
  • com.ibm.wsspi.security.securitydomain
  • .
  • com.ibm.wsspi.security.spnego
  • .
  • com.ibm.wsspi.security.tai.NegotiateTrustAssociationInterceptor
  • .
  • com.ibm.wsspi.security.tai.NegotiateTrustAssociationInterceptorImpl
  • .
  • com.ibm.wsspi.security.tai.TrustAssociationInterceptorExt
  • .
  • com.ibm.wsspi.security.token.AuthenticationToken
  • .
  • com.ibm.wsspi.security.token.AuthorizationToken
  • .
  • com.ibm.wsspi.security.token.KerberosToken
  • .
  • com.ibm.wsspi.security.token.PropagationToken
  • .
  • com.ibm.wsspi.security.token.TokenHolder
  • .
  • com.ibm.wsspi.security.token.WSOpaqueTokenHelper
  • .
  • com.ibm.wsspi.security.web.saml
  • .
  • com.ibm.wsspi.ssl.RetrieveSignersHelper
  • .
  • com.ibm.wsspi.ssl.WSPKIClient
  • .
  • com.ibm.IExtendedSecurity
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Security APIs and SPIs + are not available on Liberty:

.
    .
  • com.ibm.websphere.crypto.KeyGenerator
  • . +
  • com.ibm.websphere.crypto.KeyPair
  • .
  • com.ibm.websphere.crypto.KeyPairGenerator
  • . +
  • com.ibm.websphere.crypto.KeySetHelper
  • .
  • com.ibm.websphere.security.auth.WSPrincipal
  • . +
  • com.ibm.websphere.security.auth.IdentityPrincipal
  • .
  • com.ibm.websphere.security.auth.MappingAuthData
  • . +
  • com.ibm.websphere.security.auth.AuthenticationFailedException
  • . +
  • com.ibm.websphere.security.auth.AuthenticationNotSupportedException
  • . +
  • com.ibm.websphere.security.auth.MapCredentialFailedException
  • . +
  • com.ibm.websphere.security.auth.MapCredentialNotSupportedException
  • . +
  • com.ibm.websphere.security.auth.UnsupportedRealmException
  • . +
  • com.ibm.websphere.security.auth.ValidationFailedException
  • . +
  • com.ibm.websphere.security.auth.ValidationNotSupportedException
  • . +
  • com.ibm.websphere.security.auth.callback.NonPromptCallbackHandler
  • . +
  • com.ibm.websphere.security.auth.callback.WSCcacheCallBackHandlerImpl
  • . +
  • com.ibm.websphere.security.auth.callback.WSGUICallbackHandlerImpl
  • . +
  • com.ibm.websphere.security.auth.callback.WSStdinCallbackHandlerImpl
  • . +
  • com.ibm.websphere.security.DistributedUserMappingFailedException
  • . +
  • com.ibm.websphere.security.oidc.util
  • .
  • com.ibm.websphere.security.ProviderFailureException
  • . +
  • com.ibm.websphere.security.SAFRoleMapper
  • .
  • com.ibm.websphere.security.TrustAssociationInterceptor
  • . +
  • com.ibm.websphere.security.UserMapping
  • .
  • com.ibm.websphere.security.UserMappingException
  • . +
  • com.ibm.websphere.security.WebSphereBaseTrustAssociationInterceptor
  • . +
  • com.ibm.websphere.ssl.protocol
  • .
  • com.ibm.ws.security.core.SecurityContext
  • . +
  • com.ibm.ws.security.util.LoginHelper
  • .
  • com.ibm.ws.security.util.ByteArray
  • . +
  • com.ibm.wsspi.security.audit
  • .
  • com.ibm.wsspi.security.auth.callback.WSIdentityCallback
  • . +
  • com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandlerFactory
  • . +
  • com.ibm.wsspi.security.auth.callback.WSProtocolPolicyCallback
  • . +
  • com.ibm.wsspi.security.auth.callback.WSTokenHolderCallback
  • . +
  • com.ibm.wsspi.security.auth.WSSubjectWrapper
  • .
  • com.ibm.wsspi.security.authorization
  • . +
  • com.ibm.wsspi.security.context
  • .
  • com.ibm.wsspi.security.crypto.aes
  • . +
  • com.ibm.wsspi.security.csiv2
  • .
  • com.ibm.wsspi.security.ltpa
  • . +
  • com.ibm.wsspi.security.policy
  • .
  • com.ibm.wsspi.security.securitydomain
  • . +
  • com.ibm.wsspi.security.spnego
  • .
  • com.ibm.wsspi.security.tai.NegotiateTrustAssociationInterceptor
  • . +
  • com.ibm.wsspi.security.tai.NegotiateTrustAssociationInterceptorImpl
  • . +
  • com.ibm.wsspi.security.tai.TrustAssociationInterceptorExt
  • . +
  • com.ibm.wsspi.security.token.AuthenticationToken
  • .
  • com.ibm.wsspi.security.token.AuthorizationToken
  • . +
  • com.ibm.wsspi.security.token.KerberosToken
  • .
  • com.ibm.wsspi.security.token.PropagationToken
  • . +
  • com.ibm.wsspi.security.token.TokenHolder
  • .
  • com.ibm.wsspi.security.token.WSOpaqueTokenHelper
  • . +
  • com.ibm.wsspi.security.web.saml
  • .
  • com.ibm.wsspi.ssl.RetrieveSignersHelper
  • . +
  • com.ibm.wsspi.ssl.WSPKIClient
  • .
  • com.ibm.IExtendedSecurity
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsSecurity + when: + or: + - java.referenced: + pattern: (com.ibm.websphere.ssl.protocol*|com.ibm.IExtendedSecurity**|com.ibm.websphere.security.oidc.util*|com.ibm.wsspi.security.audit*|com.ibm.wsspi.security.authorization*|com.ibm.wsspi.security.context*|com.ibm.wsspi.security.crypto.aes*|com.ibm.wsspi.security.csiv2*|com.ibm.wsspi.security.ltpa*|com.ibm.wsspi.security.policy*|com.ibm.wsspi.security.securitydomain*|com.ibm.wsspi.security.spnego*|com.ibm.wsspi.security.web.saml*) + - java.referenced: + pattern: (com.ibm.websphere.security.auth.WSPrincipal|com.ibm.websphere.security.auth.IdentityPrincipal|com.ibm.websphere.security.auth.MappingAuthData|com.ibm.websphere.security.auth.AuthenticationFailedException|com.ibm.websphere.security.auth.AuthenticationNotSupportedException|com.ibm.websphere.security.auth.MapCredentialFailedException|com.ibm.websphere.security.auth.MapCredentialNotSupportedException|com.ibm.websphere.security.auth.UnsupportedRealmException|com.ibm.websphere.security.auth.ValidationFailedException|com.ibm.websphere.security.auth.ValidationNotSupportedException|com.ibm.websphere.security.auth.callback.NonPromptCallbackHandler|com.ibm.websphere.security.auth.callback.WSCcacheCallBackHandlerImpl|com.ibm.websphere.security.auth.callback.WSGUICallbackHandlerImpl|com.ibm.websphere.security.auth.callback.WSStdinCallbackHandlerImpl|com.ibm.websphere.security.DistributedUserMappingFailedException|com.ibm.websphere.security.ProviderFailureException|com.ibm.websphere.security.SAFRoleMapper|com.ibm.websphere.security.TrustAssociationInterceptor|com.ibm.websphere.security.UserMapping|com.ibm.websphere.security.UserMappingException|com.ibm.websphere.security.WebSphereBaseTrustAssociationInterceptor|com.ibm.ws.security.core.SecurityContext|com.ibm.ws.security.util.LoginHelper|com.ibm.ws.security.util.ByteArray|com.ibm.websphere.crypto.KeyGenerator|com.ibm.websphere.crypto.KeyPair|com.ibm.websphere.crypto.KeyPairGenerator|com.ibm.websphere.crypto.KeySetHelper|com.ibm.wsspi.ssl.RetrieveSignersHelper|com.ibm.wsspi.ssl.WSPKIClient|com.ibm.wsspi.security.auth.callback.WSIdentityCallback|com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandlerFactory|com.ibm.wsspi.security.auth.callback.WSProtocolPolicyCallback|com.ibm.wsspi.security.auth.callback.WSTokenHolderCallback|com.ibm.wsspi.security.auth.WSSubjectWrapper|com.ibm.wsspi.security.tai.NegotiateTrustAssociationInterceptor|com.ibm.wsspi.security.tai.NegotiateTrustAssociationInterceptorImpl|com.ibm.wsspi.security.tai.TrustAssociationInterceptorExt|com.ibm.wsspi.security.token.AuthenticationToken|com.ibm.wsspi.security.token.AuthorizationToken|com.ibm.wsspi.security.token.KerberosToken|com.ibm.wsspi.security.token.PropagationToken|com.ibm.wsspi.security.token.TokenHolder|com.ibm.wsspi.security.token.WSOpaqueTokenHelper) +- category: mandatory + customVariables: [] + description: |- + The WebSphere Service Integration Bus (SIB) APIs are unavailable +
.

The following WebSphere Service Integration Bus (SIB) APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.sib
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Service Integration Bus + (SIB) APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.sib
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsSIB + when: + java.referenced: + pattern: com.ibm.websphere.sib* +- category: mandatory + customVariables: [] + description: |- + The WebSphere SMF recording APIs are unavailable +
.

The following WebSphere SMF recording APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.smf
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere SMF recording APIs are + not available on Liberty:

.
    .
  • com.ibm.websphere.smf
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsSMF + when: + java.referenced: + pattern: com.ibm.websphere.smf* +- category: mandatory + customVariables: [] + description: |- + The Tivoli Performance Viewer SPIs are unavailable +
.

The following Tivoli Performance Viewer SPIs are not available on Liberty:

.
    .
  • com.ibm.ws.tpv
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following Tivoli Performance Viewer SPIs are + not available on Liberty:

.
    .
  • com.ibm.ws.tpv
  • .
. +

You must modify the application so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsTPV + when: + java.referenced: + pattern: com.ibm.ws.tpv* +- category: mandatory + customVariables: [] + description: |- + Some WebSphere Extension Helper SPIs are unavailable +
.

The following WebSphere Extension Helper SPIs are not available on Liberty:

.
    .
  • com.ibm.ws.extensionhelper
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Extension Helper SPIs + are not available on Liberty:

.
    .
  • com.ibm.ws.extensionhelper
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsExtHelper + when: + java.referenced: + pattern: com.ibm.ws.extensionhelper* +- category: mandatory + customVariables: [] + description: |- + The Universal Description, Discovery and Integration (UDDI) APIs are unavailable +
.

The following Universal Description, Discovery and Integration (UDDI) APIs are not available on Liberty:

.
    .
  • com.ibm.uddi
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following Universal Description, Discovery + and Integration (UDDI) APIs are not available on Liberty:

.
    .
  • com.ibm.uddi
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableAPIsUDDI + when: + java.referenced: + pattern: com.ibm.uddi* +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsWLM_0_packages + nameOfCaptureGroup: WebSphereUnavailableAPIsWLM_0_packages + pattern: (?P(com.ibm.websphere.wlm*\.[^.]+|com.ibm.websphere.wlm.exception*\.[^.]+))? + description: |- + The WebSphere Workload Manager APIs are unavailable +
.

The following WebSphere Workload Manager APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.wlm
  • .
  • com.ibm.websphere.wlm.exception
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Workload Manager APIs + are not available on Liberty:

.
    .
  • com.ibm.websphere.wlm
  • . +
  • com.ibm.websphere.wlm.exception
  • .
.

You must modify + the application so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsWLM + when: + java.referenced: + pattern: (com.ibm.websphere.wlm**|com.ibm.websphere.wlm.exception**) +- category: mandatory + customVariables: [] + description: |- + The WebSphere Studio Application Developer Integration Edition APIs are unavailable +
.

The following WebSphere Studio Application Developer Integration Edition APIs are not available on Liberty:

.
    .
  • com.ibm.webtools.runtime.AbstractStudioServlet
  • .
  • com.ibm.webtools.runtime.BuildNumber
  • .
  • com.ibm.webtools.runtime.NoDataException
  • .
  • com.ibm.webtools.runtime.StudioPervasiveServlet
  • .
  • com.ibm.webtools.runtime.TransactionFailureException
  • .
  • com.ibm.webtools.runtime.WSUtilities
  • .
  • com.ibm.etools.ctc.physicalrep
  • .
  • com.ibm.etools.ctc.plugin.binding.connector
  • .
  • com.ibm.etools.ctc.wsdl.extensions.physicalrep
  • .
  • com.ibm.etools.logging
  • .
  • com.ibm.etools.xsltypeconverter
  • .
  • com.ibm.jca.importservice
  • .
  • com.ibm.wsdl.extensions.physicalrep
  • .
  • com.ibm.wsdl.extensions.transformer
  • .
  • com.ibm.wsif.format.jca
  • .
  • com.ibm.wsif.format.literal
  • .
  • com.ibm.wsif.format.transformer
  • .
  • com.ibm.wsif.jca
  • .
  • com.ibm.wsif.providers.ejb.proxy
  • .
  • com.ibm.wsif.providers.transformer
  • .
  • com.ibm.wsif.providers.transformerrt
  • .
  • org.xmlsoap.schemas.wsdl.wsadie.messages
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Studio Application Developer + Integration Edition APIs are not available on Liberty:

.
    .
  • com.ibm.webtools.runtime.AbstractStudioServlet
  • . +
  • com.ibm.webtools.runtime.BuildNumber
  • .
  • com.ibm.webtools.runtime.NoDataException
  • . +
  • com.ibm.webtools.runtime.StudioPervasiveServlet
  • .
  • com.ibm.webtools.runtime.TransactionFailureException
  • . +
  • com.ibm.webtools.runtime.WSUtilities
  • .
  • com.ibm.etools.ctc.physicalrep
  • . +
  • com.ibm.etools.ctc.plugin.binding.connector
  • .
  • com.ibm.etools.ctc.wsdl.extensions.physicalrep
  • . +
  • com.ibm.etools.logging
  • .
  • com.ibm.etools.xsltypeconverter
  • . +
  • com.ibm.jca.importservice
  • .
  • com.ibm.wsdl.extensions.physicalrep
  • . +
  • com.ibm.wsdl.extensions.transformer
  • .
  • com.ibm.wsif.format.jca
  • . +
  • com.ibm.wsif.format.literal
  • .
  • com.ibm.wsif.format.transformer
  • . +
  • com.ibm.wsif.jca
  • .
  • com.ibm.wsif.providers.ejb.proxy
  • . +
  • com.ibm.wsif.providers.transformer
  • .
  • com.ibm.wsif.providers.transformerrt
  • . +
  • org.xmlsoap.schemas.wsdl.wsadie.messages
  • .
.

You + must modify the application so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsWSADIE + when: + or: + - java.referenced: + pattern: (com.ibm.etools.ctc.plugin.binding.connector**|com.ibm.etools.ctc.physicalrep**|com.ibm.etools.ctc.wsdl.extensions.physicalrep**|com.ibm.etools.logging**|com.ibm.etools.xsltypeconverter**|com.ibm.jca.importservice**|com.ibm.wsdl.extensions.physicalrep**|com.ibm.wsdl.extensions.transformer**|com.ibm.wsif.format.jca**|com.ibm.wsif.format.literal**|com.ibm.wsif.format.transformer**|com.ibm.wsif.jca**|com.ibm.wsif.providers.ejb.proxy**|com.ibm.wsif.providers.transformer**|com.ibm.wsif.providers.transformerrt**|org.xmlsoap.schemas.wsdl.wsadie.messages**) + - java.referenced: + pattern: (com.ibm.webtools.runtime.AbstractStudioServlet|com.ibm.webtools.runtime.BuildNumber|com.ibm.webtools.runtime.NoDataException|com.ibm.webtools.runtime.StudioPervasiveServlet|com.ibm.webtools.runtime.TransactionFailureException|com.ibm.webtools.runtime.WSUtilities) +- category: mandatory + customVariables: + - name: WebSphereUnavailableAPIsWSSecurityHelper_0_methodNames + nameOfCaptureGroup: WebSphereUnavailableAPIsWSSecurityHelper_0_methodNames + pattern: com.ibm.websphere.security.WSSecurityHelper.(?P(getFirstCaller|getFirstServer|getCallerList|getServerList|getPropagationAttributes|addPropagationAttribute|convertCookieStringToBytes|revokeSSOCookiesForPortlets))?({*}) + description: |- + Some WSSecurityHelper methods are unavailable +
.

The following WSSecurityHelper methods are not available on Liberty:

.
    .
  • getCallerList
  • .
  • getFirstCaller
  • .
  • getFirstServer
  • .
  • getServerList
  • .
  • addPropagationAttribute
  • .
  • getPropagationAttributes
  • .
  • convertCookieStringToBytes
  • .
  • revokeSSOCookies
  • .
  • revokeSSOCookiesForPortlets
  • .
  • getLTPACookieFromSSOToken
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WSSecurityHelper methods are not + available on Liberty:

.
    .
  • getCallerList
  • .
  • getFirstCaller
  • . +
  • getFirstServer
  • .
  • getServerList
  • .
  • addPropagationAttribute
  • . +
  • getPropagationAttributes
  • .
  • convertCookieStringToBytes
  • . +
  • revokeSSOCookies
  • .
  • revokeSSOCookiesForPortlets
  • . +
  • getLTPACookieFromSSOToken
  • .
.

You must modify the + application so that it can run on Liberty.

.
' + ruleID: WebSphereUnavailableAPIsWSSecurityHelper + when: + java.referenced: + location: METHOD_CALL + pattern: com.ibm.websphere.security.WSSecurityHelper.(getFirstCaller|getFirstServer|getCallerList|getServerList|getPropagationAttributes|addPropagationAttribute|convertCookieStringToBytes|revokeSSOCookiesForPortlets)* +- category: mandatory + customVariables: [] + description: |- + The WebSphere Remote Request Dispatcher (RRD) SPIs are unavailable +
.

The following WebSphere Remote Request Dispatcher (RRD) SPIs are not available on Liberty:

.
    .
  • com.ibm.wsspi.rrd
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Remote Request Dispatcher + (RRD) SPIs are not available on Liberty:

.
    .
  • com.ibm.wsspi.rrd
  • . +
.

You must modify the application so that it can run on Liberty.

. +
' + ruleID: WebSphereUnavailableSPIsRRD + when: + java.referenced: + pattern: com.ibm.wsspi.rrd* +- category: mandatory + customVariables: [] + description: |- + Do not use the WSSecurityHelper revokeSSOCookies method +
Avoid using the deprecated WSSecurityHelper revokeSSOCookies method.

This rule flags the following deprecated method from the com.ibm.websphere.security.WSSecurityHelper class:

.
    .
  • revokeSSOCookies(HttpServletRequest req, HttpServletResponse res)
  • .
.

This method is deprecated in traditional WebSphere Application Server Version 8.5 and might be removed in a future release. It is not available on Liberty.

.

The functionality provided by WSSecurityHelper.revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) is replaced by the Java Servlet-3.0 specification's logout() method. The Java Servlet-3.0 logout() method will perform all of the work that WSSecurityHelper.revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) performs as well as doing additional state clean up, such as invalidating the session and clearing the security Subject from the thread.

.

Use the new method to be compatible on both WebSphere Application Server traditional and Liberty. Also note that with the logout() method in use, the application requires WebSphere Application Server V8.0 or later.

.

In the source scanner, the quick fix replaces calls to revokeSSOCookies(HttpServletRequest req, HttpServletResponse res) with calls to the logout() method. For example, the following code

. . . . . . .
import javax.servlet.http.HttpServletRequest;
...
WSSecurityHelper.revokeSSOCookies(req, res);
.

is replaced by

. . . . . . .
import javax.servlet.http.HttpServletRequest;
...
req.logout();
.

For additional information, see

. .
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
Avoid using the deprecated + WSSecurityHelper revokeSSOCookies method.

This rule flags the following + deprecated method from the com.ibm.websphere.security.WSSecurityHelper + class:

.
    .
  • revokeSSOCookies(HttpServletRequest + req, HttpServletResponse res)
  • .
.

This method is deprecated + in traditional WebSphere Application Server Version 8.5 and might be removed in + a future release. It is not available on Liberty.

.

The functionality + provided by WSSecurityHelper.revokeSSOCookies(HttpServletRequest + req, HttpServletResponse res) is replaced by the Java Servlet-3.0 specification''s + logout() method. The Java Servlet-3.0 logout() + method will perform all of the work that WSSecurityHelper.revokeSSOCookies(HttpServletRequest + req, HttpServletResponse res) performs as well as doing additional state + clean up, such as invalidating the session and clearing the security Subject + from the thread.

.

Use the new method to be compatible on both WebSphere + Application Server traditional and Liberty. Also note that with the logout() + method in use, the application requires WebSphere Application Server V8.0 or later. +

.

In the source scanner, the quick fix replaces calls to revokeSSOCookies(HttpServletRequest + req, HttpServletResponse res) with calls to the logout() + method. For example, the following code

. . . . . . .
import javax.servlet.http.HttpServletRequest; +
...
WSSecurityHelper.revokeSSOCookies(req, + res);
.

is replaced by

. . . . . . .
import javax.servlet.http.HttpServletRequest; +
...
req.logout(); +
.

For additional information, see

. .
' + ruleID: WebSphereUnavailableSSOCookieMethod + when: + java.referenced: + location: METHOD_CALL + pattern: com.ibm.websphere.security.WSSecurityHelper.revokeSSOCookies* +- category: mandatory + customVariables: [] + description: |- + Do not use the WSSecurityHelper getLTPACookieFromSSOToken method +
.

This rule flags the following method from the com.ibm.websphere.security.WSSecurityHelper class:

.
    .
  • getLTPACookieFromSSOToken()
  • .
.

This method is deprecated in traditional WebSphere Application Server Version 8.5 and might be removed in a future release. It is not available on Liberty.

.

The functionality provided by WSSecurityHelper.getLTPACookieFromSSOToken() is replaced by the new method com.ibm.websphere.security.web.WebSecurityHelper.getSSOCookieFromSSOToken(). Note that this new method is in the class com.ibm.websphere.security.web.WebSecurityHelper, not com.ibm.websphere.security.WSSecurityHelper. This method will extract the SSO token from the subject of current thread and builds an SSO cookie out of it for use on downstream web invocations.

.

Use the new method to be compatible on both WebSphere Application Server traditional and Liberty. Also note that with the getSSOCookieFromSSOToken() method in use, the application requires WebSphere Application Server V8.0 or later.

.

In the source scanner, the quick fix replaces calls to WSSecurityHelper.getLTPACookieFromSSOToken() with calls to the WebSecurityHelper.getSSOCookieFromSSOToken() method. An import statement for com.ibm.websphere.security.web.WebSecurityHelper is added if needed. For example, the following code

. . . . . . .
import javax.servlet.http.Cookie;
import com.ibm.websphere.security.WSSecurityHelper;
...
Cookie ltpaCookie = WSSecurityHelper.getLTPACookieFromSSOToken();
.

is replaced by

. . . . . . .
import javax.servlet.http.Cookie;
import com.ibm.websphere.security.WSSecurityHelper;
import com.ibm.websphere.security.web.WebSecurityHelper;
...
Cookie ltpaCookie = WebSecurityHelper.getSSOCookieFromSSOToken();
.

For additional information, see

. .
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

This rule flags the following method from the + com.ibm.websphere.security.WSSecurityHelper class:

. +
    .
  • getLTPACookieFromSSOToken()
  • .
.

This + method is deprecated in traditional WebSphere Application Server Version 8.5 and + might be removed in a future release. It is not available on Liberty.

.

+ The functionality provided by WSSecurityHelper.getLTPACookieFromSSOToken() + is replaced by the new method com.ibm.websphere.security.web.WebSecurityHelper.getSSOCookieFromSSOToken(). + Note that this new method is in the class com.ibm.websphere.security.web.WebSecurityHelper, + not com.ibm.websphere.security.WSSecurityHelper. This + method will extract the SSO token from the subject of current thread and builds + an SSO cookie out of it for use on downstream web invocations.

.

Use the + new method to be compatible on both WebSphere Application Server traditional and + Liberty. Also note that with the getSSOCookieFromSSOToken() + method in use, the application requires WebSphere Application Server V8.0 or later. +

.

In the source scanner, the quick fix replaces calls to WSSecurityHelper.getLTPACookieFromSSOToken() + with calls to the WebSecurityHelper.getSSOCookieFromSSOToken() + method. An import statement for com.ibm.websphere.security.web.WebSecurityHelper + is added if needed. For example, the following code

. . . . . . .
import javax.servlet.http.Cookie;
+ import com.ibm.websphere.security.WSSecurityHelper;
... +
Cookie ltpaCookie = WSSecurityHelper.getLTPACookieFromSSOToken(); +
.

is replaced by

. . . . . . . +
import javax.servlet.http.Cookie;
+ import com.ibm.websphere.security.WSSecurityHelper;
import com.ibm.websphere.security.web.WebSecurityHelper; +
...
Cookie + ltpaCookie = WebSecurityHelper.getSSOCookieFromSSOToken();
.

For additional information, see

. .
' + ruleID: WebSphereUnavailableSSOTokenMethod + when: + java.referenced: + location: METHOD_CALL + pattern: com.ibm.websphere.security.WSSecurityHelper.getLTPACookieFromSSOToken* +- category: optional + customVariables: [] + description: |- + Some WebSphere z/OS Optimized Local Adapters APIs are unavailable +
.

Liberty supports a subset of the WebSphere Optimized Local Adapters (WOLA) APIs. This rule flags the use of APIs that are unsupported on Liberty.

.

The Java™ rule flags the following classes related to MBean functions that are unavailable on Liberty:

.
    .
  • com.ibm.websphere.ola.OLAConnectionHandle
  • .
  • com.ibm.websphere.ola.OLAHeader
  • .
  • com.ibm.websphere.ola.OLARGE
  • .
  • com.ibm.websphere.ola.OLARGEInformation
  • .
  • com.ibm.websphere.ola.OLARGEList
  • .
  • com.ibm.websphere.ola.OLASearchObject
  • .
  • com.ibm.websphere.ola.OLAStatusInformation
  • .
.

The Java rule also flags RemoteHome annotations with com.ibm.websphere.ola.ExecuteHome.class as the remote interface. Liberty ignores the @RemoteHome interface. To host this EJB on Liberty, modify your application to also provide a business local EJB bean that implements com.ibm.websphere.ola.ExecuteLocalBusiness.

.
    .
  • @RemoteHome(com.ibm.websphere.ola.ExecuteHome.class)
  • .
.

The XML rule flags <remote> and <home> elements that contain references to com.ibm.websphere.ola classes. To use WOLA with EJB beans on Liberty, you need to migrate your EJB beans to use EJB 3.0 <business-local> interfaces, and your EJB class must implement com.ibm.websphere.ola.ExecuteLocalBusiness.

.

For example, the tool flags the use of WOLA on the remote and home interfaces:

. . . . . . .
<session id="wola_sample">
<ejb-name>WOLA</ejb-name>
<home>com.ibm.websphere.ola.ExecuteHome</home>
<remote>com.ibm.websphere.ola.Execute</remote>
<ejb-class>com.ibm.Hello</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
.

To use WOLA in this application on Liberty, migrate the EJB classes to use the local business interface and update the ejb-jar.xml file as follows:

. . . . . . .
<session id="wola_sample">
<ejb-name>WOLA</ejb-name>
<business-local>com.ibm.websphere.ola.ExecuteLocalBusiness</business-local>
<ejb-class>com.ibm.Hello</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
.

Also note that Java Naming and Directory Interface (JNDI) names of target EJB beans on Liberty use java: naming. Start the Liberty server and check the server log for messages that display the JNDI of the target EJB beans.

.

For detailed information about WOLA on Liberty, see the Developing applications that use optimized local adapters on Liberty documentation.

.
+ effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

Liberty supports a subset of the WebSphere Optimized + Local Adapters (WOLA) APIs. This rule flags the use of APIs that are unsupported + on Liberty.

.

The Java™ rule flags the following classes related to MBean + functions that are unavailable on Liberty:

.
    .
  • com.ibm.websphere.ola.OLAConnectionHandle
  • . +
  • com.ibm.websphere.ola.OLAHeader
  • .
  • com.ibm.websphere.ola.OLARGE
  • . +
  • com.ibm.websphere.ola.OLARGEInformation
  • .
  • com.ibm.websphere.ola.OLARGEList
  • . +
  • com.ibm.websphere.ola.OLASearchObject
  • .
  • com.ibm.websphere.ola.OLAStatusInformation
  • . +
.

The Java rule also flags RemoteHome annotations with com.ibm.websphere.ola.ExecuteHome.class + as the remote interface. Liberty ignores the @RemoteHome interface. + To host this EJB on Liberty, modify your application to also provide a business + local EJB bean that implements com.ibm.websphere.ola.ExecuteLocalBusiness.

. +
    .
  • @RemoteHome(com.ibm.websphere.ola.ExecuteHome.class)
  • . +
.

The XML rule flags <remote> and <home> + elements that contain references to com.ibm.websphere.ola classes. + To use WOLA with EJB beans on Liberty, you need to migrate your EJB beans to use + EJB 3.0 <business-local> interfaces, and your EJB class must + implement com.ibm.websphere.ola.ExecuteLocalBusiness.

.

For + example, the tool flags the use of WOLA on the remote and home interfaces:

. + . . . . . . +
<session + id="wola_sample">
<ejb-name>WOLA</ejb-name>
+ <home>com.ibm.websphere.ola.ExecuteHome</home>
+ <remote>com.ibm.websphere.ola.Execute</remote>
+ <ejb-class>com.ibm.Hello</ejb-class>
+ <session-type>Stateless</session-type>
+ <transaction-type>Container</transaction-type>
+ </session>
.

To use WOLA in this application on Liberty, migrate the EJB classes + to use the local business interface and update the ejb-jar.xml + file as follows:

. . . . . . . +
+ <session id="wola_sample">
<ejb-name>WOLA</ejb-name>
+ <business-local>com.ibm.websphere.ola.ExecuteLocalBusiness</business-local>
+ <ejb-class>com.ibm.Hello</ejb-class>
+ <session-type>Stateless</session-type>
+ <transaction-type>Container</transaction-type>
+ </session>
.

Also note that Java Naming and Directory Interface (JNDI) names + of target EJB beans on Liberty use java: naming. Start the Liberty + server and check the server log for messages that display the JNDI of the target + EJB beans.

.

For detailed information about WOLA on Liberty, see the Developing applications that use optimized local adapters on Liberty + documentation.

.
' + ruleID: WOLAMissingClassesRule + when: + or: + - java.referenced: + pattern: (com.ibm.websphere.ola.OLAConnectionHandle|com.ibm.websphere.ola.OLAHeader|com.ibm.websphere.ola.OLARGE|com.ibm.websphere.ola.OLARGEInformation|com.ibm.websphere.ola.OLARGEList|com.ibm.websphere.ola.OLASearchObject|com.ibm.websphere.ola.OLAStatusInformation) + - java.referenced: + location: ANNOTATION + pattern: javax.ejb.RemoteHome + - builtin.xml: + filepaths: + - ejb-jar.xml + namespaces: {} + xpath: //*[local-name()='home' or local-name()='remote']/text()[matches(self::node(), + 'com\.ibm\.websphere\.ola\..*')] +- category: mandatory + customVariables: + - name: WOLARule_0_packages + nameOfCaptureGroup: WOLARule_0_packages + pattern: (?Pcom.ibm.websphere.ola\.[^.]+)? + description: |- + Review differences in the WebSphere z/OS Optimized Local Adapters API +
.

Liberty supports some com.ibm.websphere.ola APIs, but there are differences from the support provided on WebSphere Application Server traditional. Review your use of the WOLA APIs to see if the differences affect your application.

.

Differences include the WOLA support for global transactions, Enterprise JavaBeans (EJB) support, and Java Naming and Directory Interface (JNDI). For detailed information about WOLA on Liberty, see the Developing applications that use optimized local adapters on Liberty documentation.

.

WOLA support for IBM Information Management Systems (IMS) is introduced in Liberty 16.0.0.3.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

Liberty supports some com.ibm.websphere.ola APIs, + but there are differences from the support provided on WebSphere Application Server + traditional. Review your use of the WOLA APIs to see if the differences affect + your application.

.

Differences include the WOLA support for global transactions, + Enterprise JavaBeans (EJB) support, and Java Naming and Directory Interface (JNDI). + For detailed information about WOLA on Liberty, see the Developing applications that use optimized local adapters on Liberty + documentation.

.

WOLA support for IBM Information Management Systems (IMS) + is introduced in Liberty 16.0.0.3.

.
+ ruleID: WOLARule + when: + java.referenced: + pattern: com.ibm.websphere.ola* +- category: mandatory + customVariables: + - name: WorkAreaRule_0_packages + nameOfCaptureGroup: WorkAreaRule_0_packages + pattern: (?P(com.ibm.websphere.workarea\.[^.]+|com.ibm.wsspi.workarea\.[^.]+))? + description: |- + The WebSphere Work Area APIs and SPIs are unavailable +
.

The following WebSphere Work Area APIs and SPIs are not available on Liberty:

.
    .
  • com.ibm.websphere.workarea
  • .
  • com.ibm.wsspi.workarea
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: '
.

The following WebSphere Work Area APIs and SPIs + are not available on Liberty:

.
    .
  • com.ibm.websphere.workarea
  • . +
  • com.ibm.wsspi.workarea
  • .
.

You must modify the application + so that it can run on Liberty.

.
' + ruleID: WorkAreaRule + when: + java.referenced: + pattern: (com.ibm.websphere.workarea*|com.ibm.wsspi.workarea*) +- category: mandatory + customVariables: [] + description: |- + Web Services Notification (WS-Notification) is unavailable + The WebSphere Web Services Notification (WS-Notification) APIs are unavailable.
.

The following WebSphere Web Services Notification (WS-Notification) APIs are not available on Liberty:

.
    .
  • com.ibm.websphere.sib.wsn
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 0 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message: 'The WebSphere Web Services Notification (WS-Notification) + APIs are unavailable.
.

The following WebSphere Web + Services Notification (WS-Notification) APIs are not available on Liberty:

. +
    .
  • com.ibm.websphere.sib.wsn
  • .
.

You must modify + the application so that it can run on Liberty.

.
' + ruleID: WSNotificationRuleJava + when: + java.referenced: + pattern: com.ibm.websphere.sib.wsn* +- category: mandatory + customVariables: [] + description: |- + The use of the WebSphere XPath, XQuery, and XSLT API requires configuration +
.

To use the WebSphere XPath, XQuery, and XSLT API, applications must be configured to use the XML thin client JAR file provided by the WebSphere Application Server Feature Pack for XML.

.
+ effort: 1 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

To use the WebSphere XPath, XQuery, and XSLT API, + applications must be configured to use the XML thin client JAR file provided by + the WebSphere Application Server Feature Pack for XML.

.
+ ruleID: XMLFeaturePackRule + when: + java.referenced: + pattern: com.ibm.xml.xapi* +- category: mandatory + customVariables: + - name: WebSphereWebServicesRule_0_packages + nameOfCaptureGroup: WebSphereWebServicesRule_0_packages + pattern: (?P(com.ibm.websphere.webservices\.[^.]+|com.ibm.websphere.websvcs.rm\.[^.]+|com.ibm.websphere.wsaddressing\.[^.]+|com.ibm.websphere.wsrf\.[^.]+|com.ibm.websphere.wssecurity\.[^.]+|com.ibm.websphere.cache.webservices\.[^.]+|com.ibm.ws.webservices\.[^.]+|com.ibm.ws.websvcs\.[^.]+|com.ibm.ws.wssecurity\.[^.]+|com.ibm.wsspi.soapcontainer\.[^.]+|com.ibm.wsspi.webservices\.[^.]+|com.ibm.wsspi.wssecurity\.[^.]+|com.ibm.wsspi.wsaddressing\.[^.]+|com.ibm.wsspi.wsrm\.[^.]+))? + - name: WebSphereWebServicesRule_0_files + nameOfCaptureGroup: WebSphereWebServicesRule_0_files + pattern: (?P(com.ibm.websphere.webservices\.[^.]+|com.ibm.websphere.websvcs.rm\.[^.]+|com.ibm.websphere.wsaddressing\.[^.]+|com.ibm.websphere.wsrf\.[^.]+|com.ibm.websphere.wssecurity\.[^.]+|com.ibm.websphere.cache.webservices\.[^.]+|com.ibm.ws.webservices\.[^.]+|com.ibm.ws.websvcs\.[^.]+|com.ibm.ws.wssecurity\.[^.]+|com.ibm.wsspi.soapcontainer\.[^.]+|com.ibm.wsspi.webservices\.[^.]+|com.ibm.wsspi.wssecurity\.[^.]+|com.ibm.wsspi.wsaddressing\.[^.]+|com.ibm.wsspi.wsrm\.[^.]+))? + description: |- + The WebSphere web services APIs and SPIs are unavailable +
.

. The following WebSphere web services APIs and SPIs are not available on Liberty:.

.
    .
  • com.ibm.websphere.webservices
  • .
  • com.ibm.websphere.websvcs.rm
  • .
  • com.ibm.websphere.wssecurity
  • .
  • com.ibm.websphere.cache.webservices
  • .
  • com.ibm.ws.webservices
  • .
  • com.ibm.ws.websvcs
  • .
  • com.ibm.ws.wssecurity
  • .
  • com.ibm.websphere.wsaddressing
  • .
  • com.ibm.websphere.wsrf
  • .
  • com.ibm.wsspi.soapcontainer
  • .
  • com.ibm.wsspi.webservices
  • .
  • com.ibm.wsspi.wssecurity
  • .
  • com.ibm.wsspi.wsaddressing
  • .
  • com.ibm.wsspi.wsrm
  • .
.

You must modify the application so that it can run on Liberty.

.
+ effort: 3 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

. The following WebSphere web services APIs and + SPIs are not available on Liberty:.

.
    .
  • com.ibm.websphere.webservices
  • . +
  • com.ibm.websphere.websvcs.rm
  • .
  • com.ibm.websphere.wssecurity
  • . +
  • com.ibm.websphere.cache.webservices
  • .
  • com.ibm.ws.webservices
  • . +
  • com.ibm.ws.websvcs
  • .
  • com.ibm.ws.wssecurity
  • . +
  • com.ibm.websphere.wsaddressing
  • .
  • com.ibm.websphere.wsrf
  • . +
  • com.ibm.wsspi.soapcontainer
  • .
  • com.ibm.wsspi.webservices
  • . +
  • com.ibm.wsspi.wssecurity
  • .
  • com.ibm.wsspi.wsaddressing
  • . +
  • com.ibm.wsspi.wsrm
  • .
.

You must modify the application + so that it can run on Liberty.

.
+ ruleID: WebSphereWebServicesRule + when: + java.referenced: + pattern: (com.ibm.websphere.webservices*|com.ibm.websphere.websvcs.rm*|com.ibm.websphere.wsaddressing*|com.ibm.websphere.wsrf*|com.ibm.websphere.wssecurity*|com.ibm.websphere.cache.webservices*|com.ibm.ws.webservices*|com.ibm.ws.websvcs*|com.ibm.ws.wssecurity*|com.ibm.wsspi.soapcontainer*|com.ibm.wsspi.webservices*|com.ibm.wsspi.wssecurity*|com.ibm.wsspi.wsaddressing*|com.ibm.wsspi.wsrm*) +- category: optional + customVariables: + - name: WebSphereWebServicesGeneratedClassesRule_0_files + nameOfCaptureGroup: WebSphereWebServicesGeneratedClassesRule_0_files + pattern: (?P(com.ibm.websphere.webservices\.[^.]+|com.ibm.websphere.websvcs.rm\.[^.]+|com.ibm.websphere.wsaddressing\.[^.]+|com.ibm.websphere.wsrf\.[^.]+|com.ibm.websphere.wssecurity\.[^.]+|com.ibm.websphere.cache.webservices\.[^.]+|com.ibm.ws.webservices\.[^.]+|com.ibm.ws.websvcs\.[^.]+|com.ibm.ws.wssecurity\.[^.]+|com.ibm.wsspi.soapcontainer\.[^.]+|com.ibm.wsspi.webservices\.[^.]+|com.ibm.wsspi.wssecurity\.[^.]+|com.ibm.wsspi.wsaddressing\.[^.]+|com.ibm.wsspi.wsrm\.[^.]+))? + - name: WebSphereWebServicesGeneratedClassesRule_0_packages + nameOfCaptureGroup: WebSphereWebServicesGeneratedClassesRule_0_packages + pattern: (?P(com.ibm.websphere.webservices\.[^.]+|com.ibm.websphere.websvcs.rm\.[^.]+|com.ibm.websphere.wsaddressing\.[^.]+|com.ibm.websphere.wsrf\.[^.]+|com.ibm.websphere.wssecurity\.[^.]+|com.ibm.websphere.cache.webservices\.[^.]+|com.ibm.ws.webservices\.[^.]+|com.ibm.ws.websvcs\.[^.]+|com.ibm.ws.wssecurity\.[^.]+|com.ibm.wsspi.soapcontainer\.[^.]+|com.ibm.wsspi.webservices\.[^.]+|com.ibm.wsspi.wssecurity\.[^.]+|com.ibm.wsspi.wsaddressing\.[^.]+|com.ibm.wsspi.wsrm\.[^.]+))? + description: |- + Application contains WSDL2Java generated classes +
.

. The WSDL2Java emitter generates Java classes from JAX-RPC WSDL files. These generated classes are used with JAX-RPC web. services that is not supported on Liberty. These classes can be removed when converting from JAX-RPC to JAX-WS..

.

. This rule flags the following WSDL2Java emitter generated classes:.

.
    .
  • *_Deser.class
  • .
  • *_Helper.class
  • .
  • *_Ser.class
  • .
  • *Stub.class
  • .
  • *Locator.class
  • .
  • *Information.class
  • .
.

. For example, if your WSDL file contains an element named Book the WSDL2Java emitter may generate any of the following classes. to be flagged by this rule:.

.
    .
  • Book_Deser.class
  • .
  • Book_Helper.class
  • .
  • Book_Ser.class
  • .
  • BookStub.class
  • .
  • BookBindingStub.class
  • .
  • BookLocator.class
  • .
  • BookServiceLocator.class
  • .
  • Book_ServiceLocator.class
  • .
  • BookInformation.class
  • .
  • BookServiceInformation.class
  • .
  • Book_ServiceInformation.class
  • .
.
+ effort: 0 + labels: + - konveyor.io/source=websphere + - konveyor.io/target=openliberty + links: + - title: Open Liberty migration rules in Windup + url: https://www.ibm.com/docs/wamt?topic=rules-open-liberty-migration-in-windup + message:
.

. The WSDL2Java emitter generates Java classes from + JAX-RPC WSDL files. These generated classes are used with JAX-RPC web. services + that is not supported on Liberty. These classes can be removed when converting + from JAX-RPC to JAX-WS..

.

. This rule flags the following WSDL2Java emitter + generated classes:.

.
    .
  • *_Deser.class
  • .
  • *_Helper.class
  • . +
  • *_Ser.class
  • .
  • *Stub.class
  • .
  • *Locator.class
  • . +
  • *Information.class
  • .
.

. For example, if your WSDL + file contains an element named Book the WSDL2Java emitter may generate any of + the following classes. to be flagged by this rule:.

.
    .
  • Book_Deser.class
  • . +
  • Book_Helper.class
  • .
  • Book_Ser.class
  • . +
  • BookStub.class
  • .
  • BookBindingStub.class
  • . +
  • BookLocator.class
  • .
  • BookServiceLocator.class
  • . +
  • Book_ServiceLocator.class
  • .
  • BookInformation.class
  • . +
  • BookServiceInformation.class
  • .
  • Book_ServiceInformation.class
  • . +
.
+ ruleID: WebSphereWebServicesGeneratedClassesRule + when: + java.referenced: + pattern: (com.ibm.websphere.webservices*|com.ibm.websphere.websvcs.rm*|com.ibm.websphere.wsaddressing*|com.ibm.websphere.wsrf*|com.ibm.websphere.wssecurity*|com.ibm.websphere.cache.webservices*|com.ibm.ws.webservices*|com.ibm.ws.websvcs*|com.ibm.ws.wssecurity*|com.ibm.wsspi.soapcontainer*|com.ibm.wsspi.webservices*|com.ibm.wsspi.wssecurity*|com.ibm.wsspi.wsaddressing*|com.ibm.wsspi.wsrm*) diff --git a/resources/rulesets/openliberty/image.svg b/resources/rulesets/openliberty/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/openliberty/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/openliberty/ruleset.yaml b/resources/rulesets/openliberty/ruleset.yaml new file mode 100644 index 0000000..ac9ca1b --- /dev/null +++ b/resources/rulesets/openliberty/ruleset.yaml @@ -0,0 +1,3 @@ +name: openliberty/websphere +description: This ruleset identifies usage of Java APIs and technologies which are + not provided by Open Liberty. diff --git a/resources/rulesets/openshift/155-embedded-cache-libraries.windup.yaml b/resources/rulesets/openshift/155-embedded-cache-libraries.windup.yaml new file mode 100644 index 0000000..b45fe44 --- /dev/null +++ b/resources/rulesets/openshift/155-embedded-cache-libraries.windup.yaml @@ -0,0 +1,271 @@ +- customVariables: [] + description: "Caching - Ehcache embedded library\n\n The + application embeds an Ehcache library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-01000 + tag: + - Ehcache + - Caching - Ehcache embedded library + when: + builtin.file: + pattern: .*ehcache.*\.jar$ +- customVariables: [] + description: "Caching - Coherence embedded library\n\n The + application embeds a Coherence library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-02000 + tag: + - Coherence + - Caching - Coherence embedded library + when: + builtin.file: + pattern: .*coherence.*\.jar$ +- customVariables: [] + description: "Caching - Apache Commons JCS embedded library\n\n The + application embeds an Apache Commons JCS library.\n\n An + embedded cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-03000 + tag: + - Apache Commons JCS + - Caching - Apache Commons JCS embedded library + when: + builtin.file: + pattern: .*commons-jcs.*\.jar$ +- customVariables: [] + description: "Caching - Dynacache embedded library\n\n The + application embeds a Dynacache library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-04000 + tag: + - Dynacache + - Caching - Dynacache embedded library + when: + builtin.file: + pattern: .*dynacache.*\.jar$ +- customVariables: [] + description: "Caching - Embedded library\n\n The application + embeds a library that provides caching.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-05000 + tag: + - Cache API + - Caching - Embedded library + when: + builtin.file: + pattern: .*cache-api.*\.jar$ +- customVariables: [] + description: "Caching - Hazelcast embedded library\n\n The + application embeds a Hazelcast library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-06000 + tag: + - Hazelcast + - Caching - Hazelcast embedded library + when: + builtin.file: + pattern: .*hazelcast.*\.jar$ +- customVariables: [] + description: "Caching - Apache Ignite embedded library\n\n The + application embeds an Apache Ignite library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-07000 + tag: + - Apache Ignite + - Caching - Apache Ignite embedded library + when: + builtin.file: + pattern: .*ignite.*\.jar$ +- customVariables: [] + description: "Caching - Infinispan embedded library\n\n The + application embeds an Infinispan library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-08000 + tag: + - Infinispan + - Caching - Infinispan embedded library + when: + builtin.file: + pattern: .*infinispan.*\.jar$ +- customVariables: [] + description: "Caching - JBoss Cache embedded library\n\n The + application embedds a JBoss Cache library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-09000 + tag: + - JBoss Cache + - Caching - JBoss Cache embedded library + when: + builtin.file: + pattern: .*jbosscache.*\.jar$ +- customVariables: [] + description: "Caching - JCache embedded library\n\n The application + embeds a JCache library.\n\n An embedded cache library + is problematic because state information might not be persisted to a backing service.\n\n + \ Recommendation: Use a cache backing service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-10000 + tag: + - JCache + - Caching - JCache embedded library + when: + builtin.file: + pattern: .*jcache.*\.jar$ +- customVariables: [] + description: "Caching - Memcached client embedded library\n\n The + application embeds a Memcached client library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-11000 + tag: + - Memcached client + - Caching - Memcached client embedded library + when: + builtin.file: + pattern: .*memcached.*\.jar$ +- customVariables: [] + description: "Caching - Oscache embedded library\n\n The + application embeds an Oscache library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-12000 + tag: + - Oscache + - Caching - Oscache embedded library + when: + builtin.file: + pattern: .*oscache.*\.jar$ +- customVariables: [] + description: "Caching - ShiftOne (Java Object Cache) embedded library\n\n The + application embeds a ShiftOne library (Java Object Cache or JOCache).\n\n An + embedded cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-13000 + tag: + - ShiftOne + - Caching - ShiftOne (Java Object Cache) embedded library + when: + builtin.file: + pattern: .*shiftone.*\.jar$ +- customVariables: [] + description: "Caching - SwarmCache embedded library\n\n The + application embeds a SwarmCache library.\n\n An embedded + cache library is problematic because state information might not be persisted + to a backing service.\n\n Recommendation: Use a cache backing + service.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-14000 + tag: + - SwarmCache + - Caching - SwarmCache embedded library + when: + builtin.file: + pattern: .*swarmcache.*\.jar$ +- customVariables: [] + description: "Caching - Spring Boot Cache library\n\n The + application embeds the Spring Boot Cache library.\n \n" + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - phase=InitialAnalysisPhase + links: [] + ruleID: embedded-cache-libraries-15000 + tag: + - Spring Boot Cache + - Caching - Spring Boot Cache library + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-cache + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-cache diff --git a/resources/rulesets/openshift/156-java-rmi.windup.yaml b/resources/rulesets/openshift/156-java-rmi.windup.yaml new file mode 100644 index 0000000..ab9afb3 --- /dev/null +++ b/resources/rulesets/openshift/156-java-rmi.windup.yaml @@ -0,0 +1,47 @@ +- category: mandatory + customVariables: [] + description: |- + Java Remote Method Invocation (RMI) service + Java RMI is a tightly coupled service. Tight coupling is not suitable in a cloud environment because of scalability problems.. Recommendations. Use Java EE standard or loosely coupled protocols for backing service interactions:. ** Message-based communication (JMS) for asynchronous use cases. ** HTTP-based protocol or API (JAX-RS and JAX-WS) for synchronous use cases. When used with load-balancing, both options ensure scalability and high availability. + effort: 1 + labels: + - konveyor.io/source=java + - konveyor.io/source=rmi + - konveyor.io/target=cloud-readiness + - cloud-readiness + - rmi + links: + - title: Twelve-factor app - Backing services + url: https://12factor.net/backing-services + message: Java RMI is a tightly coupled service. Tight coupling is not suitable in + a cloud environment because of scalability problems.. Recommendations. Use Java + EE standard or loosely coupled protocols for backing service interactions:. ** + Message-based communication (JMS) for asynchronous use cases. ** HTTP-based protocol + or API (JAX-RS and JAX-WS) for synchronous use cases. When used with load-balancing, + both options ensure scalability and high availability. + ruleID: java-rmi-00000 + tag: + - Java Remote Method Invocation (RMI) service + when: + java.referenced: + location: INHERITANCE + pattern: java.rmi.Remote +- customVariables: [] + description: "Java Remote Method Invocation (RMI) API\n\n The + Java RMI API is tightly coupled. Tight coupling is not suitable in a cloud environment + because of scalability problems.\n\n Use a RESTful + API or a message queue.\n \n" + labels: + - konveyor.io/source=java + - konveyor.io/source=rmi + - konveyor.io/target=cloud-readiness + - cloud-readiness + - rmi + links: [] + ruleID: java-rmi-00001 + tag: + - rmi + - Java Remote Method Invocation (RMI) API + when: + java.referenced: + pattern: java.rmi* diff --git a/resources/rulesets/openshift/157-java-rpc.windup.yaml b/resources/rulesets/openshift/157-java-rpc.windup.yaml new file mode 100644 index 0000000..6311acd --- /dev/null +++ b/resources/rulesets/openshift/157-java-rpc.windup.yaml @@ -0,0 +1,30 @@ +- category: optional + customVariables: [] + description: |- + Java API for XML-based RPC (JAX-RPC) + The Java API for XML-based RPC (JAX-RPC) was deprecated in Java EE 6 and is optional in Java EE 7. It is no longer available or supported in JBoss EAP 7.. Recommendation: Use JAX-WS, which is the current Java EE standard web services framework. + effort: 5 + labels: + - konveyor.io/source=java + - konveyor.io/source=rpc + - konveyor.io/target=cloud-readiness + - rpc + links: + - title: JAX-RPC not supported in JBoss EAP 7 + url: https://access.redhat.com/solutions/4030521 + message: 'The Java API for XML-based RPC (JAX-RPC) was deprecated in Java EE 6 and + is optional in Java EE 7. It is no longer available or supported in JBoss EAP + 7.. Recommendation: Use JAX-WS, which is the current Java EE standard web services + framework.' + ruleID: java-rpc-00000 + when: + or: + - as: default + java.referenced: + pattern: javax.xml.rpc* + - as: default + java.referenced: + pattern: org.apache.xmlrpc* + - as: default + java.referenced: + pattern: redstone.xmlrpc* diff --git a/resources/rulesets/openshift/158-jca.windup.yaml b/resources/rulesets/openshift/158-jca.windup.yaml new file mode 100644 index 0000000..414786c --- /dev/null +++ b/resources/rulesets/openshift/158-jca.windup.yaml @@ -0,0 +1,26 @@ +- category: optional + customVariables: [] + description: |- + Resource adapter descriptor (ra.xml) + The application contains an embedded resource adapter descriptor ('ra.xml'), which implements the Java Connector Architecture (JCA) for certain Enterprise Information Systems (EIS).. JCA often uses tightly coupled interactions between the connector and the application. Tight coupling is not suitable in a cloud environment because of scalability problems.. Recommendation: Review the purpose of the resource adapter to determine whether it is required in a cloud environment. + effort: 1 + labels: + - konveyor.io/source=java + - konveyor.io/source=java-ee + - konveyor.io/target=cloud-readiness + - jca + links: + - title: Resource adapter compatibility with JBoss EAP + url: https://access.redhat.com/solutions/2476751 + - title: Red Hat JBoss EAP 7 documentation - Deploying a Generic JMS Resource Adapter + url: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuring_messaging/index#deploy_configure_generic_jms_resource_adapter + message: 'The application contains an embedded resource adapter descriptor (''ra.xml''), + which implements the Java Connector Architecture (JCA) for certain Enterprise + Information Systems (EIS).. JCA often uses tightly coupled interactions between + the connector and the application. Tight coupling is not suitable in a cloud environment + because of scalability problems.. Recommendation: Review the purpose of the resource + adapter to determine whether it is required in a cloud environment.' + ruleID: jca-00000 + when: + builtin.file: + pattern: ra\.xml diff --git a/resources/rulesets/openshift/159-jni-native-code.windup.yaml b/resources/rulesets/openshift/159-jni-native-code.windup.yaml new file mode 100644 index 0000000..6208c64 --- /dev/null +++ b/resources/rulesets/openshift/159-jni-native-code.windup.yaml @@ -0,0 +1,56 @@ +- category: mandatory + customVariables: [] + description: |- + Java native libraries (JNI, JNA) + Java native libraries might not run in a cloud or container environment.. Recommendations. * Review the purpose of the native library in your application.. * Check whether the native library is compatible with a cloud environment.. * Reuse or embed the native library or application in a cloud environment, for example, in a JBoss module.. * Replace, remove, or rewrite the native library or application using a cloud-compatible equivalent. + effort: 7 + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - jni + links: + - title: How to load native libraries and access them via JNI in EAP (with or without + a module) + url: https://access.redhat.com/solutions/229443 + - title: Is it supported to compile the JNI code as 32-bit shared libraries and + use it in 64-bit compiled Java code ? + url: https://access.redhat.com/solutions/1444643 + message: Java native libraries might not run in a cloud or container environment.. + Recommendations. * Review the purpose of the native library in your application.. + * Check whether the native library is compatible with a cloud environment.. * + Reuse or embed the native library or application in a cloud environment, for example, + in a JBoss module.. * Replace, remove, or rewrite the native library or application + using a cloud-compatible equivalent. + ruleID: jni-native-code-00000 + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: java.lang.System.load* + - java.referenced: + location: METHOD_CALL + pattern: java.lang.System.loadLibrary* + - java.referenced: + location: METHOD_CALL + pattern: java.lang.System.mapLibraryName* + - java.referenced: + location: METHOD_CALL + pattern: java.lang.Runtime.load* + - java.referenced: + location: METHOD_CALL + pattern: java.lang.Runtime.loadLibrary* + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: com.sun.jna* + - java.referenced: + location: IMPORT + pattern: com.sun.jna* + - java.referenced: + location: INHERITANCE + pattern: com.sun.jna* + - java.referenced: + location: METHOD_CALL + pattern: com.sun.jna* + - java.referenced: + location: VARIABLE_DECLARATION + pattern: com.sun.jna* diff --git a/resources/rulesets/openshift/160-local-storage.windup.yaml b/resources/rulesets/openshift/160-local-storage.windup.yaml new file mode 100644 index 0000000..05da932 --- /dev/null +++ b/resources/rulesets/openshift/160-local-storage.windup.yaml @@ -0,0 +1,194 @@ +- category: mandatory + customVariables: [] + description: |- + File system - Java IO + An application running inside a container could lose access to a file in local storage.. Recommendations. The following recommendations depend on the function of the file in local storage:. * Logging: Log to standard output and use a centralized log collector to analyze the logs.. * Caching: Use a cache backing service.. * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.. * Data storage: Use a database backing service for relational data or use a persistent data storage system.. * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache. + effort: 1 + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - storage + links: + - title: 'Twelve-Factor App: Logs' + url: https://12factor.net/logs + - title: 'OpenShift Container Platform: Understanding cluster logging' + url: https://docs.openshift.com/container-platform/4.5/logging/cluster-logging.html + - title: 'Twelve-Factor App: Backing services' + url: https://12factor.net/backing-services + - title: 'Twelve-Factor App: Config' + url: https://12factor.net/config + - title: 'OpenShift Container Platform: Input secrets and ConfigMaps' + url: https://docs.openshift.com/container-platform/4.5/builds/creating-build-inputs.html#builds-input-secrets-configmaps_creating-build-inputs + - title: 'OpenShift Container Platform: Understanding persistent storage' + url: https://docs.openshift.com/container-platform/4.5/storage/understanding-persistent-storage.html + message: 'An application running inside a container could lose access to a file + in local storage.. Recommendations. The following recommendations depend on the + function of the file in local storage:. * Logging: Log to standard output and + use a centralized log collector to analyze the logs.. * Caching: Use a cache backing + service.. * Configuration: Store configuration settings in environment variables + so that they can be updated without code changes.. * Data storage: Use a database + backing service for relational data or use a persistent data storage system.. + * Temporary data storage: Use the file system of a running container as a brief, + single-transaction cache.' + ruleID: local-storage-00001 + when: + or: + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: java.io.(FileWriter|FileReader|PrintStream|File|PrintWriter|RandomAccessFile)* + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: java.util.zip.ZipFile* + - java.referenced: + location: METHOD_CALL + pattern: java.io.File.createTempFile* + - java.referenced: + location: METHOD_CALL + pattern: java.nio.file.Paths.get* +- category: mandatory + customVariables: + - name: class + nameOfCaptureGroup: class + pattern: java.net.(?P(URL|URI))?({*}) + description: |- + File system - java.net.URL/URI + An application running inside a container could lose access to a file in local storage.. Recommendations. The following recommendations depend on the function of the file in local storage:. * Logging: Log to standard output and use a centralized log collector to analyze the logs.. * Caching: Use a cache backing service.. * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.. * Data storage: Use a database backing service for relational data or use a persistent data storage system.. * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache. + effort: 1 + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - storage + links: + - title: 'Twelve-Factor App: Logs' + url: https://12factor.net/logs + - title: 'OpenShift Container Platform: Understanding cluster logging' + url: https://docs.openshift.com/container-platform/4.5/logging/cluster-logging.html + - title: 'Twelve-Factor App: Backing services' + url: https://12factor.net/backing-services + - title: 'Twelve-Factor App: Config' + url: https://12factor.net/config + - title: 'OpenShift Container Platform: Input secrets and ConfigMaps' + url: https://docs.openshift.com/container-platform/4.5/builds/creating-build-inputs.html#builds-input-secrets-configmaps_creating-build-inputs + - title: 'OpenShift Container Platform: Understanding persistent storage' + url: https://docs.openshift.com/container-platform/4.5/storage/understanding-persistent-storage.html + message: 'An application running inside a container could lose access to a file + in local storage.. Recommendations. The following recommendations depend on the + function of the file in local storage:. * Logging: Log to standard output and + use a centralized log collector to analyze the logs.. * Caching: Use a cache backing + service.. * Configuration: Store configuration settings in environment variables + so that they can be updated without code changes.. * Data storage: Use a database + backing service for relational data or use a persistent data storage system.. + * Temporary data storage: Use the file system of a running container as a brief, + single-transaction cache.' + ruleID: local-storage-00002 + when: + java.referenced: + location: CONSTRUCTOR_CALL + pattern: java.net.(URL|URI)* +- category: mandatory + customVariables: [] + description: |- + File system - File path URL + An application running inside a container could lose access to a file in local storage.. Recommendations. The following recommendations depend on the function of the file in local storage:. * Logging: Log to standard output and use a centralized log collector to analyze the logs.. * Caching: Use a cache backing service.. * Configuration: Store configuration settings in environment variables so that they can be updated without code changes.. * Data storage: Use a database backing service for relational data or use a persistent data storage system.. * Temporary data storage: Use the file system of a running container as a brief, single-transaction cache. + effort: 1 + labels: + - konveyor.io/target=cloud-readiness + - konveyor.io/source + - storage + links: + - title: 'Twelve-Factor App: Logs' + url: https://12factor.net/logs + - title: 'OpenShift Container Platform: Understanding cluster logging' + url: https://docs.openshift.com/container-platform/4.5/logging/cluster-logging.html + - title: 'Twelve-Factor App: Backing services' + url: https://12factor.net/backing-services + - title: 'Twelve-Factor App: Config' + url: https://12factor.net/config + - title: 'OpenShift Container Platform: Input secrets and ConfigMaps' + url: https://docs.openshift.com/container-platform/4.5/builds/creating-build-inputs.html#builds-input-secrets-configmaps_creating-build-inputs + - title: 'OpenShift Container Platform: Understanding persistent storage' + url: https://docs.openshift.com/container-platform/4.5/storage/understanding-persistent-storage.html + message: 'An application running inside a container could lose access to a file + in local storage.. Recommendations. The following recommendations depend on the + function of the file in local storage:. * Logging: Log to standard output and + use a centralized log collector to analyze the logs.. * Caching: Use a cache backing + service.. * Configuration: Store configuration settings in environment variables + so that they can be updated without code changes.. * Data storage: Use a database + backing service for relational data or use a persistent data storage system.. + * Temporary data storage: Use the file system of a running container as a brief, + single-transaction cache.' + ruleID: local-storage-00003 + when: + builtin.filecontent: + pattern: (([:=(,\{])([ ])*(["'])?([a-zA-Z]):)(?(NetworkChannel|MulticastChannel|DatagramChannel|AsynchronousSocketChannel|SocketChannel))?{*} + description: |- + Java NIO channel + Java NIO channels provide bulk data transfer to and from NIO buffers. They can be synchronously and asynchronously read and written.. Channels are not suitable for a cloud environment because they are not a reliable or scalable way to interact with other systems.. Recommendation: Use Java EE standard or loosely coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions. + effort: 5 + labels: + - konveyor.io/source=java + - konveyor.io/source=java-ee + - konveyor.io/target=cloud-readiness + - socket + links: [] + message: 'Java NIO channels provide bulk data transfer to and from NIO buffers. + They can be synchronously and asynchronously read and written.. Channels are not + suitable for a cloud environment because they are not a reliable or scalable way + to interact with other systems.. Recommendation: Use Java EE standard or loosely + coupled protocols such as JMS, JAX-RS, or JAX-WS for backing service interactions.' + ruleID: socket-communication-00001 + when: + java.referenced: + pattern: java.nio.channels.(NetworkChannel|MulticastChannel|DatagramChannel|AsynchronousSocketChannel|SocketChannel)* diff --git a/resources/rulesets/openshift/image.svg b/resources/rulesets/openshift/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/openshift/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/openshift/ruleset.yaml b/resources/rulesets/openshift/ruleset.yaml new file mode 100644 index 0000000..719367e --- /dev/null +++ b/resources/rulesets/openshift/ruleset.yaml @@ -0,0 +1,3 @@ +name: openshift +description: This ruleset detects Java Native Interface (JNI) and Java Native Access + (JNA) code, which may be problematic when migrating an application to a cloud environment. diff --git a/resources/rulesets/os/165-os-specific.windup.yaml b/resources/rulesets/os/165-os-specific.windup.yaml new file mode 100644 index 0000000..8ff99a3 --- /dev/null +++ b/resources/rulesets/os/165-os-specific.windup.yaml @@ -0,0 +1,34 @@ +- category: mandatory + customVariables: [] + description: |- + Windows file system path + This file system path is Microsoft Windows platform dependent. It needs to be replaced with a Linux-style path. + effort: 1 + labels: + - konveyor.io/target=linux + - konveyor.io/source + - ms-windows + links: [] + message: This file system path is Microsoft Windows platform dependent. It needs + to be replaced with a Linux-style path. + ruleID: os-specific-00001 + when: + builtin.filecontent: + pattern: '[A-z]:([\\][^\n\t]+)+|(\\\\([^\\\,\n\t]+)\\\S+)+' +- category: mandatory + customVariables: [] + description: |- + Dynamic-Link Library (DLL) + This Dynamic-Link Library is Microsoft Windows platform dependent. It needs to be replaced with a Linux-style shared library. + effort: 5 + labels: + - konveyor.io/target=linux + - konveyor.io/source + - ms-windows + links: [] + message: This Dynamic-Link Library is Microsoft Windows platform dependent. It needs + to be replaced with a Linux-style shared library. + ruleID: os-specific-00002 + when: + builtin.file: + pattern: .*\.dll diff --git a/resources/rulesets/os/image.svg b/resources/rulesets/os/image.svg new file mode 100644 index 0000000..25d52a5 --- /dev/null +++ b/resources/rulesets/os/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/os/ruleset.yaml b/resources/rulesets/os/ruleset.yaml new file mode 100644 index 0000000..d0da261 --- /dev/null +++ b/resources/rulesets/os/ruleset.yaml @@ -0,0 +1,3 @@ +name: os/windows +description: This is a ruleset for Windows operating system specific rules while migrating + to Linux operating system. diff --git a/resources/rulesets/quarkus/166-cdi-to-quarkus.windup.yaml b/resources/rulesets/quarkus/166-cdi-to-quarkus.windup.yaml new file mode 100644 index 0000000..b113d2d --- /dev/null +++ b/resources/rulesets/quarkus/166-cdi-to-quarkus.windup.yaml @@ -0,0 +1,70 @@ +- category: mandatory + customVariables: [] + description: |- + Replace javax.enterprise:cdi-api dependency + Dependency `javax.enterprise:cdi-api` has to be replaced with `io.quarkus:quarkus-arc` artifact. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=quarkus + links: + - title: Quarkus - Guide + url: https://quarkus.io/guides/cdi-reference + message: Dependency `javax.enterprise:cdi-api` has to be replaced with `io.quarkus:quarkus-arc` + artifact. + ruleID: cdi-to-quarkus-00000 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency[m:artifactId/text() = 'cdi-api' + and m:groupId/text() = 'javax.enterprise' and (count(../m:dependency/m:groupId[contains(., + 'io.quarkus')]) = 0)] +- category: mandatory + customVariables: [] + description: |- + Replace javax.inject:javax.inject dependency + Dependency `javax.inject:javax.inject` has to be replaced with `io.quarkus:quarkus-arc` artifact. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=quarkus + links: + - title: Quarkus - Guide + url: https://quarkus.io/guides/cdi-reference + message: Dependency `javax.inject:javax.inject` has to be replaced with `io.quarkus:quarkus-arc` + artifact. + ruleID: cdi-to-quarkus-00020 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency[m:artifactId/text() = 'javax.inject' + and m:groupId/text() = 'javax.inject' and (count(../m:dependency/m:groupId[contains(., + 'io.quarkus')]) = 0)] +- category: potential + customVariables: [] + description: |- + `beans.xml` descriptor content is ignored + `beans.xml` descriptor content is ignored and it could be removed from the application.. Refer to the guide referenced below to check the supported CDI feature in Quarkus. + effort: 3 + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=quarkus + links: [] + message: '`beans.xml` descriptor content is ignored and it could be removed from + the application.. Refer to the guide referenced below to check the supported CDI + feature in Quarkus.' + ruleID: cdi-to-quarkus-00030 + when: + as: root + builtin.xml: + filepaths: + - beans.xml + namespaces: + b: http://xmlns.jcp.org/xml/ns/javaee + xpath: /b:beans diff --git a/resources/rulesets/quarkus/167-jaxrs-to-quarkus.windup.yaml b/resources/rulesets/quarkus/167-jaxrs-to-quarkus.windup.yaml new file mode 100644 index 0000000..c13499f --- /dev/null +++ b/resources/rulesets/quarkus/167-jaxrs-to-quarkus.windup.yaml @@ -0,0 +1,38 @@ +- category: mandatory + customVariables: [] + description: |- + Replace JAX-RS dependency + Dependency `org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec` has to be replaced with `io.quarkus:quarkus-resteasy` artifact. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=quarkus + links: + - title: Quarkus - Guide + url: https://quarkus.io/guides/resteasy + message: Dependency `org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec` has to + be replaced with `io.quarkus:quarkus-resteasy` artifact. + ruleID: jaxrs-to-quarkus-00000 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.jboss.spec.javax.ws.rs.jboss-jaxrs-api_2.1_spec +- category: mandatory + customVariables: [] + description: |- + Replace JAX-RS dependency + Dependency `javax.ws.rs:javax.ws.rs-api` has to be replaced with `io.quarkus:quarkus-resteasy` artifact. + effort: 1 + labels: + - konveyor.io/source=java-ee + - konveyor.io/target=quarkus + links: + - title: Quarkus - Guide + url: https://quarkus.io/guides/resteasy + message: Dependency `javax.ws.rs:javax.ws.rs-api` has to be replaced with `io.quarkus:quarkus-resteasy` + artifact. + ruleID: jaxrs-to-quarkus-00010 + when: + java.dependency: + lowerbound: 0.0.0 + name: javax.ws.rs.javax.ws.rs-api diff --git a/resources/rulesets/quarkus/168-springboot-actuator-to-quarkus.windup.yaml b/resources/rulesets/quarkus/168-springboot-actuator-to-quarkus.windup.yaml new file mode 100644 index 0000000..e71b567 --- /dev/null +++ b/resources/rulesets/quarkus/168-springboot-actuator-to-quarkus.windup.yaml @@ -0,0 +1,46 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the Spring Boot Actuator dependency with Quarkus Smallrye Health extension + Replace the Spring Boot Actuator dependency with Quarkus Smallrye Health extension.. It has to be replaced by `io.quarkus:quarkus-smallrye-health` artifact. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus - Smallrye Health + url: https://quarkus.io/guides/smallrye-health + message: Replace the Spring Boot Actuator dependency with Quarkus Smallrye Health + extension.. It has to be replaced by `io.quarkus:quarkus-smallrye-health` artifact. + ruleID: springboot-actuator-to-quarkus-0100 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-actuator + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-actuator + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-actuator-autoconfigure + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-actuator +- category: mandatory + customVariables: [] + description: |- + Replace Spring Health endpoint mapping + Replace `management.endpoints.web.exposure.include=health` with `quarkus.smallrye-health.root-path=/actuator/health` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Guide - Smallrye Health + url: https://quarkus.io/guides/smallrye-health + message: Replace `management.endpoints.web.exposure.include=health` with `quarkus.smallrye-health.root-path=/actuator/health` + ruleID: springboot-actuator-to-quarkus-0200 + when: + builtin.filecontent: + pattern: management.endpoints.web.exposure.include.*health diff --git a/resources/rulesets/quarkus/169-springboot-annotations-to-quarkus.windup.yaml b/resources/rulesets/quarkus/169-springboot-annotations-to-quarkus.windup.yaml new file mode 100644 index 0000000..99be39a --- /dev/null +++ b/resources/rulesets/quarkus/169-springboot-annotations-to-quarkus.windup.yaml @@ -0,0 +1,24 @@ +- category: mandatory + customVariables: [] + description: |- + Remove the SpringBoot @SpringBootApplication annotation + Remove the SpringBoot @SpringBootApplication annotation.. A Spring Boot application contains a "main" class with the @SpringBootApplication annotation. A Quarkus application does not have such a class. Two different alternatives can be followed - either. to remove the "main" class associated with the annotation, or add the `org.springframework.boot:spring-boot-autoconfigure` dependency as an `optional` Maven dependency. An optional dependency. is available when an application compiles but is not packaged with the application at runtime. Doing this would allow the application to compile without modification, but you. would also need to maintain a Spring version along with the Quarkus application. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: [] + message: Remove the SpringBoot @SpringBootApplication annotation.. A Spring Boot + application contains a "main" class with the @SpringBootApplication annotation. + A Quarkus application does not have such a class. Two different alternatives can + be followed - either. to remove the "main" class associated with the annotation, + or add the `org.springframework.boot:spring-boot-autoconfigure` dependency as + an `optional` Maven dependency. An optional dependency. is available when an application + compiles but is not packaged with the application at runtime. Doing this would + allow the application to compile without modification, but you. would also need + to maintain a Spring version along with the Quarkus application. + ruleID: springboot-annotations-to-quarkus-00000 + when: + java.referenced: + location: ANNOTATION + pattern: org.springframework.boot.autoconfigure.SpringBootApplication diff --git a/resources/rulesets/quarkus/170-springboot-cache-to-quarkus.windup.yaml b/resources/rulesets/quarkus/170-springboot-cache-to-quarkus.windup.yaml new file mode 100644 index 0000000..8266fe3 --- /dev/null +++ b/resources/rulesets/quarkus/170-springboot-cache-to-quarkus.windup.yaml @@ -0,0 +1,23 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the SpringBoot cache artifact with Quarkus 'spring-cache' extension + Replace the SpringBoot Cache module artifact with Quarkus `spring-cache` extension. Add Quarkus dependency `io.quarkus:quarkus-spring-cache` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Extension for Spring Cache API Guide + url: https://quarkus.io/guides/spring-cache + message: Replace the SpringBoot Cache module artifact with Quarkus `spring-cache` + extension. Add Quarkus dependency `io.quarkus:quarkus-spring-cache` + ruleID: springboot-cache-to-quarkus-00000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-cache + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-cache diff --git a/resources/rulesets/quarkus/171-springboot-cloud-config-client-to-quarkus.windup.yaml b/resources/rulesets/quarkus/171-springboot-cloud-config-client-to-quarkus.windup.yaml new file mode 100644 index 0000000..66aea42 --- /dev/null +++ b/resources/rulesets/quarkus/171-springboot-cloud-config-client-to-quarkus.windup.yaml @@ -0,0 +1,26 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the Spring Cloud Config Client artifact with Quarkus 'quarkus-spring-cloud-config-client' extension + Replace the Spring Cloud Config Client artifact with Quarkus `quarkus-spring-cloud-config-client` extension. Add Quarkus dependency `io.quarkus:quarkus-spring-cloud-config-client`.. A change may also be required to the code and configuration. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus - Reading properties from Spring Cloud Config server + url: https://quarkus.io/guides/spring-cloud-config-client + - title: Spring Cloud Config + url: https://cloud.spring.io/spring-cloud-config/reference/html/ + message: Replace the Spring Cloud Config Client artifact with Quarkus `quarkus-spring-cloud-config-client` + extension. Add Quarkus dependency `io.quarkus:quarkus-spring-cloud-config-client`.. + A change may also be required to the code and configuration. + ruleID: springboot-cloud-config-client-to-quarkus-00000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.cloud.spring-cloud-config-client + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.cloud.spring-cloud-config-client diff --git a/resources/rulesets/quarkus/172-springboot-data-jpa-to-quarkus.windup.yaml b/resources/rulesets/quarkus/172-springboot-data-jpa-to-quarkus.windup.yaml new file mode 100644 index 0000000..d0a18ea --- /dev/null +++ b/resources/rulesets/quarkus/172-springboot-data-jpa-to-quarkus.windup.yaml @@ -0,0 +1,27 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the SpringBoot Data JPA artifact with Quarkus 'spring-data-jpa' extension + Replace the SpringBoot JPA artifact with Quarkus `spring-data-jpa` extension. Spring Data JPA is in spring-data-jpa artifact brought transitively by any `org.springframework.data:spring-data-*` dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-data-jpa` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus JPA Guide + url: https://quarkus.io/guides/spring-data-jpa + message: Replace the SpringBoot JPA artifact with Quarkus `spring-data-jpa` extension. + Spring Data JPA is in spring-data-jpa artifact brought transitively by any `org.springframework.data:spring-data-*` + dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-data-jpa` + ruleID: springboot-jpa-to-quarkus-00000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.data.spring-data-jpa + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-data-jpa + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.data.spring-data-jpa diff --git a/resources/rulesets/quarkus/173-springboot-devtools-to-quarkus.windup.yaml b/resources/rulesets/quarkus/173-springboot-devtools-to-quarkus.windup.yaml new file mode 100644 index 0000000..ef563e2 --- /dev/null +++ b/resources/rulesets/quarkus/173-springboot-devtools-to-quarkus.windup.yaml @@ -0,0 +1,22 @@ +- category: mandatory + customVariables: [] + description: |- + Remove spring-boot-devtools dependency + Remove the spring-boot-devtools dependency.. Quarkus has its own set of development tools integrated by default. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus development tools + url: https://quarkus.io/guides/tooling + message: Remove the spring-boot-devtools dependency.. Quarkus has its own set of + development tools integrated by default. + ruleID: springboot-devtools-to-quarkus-0000 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency[m:artifactId = 'spring-boot-devtools'] diff --git a/resources/rulesets/quarkus/174-springboot-di-to-quarkus.windup.yaml b/resources/rulesets/quarkus/174-springboot-di-to-quarkus.windup.yaml new file mode 100644 index 0000000..13722aa --- /dev/null +++ b/resources/rulesets/quarkus/174-springboot-di-to-quarkus.windup.yaml @@ -0,0 +1,77 @@ +- category: potential + customVariables: [] + description: |- + Replace the SpringBoot Dependency Injection artifact with Quarkus 'spring-di' extension + Replace the SpringBoot Dependency Injection artifact with Quarkus `spring-di` extension. Spring DI is in spring-beans artifact brought transitively by any `org.springframework.boot:spring-boot-*` dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-di` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus DI Guide + url: https://quarkus.io/guides/spring-di + message: Replace the SpringBoot Dependency Injection artifact with Quarkus `spring-di` + extension. Spring DI is in spring-beans artifact brought transitively by any `org.springframework.boot:spring-boot-*` + dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-di` + ruleID: springboot-di-to-quarkus-00000 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-beans +- category: mandatory + customVariables: [] + description: "For Spring DI the XML-based bean configuration metadata is not supported + by Quarkus \nQuarkus only supports the java-based configuration of Spring beans." + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: 'Quarkus Extension for Spring DI API- Guide ' + url: https://quarkus.io/guides/spring-di + - title: Quarkus Extension for Spring DI API - Technical Limitations + url: https://quarkus.io/guides/spring-di#important-technical-note + message: Quarkus only supports the java-based configuration of Spring beans. + ruleID: springboot-di-to-quarkus-00001 + when: + or: + - builtin.xml: + namespaces: + b: http://www.springframework.org/schema/beans + xpath: //*/b:bean/@class + - builtin.xml: + namespaces: + c: http://www.springframework.org/schema/context + xpath: //*/c:annotation-config +- category: mandatory + customVariables: [] + description: |- + Spring DI infrastructure classes not supported by Quarkus + Spring infrastructure classes (like `org.springframework.beans.factory.config.BeanPostProcessor` , `org.springframework.context.ApplicationContext` for example) will not be executed. + effort: 3 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus DI Guide - important technical note + url: https://quarkus.io/guides/spring-di#important-technical-note + message: Spring infrastructure classes (like `org.springframework.beans.factory.config.BeanPostProcessor` + , `org.springframework.context.ApplicationContext` for example) will not be executed. + ruleID: springboot-di-to-quarkus-00002 + when: + or: + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.springframework.beans.factory.config.BeanFactoryPostProcessor + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.springframework.beans.factory.config.BeanPostProcessor + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor + - java.referenced: + location: IMPLEMENTS_TYPE + pattern: org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor diff --git a/resources/rulesets/quarkus/175-springboot-generic-catchall.windup.yaml b/resources/rulesets/quarkus/175-springboot-generic-catchall.windup.yaml new file mode 100644 index 0000000..3d6cf05 --- /dev/null +++ b/resources/rulesets/quarkus/175-springboot-generic-catchall.windup.yaml @@ -0,0 +1,26 @@ +- category: potential + customVariables: [] + description: | + Spring component {artifact} requires investigation + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + - phase=PostMigrationRulesPhase + - springboot + - catchall + links: [] + message: If the application declares explicitly or uses any of the feature provided + by the Spring `{{group}}:{{artifact}}` component,. then check if there is a Quarkus + Extensions with Spring API compatibility for the Spring `{{artifact}}` component.. + If yes, then replace the `{{group}}:{{artifact}}` dependency with the Quarkus + extension.. If no, consider rewrite the code that relies on this dependency leveraging + the Quarkus Guides linked below.. Otherwise, if the application hasn't got this + explicit Spring `{{group}}:{{artifact}}` component dependency, it has been added + transitively by another Spring component.. Once the dependant Spring component + will be removed, this issue will be fixed as well. + ruleID: springboot-generic-catchall-00100 + when: + java.dependency: + lowerbound: 0.0.0 + name: '{group}.{artifact}' diff --git a/resources/rulesets/quarkus/176-springboot-integration-to-quarkus.windup.yaml b/resources/rulesets/quarkus/176-springboot-integration-to-quarkus.windup.yaml new file mode 100644 index 0000000..dcd5441 --- /dev/null +++ b/resources/rulesets/quarkus/176-springboot-integration-to-quarkus.windup.yaml @@ -0,0 +1,39 @@ +- category: mandatory + customVariables: [] + description: |- + SpringBoot Integration flows are not supported. + SpringBoot Integration flows are not supported. A migration to Apache Camel route is mandatory. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Apache Camel + url: https://quarkus.io/guides/camel + message: SpringBoot Integration flows are not supported. A migration to Apache Camel + route is mandatory. + ruleID: springboot-integration-to-quarkus-00010 + when: + builtin.xml: + namespaces: + int: http://www.springframework.org/schema/integration + xpath: //*/int:channel +- category: mandatory + customVariables: [] + description: |- + SpringBoot IntegrationFlow class usage is not supported. + SpringBoot IntegrationFlow class usage is not supported. A migration to Apache Camel route using From is mandatory. + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Apache Camel + url: https://quarkus.io/guides/camel + message: SpringBoot IntegrationFlow class usage is not supported. A migration to + Apache Camel route using From is mandatory. + ruleID: springboot-integration-to-quarkus-00020 + when: + java.referenced: + location: IMPORT + pattern: org.springframework.integration.dsl.IntegrationFlow diff --git a/resources/rulesets/quarkus/177-springboot-jmx-to-quarkus.windup.yaml b/resources/rulesets/quarkus/177-springboot-jmx-to-quarkus.windup.yaml new file mode 100644 index 0000000..e1a8f4e --- /dev/null +++ b/resources/rulesets/quarkus/177-springboot-jmx-to-quarkus.windup.yaml @@ -0,0 +1,37 @@ +- category: mandatory + customVariables: [] + description: |- + Spring JMX is not supported by Quarkus with GraalVM on a Native Image + Spring JMX XML configuration detected:. Spring JMX is not supported by Quarkus with the GraalVM Native compilation.. Spring JMX can be used with the Quarkus Hotspot compilation however. + effort: 13 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: [] + message: Spring JMX XML configuration detected:. Spring JMX is not supported by + Quarkus with the GraalVM Native compilation.. Spring JMX can be used with the + Quarkus Hotspot compilation however. + ruleID: springboot-jmx-to-quarkus-00000 + when: + builtin.xml: + namespaces: + c: http://www.springframework.org/schema/beans + xpath: //*/c:bean/@class[matches(self::node(), 'org.springframework.jmx.export.MBeanExporter')] +- category: mandatory + customVariables: [] + description: |- + Spring JMX is not supported by Quarkus with GraalVM on a Native Image + Spring JMX annotation configuration detected:. Spring JMX is not supported by Quarkus with the GraalVM Native compilation.. Spring JMX can be used with the Quarkus Hotspot compilation however. + effort: 13 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: [] + message: Spring JMX annotation configuration detected:. Spring JMX is not supported + by Quarkus with the GraalVM Native compilation.. Spring JMX can be used with the + Quarkus Hotspot compilation however. + ruleID: springboot-jmx-to-quarkus-00001 + when: + java.referenced: + location: ANNOTATION + pattern: org.springframework.jmx* diff --git a/resources/rulesets/quarkus/178-springboot-metrics-to-quarkus.windup.yaml b/resources/rulesets/quarkus/178-springboot-metrics-to-quarkus.windup.yaml new file mode 100644 index 0000000..f269959 --- /dev/null +++ b/resources/rulesets/quarkus/178-springboot-metrics-to-quarkus.windup.yaml @@ -0,0 +1,53 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the Micrometer dependency with Quarkus Microprofile 'metrics' extension + Replace the Micrometer dependency with Quarkus Microprofile 'metrics' extension.. Usually this is a transitive dependency brought by `org.springframework.boot:spring-boot-starter-actuator` and has to be replaced by `io.quarkus:quarkus-smallrye-metrics` artifact + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus metrics + url: https://quarkus.io/guides/microprofile-metrics + message: Replace the Micrometer dependency with Quarkus Microprofile 'metrics' extension.. + Usually this is a transitive dependency brought by `org.springframework.boot:spring-boot-starter-actuator` + and has to be replaced by `io.quarkus:quarkus-smallrye-metrics` artifact + ruleID: springboot-metrics-to-quarkus-0100 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.micrometer.micrometer-core +- category: mandatory + customVariables: [] + description: |- + Replace the Micrometer code with Microprofile Metrics code + Replace the Micrometer code with Microprofile Metrics code + effort: 5 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: [] + message: Replace the Micrometer code with Microprofile Metrics code + ruleID: springboot-metrics-to-quarkus-0200 + when: + java.dependency: + lowerbound: 0.0.0 + name: io.micrometer.micrometer-core +- category: mandatory + customVariables: [] + description: |- + Replace Spring Prometheus Metrics endpoint mapping + Replace `management.endpoints.web.exposure.include=prometheus` with `quarkus.micrometer.export.prometheus.path=/actuator/prometheus` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Guide - Micrometer Metrics + url: https://quarkus.io/guides/micrometer + message: Replace `management.endpoints.web.exposure.include=prometheus` with `quarkus.micrometer.export.prometheus.path=/actuator/prometheus` + ruleID: springboot-metrics-to-quarkus-0300 + when: + builtin.filecontent: + pattern: management.endpoints.web.exposure.include.*prometheus diff --git a/resources/rulesets/quarkus/179-springboot-parent-pom-to-quarkus.windup.yaml b/resources/rulesets/quarkus/179-springboot-parent-pom-to-quarkus.windup.yaml new file mode 100644 index 0000000..25f9b00 --- /dev/null +++ b/resources/rulesets/quarkus/179-springboot-parent-pom-to-quarkus.windup.yaml @@ -0,0 +1,32 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the Spring Parent POM with Quarkus BOM + Replace the Spring Parent POM with Quarkus BOM in `` section of the application's `pom.xml` file.. Leverage the link below to fulfill this change. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus - Building applications with Maven Guide + url: https://quarkus.io/guides/maven-tooling#build-tool-maven + message: Replace the Spring Parent POM with Quarkus BOM in `` + section of the application's `pom.xml` file.. Leverage the link below to fulfill + this change. + ruleID: springboot-parent-pom-to-quarkus-00000 + when: + or: + - builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:parent[m:groupId/text() = 'org.springframework.boot' and + m:artifactId/text() = 'spring-boot-starter-parent'] + - builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:parent[m:groupId/text() = 'org.springframework.boot' and + m:artifactId/text() = 'spring-boot-parent'] diff --git a/resources/rulesets/quarkus/180-springboot-plugins-to-quarkus.windup.yaml b/resources/rulesets/quarkus/180-springboot-plugins-to-quarkus.windup.yaml new file mode 100644 index 0000000..59a4739 --- /dev/null +++ b/resources/rulesets/quarkus/180-springboot-plugins-to-quarkus.windup.yaml @@ -0,0 +1,23 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the spring-boot-maven-plugin dependency + Replace the `spring-boot-maven-plugin` dependency.. The `spring-boot-maven-plugin` dependency needs to be replaced with `quarkus-maven-plugin`, so that the application is built with Quarkus, both for running on the JVM and in native mode. + effort: 2 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Building Quarkus with maven + url: https://quarkus.io/guides/maven-tooling#build-tool-maven + message: Replace the `spring-boot-maven-plugin` dependency.. The `spring-boot-maven-plugin` + dependency needs to be replaced with `quarkus-maven-plugin`, so that the application + is built with Quarkus, both for running on the JVM and in native mode. + ruleID: springboot-plugins-to-quarkus-0000 + when: + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:build/m:plugins/m:plugin[m:artifactId = 'spring-boot-maven-plugin'] diff --git a/resources/rulesets/quarkus/181-springboot-properties-to-quarkus.windup.yaml b/resources/rulesets/quarkus/181-springboot-properties-to-quarkus.windup.yaml new file mode 100644 index 0000000..ae2e8ab --- /dev/null +++ b/resources/rulesets/quarkus/181-springboot-properties-to-quarkus.windup.yaml @@ -0,0 +1,132 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the SpringBoot artifact with Quarkus 'spring-boot-properties' extension + Replace the SpringBoot artifact with Quarkus `spring-boot-properties` extension. Spring Configuration Properties is in spring-boot artifact brought transitively by any `org.springframework.boot:spring-boot-*` dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-boot-properties` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Spring Configuration Properties Guide + url: https://quarkus.io/guides/spring-boot-properties + message: Replace the SpringBoot artifact with Quarkus `spring-boot-properties` extension. + Spring Configuration Properties is in spring-boot artifact brought transitively + by any `org.springframework.boot:spring-boot-*` dependency. Add Quarkus dependency + `io.quarkus:quarkus-spring-boot-properties` + ruleID: springboot-properties-to-quarkus-00000 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot +- category: mandatory + customVariables: [] + description: | + Spring property profiles in separate files must be refactored into Quarkus properties file + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Configuring Your Application Guide + url: https://quarkus.io/guides/config#configuration-profiles + - title: Quarkus Configuration Reference Guide + url: https://quarkus.io/guides/config-reference#configuration_profiles + message: Spring property profile in separate file 'application-{{profile}}.{{extension}}' + must have. their individual properties refactored to use Quarkus profile naming + conventions within a single properties file,. ie in the format %{{profile}}.config.key=value + ruleID: springboot-properties-to-quarkus-00001 + when: + builtin.file: + pattern: application-\.+\.(properties|yml|yaml) +- category: mandatory + customVariables: [] + description: |- + Replace Spring datasource property key/value pairs with Quarkus properties + Spring datasource property key/value pairs have been detected in the application property file.. View advice in the Quarkus datasource guide to convert these to Quarkus datasource properties. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Datasources Guide + url: https://quarkus.io/guides/datasource + message: Spring datasource property key/value pairs have been detected in the application + property file.. View advice in the Quarkus datasource guide to convert these to + Quarkus datasource properties. + ruleID: springboot-properties-to-quarkus-00002 + when: + builtin.filecontent: + pattern: spring.datasource +- category: mandatory + customVariables: [] + description: |- + Replace Spring log level property with Quarkus property + Spring log level property configuration have been detected in the application property file.. View advice in the Quarkus datasource guide to convert these to Quarkus log level properties. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Configuring Logging Guide + url: https://quarkus.io/guides/logging#runtime-configuration + message: Spring log level property configuration have been detected in the application + property file.. View advice in the Quarkus datasource guide to convert these to + Quarkus log level properties. + ruleID: springboot-properties-to-quarkus-00003 + when: + builtin.filecontent: + pattern: logging.level.org.springframework +- category: mandatory + customVariables: [] + description: |- + Replace Spring JPA Hiberate property with Quarkus property + Replace `spring.jpa.hibernate.ddl-auto=create-drop` with `quarkus.hibernate-orm.database.generation=drop-and-create` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Hibernate ORM and JPA Guide + url: https://quarkus.io/guides/hibernate-orm + message: Replace `spring.jpa.hibernate.ddl-auto=create-drop` with `quarkus.hibernate-orm.database.generation=drop-and-create` + ruleID: springboot-properties-to-quarkus-00004 + when: + builtin.filecontent: + pattern: spring.jpa.hibernate.ddl-auto=create-drop +- category: mandatory + customVariables: [] + description: |- + Replace Spring Swagger endpoint mapping + Replace `springdoc.swagger-ui.path` with `quarkus.swagger-ui.path`. By adding `quarkus.swagger-ui.always-include=true` Quarkus will always expose the Swagger UI endpoint.. It is only exposed in Dev mode by default. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Guide - using OpenAPI and Swagger + url: https://quarkus.io/guides/openapi-swaggerui + message: Replace `springdoc.swagger-ui.path` with `quarkus.swagger-ui.path`. By + adding `quarkus.swagger-ui.always-include=true` Quarkus will always expose the + Swagger UI endpoint.. It is only exposed in Dev mode by default. + ruleID: springboot-properties-to-quarkus-00005 + when: + builtin.filecontent: + pattern: springdoc.swagger-ui.path +- category: mandatory + customVariables: [] + description: |- + Replace Spring OpenAPI endpoint mapping + Replace `springdoc.api-docs.path` with `quarkus.smallrye-openapi.path` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Guide - using OpenAPI and Swagger + url: https://quarkus.io/guides/openapi-swaggerui + message: Replace `springdoc.api-docs.path` with `quarkus.smallrye-openapi.path` + ruleID: springboot-properties-to-quarkus-00006 + when: + builtin.filecontent: + pattern: springdoc.api-docs.path diff --git a/resources/rulesets/quarkus/182-springboot-scheduled-to-quarkus.windup.yaml b/resources/rulesets/quarkus/182-springboot-scheduled-to-quarkus.windup.yaml new file mode 100644 index 0000000..eb38697 --- /dev/null +++ b/resources/rulesets/quarkus/182-springboot-scheduled-to-quarkus.windup.yaml @@ -0,0 +1,20 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the SpringBoot context artifact with Quarkus 'spring-scheduled' extension + Replace the Spring Context artifact with Quarkus `spring-scheduled` extension. Spring Scheduled is in spring-context artifact brought transitively by any `org.springframework.boot:spring-boot-*` dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-scheduled` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Spring Scheduled Guide + url: https://quarkus.io/guides/spring-scheduled + message: Replace the Spring Context artifact with Quarkus `spring-scheduled` extension. + Spring Scheduled is in spring-context artifact brought transitively by any `org.springframework.boot:spring-boot-*` + dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-scheduled` + ruleID: springboot-scheduled-to-quarkus-00000 + when: + java.referenced: + location: ANNOTATION + pattern: org.springframework.scheduling.annotation.Scheduled diff --git a/resources/rulesets/quarkus/183-springboot-security-to-quarkus.windup.yaml b/resources/rulesets/quarkus/183-springboot-security-to-quarkus.windup.yaml new file mode 100644 index 0000000..fa89c4e --- /dev/null +++ b/resources/rulesets/quarkus/183-springboot-security-to-quarkus.windup.yaml @@ -0,0 +1,28 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the SpringBoot Security artifact with Quarkus 'spring-security' extension + Replace the SpringBoot Security artifact with Quarkus `spring-security` extension. Spring Security is in spring-security-core artifact brought transitively by `org.springframework.boot:spring-boot-starter-security` dependency.. Add Quarkus dependency `io.quarkus:quarkus-spring-security` + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Extension for Spring Security API Guide + url: https://quarkus.io/guides/spring-security + message: Replace the SpringBoot Security artifact with Quarkus `spring-security` + extension. Spring Security is in spring-security-core artifact brought transitively + by `org.springframework.boot:spring-boot-starter-security` dependency.. Add Quarkus + dependency `io.quarkus:quarkus-spring-security` + ruleID: springboot-security-to-quarkus-00000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.security.spring-security-core + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-security + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.security.spring-security-core diff --git a/resources/rulesets/quarkus/184-springboot-shell-to-quarkus.windup.yaml b/resources/rulesets/quarkus/184-springboot-shell-to-quarkus.windup.yaml new file mode 100644 index 0000000..caee168 --- /dev/null +++ b/resources/rulesets/quarkus/184-springboot-shell-to-quarkus.windup.yaml @@ -0,0 +1,23 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the SpringBoot Shell artifact with Quarkus 'picocli' extension + Replace the SpringBoot Shell artifacts with Quarkus `picocli` extension. Add Quarkus dependency `io.quarkus:quarkus-picocli`. PicoCli provides command-line mode like Spring Shell but does not reuse the Spring interfaces. therefore re-coding is also required to use the appropriate PicoCli interfaces. + effort: 3 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Command Mode with Picocli Guide + url: https://quarkus.io/guides/picocli + - title: Spring Shell Guide + url: https://spring.io/projects/spring-shell/ + message: Replace the SpringBoot Shell artifacts with Quarkus `picocli` extension. + Add Quarkus dependency `io.quarkus:quarkus-picocli`. PicoCli provides command-line + mode like Spring Shell but does not reuse the Spring interfaces. therefore re-coding + is also required to use the appropriate PicoCli interfaces. + ruleID: springboot-shell-to-quarkus-00000 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.springframework.shell.spring-shell-core diff --git a/resources/rulesets/quarkus/185-springboot-web-to-quarkus.windup.yaml b/resources/rulesets/quarkus/185-springboot-web-to-quarkus.windup.yaml new file mode 100644 index 0000000..53c916e --- /dev/null +++ b/resources/rulesets/quarkus/185-springboot-web-to-quarkus.windup.yaml @@ -0,0 +1,64 @@ +- category: mandatory + customVariables: [] + description: |- + Replace the Spring Web artifact with Quarkus 'spring-web' extension + Replace the Spring Web artifact with Quarkus `spring-web` extension. Spring Web is a spring-web artifact brought transitively by any `org.springframework:spring-web*` dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-web`. Starting with Quarkus version 2.5, the underlying JAX-RS engine must be chosen. For performance reasons,. the `quarkus-resteasy-reactive-jackson` dependency should be used. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Spring Web Guide + url: https://quarkus.io/guides/spring-web + - title: Quarkus Migration Guide 2.5 + url: https://github.com/quarkusio/quarkus/wiki/Migration-Guide-2.5#spring-web + message: Replace the Spring Web artifact with Quarkus `spring-web` extension. Spring + Web is a spring-web artifact brought transitively by any `org.springframework:spring-web*` + dependency. Add Quarkus dependency `io.quarkus:quarkus-spring-web`. Starting with + Quarkus version 2.5, the underlying JAX-RS engine must be chosen. For performance + reasons,. the `quarkus-resteasy-reactive-jackson` dependency should be used. + ruleID: springboot-web-to-quarkus-00000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-web + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-web + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-web +- category: mandatory + customVariables: [] + description: |- + Add the Quarkus 'quarkus-resteasy-reactive-jackson' dependency + Add the Quarkus `quarkus-resteasy-reactive-jackson` dependency.. Starting with Quarkus version 2.5, the underlying JAX-RS engine must be chosen. For performance reasons,. the `quarkus-resteasy-reactive-jackson` dependency should be used." + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus Migration Guide 2.5 + url: https://github.com/quarkusio/quarkus/wiki/Migration-Guide-2.5#spring-web + message: Add the Quarkus `quarkus-resteasy-reactive-jackson` dependency.. Starting + with Quarkus version 2.5, the underlying JAX-RS engine must be chosen. For performance + reasons,. the `quarkus-resteasy-reactive-jackson` dependency should be used." + ruleID: springboot-web-to-quarkus-00010 + when: + or: + - and: + - java.dependency: + lowerbound: 0.0.0 + name: io.quarkus.quarkus-spring-web + - java.dependency: + lowerbound: 0.0.0 + name: io.quarkus.quarkus-resteasy-reactive-jackson + not: true + - java.dependency: + lowerbound: 0.0.0 + name: io.quarkus.quarkus-spring-web + - java.dependency: + lowerbound: 0.0.0 + name: io.quarkus.quarkus-resteasy-reactive-jackson + not: true diff --git a/resources/rulesets/quarkus/186-springboot-webmvc-to-quarkus.windup.yaml b/resources/rulesets/quarkus/186-springboot-webmvc-to-quarkus.windup.yaml new file mode 100644 index 0000000..5c3d3a7 --- /dev/null +++ b/resources/rulesets/quarkus/186-springboot-webmvc-to-quarkus.windup.yaml @@ -0,0 +1,47 @@ +- category: mandatory + customVariables: [] + description: |- + Spring MVC is not supported by Quarkus + Spring MVC is not supported by Quarkus. Use the following link to figure out the supported Spring Web functionalities. + effort: 13 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus - Supported Spring Web functionalities + url: https://quarkus.io/guides/spring-web#supported-spring-web-functionalities + message: Spring MVC is not supported by Quarkus. Use the following link to figure + out the supported Spring Web functionalities. + ruleID: springboot-webmvc-to-quarkus-00000 + when: + java.referenced: + location: ANNOTATION + pattern: org.springframework.web.servlet.mvc.Controller +- category: mandatory + customVariables: [] + description: |- + Spring WebFlux is not supported by Quarkus + Spring WebFlux is not supported by Quarkus. If the application needs a reactive stack, please refer to the following links to get more information. + effort: 13 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=quarkus + links: + - title: Quarkus - Using Eclipse Vert.x + url: https://quarkus.io/guides/vertx + - title: Quarkus - Using Reactive Routes + url: https://quarkus.io/guides/reactive-routes + message: Spring WebFlux is not supported by Quarkus. If the application needs a + reactive stack, please refer to the following links to get more information. + ruleID: springboot-webmvc-to-quarkus-01000 + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-webflux + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-webflux + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-webflux diff --git a/resources/rulesets/quarkus/image.svg b/resources/rulesets/quarkus/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/quarkus/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/quarkus/ruleset.yaml b/resources/rulesets/quarkus/ruleset.yaml new file mode 100644 index 0000000..1ff1e94 --- /dev/null +++ b/resources/rulesets/quarkus/ruleset.yaml @@ -0,0 +1,3 @@ +name: quarkus/springboot +description: This ruleset gives hints to migrate from SpringBoot DI to Quarkus spring-di + extension diff --git a/resources/rulesets/rhr/187-springboot-associated-artifacts.rhamt.yaml b/resources/rulesets/rhr/187-springboot-associated-artifacts.rhamt.yaml new file mode 100644 index 0000000..76efa7b --- /dev/null +++ b/resources/rulesets/rhr/187-springboot-associated-artifacts.rhamt.yaml @@ -0,0 +1,335 @@ +- category: potential + customVariables: [] + description: |- + Unsupported version of AMQP SpringBoot starter + Check the links below for the Red Hat Runtimes supported version of AMQP SpringBoot starter + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Spring Boot Supported Configurations + url: https://access.redhat.com/articles/3349341 + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Check the links below for the Red Hat Runtimes supported version of AMQP + SpringBoot starter + ruleID: springboot-associated-00001 + when: + java.dependency: + name: org.amqphub.spring.amqp-10-jms-spring-boot-starter + upperbound: 2.2.1 +- category: potential + customVariables: [] + description: |- + Unsupported version of CXF JAXRS SpringBoot starter + Check the links below for the Red Hat Runtimes supported version of CXF JAXRS SpringBoot starter + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Spring Boot Supported Configurations + url: https://access.redhat.com/articles/3349341 + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Check the links below for the Red Hat Runtimes supported version of CXF + JAXRS SpringBoot starter + ruleID: springboot-associated-00002 + when: + java.dependency: + lowerbound: 0.0.0 + name: org.apache.cxf.cxf-spring-boot-starter-jaxrs +- category: potential + customVariables: [] + description: |- + Unsupported version of Resteasy SpringBoot starter + Check the links below for the Red Hat Runtimes supported version of Resteasy SpringBoot starter + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Spring Boot Supported Configurations + url: https://access.redhat.com/articles/3349341 + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Check the links below for the Red Hat Runtimes supported version of Resteasy + SpringBoot starter + ruleID: springboot-associated-00003 + when: + java.dependency: + name: org.jboss.resteasy.resteasy-spring-boot-starter + upperbound: 3.4.0 +- category: potential + customVariables: [] + description: |- + Unsupported version of Infinispan SpringBoot starter + Check the links below for the Red Hat Runtimes supported version of Infinispan SpringBoot starter + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Spring Boot Supported Configurations + url: https://access.redhat.com/articles/3349341 + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Check the links below for the Red Hat Runtimes supported version of Infinispan + SpringBoot starter + ruleID: springboot-associated-00004 + when: + java.dependency: + name: org.infinispan.{infinispanArtifactName} + upperbound: 2.2.2 +- category: potential + customVariables: [] + description: |- + Unsupported version of Keycloak SpringBoot starter + Check the links below for the Red Hat Runtimes supported version of Keycloak SpringBoot starter + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Spring Boot Supported Configurations + url: https://access.redhat.com/articles/3349341 + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Check the links below for the Red Hat Runtimes supported version of Keycloak + SpringBoot starter + ruleID: springboot-associated-00005 + when: + java.dependency: + name: org.keycloak.keycloak-spring-boot-starter + upperbound: 9.0.2 +- category: potential + customVariables: [] + description: |- + Unsupported version of Narayana SpringBoot starter + Check the links below for the Red Hat Runtimes supported version of Narayana SpringBoot starter + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Spring Boot Supported Configurations + url: https://access.redhat.com/articles/3349341 + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Check the links below for the Red Hat Runtimes supported version of Narayana + SpringBoot starter + ruleID: springboot-associated-00006 + when: + java.dependency: + name: me.snowdrop.narayana-spring-boot-starter + upperbound: 2.2.0 +- category: potential + customVariables: [] + description: |- + Unsupported version of OpenTracing Spring Jaeger SpringBoot web starter + Check the links below for the Red Hat Runtimes supported version of OpenTracing Spring Jaeger SpringBoot web starter + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Spring Boot Supported Configurations + url: https://access.redhat.com/articles/3349341 + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Check the links below for the Red Hat Runtimes supported version of OpenTracing + Spring Jaeger SpringBoot web starter + ruleID: springboot-associated-00007 + when: + java.dependency: + name: io.opentracing.contrib.opentracing-spring-jaeger-web-starter + upperbound: 3.1.0 +- category: optional + customVariables: [] + description: |- + Migrate to a supported AMQP dependency + Migrate `org.amqphub.spring:amqp-10-jms-spring-boot-starter` dependency to a version compatible with the supported versions of the RHOAR components provided in the link. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: [] + message: Migrate `org.amqphub.spring:amqp-10-jms-spring-boot-starter` dependency + to a version compatible with the supported versions of the RHOAR components provided + in the link. + ruleID: springboot-associated-00008 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency/m:version[../m:groupId='org.amqphub.spring' + and ../m:artifactId='amqp-10-jms-spring-boot-starter' and not(contains(., + 'redhat'))] +- category: optional + customVariables: [] + description: |- + Migrate to a supported CXF JAX-RS dependency + Migrate `org.apache.cxf:cxf-spring-boot-starter-jaxrs` dependency to a version compatible with the supported versions of the RHOAR components provided in the link. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: [] + message: Migrate `org.apache.cxf:cxf-spring-boot-starter-jaxrs` dependency to a + version compatible with the supported versions of the RHOAR components provided + in the link. + ruleID: springboot-associated-00009 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency/m:version[../m:groupId='org.apache.cxf' + and ../m:artifactId='cxf-spring-boot-starter-jaxrs' and not(contains(., 'redhat'))] +- category: optional + customVariables: [] + description: |- + Migrate to a supported RestEasy dependency + Migrate `org.jboss.resteasy:resteasy-spring-boot-starter` dependency to a version compatible with the supported versions of the RHOAR components provided in the link. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: [] + message: Migrate `org.jboss.resteasy:resteasy-spring-boot-starter` dependency to + a version compatible with the supported versions of the RHOAR components provided + in the link. + ruleID: springboot-associated-00010 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency/m:version[../m:groupId='org.jboss.resteasy' + and ../m:artifactId='resteasy-spring-boot-starter' and not(contains(., 'redhat'))] +- category: optional + customVariables: [] + description: |- + Migrate to a supported Infinispan embedded dependency + Migrate `org.infinispan:infinispan-spring-boot-starter-embedded` dependency to a version compatible with the supported versions of the RHOAR components provided in the link. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: [] + message: Migrate `org.infinispan:infinispan-spring-boot-starter-embedded` dependency + to a version compatible with the supported versions of the RHOAR components provided + in the link. + ruleID: springboot-associated-00011 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency/m:version[../m:groupId='org.infinispan' + and ../m:artifactId='infinispan-spring-boot-starter-embedded' and not(contains(., + 'redhat'))] +- category: optional + customVariables: [] + description: |- + Migrate to a supported Infinispan remote dependency + Migrate `org.infinispan:infinispan-spring-boot-starter-remote` dependency to a version compatible with the supported versions of the RHOAR components provided in the link. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: [] + message: Migrate `org.infinispan:infinispan-spring-boot-starter-remote` dependency + to a version compatible with the supported versions of the RHOAR components provided + in the link. + ruleID: springboot-associated-00012 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency/m:version[../m:groupId='org.infinispan' + and ../m:artifactId='infinispan-spring-boot-starter-remote' and not(contains(., + 'redhat'))] +- category: optional + customVariables: [] + description: |- + Migrate to a supported Keycloak dependency + Migrate `org.keycloak:keycloak-spring-boot-starter` dependency to a version compatible with the supported versions of the RHOAR components provided in the link. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: [] + message: Migrate `org.keycloak:keycloak-spring-boot-starter` dependency to a version + compatible with the supported versions of the RHOAR components provided in the + link. + ruleID: springboot-associated-00013 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency/m:version[../m:groupId='org.keycloak' + and ../m:artifactId='keycloak-spring-boot-starter' and not(contains(., 'redhat'))] +- category: optional + customVariables: [] + description: |- + Migrate to a supported Narayana dependency + Migrate `me.snowdrop:narayana-spring-boot-starter` dependency to a version compatible with the supported versions of the RHOAR components provided in the link. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: [] + message: Migrate `me.snowdrop:narayana-spring-boot-starter` dependency to a version + compatible with the supported versions of the RHOAR components provided in the + link. + ruleID: springboot-associated-00014 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency/m:version[../m:groupId='me.snowdrop' + and ../m:artifactId='narayana-spring-boot-starter' and not(contains(., 'redhat'))] +- category: optional + customVariables: [] + description: |- + Migrate to a supported Spring Jaeger dependency + Migrate `io.opentracing.contrib:opentracing-spring-jaeger-web-starter` dependency to a version compatible with the supported versions of the RHOAR components provided in the link. + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: [] + message: Migrate `io.opentracing.contrib:opentracing-spring-jaeger-web-starter` + dependency to a version compatible with the supported versions of the RHOAR components + provided in the link. + ruleID: springboot-associated-00015 + when: + as: dependencies-block + builtin.xml: + filepaths: + - pom.xml + namespaces: + m: http://maven.apache.org/POM/4.0.0 + xpath: /m:project/m:dependencies/m:dependency/m:version[../m:groupId='io.opentracing.contrib' + and ../m:artifactId='opentracing-spring-jaeger-web-starter' and not(contains(., + 'redhat'))] diff --git a/resources/rulesets/rhr/188-springboot-rhr.rhamt.yaml b/resources/rulesets/rhr/188-springboot-rhr.rhamt.yaml new file mode 100644 index 0000000..74b78cc --- /dev/null +++ b/resources/rulesets/rhr/188-springboot-rhr.rhamt.yaml @@ -0,0 +1,74 @@ +- category: mandatory + customVariables: [] + description: |- + Unsupported version of Spring Boot + Spring Boot has to be updated to Spring Boot 2.2.6 before being able to be migrated to a version supported by Red Hat Runtimes + effort: 3 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Spring Boot has to be updated to Spring Boot 2.2.6 before being able to + be migrated to a version supported by Red Hat Runtimes + ruleID: springboot-rhr-00001 + when: + java.dependency: + nameregex: org\.springframework\.boot\..* + upperbound: 2.2.5.RELEASE +- category: potential + customVariables: [] + description: |- + Unsupported version of Spring Boot + Spring Boot has to be updated to a version supported by Red Hat Runtimes + effort: 1 + labels: + - konveyor.io/source=springboot + - konveyor.io/target=rhr + links: + - title: RHOAR Component Details Overview + url: https://access.redhat.com/articles/3348731 + message: Spring Boot has to be updated to a version supported by Red Hat Runtimes + ruleID: springboot-rhr-00002 + when: + or: + - java.dependency: + lowerbound: 2.2.7.RELEASE + nameregex: org\.springframework\.boot\..* + upperbound: 2.2.9.RELEASE + - java.dependency: + lowerbound: 2.2.12.RELEASE + nameregex: org\.springframework\.boot\..* + upperbound: 2.3.3.RELEASE + - java.dependency: + lowerbound: 2.3.5.RELEASE + nameregex: org\.springframework\.boot\..* + upperbound: 2.3.5.RELEASE + - java.dependency: + lowerbound: 2.3.7.RELEASE + nameregex: org\.springframework\.boot\..* + upperbound: 2.3.9.RELEASE + - java.dependency: + lowerbound: 2.3.11.RELEASE + nameregex: org\.springframework\.boot\..* + upperbound: 2.4.8 + - java.dependency: + lowerbound: 2.4.10 + nameregex: org\.springframework\.boot\..* + upperbound: 2.5.9 + - java.dependency: + lowerbound: 2.5.11 + nameregex: org\.springframework\.boot\..* + upperbound: 2.5.11 + - java.dependency: + lowerbound: 2.5.13 + nameregex: org\.springframework\.boot\..* + upperbound: 2.7.1 + - java.dependency: + lowerbound: 2.7.3 + nameregex: org\.springframework\.boot\..* + upperbound: 2.7.7 + - java.dependency: + lowerbound: 3.0.0 + nameregex: org\.springframework\.boot\..* diff --git a/resources/rulesets/rhr/image.svg b/resources/rulesets/rhr/image.svg new file mode 100644 index 0000000..4a17836 --- /dev/null +++ b/resources/rulesets/rhr/image.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/rulesets/rhr/ruleset.yaml b/resources/rulesets/rhr/ruleset.yaml new file mode 100644 index 0000000..70076be --- /dev/null +++ b/resources/rulesets/rhr/ruleset.yaml @@ -0,0 +1,3 @@ +name: rhr/springboot +description: Verify the version of the Spring Boot framework is compatible with those + supported by Red Hat Runtimes diff --git a/resources/rulesets/technology-usage/03-web-technology-usage.windup.yaml b/resources/rulesets/technology-usage/03-web-technology-usage.windup.yaml new file mode 100644 index 0000000..98f004d --- /dev/null +++ b/resources/rulesets/technology-usage/03-web-technology-usage.windup.yaml @@ -0,0 +1,211 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01000 + tag: + - View=JSF Page + - Web=JSF Page + - Java EE=JSF Page + when: + builtin.hasTags: + - JSF +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01100 + tag: + - View=JSP Page + - Web=JSP Page + - Java EE=JSP Page + when: + builtin.hasTags: + - JSP +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01200 + tag: + - View=Web XML File + - Web=Web XML File + - Java EE=Web XML File + when: + builtin.hasTags: + - WebXML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01300 + tag: + - View=WebSocket + - Web=WebSocket + - Java EE=WebSocket + when: + builtin.hasTags: + - WebSocket +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01400 + tag: + - View=Applet + - Rich=Applet + - Java EE=Applet + when: + or: + - builtin.hasTags: + - Applet +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01500 + tag: + - View=JNLP + - Rich=JNLP + - Java EE=JNLP + when: + builtin.hasTags: + - JNLP +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01600 + tag: + - View=JNLP + - Rich=JNLP + - Embedded=JNLP + when: + builtin.hasTags: + - JNLP +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01700 + tag: + - View=Swing + - Rich=Swing + - Embedded=Swing + when: + builtin.hasTags: + - Swing +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01800 + tag: + - View=MiGLayout + - Rich=MiGLayout + - Embedded=MiGLayout + when: + builtin.hasTags: + - MiGLayout +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-01900 + tag: + - View=JGoodies + - Rich=JGoodies + - Embedded=JGoodies + when: + builtin.hasTags: + - JGoodies +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-02000 + tag: + - View=FormLayoutMaker + - Rich=FormLayoutMaker + - Embedded=FormLayoutMaker + when: + builtin.hasTags: + - FormLayoutMaker +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-02100 + tag: + - View=Magicgrouplayout + - Rich=Magicgrouplayout + - Embedded=Magicgrouplayout + when: + builtin.hasTags: + - Magicgrouplayout +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-02200 + tag: + - View=Standard Widget Toolkit (SWT) + - Rich=Standard Widget Toolkit (SWT) + - Embedded=Standard Widget Toolkit (SWT) + when: + builtin.hasTags: + - SWT +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-02300 + tag: + - View=JavaFX + - Rich=JavaFX + - Embedded=JavaFX + when: + builtin.hasTags: + - JavaFX +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-web-02400 + tag: + - View=Eclipse RCP + - Rich=Eclipse RCP + - Embedded=Eclipse RCP + when: + builtin.hasTags: + - Eclipse RCP diff --git a/resources/rulesets/technology-usage/05-test-frameworks-technology-usage.windup.yaml b/resources/rulesets/technology-usage/05-test-frameworks-technology-usage.windup.yaml new file mode 100644 index 0000000..75473b0 --- /dev/null +++ b/resources/rulesets/technology-usage/05-test-frameworks-technology-usage.windup.yaml @@ -0,0 +1,518 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00010 + tag: + - Sustain=EasyMock + - Embedded=EasyMock + - Test=EasyMock + when: + builtin.hasTags: + - EasyMock +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00020 + tag: + - Sustain=PowerMock + - Embedded=PowerMock + - Test=PowerMock + when: + builtin.hasTags: + - PowerMock +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00030 + tag: + - Sustain=Mockito + - Embedded=Mockito + - Test=Mockito + when: + builtin.hasTags: + - Mockito +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00040 + tag: + - Sustain=TestNG + - Embedded=TestNG + - Test=TestNG + when: + builtin.hasTags: + - TestNG +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00050 + tag: + - Sustain=Hamcrest + - Embedded=Hamcrest + - Test=Hamcrest + when: + builtin.hasTags: + - Hamcrest +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00060 + tag: + - Sustain=Spock + - Embedded=Spock + - Test=Spock + when: + builtin.hasTags: + - Spock +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00070 + tag: + - Sustain=XMLUnit + - Embedded=XMLUnit + - Test=XMLUnit + when: + builtin.hasTags: + - XMLUnit +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00080 + tag: + - Sustain=Akka Testkit + - Embedded=Akka Testkit + - Test=Akka Testkit + when: + builtin.hasTags: + - Akka Testkit +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00090 + tag: + - Sustain=REST Assured + - Embedded=REST Assured + - Test=REST Assured + when: + builtin.hasTags: + - REST Assured +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00100 + tag: + - Sustain=DbUnit + - Embedded=DbUnit + - Test=DbUnit + when: + builtin.hasTags: + - DbUnit +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00110 + tag: + - Sustain=Mule Functional Test Framework + - Embedded=Mule Functional Test Framework + - Test=Mule Functional Test Framework + when: + builtin.hasTags: + - Mule Functional Test Framework +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00120 + tag: + - Sustain=Guava Testing + - Embedded=Guava Testing + - Test=Guava Testing + when: + builtin.hasTags: + - Guava Testing +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00130 + tag: + - Sustain=RandomizedTesting Runner + - Embedded=RandomizedTesting Runner + - Test=RandomizedTesting Runner + when: + builtin.hasTags: + - RandomizedTesting Runner +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00140 + tag: + - Sustain=HttpUnit + - Embedded=HttpUnit + - Test=HttpUnit + when: + builtin.hasTags: + - HttpUnit +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00150 + tag: + - Sustain=JCunit + - Embedded=JCunit + - Test=JCunit + when: + builtin.hasTags: + - JCunit +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00160 + tag: + - Sustain=JPA Matchers + - Embedded=JPA Matchers + - Test=JPA Matchers + when: + builtin.hasTags: + - JPA Matchers +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00170 + tag: + - Sustain=MultithreadedTC + - Embedded=MultithreadedTC + - Test=MultithreadedTC + when: + builtin.hasTags: + - MultithreadedTC +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00180 + tag: + - Sustain=Specsy + - Embedded=Specsy + - Test=Specsy + when: + builtin.hasTags: + - Specsy +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00190 + tag: + - Sustain=JFunk + - Embedded=JFunk + - Test=JFunk + when: + builtin.hasTags: + - JFunk +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00200 + tag: + - Sustain=Restito + - Embedded=Restito + - Test=Restito + when: + builtin.hasTags: + - Restito +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00210 + tag: + - Sustain=Test Interface + - Embedded=Test Interface + - Test=Test Interface + when: + builtin.hasTags: + - Test Interface +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00220 + tag: + - Sustain=Play Test + - Embedded=Play Test + - Test=Play Test + when: + builtin.hasTags: + - Play Test +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00230 + tag: + - Sustain=Arquillian + - Embedded=Arquillian + - Test=Arquillian + when: + builtin.hasTags: + - Arquillian +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00240 + tag: + - Sustain=Cactus + - Embedded=Cactus + - Test=Cactus + when: + builtin.hasTags: + - Cactus +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00250 + tag: + - Sustain=Concordion + - Embedded=Concordion + - Test=Concordion + when: + builtin.hasTags: + - Concordion +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00260 + tag: + - Sustain=Cucumber + - Embedded=Cucumber + - Test=Cucumber + when: + builtin.hasTags: + - Cucumber +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00270 + tag: + - Sustain=EtlUnit + - Embedded=EtlUnit + - Test=EtlUnit + when: + builtin.hasTags: + - EtlUnit +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00280 + tag: + - Sustain=HavaRunner + - Embedded=HavaRunner + - Test=HavaRunner + when: + builtin.hasTags: + - HavaRunner +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00290 + tag: + - Sustain=JBehave + - Embedded=JBehave + - Test=JBehave + when: + builtin.hasTags: + - JBehave +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00300 + tag: + - Sustain=JMock + - Embedded=JMock + - Test=JMock + when: + builtin.hasTags: + - JMock +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00310 + tag: + - Sustain=JMockit + - Embedded=JMockit + - Test=JMockit + when: + builtin.hasTags: + - JMockit +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00320 + tag: + - Sustain=Jukito + - Embedded=Jukito + - Test=Jukito + when: + builtin.hasTags: + - Jukito +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00330 + tag: + - Sustain=Needle + - Embedded=Needle + - Test=Needle + when: + builtin.hasTags: + - Needle +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00340 + tag: + - Sustain=OpenPojo + - Embedded=OpenPojo + - Test=OpenPojo + when: + builtin.hasTags: + - OpenPojo +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00350 + tag: + - Sustain=Unitils + - Embedded=Unitils + - Test=Unitils + when: + builtin.hasTags: + - Unitils +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00360 + tag: + - Sustain=Spring Test + - Embedded=Spring Test + - Test=Spring Test + when: + builtin.hasTags: + - Spring Test +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-test-frameworks-00370 + tag: + - Sustain=JUnit + - Embedded=JUnit + - Test=JUnit + when: + builtin.hasTags: + - JUnit diff --git a/resources/rulesets/technology-usage/08-security-technology-usage.windup.yaml b/resources/rulesets/technology-usage/08-security-technology-usage.windup.yaml new file mode 100644 index 0000000..92af5f2 --- /dev/null +++ b/resources/rulesets/technology-usage/08-security-technology-usage.windup.yaml @@ -0,0 +1,380 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01000 + tag: + - Sustain=Security Realm + - Security=Security Realm + - Java EE=Security Realm + when: + or: + - java.referenced: + location: ANNOTATION + pattern: javax.annotation.security* + - builtin.xml: + filepaths: + - web.xml + namespaces: {} + xpath: //*[local-name() = 'login-config']/*[local-name() = 'realm-name'] + - as: xmlfiles + builtin.file: + pattern: .*ejb-jar\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: {} + xpath: //*[local-name() = 'login-config']/*[local-name() = 'realm'] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01100 + tag: + - Sustain=Spring Security + - Security=Spring Security + - Embedded=Spring Security + when: + builtin.hasTags: + - Spring Security +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01200 + tag: + - Sustain=Shiro + - Security=Shiro + - Embedded=Shiro + when: + builtin.hasTags: + - Apache Shiro +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01300 + tag: + - Sustain=Hdiv + - Security=Hdiv + - Embedded=Hdiv + when: + builtin.hasTags: + - Hdiv +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01400 + tag: + - Sustain=OACC + - Security=OACC + - Embedded=OACC + when: + builtin.hasTags: + - OACC +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01500 + tag: + - Sustain=PicketLink + - Security=PicketLink + - Embedded=PicketLink + when: + builtin.hasTags: + - PicketLink +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01600 + tag: + - Sustain=PicketBox + - Security=PicketBox + - Embedded=PicketBox + when: + builtin.hasTags: + - PicketBox +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01700 + tag: + - Sustain=Keyczar + - Security=Keyczar + - Embedded=Keyczar + when: + builtin.hasTags: + - Keyczar +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01800 + tag: + - Sustain=XACML + - Security=XACML + - Embedded=XACML + when: + builtin.hasTags: + - XACML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-01900 + tag: + - Sustain=SAML + - Security=SAML + - Embedded=SAML + when: + builtin.hasTags: + - SAML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02000 + tag: + - Sustain=Bouncy Castle + - Security=Bouncy Castle + - Embedded=Bouncy Castle + when: + builtin.hasTags: + - Bouncy Castle +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02100 + tag: + - Sustain=Jasypt + - Security=Jasypt + - Embedded=Jasypt + when: + builtin.hasTags: + - Jasypt +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02200 + tag: + - Sustain=Santuario + - Security=Santuario + - Embedded=Santuario + when: + builtin.hasTags: + - Apache Santuario +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02300 + tag: + - Sustain=SSL + - Security=SSL + - Embedded=SSL + when: + builtin.hasTags: + - SSL +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02400 + tag: + - Sustain=Vlad + - Security=Vlad + - Embedded=Vlad + when: + builtin.hasTags: + - Vlad +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02500 + tag: + - Sustain=Apache Commons Validator + - Security=Apache Commons Validator + - Embedded=Apache Commons Validator + when: + builtin.hasTags: + - Apache Commons Validator +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02600 + tag: + - Sustain=OWASP ESAPI + - Security=OWASP ESAPI + - Embedded=OWASP ESAPI + when: + builtin.hasTags: + - OWASP ESAPI +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02700 + tag: + - Sustain=WSS4J + - Security=WSS4J + - Embedded=WSS4J + when: + builtin.hasTags: + - WSS4J +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02800 + tag: + - Sustain=OpenSAML + - Security=OpenSAML + - Embedded=OpenSAML + when: + builtin.hasTags: + - OpenSAML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-02900 + tag: + - Sustain=OTR4J + - Security=OTR4J + - Embedded=OTR4J + when: + builtin.hasTags: + - OTR4J +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-03000 + tag: + - Sustain=OWASP CSRF Guard + - Security=OWASP CSRF Guard + - Embedded=OWASP CSRF Guard + when: + builtin.hasTags: + - OWASP CSRF Guard +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-03100 + tag: + - Sustain=OAUTH + - Security=OAUTH + - Embedded=OAUTH + when: + builtin.hasTags: + - OAUTH +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-03200 + tag: + - Sustain=Acegi Security + - Security=Acegi Security + - Embedded=Acegi Security + when: + builtin.hasTags: + - Acegi Security +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-03300 + tag: + - Sustain=JSecurity + - Security=JSecurity + - Embedded=JSecurity + when: + builtin.hasTags: + - JSecurity +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-03400 + tag: + - Sustain=AcrIS Security + - Security=AcrIS Security + - Embedded=AcrIS Security + when: + builtin.hasTags: + - AcrIS Security +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-security-03500 + tag: + - Sustain=Trunk JGuard + - Security=Trunk JGuard + - Embedded=Trunk JGuard + when: + builtin.hasTags: + - Trunk JGuard diff --git a/resources/rulesets/technology-usage/10-observability-technology-usage.windup.yaml b/resources/rulesets/technology-usage/10-observability-technology-usage.windup.yaml new file mode 100644 index 0000000..9c44f8b --- /dev/null +++ b/resources/rulesets/technology-usage/10-observability-technology-usage.windup.yaml @@ -0,0 +1,28 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: observability-technology-usage-0100 + tag: + - Sustain=Spring Boot Actuator + - Observability=Spring Boot Actuator + - Embedded=Spring Boot Actuator + when: + builtin.hasTags: + - Spring Boot Actuator +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: observability-technology-usage-0200 + tag: + - Sustain=Spring JMX + - Observability=Spring JMX + - Embedded=Spring JMX + when: + builtin.hasTags: + - Spring JMX diff --git a/resources/rulesets/technology-usage/11-non-xml-rules-technology-usage.rhamt.yaml b/resources/rulesets/technology-usage/11-non-xml-rules-technology-usage.rhamt.yaml new file mode 100644 index 0000000..86077d6 --- /dev/null +++ b/resources/rulesets/technology-usage/11-non-xml-rules-technology-usage.rhamt.yaml @@ -0,0 +1,238 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-02000 + tag: + - Connect=EJB XML + - Bean=EJB XML + - Java EE=EJB XML + when: + builtin.hasTags: + - EJB XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-05000 + tag: + - Store=Hibernate Cfg + - Embedded=Hibernate Cfg + - Object Mapping=Hibernate Cfg + when: + builtin.hasTags: + - Hibernate Cfg +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-06000 + tag: + - Store=Hibernate Mapping + - Embedded=Hibernate Mapping + - Object Mapping=Hibernate Mapping + when: + builtin.hasTags: + - Hibernate Mapping +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-12000 + tag: + - Connect=JBoss EJB XML + - Bean=JBoss EJB XML + - Java EE=JBoss EJB XML + when: + builtin.hasTags: + - JBoss EJB XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-13000 + tag: + - View=JBoss Web XML + - Web=JBoss Web XML + - Java EE=JBoss Web XML + when: + builtin.hasTags: + - JBoss Web XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-14000 + tag: + - Store=JDBC + - Database=JDBC + - Java EE=JDBC + when: + builtin.hasTags: + - JDBC +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-17000 + tag: + - Store=JPA XML + - Persistence=JPA XML + - Java EE=JPA XML + when: + builtin.hasTags: + - JPA XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-18000 + tag: + - Connect=Orion EJB XML + - Bean=Orion EJB XML + - Java EE=Orion EJB XML + when: + builtin.hasTags: + - Orion EJB XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-19000 + tag: + - View=Orion Web XML + - Web=Orion Web XML + - Java EE=Orion Web XML + when: + builtin.hasTags: + - Orion Web XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-20000 + tag: + - Sustain=Properties + - Embedded=Properties + - Other=Properties + when: + builtin.hasTags: + - Properties +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-21000 + tag: + - View=Seam + - Web=Seam + - Embedded=Seam + when: + builtin.hasTags: + - Seam +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-22000 + tag: + - View=WebLogic Web XML + - Web=WebLogic Web XML + - Embedded=WebLogic Web XML + when: + builtin.hasTags: + - WebLogic Web XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-23000 + tag: + - Connect=WebSphere EJB + - Bean=WebSphere EJB + - Embedded=WebSphere EJB + when: + builtin.hasTags: + - WebSphere EJB +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-24000 + tag: + - Connect=WebSphere EJB Ext + - Bean=WebSphere EJB Ext + - Embedded=WebSphere EJB Ext + when: + builtin.hasTags: + - WebSphere EJB Ext +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-25000 + tag: + - View=WebSphere Web XML + - Web=WebSphere Web XML + - Embedded=WebSphere Web XML + when: + builtin.hasTags: + - WebSphere Web XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-26000 + tag: + - Connect=WebSphere WS Binding + - Embedded=WebSphere WS Binding + - Web Service=WebSphere WS Binding + when: + builtin.hasTags: + - WebSphere WS Binding +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: non-xml-technology-usage-27000 + tag: + - Connect=WebSphere WS Extension + - Embedded=WebSphere WS Extension + - Web Service=WebSphere WS Extension + when: + builtin.hasTags: + - WebSphere WS Extension diff --git a/resources/rulesets/technology-usage/13-mvc-technology-usage.windup.yaml b/resources/rulesets/technology-usage/13-mvc-technology-usage.windup.yaml new file mode 100644 index 0000000..8a15e52 --- /dev/null +++ b/resources/rulesets/technology-usage/13-mvc-technology-usage.windup.yaml @@ -0,0 +1,714 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01000 + tag: + - View=Wicket + - Embedded=Wicket + - MVC=Wicket + when: + builtin.hasTags: + - Apache Wicket +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01100 + tag: + - View=Struts + - Embedded=Struts + - MVC=Struts + when: + builtin.hasTags: + - Apache Struts +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01200 + tag: + - View=Spring MVC + - Embedded=Spring MVC + - MVC=Spring MVC + when: + builtin.hasTags: + - Spring MVC +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01300 + tag: + - View=GWT + - Embedded=GWT + - MVC=GWT + when: + builtin.hasTags: + - GWT +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01400 + tag: + - View=MyFaces + - Embedded=MyFaces + - MVC=MyFaces + when: + builtin.hasTags: + - MyFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01500 + tag: + - View=RichFaces + - Embedded=RichFaces + - MVC=RichFaces + when: + builtin.hasTags: + - RichFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01600 + tag: + - View=JSF + - Embedded=JSF + - MVC=JSF + when: + builtin.hasTags: + - JSF +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01700 + tag: + - View=Apache Tapestry + - Embedded=Apache Tapestry + - MVC=Apache Tapestry + when: + builtin.hasTags: + - Apache Tapestry +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01800 + tag: + - View=Stripes + - Embedded=Stripes + - MVC=Stripes + when: + builtin.hasTags: + - Stripes +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-01900 + tag: + - View=Spark + - Embedded=Spark + - MVC=Spark + when: + builtin.hasTags: + - Spark +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02000 + tag: + - View=Vaadin + - Embedded=Vaadin + - MVC=Vaadin + when: + builtin.hasTags: + - Vaadin +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02100 + tag: + - View=Grails + - Embedded=Grails + - MVC=Grails + when: + builtin.hasTags: + - Grails +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02200 + tag: + - View=Play + - Embedded=Play + - MVC=Play + when: + builtin.hasTags: + - Play +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02300 + tag: + - View=Oracle ADF + - Embedded=Oracle ADF + - MVC=Oracle ADF + when: + builtin.hasTags: + - Oracle ADF +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02400 + tag: + - View=PrimeFaces + - Embedded=PrimeFaces + - MVC=PrimeFaces + when: + builtin.hasTags: + - PrimeFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02500 + tag: + - View=JSTL + - Embedded=JSTL + - MVC=JSTL + when: + builtin.hasTags: + - JSTL +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02600 + tag: + - View=OpenFaces + - Embedded=OpenFaces + - MVC=OpenFaces + when: + builtin.hasTags: + - OpenFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02700 + tag: + - View=JFreeChart + - Embedded=JFreeChart + - MVC=JFreeChart + when: + builtin.hasTags: + - JFreeChart +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02800 + tag: + - View=BootsFaces + - Embedded=BootsFaces + - MVC=BootsFaces + when: + builtin.hasTags: + - BootsFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-02900 + tag: + - View=ICEfaces + - Embedded=ICEfaces + - MVC=ICEfaces + when: + builtin.hasTags: + - ICEfaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03000 + tag: + - View=BabbageFaces + - Embedded=BabbageFaces + - MVC=BabbageFaces + when: + builtin.hasTags: + - BabbageFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03100 + tag: + - View=Portlet + - Embedded=Portlet + - MVC=Portlet + when: + builtin.hasTags: + - Portlet +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03200 + tag: + - View=AngularFaces + - Embedded=AngularFaces + - MVC=AngularFaces + when: + builtin.hasTags: + - AngularFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03300 + tag: + - View=LiferayFaces + - Embedded=LiferayFaces + - MVC=LiferayFaces + when: + builtin.hasTags: + - LiferayFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03400 + tag: + - View=Liferay + - Embedded=Liferay + - MVC=Liferay + when: + builtin.hasTags: + - Liferay +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03500 + tag: + - View=ButterFaces + - Embedded=ButterFaces + - MVC=ButterFaces + when: + builtin.hasTags: + - ButterFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03600 + tag: + - View=HighFaces + - Embedded=HighFaces + - MVC=HighFaces + when: + builtin.hasTags: + - HighFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03700 + tag: + - View=TieFaces + - Embedded=TieFaces + - MVC=TieFaces + when: + builtin.hasTags: + - TieFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03800 + tag: + - View=OmniFaces + - Embedded=OmniFaces + - MVC=OmniFaces + when: + builtin.hasTags: + - OmniFaces +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-03900 + tag: + - View=UberFire + - Embedded=UberFire + - MVC=UberFire + when: + builtin.hasTags: + - UberFire +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04000 + tag: + - View=Velocity + - Embedded=Velocity + - MVC=Velocity + when: + builtin.hasTags: + - Velocity +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04100 + tag: + - View=Thymeleaf + - Embedded=Thymeleaf + - MVC=Thymeleaf + when: + builtin.hasTags: + - Thymeleaf +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-0x4200 + tag: + - View=FreeMarker + - Embedded=FreeMarker + - MVC=FreeMarker + when: + builtin.hasTags: + - FreeMarker +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04300 + tag: + - View=ANTLR StringTemplate + - Embedded=ANTLR StringTemplate + - MVC=ANTLR StringTemplate + when: + builtin.hasTags: + - ANTLR StringTemplate +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04400 + tag: + - View=Handlebars + - Embedded=Handlebars + - MVC=Handlebars + when: + builtin.hasTags: + - Handlebars +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04500 + tag: + - View=JMustache + - Embedded=JMustache + - MVC=JMustache + when: + builtin.hasTags: + - JMustache +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04600 + tag: + - View=Jamon + - Embedded=Jamon + - MVC=Jamon + when: + builtin.hasTags: + - Jamon +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04700 + tag: + - View=Twirl + - Embedded=Twirl + - MVC=Twirl + when: + builtin.hasTags: + - Twirl +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04800 + tag: + - View=Scalate + - Embedded=Scalate + - MVC=Scalate + when: + builtin.hasTags: + - Scalate +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-04900 + tag: + - View=Rythm Template Engine + - Embedded=Rythm Template Engine + - MVC=Rythm Template Engine + when: + builtin.hasTags: + - Rythm Template Engine +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05000 + tag: + - View=Trimou + - Embedded=Trimou + - MVC=Trimou + when: + builtin.hasTags: + - Trimou +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05100 + tag: + - View=Jetbrick Template + - Embedded=Jetbrick Template + - MVC=Jetbrick Template + when: + builtin.hasTags: + - Jetbrick Template +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05200 + tag: + - View=Chunk Templates + - Embedded=Chunk Templates + - MVC=Chunk Templates + when: + builtin.hasTags: + - Chunk Templates +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05300 + tag: + - View=JSilver + - Embedded=JSilver + - MVC=JSilver + when: + builtin.hasTags: + - JSilver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05400 + tag: + - View=Water Template Engine + - Embedded=Water Template Engine + - MVC=Water Template Engine + when: + builtin.hasTags: + - Water Template Engine +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05500 + tag: + - View=Ickenham + - Embedded=Ickenham + - MVC=Ickenham + when: + builtin.hasTags: + - Ickenham +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05600 + tag: + - View=Mixer + - Embedded=Mixer + - MVC=Mixer + when: + builtin.hasTags: + - Mixer +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05700 + tag: + - View=Webmacro + - Embedded=Webmacro + - MVC=Webmacro + when: + builtin.hasTags: + - Webmacro +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05800 + tag: + - View=DVSL + - Embedded=DVSL + - MVC=DVSL + when: + builtin.hasTags: + - DVSL +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-05900 + tag: + - View=Snippetory Template Engine + - Embedded=Snippetory Template Engine + - MVC=Snippetory Template Engine + when: + builtin.hasTags: + - Snippetory Template Engine +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-mvc-06000 + tag: + - View=Anakia + - Embedded=Anakia + - MVC=Anakia + when: + builtin.hasTags: + - Anakia diff --git a/resources/rulesets/technology-usage/14-messaging-technology-usage.windup.yaml b/resources/rulesets/technology-usage/14-messaging-technology-usage.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/technology-usage/14-messaging-technology-usage.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/technology-usage/15-markup-technology-usage.windup.yaml b/resources/rulesets/technology-usage/15-markup-technology-usage.windup.yaml new file mode 100644 index 0000000..e07ba5c --- /dev/null +++ b/resources/rulesets/technology-usage/15-markup-technology-usage.windup.yaml @@ -0,0 +1,14 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-markup-01300 + tag: + - View=Spring Boot Flo + - Embedded=Spring Boot Flo + - Markup=Spring Boot Flo + when: + builtin.hasTags: + - Spring Boot Flo diff --git a/resources/rulesets/technology-usage/17-logging-technology-usage.windup.yaml b/resources/rulesets/technology-usage/17-logging-technology-usage.windup.yaml new file mode 100644 index 0000000..b7c3e82 --- /dev/null +++ b/resources/rulesets/technology-usage/17-logging-technology-usage.windup.yaml @@ -0,0 +1,406 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00010 + tag: + - Sustain=Log4J + - Embedded=Log4J + - Logging=Log4J + when: + builtin.hasTags: + - Apache Log4J +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00020 + tag: + - Sustain=Commons Logging + - Embedded=Commons Logging + - Logging=Commons Logging + when: + builtin.hasTags: + - Apache Commons Logging +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00030 + tag: + - Sustain=SLF4J + - Embedded=SLF4J + - Logging=SLF4J + when: + builtin.hasTags: + - SLF4J +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00040 + tag: + - Sustain=tinylog + - Embedded=tinylog + - Logging=tinylog + when: + builtin.hasTags: + - tinylog +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00050 + tag: + - Sustain=Logback + - Embedded=Logback + - Logging=Logback + when: + builtin.hasTags: + - Logback +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00060 + tag: + - Sustain=File system logging + - Java EE=File system logging + - Logging=File system logging + when: + builtin.hasTags: + - Logging to file system +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00070 + tag: + - Sustain=Socket handler logging + - Java EE=Socket handler logging + - Logging=Socket handler logging + when: + builtin.hasTags: + - Logging to Socket Handler +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00080 + tag: + - Sustain=JBoss logging + - Embedded=JBoss logging + - Logging=JBoss logging + when: + builtin.hasTags: + - JBoss logging +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-00090 + tag: + - Sustain=Monolog + - Embedded=Monolog + - Logging=Monolog + when: + builtin.hasTags: + - Monolog +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000100 + tag: + - Sustain=Jcabi Log + - Embedded=Jcabi Log + - Logging=Jcabi Log + when: + builtin.hasTags: + - Jcabi Log +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000110 + tag: + - Sustain=NLOG4J + - Embedded=NLOG4J + - Logging=NLOG4J + when: + builtin.hasTags: + - NLOG4J +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000120 + tag: + - Sustain=Log4s + - Embedded=Log4s + - Logging=Log4s + when: + builtin.hasTags: + - Log4s +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000130 + tag: + - Sustain=Kotlin Logging + - Embedded=Kotlin Logging + - Logging=Kotlin Logging + when: + builtin.hasTags: + - Kotlin Logging +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000140 + tag: + - Sustain=Airlift Log Manager + - Embedded=Airlift Log Manager + - Logging=Airlift Log Manager + when: + builtin.hasTags: + - Airlift Log Manager +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000150 + tag: + - Sustain=MinLog + - Embedded=MinLog + - Logging=MinLog + when: + builtin.hasTags: + - MinLog +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000160 + tag: + - Sustain=Logging Utils + - Embedded=Logging Utils + - Logging=Logging Utils + when: + builtin.hasTags: + - Logging Utils +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000170 + tag: + - Sustain=OCPsoft Logging Utils + - Embedded=OCPsoft Logging Utils + - Logging=OCPsoft Logging Utils + when: + builtin.hasTags: + - OCPsoft Logging Utils +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000180 + tag: + - Sustain=Scribe + - Embedded=Scribe + - Logging=Scribe + when: + builtin.hasTags: + - Scribe +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000190 + tag: + - Sustain=GFC Logging + - Embedded=GFC Logging + - Logging=GFC Logging + when: + builtin.hasTags: + - GFC Logging +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000200 + tag: + - Sustain=Blitz4j + - Embedded=Blitz4j + - Logging=Blitz4j + when: + builtin.hasTags: + - Blitz4j +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000210 + tag: + - Sustain=Avalon Logkit + - Embedded=Avalon Logkit + - Logging=Avalon Logkit + when: + builtin.hasTags: + - Avalon Logkit +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000220 + tag: + - Sustain=KLogger + - Embedded=KLogger + - Logging=KLogger + when: + builtin.hasTags: + - KLogger +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000230 + tag: + - Sustain=Lumberjack + - Embedded=Lumberjack + - Logging=Lumberjack + when: + builtin.hasTags: + - Lumberjack +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000240 + tag: + - Sustain=Log.io + - Embedded=Log.io + - Logging=Log.io + when: + builtin.hasTags: + - Log.io +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000250 + tag: + - Sustain=OPS4J Pax Logging Service + - Embedded=OPS4J Pax Logging Service + - Logging=OPS4J Pax Logging Service + when: + builtin.hasTags: + - OPS4J Pax Logging Service +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000260 + tag: + - Sustain=OW2 Log Util + - Embedded=OW2 Log Util + - Logging=OW2 Log Util + when: + builtin.hasTags: + - OW2 Log Util +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000270 + tag: + - Sustain=Twitter Util Logging + - Embedded=Twitter Util Logging + - Logging=Twitter Util Logging + when: + builtin.hasTags: + - Twitter Util Logging +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000280 + tag: + - Sustain=Composite Logging JCL + - Embedded=Composite Logging JCL + - Logging=Composite Logging JCL + when: + builtin.hasTags: + - Composite Logging JCL +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-logging-000290 + tag: + - Sustain=Apache Flume + - Embedded=Apache Flume + - Logging=Apache Flume + when: + builtin.hasTags: + - Apache Flume diff --git a/resources/rulesets/technology-usage/19-jta-technology-usage.windup.yaml b/resources/rulesets/technology-usage/19-jta-technology-usage.windup.yaml new file mode 100644 index 0000000..6383a67 --- /dev/null +++ b/resources/rulesets/technology-usage/19-jta-technology-usage.windup.yaml @@ -0,0 +1,293 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00010 + tag: + - Sustain=JTA + - Transaction=JTA + - Java EE=JTA + when: + or: [] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00020 + tag: + - Sustain=Mycontainer JTA + - Transaction=Mycontainer JTA + - Embedded=Mycontainer JTA + when: + builtin.hasTags: + - Mycontainer JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00030 + tag: + - Sustain=Geronimo JTA + - Transaction=Geronimo JTA + - Embedded=Geronimo JTA + when: + builtin.hasTags: + - Geronimo JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00040 + tag: + - Sustain=OW2 JTA + - Transaction=OW2 JTA + - Embedded=OW2 JTA + when: + builtin.hasTags: + - OW2 JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00050 + tag: + - Sustain=Evo JTA + - Transaction=Evo JTA + - Embedded=Evo JTA + when: + builtin.hasTags: + - Evo JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00060 + tag: + - Sustain=AKKA JTA + - Transaction=AKKA JTA + - Embedded=AKKA JTA + when: + builtin.hasTags: + - AKKA JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00070 + tag: + - Sustain=KumuluzEE JTA + - Transaction=KumuluzEE JTA + - Embedded=KumuluzEE JTA + when: + builtin.hasTags: + - KumuluzEE JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00080 + tag: + - Sustain=Ignite JTA + - Transaction=Ignite JTA + - Embedded=Ignite JTA + when: + builtin.hasTags: + - Ignite JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00090 + tag: + - Sustain=Nuxeo JTA/JCA + - Transaction=Nuxeo JTA/JCA + - Embedded=Nuxeo JTA/JCA + when: + builtin.hasTags: + - Nuxeo JTA/JCA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00100 + tag: + - Sustain=Everit JTA + - Transaction=Everit JTA + - Embedded=Everit JTA + when: + builtin.hasTags: + - Everit JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00110 + tag: + - Sustain=Demoiselle JTA + - Transaction=Demoiselle JTA + - Embedded=Demoiselle JTA + when: + builtin.hasTags: + - Demoiselle JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00120 + tag: + - Sustain=Apache Meecrowave JTA + - Transaction=Apache Meecrowave JTA + - Embedded=Apache Meecrowave JTA + when: + builtin.hasTags: + - Apache Meecrowave JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00130 + tag: + - Sustain=Apache Sirona JTA + - Transaction=Apache Sirona JTA + - Embedded=Apache Sirona JTA + when: + builtin.hasTags: + - Apache Sirona JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00140 + tag: + - Sustain=Lift JTA + - Transaction=Lift JTA + - Embedded=Lift JTA + when: + builtin.hasTags: + - Lift JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00150 + tag: + - Sustain=WF Core JTA + - Transaction=WF Core JTA + - Embedded=WF Core JTA + when: + builtin.hasTags: + - WF Core JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00160 + tag: + - Sustain=Java Transaction API + - Transaction=Java Transaction API + - Embedded=Java Transaction API + when: + builtin.hasTags: + - Java Transaction API +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00170 + tag: + - Sustain=JBoss Transactions + - Transaction=JBoss Transactions + - Embedded=JBoss Transactions + when: + builtin.hasTags: + - JBoss Transactions +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00180 + tag: + - Sustain=GlassFish JTA + - Transaction=GlassFish JTA + - Embedded=GlassFish JTA + when: + builtin.hasTags: + - GlassFish JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00190 + tag: + - Sustain=Atomikos JTA + - Transaction=Atomikos JTA + - Embedded=Atomikos JTA + when: + builtin.hasTags: + - Atomikos JTA +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00200 + tag: + - Sustain=Narayana Arjuna + - Transaction=Narayana Arjuna + - Embedded=Narayana Arjuna + when: + builtin.hasTags: + - Narayana Arjuna +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-jta-00210 + tag: + - Sustain=Spring Transactions + - Transaction=Spring Transactions + - Embedded=Spring Transactions + when: + builtin.hasTags: + - Spring Transactions diff --git a/resources/rulesets/technology-usage/190-3rd-party.windup.yaml b/resources/rulesets/technology-usage/190-3rd-party.windup.yaml new file mode 100644 index 0000000..840cca7 --- /dev/null +++ b/resources/rulesets/technology-usage/190-3rd-party.windup.yaml @@ -0,0 +1,285 @@ +- customVariables: [] + description: | + Embedded framework - Liferay + The application embeds the Liferay framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-01000 + tag: + - Liferay + - Embedded framework - Liferay + when: + builtin.file: + pattern: .*liferay.*\.jar +- customVariables: [] + description: | + Embedded framework - Oracle Forms + The application embeds the Oracle Forms framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-02000 + tag: + - Oracle Forms + - Embedded framework - Oracle Forms + when: + builtin.file: + pattern: .*frm.*\.jar +- customVariables: [] + description: | + Embedded framework - Spring Boot + The application embeds the Spring Boot framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-03000 + tag: + - Spring Boot + - Embedded framework - Spring Boot + when: + builtin.file: + pattern: spring-boot.*\.jar +- customVariables: [] + description: | + Embedded framework - Elasticsearch + The application embeds the Elasticsearch framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-04000 + tag: + - Elasticsearch + - Embedded framework - Elasticsearch + when: + builtin.file: + pattern: .*elasticsearch.*\.jar +- customVariables: [] + description: | + Embedded framework - Logstash + The application embeds the Logstash framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-05000 + tag: + - Logstash + - Embedded framework - Logstash + when: + builtin.file: + pattern: .*logstash.*\.jar +- customVariables: [] + description: | + Embedded framework - Jetty + The application embeds the Jetty framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-06000 + tag: + - Jetty + - Embedded framework - Jetty + when: + builtin.file: + pattern: .*jetty.*\.jar +- customVariables: [] + description: | + Embedded framework - Tomcat + The application embeds the Tomcat framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-07000 + tag: + - Tomcat + - Embedded framework - Tomcat + when: + builtin.file: + pattern: .*tomcat.*\.jar +- customVariables: [] + description: | + Embedded framework - Kibana + The application embeds the Kibana framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-08000 + tag: + - Kibana + - Embedded framework - Kibana + when: + builtin.file: + pattern: .*kibana.*\.jar +- customVariables: [] + description: | + Embedded framework - Apache Karaf + The application embeds the Apache Karaf framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-09000 + tag: + - Apache Karaf + - Embedded framework - Apache Karaf + when: + builtin.file: + pattern: .*karaf.*\.jar +- customVariables: [] + description: | + Embedded framework - Neo4j + The application embeds the Neo4j framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-10000 + tag: + - Neo4j + - Embedded framework - Neo4j + when: + builtin.file: + pattern: .*neo4j.*\.jar +- customVariables: [] + description: | + Embedded framework - Spark + The application embeds the Spark framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-11000 + tag: + - Spark + - Embedded framework - Spark + when: + builtin.file: + pattern: .*spark-.*\.jar +- customVariables: [] + description: | + Embedded framework - Apache Hadoop + The application embeds the Apache Hadoop framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-12000 + tag: + - Apache Hadoop + - Embedded framework - Apache Hadoop + when: + builtin.file: + pattern: .*hadoop.*\.jar +- customVariables: [] + description: | + Embedded framework - Apache Geronimo + The application embeds the Apache Geronimo framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-13000 + tag: + - Apache Geronimo + - Embedded framework - Apache Geronimo + when: + builtin.file: + pattern: .*geronimo.*\.jar +- customVariables: [] + description: | + Embedded framework - Apache Aries + The application embeds the Apache Aries framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-14000 + tag: + - Apache Aries + - Embedded framework - Apache Aries + when: + builtin.file: + pattern: .*aries.*\.jar +- customVariables: [] + description: | + Embedded framework - Cloudera + The application embeds the Cloudera framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-15000 + tag: + - Cloudera + - Embedded framework - Cloudera + when: + builtin.file: + pattern: .*cloudera.*\.jar +- customVariables: [] + description: | + Embedded framework - MapR + The application embeds the MapR framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-16000 + tag: + - MapR + - Embedded framework - MapR + when: + builtin.file: + pattern: .*mapr.*\.jar +- customVariables: [] + description: | + Embedded framework - TensorFlow + The application embeds the TensorFlow framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-17000 + tag: + - TensorFlow + - Embedded framework - TensorFlow + when: + builtin.file: + pattern: .*tensorflow.*\.jar +- customVariables: [] + description: | + Embedded framework - Weka + The application embeds the Weka framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-18000 + tag: + - Weka + - Embedded framework - Weka + when: + builtin.file: + pattern: .*weka.*\.jar +- customVariables: [] + description: | + Embedded framework - Apache Mahout + The application embeds the Apache Mahout framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: 3rd-party-19000 + tag: + - Apache Mahout + - Embedded framework - Apache Mahout + when: + builtin.file: + pattern: .*mahout.*\.jar diff --git a/resources/rulesets/technology-usage/192-clustering.windup.yaml b/resources/rulesets/technology-usage/192-clustering.windup.yaml new file mode 100644 index 0000000..075459a --- /dev/null +++ b/resources/rulesets/technology-usage/192-clustering.windup.yaml @@ -0,0 +1,35 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: clustering-00000 + tag: + - Clustering Web Session + when: + builtin.xml: + namespaces: + w: http://java.sun.com/xml/ns/javaee + xpath: /w:web-app/w:distributable +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: clustering-00001 + tag: + - Clustering EJB + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.jboss.ejb3.annotation.Clustered + - java.referenced: + location: IMPORT + pattern: org.jboss.ejb3.annotation.Clustered + - builtin.xml: + namespaces: {} + xpath: /*[local-name()='ejb-jar']/*[local-name()='assembly-descriptor']/*[local-name()='clustering']/*[local-name()='clustered'] + - builtin.xml: + namespaces: {} + xpath: /*[local-name()='jboss']/*[local-name()='enterprise-beans']/*[local-name()='session']/*[local-name()='clustered'] diff --git a/resources/rulesets/technology-usage/194-configuration-management.windup.yaml b/resources/rulesets/technology-usage/194-configuration-management.windup.yaml new file mode 100644 index 0000000..5161202 --- /dev/null +++ b/resources/rulesets/technology-usage/194-configuration-management.windup.yaml @@ -0,0 +1,81 @@ +- customVariables: [] + description: | + Embedded library - Spring Cloud Config + The application embeds Spring Cloud Config. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: configuration-management-0100 + tag: + - Spring Cloud Config + - Embedded library - Spring Cloud Config + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.cloud.spring-cloud-config-client + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.cloud.spring-cloud-config-client +- customVariables: [] + description: | + Application properties file detected + Application properties file detected + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: configuration-management-0200 + tag: + - Application Properties File + - Application properties file detected + when: + builtin.file: + pattern: application.*\.(properties|yml|yaml) +- customVariables: [] + description: | + Spring datasource properties detected + Spring datasource properties detected + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: configuration-management-0300 + tag: + - Spring Properties + - Spring datasource properties detected + when: + builtin.filecontent: + pattern: spring.datasource +- customVariables: [] + description: | + Spring logging properties detected + Spring logging properties detected + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: configuration-management-0400 + tag: + - Spring Properties + - Spring logging properties detected + when: + builtin.filecontent: + pattern: logging.level.org.springframework +- customVariables: [] + description: | + Spring configuration properties annotation detected + Spring configuration properties annotation detected + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: configuration-management-0500 + tag: + - Spring Properties + - Spring configuration properties annotation detected + when: + java.referenced: + location: ANNOTATION + pattern: org.springframework.boot.context.properties.ConfigurationProperties diff --git a/resources/rulesets/technology-usage/197-discovery-target.windup.yaml b/resources/rulesets/technology-usage/197-discovery-target.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/technology-usage/197-discovery-target.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/technology-usage/199-ejb.windup.yaml b/resources/rulesets/technology-usage/199-ejb.windup.yaml new file mode 100644 index 0000000..59903cd --- /dev/null +++ b/resources/rulesets/technology-usage/199-ejb.windup.yaml @@ -0,0 +1,18 @@ +- customVariables: + - name: classes + nameOfCaptureGroup: classes + pattern: javax.ejb.(?P(Schedule|ScheduleExpression|Schedules|TimedObject|Timeout|Timer|TimerConfig|TimerHandle|TimerService))? + description: | + EJB Timer + The application uses EJB timers. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: ejb-01000 + tag: + - EJB Timer + - EJB Timer + when: + java.referenced: + pattern: javax.ejb.(Schedule|ScheduleExpression|Schedules|TimedObject|Timeout|Timer|TimerConfig|TimerHandle|TimerService) diff --git a/resources/rulesets/technology-usage/201-embedded-framework.windup.yaml b/resources/rulesets/technology-usage/201-embedded-framework.windup.yaml new file mode 100644 index 0000000..8a56f5e --- /dev/null +++ b/resources/rulesets/technology-usage/201-embedded-framework.windup.yaml @@ -0,0 +1,950 @@ +- customVariables: [] + description: | + Embedded framework - Apache Axis + The application embeds the Apache Axis framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01000 + tag: + - Apache Axis + - Embedded framework - Apache Axis + when: + builtin.file: + pattern: axis.*\.jar +- customVariables: [] + description: | + Embedded framework - Apache Axis2 + The application embeds the Apache Axis2 framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01010 + tag: + - Apache Axis2 + - Embedded framework - Apache Axis2 + when: + builtin.file: + pattern: axis2.*\.jar +- customVariables: [] + description: | + Embedded framework - Apache CXF + The application embeds the Apache CXF framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01100 + tag: + - Apache CXF + - Embedded framework - Apache CXF + when: + builtin.file: + pattern: .*cxf.*\.jar +- customVariables: [] + description: | + Embedded framework - XFire + The application embeds the XFire framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01200 + tag: + - XFire + - Embedded framework - XFire + when: + builtin.file: + pattern: .*xfire.*\.jar +- customVariables: [] + description: | + Embedded framework - Jersey + The application embeds the Jersey framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01300 + tag: + - Jersey + - Embedded framework - Jersey + when: + builtin.file: + pattern: .*jersey.*\.jar +- customVariables: [] + description: | + Embedded framework - Unirest + The application embeds the Unirest framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01400 + tag: + - Unirest + - Embedded framework - Unirest + when: + builtin.file: + pattern: .*unirest.*\.jar +- customVariables: [] + description: | + Embedded framework - Hibernate + The application embeds the Hibernate framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01500 + tag: + - Hibernate + - Embedded framework - Hibernate + when: + builtin.file: + pattern: hibernate.*\.jar +- customVariables: [] + description: | + Embedded framework - Hibernate OGM + The application embeds the Hibernate OGM framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01600 + tag: + - Hibernate OGM + - Embedded framework - Hibernate OGM + when: + builtin.file: + pattern: hibernate-ogm.*\.jar +- customVariables: [] + description: | + Embedded framework - EclipseLink + The application embeds the EclipseLink framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-01700 + tag: + - EclipseLink + - Embedded framework - EclipseLink + when: + builtin.file: + pattern: .*eclipselink.*\.jar +- customVariables: [] + description: | + Embedded framework - Spring Batch + The application embeds the Spring Batch framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-02000 + tag: + - Spring Batch + - Embedded framework - Spring Batch + when: + builtin.file: + pattern: spring-batch.*\.jar +- customVariables: [] + description: | + Embedded framework - AspectJ + The application embeds the AspectJ framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-02200 + tag: + - AspectJ + - Embedded framework - AspectJ + when: + builtin.file: + pattern: .*aspectj.*\.jar +- customVariables: [] + description: | + Embedded framework - JBPM + The application embeds the JBPM framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-02300 + tag: + - JBPM + - Embedded framework - JBPM + when: + builtin.file: + pattern: .*jbpm.*\.jar +- customVariables: [] + description: | + Embedded framework - iLog + The application embeds the iLog framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-02400 + tag: + - iLog + - Embedded framework - iLog + when: + builtin.file: + pattern: .*jrules.*\.jar +- customVariables: [] + description: | + Embedded framework - Camunda + The application embeds the Camunda framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-03000 + tag: + - Camunda + - Embedded framework - Camunda + when: + builtin.file: + pattern: .*camunda.*\.jar +- customVariables: [] + description: | + Embedded framework - Pega + The application embeds the Pega framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-03100 + tag: + - Pega + - Embedded framework - Pega + when: + builtin.file: + pattern: .*pega.*\.jar +- customVariables: [] + description: | + Embedded framework - Blaze + The application embeds the Blaze framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-03200 + tag: + - Blaze + - Embedded framework - Blaze + when: + builtin.file: + pattern: blaze.*\.jar +- customVariables: [] + description: | + Embedded framework - MRules + The application embeds the MRules framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-03300 + tag: + - MRules + - Embedded framework - MRules + when: + builtin.file: + pattern: .*MRules.*\.jar +- customVariables: [] + description: | + Embedded framework - Easy Rules + The application embeds the Easy Rules framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-03400 + tag: + - Easy Rules + - Embedded framework - Easy Rules + when: + builtin.file: + pattern: .*easy-rules.*\.jar +- customVariables: [] + description: | + Embedded framework - AOP Alliance + The application embeds the AOP Alliance library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-04700 + tag: + - AOP Alliance + - Embedded framework - AOP Alliance + when: + builtin.file: + pattern: .*aopalliance.*\.jar +- customVariables: [] + description: | + Embedded framework - SNMP4J + The application embeds SNMP4J. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05000 + tag: + - SNMP4J + - Embedded framework - SNMP4J + when: + builtin.file: + pattern: .*snmp4j.*\.jar +- customVariables: [] + description: | + Embedded framework - HTTP Client + The application embeds a HTTP client. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05100 + tag: + - HTTP Client + - Embedded framework - HTTP Client + when: + builtin.file: + pattern: .*http-client.*\.jar +- customVariables: [] + description: | + Embedded framework - Javax Inject + The application embeds a Javax Inject library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05300 + tag: + - Javax Inject + - Embedded framework - Javax Inject + when: + or: + - builtin.file: + pattern: javax\.inject.*\.jar + - builtin.file: + pattern: .*atinject.*\.jar +- customVariables: [] + description: | + Embedded framework - Google Guice + The application embeds a Google Guice library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05400 + tag: + - Google Guice + - Embedded framework - Google Guice + when: + builtin.file: + pattern: .*guice.*\.jar +- customVariables: [] + description: | + Embedded framework - CDI + The application embeds a CDI library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05500 + tag: + - CDI + - Embedded framework - CDI + when: + builtin.file: + pattern: .*cdi.*\.jar +- customVariables: [] + description: | + Embedded framework - Plexus Container + The application embeds a Plexus Container library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05600 + tag: + - Plexus Container + - Embedded framework - Plexus Container + when: + builtin.file: + pattern: .*plexus-container.*\.jar +- customVariables: [] + description: | + Embedded framework - Weld + The application embeds a Weld library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05700 + tag: + - Weld + - Embedded framework - Weld + when: + builtin.file: + pattern: .*weld.*\.jar +- customVariables: [] + description: | + Embedded framework - Dagger + The application embeds a Dagger library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05800 + tag: + - Dagger + - Embedded framework - Dagger + when: + builtin.file: + pattern: dagger.*\.jar +- customVariables: [] + description: | + Embedded framework - GIN + The application embeds a GIN (GWT INjection) library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-05900 + tag: + - GIN + - Embedded framework - GIN + when: + builtin.file: + pattern: gin.*\.jar +- customVariables: [] + description: | + Embedded framework - PicoContainer + The application embeds a PicoContainer library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06000 + tag: + - PicoContainer + - Embedded framework - PicoContainer + when: + builtin.file: + pattern: .*picocontainer.*\.jar +- customVariables: [] + description: | + Embedded framework - Scaldi + The application embeds a Scaldi library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06100 + tag: + - Scaldi + - Embedded framework - Scaldi + when: + builtin.file: + pattern: .*scaldi.*\.jar +- customVariables: [] + description: | + Embedded framework - Macros + The application embeds a Macros library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06200 + tag: + - Macros + - Embedded framework - Macros + when: + builtin.file: + pattern: macros.*\.jar +- customVariables: [] + description: | + Embedded framework - Injekt for Kotlin + The application embeds a Injekt for Kotlin library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06300 + tag: + - Injekt for Kotlin + - Embedded framework - Injekt for Kotlin + when: + builtin.file: + pattern: injekt-core.*\.jar +- customVariables: [] + description: | + Embedded framework - Kodein + The application embeds a Kodein library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06400 + tag: + - Kodein + - Embedded framework - Kodein + when: + builtin.file: + pattern: kodein.*\.jar +- customVariables: [] + description: | + Embedded framework - Peaberry + The application embeds a Peaberry library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06500 + tag: + - Peaberry + - Embedded framework - Peaberry + when: + builtin.file: + pattern: peaberry.*\.jar +- customVariables: [] + description: | + Embedded framework - Sticky Configured + The application embeds a Sticky Configured library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06600 + tag: + - Sticky Configured + - Embedded framework - Sticky Configured + when: + builtin.file: + pattern: sticky-configured.*\.jar +- customVariables: [] + description: | + Embedded framework - Ka DI + The application embeds a Ka DI library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06700 + tag: + - Ka DI + - Embedded framework - Ka DI + when: + builtin.file: + pattern: ka-di.*\.jar +- customVariables: [] + description: | + Embedded framework - Polyforms DI + The application embeds a Polyforms DI library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06800 + tag: + - Polyforms DI + - Embedded framework - Polyforms DI + when: + builtin.file: + pattern: polyforms-di.*\.jar +- customVariables: [] + description: | + Embedded framework - JayWire + The application embeds a JayWire library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-06900 + tag: + - JayWire + - Embedded framework - JayWire + when: + builtin.file: + pattern: jaywire.*\.jar +- customVariables: [] + description: | + Embedded framework - Silk DI + The application embeds a Silk DI library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07000 + tag: + - Silk DI + - Embedded framework - Silk DI + when: + builtin.file: + pattern: silk-di.*\.jar +- customVariables: [] + description: | + Embedded framework - Grapht DI + The application embeds a Grapht DI library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07100 + tag: + - Grapht DI + - Embedded framework - Grapht DI + when: + builtin.file: + pattern: grapht.*\.jar +- customVariables: [] + description: | + Embedded framework - Syringe + The application embeds a Syringe library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07200 + tag: + - Syringe + - Embedded framework - Syringe + when: + builtin.file: + pattern: syringe.*\.jar +- customVariables: [] + description: | + Embedded framework - Cfg Engine + The application embeds a Cfg Engine library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07300 + tag: + - Cfg Engine + - Embedded framework - Cfg Engine + when: + builtin.file: + pattern: cfg-engine.*\.jar +- customVariables: [] + description: | + Embedded framework - BeanInject + The application embeds a BeanInject library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07400 + tag: + - BeanInject + - Embedded framework - BeanInject + when: + builtin.file: + pattern: beaninject.*\.jar +- customVariables: [] + description: | + Embedded framework - Tornado Inject + The application embeds a Tornado Inject library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07500 + tag: + - Tornado Inject + - Embedded framework - Tornado Inject + when: + builtin.file: + pattern: inject.*\.jar +- customVariables: [] + description: | + Embedded framework - Airframe + The application embeds a Airframe library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07600 + tag: + - Airframe + - Embedded framework - Airframe + when: + builtin.file: + pattern: airframe.*\.jar +- customVariables: [] + description: | + Embedded framework - Winter + The application embeds a Winter library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07700 + tag: + - Winter + - Embedded framework - Winter + when: + builtin.file: + pattern: winter.*\.jar +- customVariables: [] + description: | + Embedded framework - KouInject + The application embeds a KouInject library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07800 + tag: + - KouInject + - Embedded framework - KouInject + when: + builtin.file: + pattern: kouinject.*\.jar +- customVariables: [] + description: | + Embedded framework - Iroh + The application embeds an Iroh library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-07900 + tag: + - Iroh + - Embedded framework - Iroh + when: + builtin.file: + pattern: iroh.*\.jar +- customVariables: [] + description: | + Embedded framework - Micro DI + The application embeds a Micro DI library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08000 + tag: + - Micro DI + - Embedded framework - Micro DI + when: + builtin.file: + pattern: micro-di.*\.jar +- customVariables: [] + description: | + Embedded framework - SubCut + The application embeds a SubCut library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08100 + tag: + - SubCut + - Embedded framework - SubCut + when: + builtin.file: + pattern: subcut.*\.jar +- customVariables: [] + description: | + Embedded framework - Spring DI + The application embeds a Spring DI library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08200 + tag: + - Spring DI + - Embedded framework - Spring DI + when: + java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-beans +- customVariables: [] + description: | + Embedded framework - Micrometer + The application embeds a Micrometer library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08300 + tag: + - Micrometer + - Embedded framework - Micrometer + when: + java.dependency: + lowerbound: 0.0.0 + name: io.micrometer.micrometer-core +- customVariables: [] + description: | + Embedded framework - Spring Web + The application embeds the Spring Web framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08400 + tag: + - Spring Web + - Embedded framework - Spring Web + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-web + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-web + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-web +- customVariables: [] + description: | + Embedded framework - Spring Shell + The application embeds a Spring Shell library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08500 + tag: + - Spring Shell + - Embedded framework - Spring Shell + when: + java.dependency: + lowerbound: 0.0.0 + name: org.springframework.shell.spring-shell-core +- customVariables: [] + description: | + Embedded framework - Spring Boot Flo + The application embeds Spring Boot Flo. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08600 + tag: + - Spring Boot Flo + - Embedded framework - Spring Boot Flo + when: + builtin.filecontent: + pattern: (<|')flo-editor +- customVariables: [] + description: | + Embedded framework - Spring Scheduled + The application embeds Spring Scheduled. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08700 + tag: + - Spring Scheduled + - Embedded framework - Spring Scheduled + when: + java.referenced: + location: ANNOTATION + pattern: org.springframework.scheduling.annotation.Scheduled +- customVariables: [] + description: | + Embedded framework - Spring Cloud Function + The application embeds Spring Cloud Function. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08800 + tag: + - Spring Cloud Function + - Embedded framework - Spring Cloud Function + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.cloud.spring-cloud-function-context + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.cloud.spring-cloud-function-context +- customVariables: [] + description: | + Embedded framework - Quartz + The application embeds the Quartz framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-08900 + tag: + - Quartz + - Embedded framework - Quartz + when: + builtin.file: + pattern: .*quartz.*\.jar +- customVariables: [] + description: | + Embedded framework - Zipkin + The application embeds the Zipkin framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-09100 + tag: + - Zipkin + - Embedded framework - Zipkin + when: + builtin.file: + pattern: .*zipkin.*\.jar +- customVariables: [] + description: | + Embedded framework - Feign + The application embeds the Feign framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-09000 + tag: + - Feign + - Embedded framework - Feign + when: + builtin.file: + pattern: feign-.*\.jar +- customVariables: [] + description: | + Embedded framework - Redis + The application embeds the Redis client. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-09200 + tag: + - Redis + - Embedded framework - Redis + when: + builtin.file: + pattern: .*redis.*\.jar +- customVariables: [] + description: | + Embedded framework - Eureka + The application embeds the Eureka client. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: embedded-framework-09300 + tag: + - Eureka + - Embedded framework - Eureka + when: + builtin.file: + pattern: .*eureka.*\.jar diff --git a/resources/rulesets/technology-usage/204-integration.windup.yaml b/resources/rulesets/technology-usage/204-integration.windup.yaml new file mode 100644 index 0000000..2adbe85 --- /dev/null +++ b/resources/rulesets/technology-usage/204-integration.windup.yaml @@ -0,0 +1,256 @@ +- customVariables: [] + description: "Embedded library - Apache Camel\n\n The application + embedds an Apache Camel library.\n \n" + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00001 + tag: + - Apache Camel + - Embedded library - Apache Camel + when: + builtin.file: + pattern: .*camel.*\.jar$ +- customVariables: [] + description: "Embedded library - Teiid\n\n The application + embedds a Teiid library.\n \n" + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00002 + tag: + - Teiid + - Embedded library - Teiid + when: + builtin.file: + pattern: .*teiid.*\.jar$ +- customVariables: [] + description: | + Embedded framework - Spring Integration + The application embeds the Spring Integration framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00003 + tag: + - Spring Integration + - Embedded framework - Spring Integration + when: + builtin.file: + pattern: spring-integration.*\.jar +- customVariables: [] + description: | + Embedded framework - Ikasan + The application embeds an Ikasan library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00004 + tag: + - Ikasan + - Embedded framework - Ikasan + when: + builtin.file: + pattern: .*ikasan.*\.jar +- customVariables: [] + description: | + Embedded framework - Swagger + The application embeds a Swagger library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00005 + tag: + - Swagger + - Embedded framework - Swagger + when: + builtin.file: + pattern: .*swagger.*\.jar +- customVariables: [] + description: | + Embedded framework - Apiman + The application embeds an Apiman library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00006 + tag: + - Apiman + - Embedded framework - Apiman + when: + builtin.file: + pattern: .*apiman.*\.jar +- customVariables: [] + description: | + Embedded framework - 3scale + The application embeds a 3scale library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00007 + tag: + - 3scale + - Embedded framework - 3scale + when: + builtin.file: + pattern: .*3scale.*\.jar +- customVariables: [] + description: | + Embedded framework - Istio + The application embeds an Istio library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00008 + tag: + - Istio + - Embedded framework - Istio + when: + builtin.file: + pattern: .*istio.*\.jar +- customVariables: [] + description: | + Embedded framework - ServiceMix + The application embeds a ServiceMix library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00009 + tag: + - ServiceMix + - Embedded framework - ServiceMix + when: + builtin.file: + pattern: .*servicemix.*\.jar +- customVariables: [] + description: | + Embedded framework - Mule + The application embeds a Mule library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00010 + tag: + - Mule + - Embedded framework - Mule + when: + builtin.file: + pattern: .*mule.*\.jar +- customVariables: [] + description: | + Embedded framework - Petals EIP + The application embeds a Petals EIP library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00011 + tag: + - Petals EIP + - Embedded framework - Petals EIP + when: + builtin.file: + pattern: .*petals.*eip.*\.jar +- customVariables: [] + description: | + Embedded framework - SwitchYard + The application embeds a SwitchYard library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00012 + tag: + - SwitchYard + - Embedded framework - SwitchYard + when: + builtin.file: + pattern: .*switchyard.*\.jar +- customVariables: [] + description: | + Embedded framework - Apache Synapse + The application embeds an Apache Synapse library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00013 + tag: + - Apache Synapse + - Embedded framework - Apache Synapse + when: + builtin.file: + pattern: .*synapse.*\.jar +- customVariables: [] + description: | + Embedded framework - WSO2 + The application embeds a WSO2 library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00014 + tag: + - WSO2 + - Embedded framework - WSO2 + when: + builtin.file: + pattern: .*wso2.*\.jar +- customVariables: [] + description: | + Embedded framework - Talend ESB + The application embeds a Talend ESB library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00015 + tag: + - Talend ESB + - Embedded framework - Talend ESB + when: + builtin.file: + pattern: .*talend.*\.jar +- customVariables: [] + description: | + Embedded framework - Spring Integration + The application embeds the Spring Integration framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00016 + tag: + - Spring Integration + - Embedded framework - Spring Integration + when: + builtin.xml: + namespaces: + int: http://www.springframework.org/schema/integration + xpath: //*/int:channel +- customVariables: [] + description: | + Embedded framework - Spring Integration + The application embeds the Spring Integration framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: integration-00017 + tag: + - Spring Integration + - Embedded framework - Spring Integration + when: + java.referenced: + location: IMPORT + pattern: org.springframework.integration.dsl.IntegrationFlow diff --git a/resources/rulesets/technology-usage/207-javase.windup.yaml b/resources/rulesets/technology-usage/207-javase.windup.yaml new file mode 100644 index 0000000..534842c --- /dev/null +++ b/resources/rulesets/technology-usage/207-javase.windup.yaml @@ -0,0 +1,36 @@ +- customVariables: + - name: classes + nameOfCaptureGroup: classes + pattern: java.lang.(?P(Thread|ThreadDeath|ThreadGroup|ThreadLocal))? + description: | + Threads + The application uses Thread APIs. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: javase-01000 + tag: + - Java Threads + - Threads + when: + java.referenced: + pattern: java.lang.(Thread|ThreadDeath|ThreadGroup|ThreadLocal) +- customVariables: + - name: classes + nameOfCaptureGroup: classes + pattern: java.util.concurrent.(?P(ExecutorService|Executors|Executor|ScheduledExecutorService))? + description: | + Threads + The application uses Concurrent Executors APIs. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: javase-01100 + tag: + - Java Threads + - Threads + when: + java.referenced: + pattern: java.util.concurrent.(ExecutorService|Executors|Executor|ScheduledExecutorService) diff --git a/resources/rulesets/technology-usage/209-jta.windup.yaml b/resources/rulesets/technology-usage/209-jta.windup.yaml new file mode 100644 index 0000000..dc713b8 --- /dev/null +++ b/resources/rulesets/technology-usage/209-jta.windup.yaml @@ -0,0 +1,336 @@ +- customVariables: [] + description: | + Embedded library - Mycontainer JTA + The application embeds a Mycontainer JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00020 + tag: + - Mycontainer JTA + - Embedded library - Mycontainer JTA + when: + builtin.file: + pattern: mycontainer-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Geronimo JTA + The application embeds a Geronimo JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00030 + tag: + - Geronimo JTA + - Embedded library - Geronimo JTA + when: + builtin.file: + pattern: geronimo-jta.*\.jar +- customVariables: [] + description: | + Embedded library - OW2 JTA + The application embeds an OW2 JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00040 + tag: + - OW2 JTA + - Embedded library - OW2 JTA + when: + builtin.file: + pattern: ow2-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Evo JTA + The application embeds an Evo JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00050 + tag: + - Evo JTA + - Embedded library - Evo JTA + when: + builtin.file: + pattern: evo-jta.*\.jar +- customVariables: [] + description: | + Embedded library - AKKA JTA + The application embeds an AKKA JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00060 + tag: + - AKKA JTA + - Embedded library - AKKA JTA + when: + builtin.file: + pattern: akka-jta.*\.jar +- customVariables: [] + description: | + Embedded library - KumuluzEE JTA + The application embeds a KumuluzEE JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00070 + tag: + - KumuluzEE JTA + - Embedded library - KumuluzEE JTA + when: + builtin.file: + pattern: kumuluzee-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Ignite JTA + The application embeds an Ignite JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00080 + tag: + - Ignite JTA + - Embedded library - Ignite JTA + when: + builtin.file: + pattern: ignite-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Nuxeo JTA/JCA + The application embeds a Nuxeo JTA/JCA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00090 + tag: + - Nuxeo JTA/JCA + - Embedded library - Nuxeo JTA/JCA + when: + builtin.file: + pattern: nuxeo-runtime-jtajca.*\.jar +- customVariables: [] + description: | + Embedded library - Everit JTA + The application embeds an Everit JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00100 + tag: + - Everit JTA + - Embedded library - Everit JTA + when: + builtin.file: + pattern: org\.everit\.transaction\.propagator\.jta.*\.jar +- customVariables: [] + description: | + Embedded library - Demoiselle JTA + The application embeds a Demoiselle JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00110 + tag: + - Demoiselle JTA + - Embedded library - Demoiselle JTA + when: + builtin.file: + pattern: demoiselle-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Meecrowave JTA + The application embeds an Apache Meecrowave JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00120 + tag: + - Apache Meecrowave JTA + - Embedded library - Apache Meecrowave JTA + when: + builtin.file: + pattern: meecrowave-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Sirona JTA + The application embeds an Apache Sirona JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00130 + tag: + - Apache Sirona JTA + - Embedded library - Apache Sirona JTA + when: + builtin.file: + pattern: sirona-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Lift JTA + The application embeds a Lift JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00140 + tag: + - Lift JTA + - Embedded library - Lift JTA + when: + builtin.file: + pattern: lift-jta.*\.jar +- customVariables: [] + description: | + Embedded library - WF Core JTA + The application embeds a WF Core JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00150 + tag: + - WF Core JTA + - Embedded library - WF Core JTA + when: + builtin.file: + pattern: wf-core-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Java Transaction API (JTA) + The application embeds a Java Transaction API library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00160 + tag: + - Java Transaction API + - Embedded library - Java Transaction API (JTA) + when: + or: + - builtin.file: + pattern: jta.*\.jar + - builtin.file: + pattern: javax-jta.*\.jar +- customVariables: [] + description: | + Embedded library - JBoss Transactions + The application embeds a JBoss Transactions library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00170 + tag: + - JBoss Transactions + - Embedded library - JBoss Transactions + when: + or: + - builtin.file: + pattern: jboss.*jta.*\.jar + - builtin.file: + pattern: jboss.*jts.*\.jar + - builtin.file: + pattern: jbossxts.*\.jar + - builtin.file: + pattern: jbossts.*\.jar + - builtin.file: + pattern: arquillian-transaction-jta.*\.jar + - builtin.file: + pattern: weld-jta.*\.jar + - builtin.file: + pattern: wildfly.*jta.*\.jar + - builtin.file: + pattern: transactions.*\.jar +- customVariables: [] + description: | + Embedded library - GlassFish JTA + The application embeds a GlassFish JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00180 + tag: + - GlassFish JTA + - Embedded library - GlassFish JTA + when: + or: + - builtin.file: + pattern: glassfish-jta.*\.jar + - builtin.file: + pattern: osgi-jta.*\.jar + - builtin.file: + pattern: jta-l10n.*\.jar +- customVariables: [] + description: | + Embedded library - Atomikos JTA + The application embeds an Atomikos JTA library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00190 + tag: + - Atomikos JTA + - Embedded library - Atomikos JTA + when: + or: + - builtin.file: + pattern: transactions-jta.*\.jar + - builtin.file: + pattern: ks-jta.*\.jar + - builtin.file: + pattern: evo-jta-atomikos.*\.jar +- customVariables: [] + description: | + Embedded library - Narayana Arjuna + The application embeds a Narayana Arjuna library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00200 + tag: + - Narayana Arjuna + - Embedded library - Narayana Arjuna + when: + or: + - builtin.file: + pattern: .*narayana.*\.jar + - builtin.file: + pattern: .*arjuna.*\.jar + - builtin.file: + pattern: tomcat-jta.*\.jar +- customVariables: [] + description: | + Embedded library - Spring Transactions + The application embeds a Spring Transactions library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: jta-00210 + tag: + - Spring Transactions + - Embedded library - Spring Transactions + when: + or: + - builtin.file: + pattern: spring-.*jta.*\.jar + - builtin.file: + pattern: insight-plugin-jta.*\.jar diff --git a/resources/rulesets/technology-usage/21-javase-technology-usage.windup.yaml b/resources/rulesets/technology-usage/21-javase-technology-usage.windup.yaml new file mode 100644 index 0000000..900bf8c --- /dev/null +++ b/resources/rulesets/technology-usage/21-javase-technology-usage.windup.yaml @@ -0,0 +1,14 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javase-technology-usage-01000 + tag: + - Execute=Java Threads + - Processing=Java Threads + - Java EE=Java Threads + when: + builtin.hasTags: + - Java Threads diff --git a/resources/rulesets/technology-usage/211-logging-usage.windup.yaml b/resources/rulesets/technology-usage/211-logging-usage.windup.yaml new file mode 100644 index 0000000..190e8b8 --- /dev/null +++ b/resources/rulesets/technology-usage/211-logging-usage.windup.yaml @@ -0,0 +1,405 @@ +- customVariables: [] + description: | + Embedded library - Apache Log4J + The application embeds an Apache Log4J library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00010 + tag: + - Apache Log4J + - Embedded library - Apache Log4J + when: + builtin.file: + pattern: .*log4j.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Commons Logging + The application embeds an Apache Commons Logging library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00020 + tag: + - Apache Commons Logging + - Embedded library - Apache Commons Logging + when: + builtin.file: + pattern: .*commons-logging.*\.jar +- customVariables: [] + description: | + Embedded library - SLF4J + The application embeds a Simple Logging Facade for Java (SLJ4J) library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00030 + tag: + - SLF4J + - Embedded library - SLF4J + when: + builtin.file: + pattern: .*slf4j.*\.jar +- customVariables: [] + description: | + Embedded library - tinylog + The application embeds a tinylog library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00040 + tag: + - tinylog + - Embedded library - tinylog + when: + builtin.file: + pattern: .*tinylog.*\.jar +- customVariables: [] + description: | + Embedded library - Logback + The application embeds a Logback library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00050 + tag: + - Logback + - Embedded library - Logback + when: + builtin.file: + pattern: .*logback.*\.jar +- customVariables: [] + description: | + Embedded library - JBoss logging + The application embeds a JBoss logging library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00080 + tag: + - JBoss logging + - Embedded library - JBoss logging + when: + builtin.file: + pattern: .*jboss-logging.*\.jar +- customVariables: [] + description: | + Embedded library - Monolog + The application embeds a Monolog library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00090 + tag: + - Monolog + - Embedded library - Monolog + when: + builtin.file: + pattern: .*monolog.*\.jar +- customVariables: [] + description: | + Embedded library - Jcabi Log + The application embeds a Jcabi Log library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00100 + tag: + - Jcabi Log + - Embedded library - Jcabi Log + when: + builtin.file: + pattern: .*jcabi-log.*\.jar +- customVariables: [] + description: | + Embedded library - NLOG4J + The application embeds a NLOG4J library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00110 + tag: + - NLOG4J + - Embedded library - NLOG4J + when: + builtin.file: + pattern: .*nlog4j.*\.jar +- customVariables: [] + description: | + Embedded library - Log4s + The application embeds a Log4s library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00120 + tag: + - Log4s + - Embedded library - Log4s + when: + builtin.file: + pattern: log4s.*\.jar +- customVariables: [] + description: | + Embedded library - Kotlin Logging + The application embeds a Kotlin Logging library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00130 + tag: + - Kotlin Logging + - Embedded library - Kotlin Logging + when: + builtin.file: + pattern: .*kotlin-logging.*\.jar +- customVariables: [] + description: | + Embedded library - Airlift Log Manager + The application embeds an Airlift Log Manager library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00140 + tag: + - Airlift Log Manager + - Embedded library - Airlift Log Manager + when: + builtin.file: + pattern: log-manager.*\.jar +- customVariables: [] + description: | + Embedded library - MinLog + The application embeds a MinLog library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00150 + tag: + - MinLog + - Embedded library - MinLog + when: + builtin.file: + pattern: .*minilog.*\.jar +- customVariables: [] + description: | + Embedded library - Logging Utils + The application embeds a Common Java Logging Utils library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00160 + tag: + - Logging Utils + - Embedded library - Logging Utils + when: + builtin.file: + pattern: logging.*\.jar +- customVariables: [] + description: | + Embedded library - OCPsoft Logging Utils + The application embeds an OCPsoft Logging Utils library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00170 + tag: + - OCPsoft Logging Utils + - Embedded library - OCPsoft Logging Utils + when: + builtin.file: + pattern: logging-api.*\.jar +- customVariables: [] + description: | + Embedded library - Scribe + The application embeds a Scribe library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00180 + tag: + - Scribe + - Embedded library - Scribe + when: + builtin.file: + pattern: .*scribe.*\.jar +- customVariables: [] + description: | + Embedded library - GFC Logging + The application embeds a Git Foundation Classes (GFC) Logging library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00190 + tag: + - GFC Logging + - Embedded library - GFC Logging + when: + builtin.file: + pattern: .*gfc-logging.*\.jar +- customVariables: [] + description: | + Embedded library - Blitz4j + The application embeds a Blitz4j library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00200 + tag: + - Blitz4j + - Embedded library - Blitz4j + when: + builtin.file: + pattern: .*blitz4j.*\.jar +- customVariables: [] + description: | + Embedded library - Avalon Logkit + The application embeds an Avalon Logkit library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00210 + tag: + - Avalon Logkit + - Embedded library - Avalon Logkit + when: + builtin.file: + pattern: .*avalon-logkit.*\.jar +- customVariables: [] + description: | + Embedded library - KLogger + The application embeds a KLogger library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00220 + tag: + - KLogger + - Embedded library - KLogger + when: + builtin.file: + pattern: .*klogger.*\.jar +- customVariables: [] + description: | + Embedded library - Lumberjack + The application embeds a Lumberjack library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00230 + tag: + - Lumberjack + - Embedded library - Lumberjack + when: + builtin.file: + pattern: .*lumberjack.*\.jar +- customVariables: [] + description: | + Embedded library - Log.io + The application embeds a Log.io library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00240 + tag: + - Log.io + - Embedded library - Log.io + when: + builtin.file: + pattern: .*logio.*\.jar +- customVariables: [] + description: | + Embedded library - OPS4J Pax Logging Service + The application embeds an OPS4J Pax Logging Service library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00250 + tag: + - OPS4J Pax Logging Service + - Embedded library - OPS4J Pax Logging Service + when: + builtin.file: + pattern: .*pax-logging-service.*\.jar +- customVariables: [] + description: | + Embedded library - OW2 Log Util + The application embeds an OW2 Log Util library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00260 + tag: + - OW2 Log Util + - Embedded library - OW2 Log Util + when: + builtin.file: + pattern: util-log.*\.jar +- customVariables: [] + description: | + Embedded library - Twitter Util Logging + The application embeds a Twitter Util Logging library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00270 + tag: + - Twitter Util Logging + - Embedded library - Twitter Util Logging + when: + builtin.file: + pattern: util-logging.*\.jar +- customVariables: [] + description: | + Embedded library - Composite Logging JCL + The application embeds a Composite Logging JCL library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00280 + tag: + - Composite Logging JCL + - Embedded library - Composite Logging JCL + when: + builtin.file: + pattern: composite-logging-api.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Flume + The application embeds an Apache Flume library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: logging-usage-00290 + tag: + - Apache Flume + - Embedded library - Apache Flume + when: + builtin.file: + pattern: .*flume.*\.jar diff --git a/resources/rulesets/technology-usage/215-mvc.windup.yaml b/resources/rulesets/technology-usage/215-mvc.windup.yaml new file mode 100644 index 0000000..2db37db --- /dev/null +++ b/resources/rulesets/technology-usage/215-mvc.windup.yaml @@ -0,0 +1,810 @@ +- customVariables: [] + description: | + Embedded library - Apache Wicket + The application embeds an Apache Wicket library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01000 + tag: + - Apache Wicket + - Embedded library - Apache Wicket + when: + builtin.file: + pattern: .*wicket.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Struts + The application embeds an Apache Struts library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01100 + tag: + - Apache Struts + - Embedded library - Apache Struts + when: + builtin.file: + pattern: .*struts.*\.jar +- customVariables: [] + description: | + Embedded framework - Spring MVC + The application embeds a Spring MVC library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01200 + tag: + - Spring MVC + - Embedded framework - Spring MVC + when: + builtin.file: + pattern: .*spring-webmvc.*\.jar +- customVariables: [] + description: | + Embedded framework - Spring MVC + The application embeds a Spring MVC library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01210 + tag: + - Spring MVC + - Embedded framework - Spring MVC + when: + java.referenced: + location: ANNOTATION + pattern: org.springframework.web.servlet.mvc.Controller +- customVariables: [] + description: | + Embedded framework - Spring MVC + The application embeds a Spring MVC library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01220 + tag: + - Spring MVC + - Embedded framework - Spring MVC + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-webmvc + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-webflux + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-webflux + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.spring-webflux +- customVariables: [] + description: | + Embedded library - GWT + The application embeds a GWT library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01300 + tag: + - GWT + - Embedded library - GWT + when: + builtin.file: + pattern: .*gwt.*\.jar +- customVariables: [] + description: | + Embedded library - MyFaces + The application embeds a MyFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01400 + tag: + - MyFaces + - Embedded library - MyFaces + when: + builtin.file: + pattern: .*myfaces.*\.jar +- customVariables: [] + description: | + Embedded library - RichFaces + The application embeds a RichFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01500 + tag: + - RichFaces + - Embedded library - RichFaces + when: + builtin.file: + pattern: .*richfaces.*\.jar +- customVariables: [] + description: | + Embedded library - JSF + The application embeds a JSF library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01600 + tag: + - JSF + - Embedded library - JSF + when: + builtin.file: + pattern: .*jsf.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Tapestry + The application embeds an Apache Tapestry library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01700 + tag: + - Apache Tapestry + - Embedded library - Apache Tapestry + when: + builtin.file: + pattern: .*tapestry.*\.jar +- customVariables: [] + description: | + Embedded library - Stripes + The application embeds a Stripes library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01800 + tag: + - Stripes + - Embedded library - Stripes + when: + builtin.file: + pattern: .*stripes.*\.jar +- customVariables: [] + description: | + Embedded library - Spark + The application embeds a Spark library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-01900 + tag: + - Spark + - Embedded library - Spark + when: + builtin.file: + pattern: .*spark.*\.jar +- customVariables: [] + description: | + Embedded library - Vaadin + The application embeds a Vaadin library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02000 + tag: + - Vaadin + - Embedded library - Vaadin + when: + builtin.file: + pattern: .*vaadin.*\.jar +- customVariables: [] + description: | + Embedded library - Grails + The application embeds a Grails library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02100 + tag: + - Grails + - Embedded library - Grails + when: + builtin.file: + pattern: .*grails.*\.jar +- customVariables: [] + description: | + Embedded library - Play + The application embeds a Play library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02200 + tag: + - Play + - Embedded library - Play + when: + builtin.file: + pattern: .*play.*\.jar +- customVariables: [] + description: | + Embedded library - Oracle ADF + The application embeds an Oracle ADF library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02300 + tag: + - Oracle ADF + - Embedded library - Oracle ADF + when: + or: + - builtin.file: + pattern: adf-settings\.xml + - builtin.file: + pattern: adfc-config\.xml +- customVariables: [] + description: | + Embedded library - PrimeFaces + The application embeds a PrimeFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02400 + tag: + - PrimeFaces + - Embedded library - PrimeFaces + when: + builtin.file: + pattern: .*primefaces.*\.jar +- customVariables: [] + description: | + Embedded library - JSTL + The application embeds a JSTL library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02500 + tag: + - JSTL + - Embedded library - JSTL + when: + builtin.file: + pattern: .*jslt.*\.jar +- customVariables: [] + description: | + Embedded library - OpenFaces + The application embeds an OpenFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02600 + tag: + - OpenFaces + - Embedded library - OpenFaces + when: + builtin.file: + pattern: .*openfaces.*\.jar +- customVariables: [] + description: | + Embedded library - JFreeChart + The application embeds a JFreeChart library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02700 + tag: + - JFreeChart + - Embedded library - JFreeChart + when: + builtin.file: + pattern: .*jfreechart.*\.jar +- customVariables: [] + description: | + Embedded library - BootsFaces + The application embeds a BootsFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02800 + tag: + - BootsFaces + - Embedded library - BootsFaces + when: + builtin.file: + pattern: .*bootsfaces.*\.jar +- customVariables: [] + description: | + Embedded library - ICEfaces + The application embeds an ICEfaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-02900 + tag: + - ICEfaces + - Embedded library - ICEfaces + when: + builtin.file: + pattern: .*icefaces.*\.jar +- customVariables: [] + description: | + Embedded library - BabbageFaces + The application embeds a BabbageFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03000 + tag: + - BabbageFaces + - Embedded library - BabbageFaces + when: + builtin.file: + pattern: .*babbageFaces.*\.jar +- customVariables: [] + description: | + Embedded library - Portlet + The application embeds a Portlet library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03100 + tag: + - Portlet + - Embedded library - Portlet + when: + builtin.file: + pattern: .*portlet.*\.jar +- customVariables: [] + description: | + Embedded library - AngularFaces + The application embeds an AngularFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03200 + tag: + - AngularFaces + - Embedded library - AngularFaces + when: + builtin.file: + pattern: .*angularFaces.*\.jar +- customVariables: [] + description: | + Embedded library - LiferayFaces + The application embeds a LiferayFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03300 + tag: + - LiferayFaces + - Embedded library - LiferayFaces + when: + builtin.file: + pattern: .*liferay-faces.*\.jar +- customVariables: [] + description: | + Embedded library - Liferay + The application embeds a Liferay library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03400 + tag: + - Liferay + - Embedded library - Liferay + when: + builtin.file: + pattern: .*liferay.*\.jar +- customVariables: [] + description: | + Embedded library - ButterFaces + The application embeds a Larmic ButterFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03500 + tag: + - ButterFaces + - Embedded library - ButterFaces + when: + builtin.file: + pattern: .*butterfaces.*\.jar +- customVariables: [] + description: | + Embedded library - HighFaces + The application embeds a HighFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03600 + tag: + - HighFaces + - Embedded library - HighFaces + when: + builtin.file: + pattern: .*highfaces.*\.jar +- customVariables: [] + description: | + Embedded library - TieFaces + The application embeds a TieFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03700 + tag: + - TieFaces + - Embedded library - TieFaces + when: + builtin.file: + pattern: .*tiefaces.*\.jar +- customVariables: [] + description: | + Embedded library - OmniFaces + The application embeds an OmniFaces library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03800 + tag: + - OmniFaces + - Embedded library - OmniFaces + when: + builtin.file: + pattern: .*omnifaces.*\.jar +- customVariables: [] + description: | + Embedded library - UberFire + The application embeds an UberFire library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-03900 + tag: + - UberFire + - Embedded library - UberFire + when: + builtin.file: + pattern: .*uberfire.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Velocity + The application embeds an Apache Velocity library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04000 + tag: + - Velocity + - Embedded library - Apache Velocity + when: + builtin.file: + pattern: .*velocity.*\.jar +- customVariables: [] + description: | + Embedded library - Thymeleaf + The application embeds a Thymeleaf library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04100 + tag: + - Thymeleaf + - Embedded library - Thymeleaf + when: + builtin.file: + pattern: .*thymeleaf.*\.jar +- customVariables: [] + description: | + Embedded library - Apache FreeMarker + The application embeds an Apache FreeMarker library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04200 + tag: + - FreeMarker + - Embedded library - Apache FreeMarker + when: + builtin.file: + pattern: .*freemarker.*\.jar +- customVariables: [] + description: | + Embedded library - ANTLR StringTemplate + The application embeds an ANTLR StringTemplate library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04300 + tag: + - ANTLR StringTemplate + - Embedded library - ANTLR StringTemplate + when: + builtin.file: + pattern: .*stringtemplate.*\.jar +- customVariables: [] + description: | + Embedded library - Handlebars + The application embeds a Handlebars library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04400 + tag: + - Handlebars + - Embedded library - Handlebars + when: + builtin.file: + pattern: .*handlebars.*\.jar +- customVariables: [] + description: | + Embedded library - JMustache + The application embeds a JMustache library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04500 + tag: + - JMustache + - Embedded library - JMustache + when: + builtin.file: + pattern: .*jmustache.*\.jar +- customVariables: [] + description: | + Embedded library - Jamon + The application embeds a Jamon library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04600 + tag: + - Jamon + - Embedded library - Jamon + when: + builtin.file: + pattern: jamon-.*\.jar +- customVariables: [] + description: | + Embedded library - Twirl + The application embeds a Twirl library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04700 + tag: + - Twirl + - Embedded library - Twirl + when: + builtin.file: + pattern: .*twirl.*\.jar +- customVariables: [] + description: | + Embedded library - Scalate + The application embeds a Scalate library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04800 + tag: + - Scalate + - Embedded library - Scalate + when: + builtin.file: + pattern: .*scalate.*\.jar +- customVariables: [] + description: | + Embedded library - Rythm Template Engine + The application embeds a Rythm Template Engine library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-04900 + tag: + - Rythm Template Engine + - Embedded library - Rythm Template Engine + when: + builtin.file: + pattern: .*rythm-engine.*\.jar +- customVariables: [] + description: | + Embedded library - Trimou + The application embeds a Trimou library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05000 + tag: + - Trimou + - Embedded library - Trimou + when: + builtin.file: + pattern: .*trimou-core.*\.jar +- customVariables: [] + description: | + Embedded library - Jetbrick Template + The application embeds a Jetbrick Template library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05100 + tag: + - Jetbrick Template + - Embedded library - Jetbrick Template + when: + builtin.file: + pattern: .*velocity.*\.jar +- customVariables: [] + description: | + Embedded library - Chunk Templates + The application embeds a Chunk Templates library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05200 + tag: + - Chunk Templates + - Embedded library - Chunk Templates + when: + builtin.file: + pattern: .*chunk-templates.*\.jar +- customVariables: [] + description: | + Embedded library - JSilver + The application embeds a JSilver library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05300 + tag: + - JSilver + - Embedded library - JSilver + when: + builtin.file: + pattern: .*jsilver.*\.jar +- customVariables: [] + description: | + Embedded library - Water Template Engine + The application embeds a Water Template Engine library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05400 + tag: + - Water Template Engine + - Embedded library - Water Template Engine + when: + builtin.file: + pattern: .*watertemplate-engine.*\.jar +- customVariables: [] + description: | + Embedded library - Ickenham + The application embeds an Ickenham library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05500 + tag: + - Ickenham + - Embedded library - Ickenham + when: + builtin.file: + pattern: .*ickenham.*\.jar +- customVariables: [] + description: | + Embedded library - Mixer + The application embeds a Mixer library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05600 + tag: + - Mixer + - Embedded library - Mixer + when: + builtin.file: + pattern: .*mixer.*\.jar +- customVariables: [] + description: | + Embedded library - Webmacro + The application embeds a Webmacro library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05700 + tag: + - Webmacro + - Embedded library - Webmacro + when: + builtin.file: + pattern: .*webmacro.*\.jar +- customVariables: [] + description: | + Embedded library - DVSL + The application embeds a DVSL library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05800 + tag: + - DVSL + - Embedded library - DVSL + when: + builtin.file: + pattern: .*dvsl.*\.jar +- customVariables: [] + description: | + Embedded library - Snippetory Template Engine + The application embeds a Snippetory Template Engine library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-05900 + tag: + - Snippetory Template Engine + - Embedded library - Snippetory Template Engine + when: + builtin.file: + pattern: .*snippetory.*\.jar +- customVariables: [] + description: | + Embedded library - Anakia + The application embeds an Anakia library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: mvc-06000 + tag: + - Anakia + - Embedded library - Anakia + when: + builtin.file: + pattern: .*anakia.*\.jar diff --git a/resources/rulesets/technology-usage/218-observability.windup.yaml b/resources/rulesets/technology-usage/218-observability.windup.yaml new file mode 100644 index 0000000..23c1517 --- /dev/null +++ b/resources/rulesets/technology-usage/218-observability.windup.yaml @@ -0,0 +1,47 @@ +- customVariables: [] + description: | + Embedded library - Spring Boot Actuator + The application embeds Spring Boot Actuator. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: observability-0100 + tag: + - Spring Boot Actuator + - Embedded library - Spring Boot Actuator + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-actuator + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-actuator + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-actuator-autoconfigure + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-actuator +- customVariables: [] + description: | + Spring JMX configuration detected + The application uses Spring JMX. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: observability-0200 + tag: + - Spring JMX + - Spring JMX configuration detected + when: + or: + - java.referenced: + location: ANNOTATION + pattern: org.springframework.jmx* + - builtin.xml: + namespaces: + c: http://www.springframework.org/schema/beans + xpath: //*/c:bean/@class[matches(self::node(), 'org.springframework.jmx.export.MBeanExporter')] diff --git a/resources/rulesets/technology-usage/22-javaee-technology-usage.windup.yaml b/resources/rulesets/technology-usage/22-javaee-technology-usage.windup.yaml new file mode 100644 index 0000000..a97b33e --- /dev/null +++ b/resources/rulesets/technology-usage/22-javaee-technology-usage.windup.yaml @@ -0,0 +1,861 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00010 + tag: + - Java EE Batch API + when: + builtin.xml: + filepaths: + - batch.xml + namespaces: + "": http://xmlns.jcp.org/xml/ns/javaee + xpath: //*[local-name() = 'batch-artifacts'] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00011 + tag: + - Java EE Batch + when: + or: + - as: xmlfiles + builtin.file: + pattern: .*\.xml + ignore: true + - builtin.xml: + filepaths: '{{xmlfiles.filepaths}}' + from: xmlfiles + namespaces: + "": http://xmlns.jcp.org/xml/ns/javaee + xpath: //*[local-name() = 'job'] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00012 + tag: + - Execute=Java EE Batch API + - Processing=Java EE Batch API + - Java EE=Java EE Batch API + when: + builtin.hasTags: + - Java EE Batch API +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00013 + tag: + - Execute=Java EE Batch + - Processing=Java EE Batch + - Java EE=Java EE Batch + when: + builtin.hasTags: + - Java EE Batch +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00020-javax + tag: + - CDI + when: + or: + - java.referenced: + pattern: javax.enterprise.inject* + - java.referenced: + pattern: javax.inject* +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00020-jakarta + tag: + - CDI + when: + or: + - java.referenced: + pattern: jakarta.enterprise.inject* + - java.referenced: + pattern: jakarta.inject* +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00021 + tag: + - Execute=CDI + - Inversion of Control=CDI + - Java EE=CDI + when: + builtin.hasTags: + - CDI +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00030 + tag: + - Java EE JSON-P + when: + java.referenced: + pattern: javax.json* +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00031 + tag: + - Execute=Java EE JSON-P + - Processing=Java EE JSON-P + - Java EE=Java EE JSON-P + when: + builtin.hasTags: + - Java EE JSON-P +- customVariables: [] + description: | + Java Authorization Contract for Containers + The application uses JACC. + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00040 + tag: + - JACC + - Java Authorization Contract for Containers + when: + java.referenced: + location: IMPORT + pattern: javax.security.jacc* +- customVariables: [] + description: | + Java EE Management + The application uses Java EE Management. + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00050 + tag: + - MEJB + - Java EE Management + when: + java.referenced: + location: IMPORT + pattern: javax.management.j2ee* +- customVariables: [] + description: | + Java EE Application Deployment + The application uses Java EE Application Deployment. + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00060 + tag: + - EAR + - Java EE Application Deployment + when: + builtin.file: + pattern: .*\.ear +- customVariables: [] + description: | + Web Services Metadata + The application uses Web Services Metadata + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00070 + tag: + - WS Metadata + - Web Services Metadata + when: + java.referenced: + location: IMPORT + pattern: javax.jws* +- customVariables: + - name: annotation + nameOfCaptureGroup: annotation + pattern: javax.annotation.(?PPreDestroy|PostConstruct|Resource|Resources)? + description: | + Common Annotations + The application uses Common Annotations + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00080 + tag: + - Common Annotations + - Common Annotations + when: + java.referenced: + location: IMPORT + pattern: javax.annotation.PreDestroy|PostConstruct|Resource|Resources +- customVariables: + - name: package + nameOfCaptureGroup: package + pattern: (?Pjava|javax.)?xml.bind.{*} + description: | + JAXB + The application uses JAXB + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00090 + tag: + - JAXB + - JAXB + when: + java.referenced: + location: IMPORT + pattern: java|javax.xml.bind* +- customVariables: [] + description: | + JAXR + The application uses JAXR + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00100 + tag: + - JAXR + - JAXR + when: + java.referenced: + location: IMPORT + pattern: javax.xml.registry* +- customVariables: [] + description: | + Bean Validation + The application uses Bean Validation + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00110 + tag: + - Bean Validation + - Bean Validation + when: + java.referenced: + location: IMPORT + pattern: javax.validation.constraints* +- customVariables: [] + description: | + Java Servlet + The application uses Java Servlets + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00120 + tag: + - Servlet + - Java Servlet + when: + java.referenced: + location: IMPORT + pattern: javax.servlet* +- customVariables: [] + description: | + JSON Binding + The application uses JSON binding + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00130 + tag: + - JSON-B + - JSON Binding + when: + java.referenced: + location: IMPORT + pattern: javax.json.bind* +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00140 + tag: + - Security=Java EE JACC + - Sustain=Java EE JACC + - Java EE=Java EE JACC + when: + builtin.hasTags: + - JACC +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00150 + tag: + - Connect=Management EJB + - Bean=Management EJB + - Java EE=Management EJB + when: + builtin.hasTags: + - MEJB +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00160 + tag: + - Other=EAR Deployment + - Connect=EAR Deployment + - Java EE=EAR Deployment + when: + builtin.hasTags: + - EAR +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00170 + tag: + - Connect=Web Services Metadata + - Http=Web Services Metadata + - Java EE=Web Services Metadata + when: + builtin.hasTags: + - WS Metadata +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00180 + tag: + - Connect=Common Annotations + - Other=Common Annotations + - Java EE=Common Annotations + when: + builtin.hasTags: + - Common Annotations +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00190 + tag: + - Connect=Java EE JAXB + - Binding=Java EE JAXB + - Java EE=Java EE JAXB + when: + builtin.hasTags: + - JAXB +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00200 + tag: + - Connect=Java EE JAXR + - Other=Java EE JAXR + - Java EE=Java EE JAXR + when: + builtin.hasTags: + - JAXR +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00210 + tag: + - Validation=Bean Validation + - Store=Bean Validation + - Java EE=Bean Validation + when: + builtin.hasTags: + - Bean Validation +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00220 + tag: + - Binding=JSON-B + - Connect=JSON-B + - Java EE=JSON-B + when: + builtin.hasTags: + - JSON-B +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00230 + tag: + - HTTP=Servlet + - Connect=Servlet + - Java EE=Servlet + when: + builtin.hasTags: + - Servlet +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00902 + tag: + - JPA Mapping XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/persistence/orm + xpath: //p:entity-mappings/@version[matches(self::node(), '(1.0|2.0|2.1|2.2)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00903 + tag: + - JPA Mapping XML + when: + as: xml-file + builtin.xml: + namespaces: + p: https://jakarta.ee/xml/ns/persistence/orm + xpath: //p:entity-mappings/@version[matches(self::node(), '(3.0|3.1)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00905 + tag: + - CDI XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: //p:beans/@version[matches(self::node(), '(1.0|1.1|2.0)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00906 + tag: + - CDI XML + when: + as: xml-file + builtin.xml: + namespaces: + p: https://jakarta.ee/xml/ns/jakartaee + xpath: //p:beans/@version[matches(self::node(), '(3.0|4.0)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00910 + tag: + - Java EE XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://java.sun.com/xml/ns/javaee + xpath: //p:application/@version[matches(self::node(), '(5|6)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00911 + tag: + - Java EE XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: //p:application/@version[matches(self::node(), '(7|8)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00912 + tag: + - Jakarta EE XML + when: + as: xml-file + builtin.xml: + namespaces: + p: https://jakarta.ee/xml/ns/jakartaee + xpath: //p:application/@version[matches(self::node(), '(9|10)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00913 + tag: + - Java EE Client XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://java.sun.com/xml/ns/javaee + xpath: //p:application-client/@version[matches(self::node(), '(5|6)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00914 + tag: + - Java EE Client XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: //p:application-client/@version[matches(self::node(), '(7|8)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00915 + tag: + - Jakarta EE Client XML + when: + as: xml-file + builtin.xml: + namespaces: + p: https://jakarta.ee/xml/ns/jakartaee + xpath: //p:application-client/@version[matches(self::node(), '(9|10)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00916 + tag: + - Connector XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://java.sun.com/xml/ns/javaee + xpath: //p:connector/@version[matches(self::node(), '(1.6)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00917 + tag: + - Connector XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: //p:connector/@version[matches(self::node(), '(1.7)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00918 + tag: + - Connector XML + when: + as: xml-file + builtin.xml: + namespaces: + p: https://jakarta.ee/xml/ns/jakartaee + xpath: //p:connector/@version[matches(self::node(), '(2.0|2.1)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00926 + tag: + - JSF XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://java.sun.com/xml/ns/javaee + xpath: //p:faces-config/@version[matches(self::node(), '(1.2|2.0)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00927 + tag: + - JSF XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: //p:faces-config/@version[matches(self::node(), '(2.2|2.3)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00928 + tag: + - JSF XML + when: + as: xml-file + builtin.xml: + namespaces: + p: https://jakarta.ee/xml/ns/jakartaee + xpath: //p:faces-config/@version[matches(self::node(), '(3.0|4.0)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00930 + tag: + - WebServices XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://java.sun.com/xml/ns/javaee + xpath: //p:webservices/@version[matches(self::node(), '(1.2|1.3)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00931 + tag: + - WebServices XML + when: + as: xml-file + builtin.xml: + namespaces: + p: http://xmlns.jcp.org/xml/ns/javaee + xpath: //p:webservices/@version[matches(self::node(), '(1.4)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00932 + tag: + - WebServices XML + when: + as: xml-file + builtin.xml: + namespaces: + p: https://jakarta.ee/xml/ns/jakartaee + xpath: //p:webservices/@version[matches(self::node(), '(2.0)')] +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00950 + tag: + - Store=JPA Mapping XML + - Persistence=JPA Mapping XML + - Java EE=JPA Mapping XML + when: + builtin.hasTags: + - JPA Mapping XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00951 + tag: + - Execute=CDI XML + - Inversion of Control=CDI XML + - Java EE=CDI XML + when: + builtin.hasTags: + - CDI XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00952 + tag: + - Execute=Java EE XML + - Processing=Java EE XML + - Java EE=Java EE XML + when: + builtin.hasTags: + - Java EE XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00953 + tag: + - Execute=Jakarta EE XML + - Processing=Jakarta EE XML + - Java EE=Jakarta EE XML + when: + builtin.hasTags: + - Jakarta EE XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00954 + tag: + - Connect=Java EE Client XML + - Other=Java EE Client XML + - Java EE=Java EE Client XML + when: + builtin.hasTags: + - Java EE Client XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00955 + tag: + - Connect=Jakarta EE Client XML + - Other=Jakarta EE Client XML + - Java EE=Jakarta EE Client XML + when: + builtin.hasTags: + - Jakarta EE Client XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00956 + tag: + - Connect=Connector XML + - Other=Connector XML + - Java EE=Connector XML + when: + builtin.hasTags: + - Connector XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00957 + tag: + - View=JSF XML + - Web=JSF XML + - Java EE=JSF XML + when: + builtin.hasTags: + - JSF XML +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: javaee-technology-usage-00958 + tag: + - View=WebServices XML + - Web=WebServices XML + - Java EE=WebServices XML + when: + builtin.hasTags: + - WebServices XML diff --git a/resources/rulesets/technology-usage/220-security.windup.yaml b/resources/rulesets/technology-usage/220-security.windup.yaml new file mode 100644 index 0000000..e42867c --- /dev/null +++ b/resources/rulesets/technology-usage/220-security.windup.yaml @@ -0,0 +1,409 @@ +- customVariables: [] + description: | + Embedded framework - Spring Security + The application embeds a Spring Security library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01100 + tag: + - Spring Security + - Embedded framework - Spring Security + when: + builtin.file: + pattern: .*spring-security.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Shiro + The application embeds an Apache Shiro library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01200 + tag: + - Apache Shiro + - Embedded library - Apache Shiro + when: + builtin.file: + pattern: .*shiro.*\.jar +- customVariables: [] + description: | + Embedded library - Hdiv + The application embeds an Hdiv library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01300 + tag: + - Hdiv + - Embedded library - Hdiv + when: + builtin.file: + pattern: .*hdiv.*\.jar +- customVariables: [] + description: | + Embedded library - OACC + The application embeds an OACC library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01400 + tag: + - OACC + - Embedded library - OACC + when: + builtin.file: + pattern: .*acciente-oacc.*\.jar +- customVariables: [] + description: | + Embedded library - PicketLink + The application embeds a PicketLink library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01500 + tag: + - PicketLink + - Embedded library - PicketLink + when: + builtin.file: + pattern: .*picketlink.*\.jar +- customVariables: [] + description: | + Embedded library - PicketBox + The application embeds a PicketBox library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01600 + tag: + - PicketBox + - Embedded library - PicketBox + when: + builtin.file: + pattern: .*picketbox.*\.jar +- customVariables: [] + description: | + Embedded library - Keyczar + The application embeds a Keyczar library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01700 + tag: + - Keyczar + - Embedded library - Keyczar + when: + builtin.file: + pattern: .*keyczar.*\.jar +- customVariables: [] + description: | + Embedded library - XACML + The application embeds an XACML library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01800 + tag: + - XACML + - Embedded library - XACML + when: + builtin.file: + pattern: .*xacml.*\.jar +- customVariables: [] + description: | + Embedded library - SAML + The application embeds a SAML library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-01900 + tag: + - SAML + - Embedded library - SAML + when: + builtin.file: + pattern: .*saml.*\.jar +- customVariables: [] + description: | + Embedded library - Bouncy Castle + The application embeds a Bouncy Castle library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02000 + tag: + - Bouncy Castle + - Embedded library - Bouncy Castle + when: + or: + - builtin.file: + pattern: .*lcrypto.*\.jar + - builtin.file: + pattern: .*bcprov.*\.jar + - builtin.file: + pattern: .*bcpg.*\.jar + - builtin.file: + pattern: .*bcmail.*\.jar + - builtin.file: + pattern: .*bcpkix.*\.jar + - builtin.file: + pattern: .*bctls.*\.jar +- customVariables: [] + description: | + Embedded library - Jasypt + The application embeds a Jasypt library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02100 + tag: + - Jasypt + - Embedded library - Jasypt + when: + builtin.file: + pattern: .*jasypt.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Santuario + The application embeds a Apache Santuario library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02200 + tag: + - Apache Santuario + - Embedded library - Apache Santuario + when: + builtin.file: + pattern: .*xmlsec.*\.jar +- customVariables: [] + description: | + Embedded library - SSL + The application embeds an SSL library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02300 + tag: + - SSL + - Embedded library - SSL + when: + builtin.file: + pattern: .*ssl.*\.jar +- customVariables: [] + description: | + Embedded library - Vlad + The application embeds a Vlad library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02400 + tag: + - Vlad + - Embedded library - Vlad + when: + builtin.file: + pattern: vlad.*\.jar +- customVariables: [] + description: | + Embedded library - Apache Commons Validator + The application embeds an Apache Commons Validator library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02500 + tag: + - Apache Commons Validator + - Embedded library - Apache Commons Validator + when: + builtin.file: + pattern: commons-validator.*\.jar +- customVariables: [] + description: | + Embedded library - OWASP ESAPI + The application embeds an OWASP ESAPI library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02600 + tag: + - OWASP ESAPI + - Embedded library - OWASP ESAPI + when: + builtin.file: + pattern: .*esapi.*\.jar +- customVariables: [] + description: | + Embedded library - WSS4J + The application embeds a WSS4J library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02700 + tag: + - WSS4J + - Embedded library - WSS4J + when: + builtin.file: + pattern: .*wss4j.*\.jar +- customVariables: [] + description: | + Embedded library - OpenSAML + The application embeds an OpenSAML library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02800 + tag: + - OpenSAML + - Embedded library - OpenSAML + when: + builtin.file: + pattern: .*opensaml.*\.jar +- customVariables: [] + description: | + Embedded library - OTR4J + The application embeds an OTR4J library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-02900 + tag: + - OTR4J + - Embedded library - OTR4J + when: + builtin.file: + pattern: .*otr4j.*\.jar +- customVariables: [] + description: | + Embedded library - OWASP CSRF Guard + The application embeds an OWASP CSRF Guard library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-03000 + tag: + - OWASP CSRF Guard + - Embedded library - OWASP CSRF Guard + when: + builtin.file: + pattern: .*csrfguard.*\.jar +- customVariables: [] + description: | + Embedded library - OAUTH + The application embeds an OAUTH library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-03100 + tag: + - OAUTH + - Embedded library - OAUTH + when: + builtin.file: + pattern: .*oauth.*\.jar +- customVariables: [] + description: | + Embedded library - Acegi Security + The application embeds an Acegi Security library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-03200 + tag: + - Acegi Security + - Embedded library - Acegi Security + when: + builtin.file: + pattern: .*acegi-security.*\.jar +- customVariables: [] + description: | + Embedded library - JSecurity + The application embeds a JSecurity library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-03300 + tag: + - JSecurity + - Embedded library - JSecurity + when: + builtin.file: + pattern: .*jsecurity.*\.jar +- customVariables: [] + description: | + Embedded library - AcrIS Security + The application embeds an AcrIS Security library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-03400 + tag: + - AcrIS Security + - Embedded library - AcrIS Security + when: + builtin.file: + pattern: .*acris-security.*\.jar +- customVariables: [] + description: | + Embedded library - Trunk JGuard + The application embeds a Trunk JGuard library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-03500 + tag: + - Trunk JGuard + - Embedded library - Trunk JGuard + when: + builtin.file: + pattern: .*jguard.*\.jar +- customVariables: [] + description: | + Embedded framework - Spring Security + The application embeds a Spring Security library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: security-03600 + tag: + - Spring Security + - Embedded framework - Spring Security + when: + or: + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.security.spring-security-core + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.boot.spring-boot-starter-security + - java.dependency: + lowerbound: 0.0.0 + name: org.springframework.security.spring-security-core diff --git a/resources/rulesets/technology-usage/221-spring-catchall.windup.yaml b/resources/rulesets/technology-usage/221-spring-catchall.windup.yaml new file mode 100644 index 0000000..234c406 --- /dev/null +++ b/resources/rulesets/technology-usage/221-spring-catchall.windup.yaml @@ -0,0 +1,15 @@ +- customVariables: [] + description: | + Embedded framework - Spring + The application embeds the Spring framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: spring-catchall-00001 + tag: + - Spring + - Embedded framework - Spring + when: + builtin.file: + pattern: spring.*\.jar diff --git a/resources/rulesets/technology-usage/223-test-frameworks-usage.windup.yaml b/resources/rulesets/technology-usage/223-test-frameworks-usage.windup.yaml new file mode 100644 index 0000000..fd0c25c --- /dev/null +++ b/resources/rulesets/technology-usage/223-test-frameworks-usage.windup.yaml @@ -0,0 +1,555 @@ +- customVariables: [] + description: | + Embedded framework - EasyMock + The application embeds the EasyMock library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00010 + tag: + - EasyMock + - Embedded framework - EasyMock + when: + builtin.file: + pattern: .*easymock.*\.jar +- customVariables: [] + description: | + Embedded framework - PowerMock + The application embeds the PowerMock library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00020 + tag: + - PowerMock + - Embedded framework - PowerMock + when: + builtin.file: + pattern: .*powermock.*\.jar +- customVariables: [] + description: | + Embedded framework - Mockito + The application embeds the Mockito library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00030 + tag: + - Mockito + - Embedded framework - Mockito + when: + builtin.file: + pattern: .*mockito.*\.jar +- customVariables: [] + description: | + Embedded framework - TestNG + The application embeds the TestNG library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00040 + tag: + - TestNG + - Embedded framework - TestNG + when: + builtin.file: + pattern: .*testng.*\.jar +- customVariables: [] + description: | + Embedded framework - Hamcrest + The application embeds the Hamcrest library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00050 + tag: + - Hamcrest + - Embedded framework - Hamcrest + when: + builtin.file: + pattern: .*hamcrest.*\.jar +- customVariables: [] + description: | + Embedded framework - Spring Test + The application embeds a Spring Test framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00060 + tag: + - Spring Test + - Embedded framework - Spring Test + when: + builtin.file: + pattern: spring.*test.*\.jar +- customVariables: [] + description: | + Embedded framework - Spock + The application embeds the Spock framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00070 + tag: + - Spock + - Embedded framework - Spock + when: + builtin.file: + pattern: spock.*\.jar +- customVariables: [] + description: | + Embedded framework - XMLUnit + The application embeds the XMLUnit framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00080 + tag: + - XMLUnit + - Embedded framework - XMLUnit + when: + builtin.file: + pattern: xmlunit.*\.jar +- customVariables: [] + description: | + Embedded framework - Akka Testkit + The application embeds the Akka Testkit library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00090 + tag: + - Akka Testkit + - Embedded framework - Akka Testkit + when: + builtin.file: + pattern: akka-testkit.*\.jar +- customVariables: [] + description: | + Embedded framework - REST Assured + The application embeds the REST Assured library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00100 + tag: + - REST Assured + - Embedded framework - REST Assured + when: + builtin.file: + pattern: rest-assured.*\.jar +- customVariables: [] + description: | + Embedded library - DbUnit + The application embeds the DbUnit library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00110 + tag: + - DbUnit + - Embedded library - DbUnit + when: + builtin.file: + pattern: dbunit.*\.jar +- customVariables: [] + description: | + Embedded framework - Mule Functional Test Framework (TCK) + The application embeds the Mule Functional Test Framework (TCK). + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00120 + tag: + - Mule Functional Test Framework + - Embedded framework - Mule Functional Test Framework (TCK) + when: + builtin.file: + pattern: mule-test.*\.jar +- customVariables: [] + description: | + Embedded framework - Guava Testing Library + The application embeds the Guava Testing Library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00130 + tag: + - Guava Testing + - Embedded framework - Guava Testing Library + when: + builtin.file: + pattern: guava-testlib.*\.jar +- customVariables: [] + description: | + Embedded framework - RandomizedTesting Randomized Runner + The application embeds the RandomizedTesting Randomized Runner library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00140 + tag: + - RandomizedTesting Runner + - Embedded framework - RandomizedTesting Randomized Runner + when: + builtin.file: + pattern: randomizedtesting-runner.*\.jar +- customVariables: [] + description: | + Embedded framework - HttpUnit + The application embeds the HttpUnit library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00150 + tag: + - HttpUnit + - Embedded framework - HttpUnit + when: + builtin.file: + pattern: httpunit.*\.jar +- customVariables: [] + description: | + Embedded framework - JCUnit + The application embeds the JCunit library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00160 + tag: + - JCunit + - Embedded framework - JCUnit + when: + builtin.file: + pattern: jcunit.*\.jar +- customVariables: [] + description: | + Embedded framework - JPA Matchers + The application embeds the JPA Matchers library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00170 + tag: + - JPA Matchers + - Embedded framework - JPA Matchers + when: + builtin.file: + pattern: jpa-matchers.*\.jar +- customVariables: [] + description: | + Embedded framework - MultithreadedTC + The application embeds the MultithreadedTC library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00180 + tag: + - MultithreadedTC + - Embedded framework - MultithreadedTC + when: + builtin.file: + pattern: multithreadedtc.*\.jar +- customVariables: [] + description: | + Embedded framework - Specsy + The application embeds the Specsy framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00190 + tag: + - Specsy + - Embedded framework - Specsy + when: + builtin.file: + pattern: specsy.*\.jar +- customVariables: [] + description: | + Embedded framework - JFunk + The application embeds the JFunk framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00200 + tag: + - JFunk + - Embedded framework - JFunk + when: + builtin.file: + pattern: jfunk.*\.jar +- customVariables: [] + description: | + Embedded framework - Restito + The application embeds the Restito framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00210 + tag: + - Restito + - Embedded framework - Restito + when: + builtin.file: + pattern: restito.*\.jar +- customVariables: [] + description: | + Embedded framework - Test Interface + The application embeds the Test Interface library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00220 + tag: + - Test Interface + - Embedded framework - Test Interface + when: + builtin.file: + pattern: test-interface.*\.jar +- customVariables: [] + description: | + Embedded framework - Play Test + The application embeds the Play Test framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00230 + tag: + - Play Test + - Embedded framework - Play Test + when: + builtin.file: + pattern: play-test.*\.jar +- customVariables: [] + description: | + Embedded framework - Arquillian + The application embeds the Arquillian framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00240 + tag: + - Arquillian + - Embedded framework - Arquillian + when: + builtin.file: + pattern: .*arquillian.*\.jar +- customVariables: [] + description: | + Embedded framework - Cactus + The application embeds the Cactus framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00560 + tag: + - Cactus + - Embedded framework - Cactus + when: + builtin.file: + pattern: .*cactus.*\.jar +- customVariables: [] + description: | + Embedded framework - Concordion + The application embeds the Concordion framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00260 + tag: + - Concordion + - Embedded framework - Concordion + when: + builtin.file: + pattern: .*concordion.*\.jar +- customVariables: [] + description: | + Embedded framework - Cucumber + The application embeds the Cucumber framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00270 + tag: + - Cucumber + - Embedded framework - Cucumber + when: + builtin.file: + pattern: .*cucumber.*\.jar +- customVariables: [] + description: | + Embedded framework - EtlUnit + The application embeds the EtlUnit framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00280 + tag: + - EtlUnit + - Embedded framework - EtlUnit + when: + builtin.file: + pattern: .*etlunit.*\.jar +- customVariables: [] + description: | + Embedded framework - HavaRunner + The application embeds the HavaRunner framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00290 + tag: + - HavaRunner + - Embedded framework - HavaRunner + when: + builtin.file: + pattern: .*havarunner.*\.jar +- customVariables: [] + description: | + Embedded framework - JBehave + The application embeds the JBehave framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00300 + tag: + - JBehave + - Embedded framework - JBehave + when: + builtin.file: + pattern: .*jbehave.*\.jar +- customVariables: [] + description: | + Embedded framework - JMock + The application embeds the JMock framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00310 + tag: + - JMock + - Embedded framework - JMock + when: + builtin.file: + pattern: .*jmock-.*\.jar +- customVariables: [] + description: | + Embedded framework - JMockit + The application embeds the JMockit framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00320 + tag: + - JMockit + - Embedded framework - JMockit + when: + builtin.file: + pattern: .*jmockit.*\.jar +- customVariables: [] + description: | + Embedded framework - Jukito + The application embeds the Jukito framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00330 + tag: + - Jukito + - Embedded framework - Jukito + when: + builtin.file: + pattern: .*jukito.*\.jar +- customVariables: [] + description: | + Embedded framework - Needle + The application embeds the Needle framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00340 + tag: + - Needle + - Embedded framework - Needle + when: + builtin.file: + pattern: .*needle.*\.jar +- customVariables: [] + description: | + Embedded framework - OpenPojo + The application embeds the OpenPojo framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00350 + tag: + - OpenPojo + - Embedded framework - OpenPojo + when: + builtin.file: + pattern: .*openpojo.*\.jar +- customVariables: [] + description: | + Embedded framework - Unitils + The application embeds the Unitils library. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00360 + tag: + - Unitils + - Embedded framework - Unitils + when: + builtin.file: + pattern: .*unitils.*\.jar +- customVariables: [] + description: | + Embedded framework - JUnit + The application embeds the JUnit framework. + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: test-frameworks-sauge-00370 + tag: + - JUnit + - Embedded framework - JUnit + when: + builtin.file: + pattern: .*junit.*\.jar diff --git a/resources/rulesets/technology-usage/225-web.windup.yaml b/resources/rulesets/technology-usage/225-web.windup.yaml new file mode 100644 index 0000000..76516c7 --- /dev/null +++ b/resources/rulesets/technology-usage/225-web.windup.yaml @@ -0,0 +1,231 @@ +- customVariables: [] + description: | + Embedded technology - Java Server Faces + The application uses Java Server Faces + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: web-01000 + tag: + - JSF + - Embedded technology - Java Server Faces + when: + builtin.filecontent: + filePattern: .*\.(jsp|xhtml|jspx) + pattern: (java\.sun\.com/jsf/)|(xmlns\.jcp\.org/jsf) +- customVariables: [] + description: | + Embedded technology - Java Server Pages + The application uses Java Server Pages + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-01100 + tag: + - JSP + - Embedded technology - Java Server Pages + when: + or: + - builtin.filecontent: + filePattern: .*\.(jsp|jspx|tag|tagx) + pattern: <%@\s*page\s+[^>]*\s*import\s*=\s*['"]([^'"]+)['"].*?%> + - builtin.filecontent: + filePattern: .*\.(jsp|jspx|tag|tagx) + pattern: <%@\s*taglib\s+[^>]*\s*uri\s*=\s*['"]([^'"]+)['"].*?%> +- customVariables: [] + description: | + Embedded technology - WebSocket + The application uses WebSockets + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-01300 + tag: + - WebSocket + - Embedded technology - WebSocket + when: + java.referenced: + location: ANNOTATION + pattern: javax.websocket.server.ServerEndpoint +- customVariables: [] + description: | + Embedded technology - Applet + The application uses Java Applets + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-01400 + tag: + - Applet + - Embedded technology - Applet + when: + or: + - java.referenced: + location: INHERITANCE + pattern: java.applet.Applet + - builtin.file: + pattern: .*applet.*\.jar +- customVariables: [] + description: | + Embedded technology - JNLP + The application uses JNLP (Java Network Launching Protocol) + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-01500 + tag: + - JNLP + - Embedded technology - JNLP + when: + builtin.file: + pattern: .*\.jnlp +- customVariables: [] + description: | + Embedded technology - JNLP + The application uses JNLP (Java Network Launching Protocol) + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-01600 + tag: + - JNLP + - Embedded technology - JNLP + when: + or: + - builtin.file: + pattern: .*jnlp.*\.jar + - builtin.file: + pattern: .*webstart.*\.jar +- customVariables: [] + description: | + Embedded technology - Swing + The application uses Swing + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-01700 + tag: + - Swing + - Embedded technology - Swing + when: + builtin.file: + pattern: .*swing.*\.jar +- customVariables: [] + description: | + Embedded technology - MiGLayout + The application uses MyGLayout + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-01800 + tag: + - MiGLayout + - Embedded technology - MiGLayout + when: + builtin.file: + pattern: .*miglayout.*\.jar +- customVariables: [] + description: | + Embedded technology - JGoodies + The application uses JGoodies + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-01900 + tag: + - JGoodies + - Embedded technology - JGoodies + when: + builtin.file: + pattern: .*jgoodies.*\.jar +- customVariables: [] + description: | + Embedded technology - FormLayoutMaker + The application uses FormLayouttMaker + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-02000 + tag: + - FormLayoutMaker + - Embedded technology - FormLayoutMaker + when: + builtin.file: + pattern: .*formlayoutmakerx.*\.jar +- customVariables: [] + description: | + Embedded technology - MagicGroupLayout + The application uses MagicGroupLayout + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-02100 + tag: + - Magicgrouplayout + - Embedded technology - MagicGroupLayout + when: + builtin.file: + pattern: .*magicgrouplayout.*\.jar +- customVariables: [] + description: | + Embedded technology - Standard Widget Toolkit (SWT) + The application uses Standard Widget Toolkit (SWT) + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-02200 + tag: + - SWT + - Embedded technology - Standard Widget Toolkit (SWT) + when: + builtin.file: + pattern: .*swt.*\.jar +- customVariables: [] + description: | + Embedded technology - JavaFX + The application uses JavaFX + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-02300 + tag: + - JavaFX + - Embedded technology - JavaFX + when: + builtin.file: + pattern: .*javafx.*\.jar +- customVariables: [] + description: | + Embedded technology - Eclipse RCP + The application uses Eclipse RCP + labels: + - konveyor.io/source + - konveyor.io/target + links: [] + ruleID: technology-usage-web-02400 + tag: + - Eclipse RCP + - Embedded technology - Eclipse RCP + when: + or: + - builtin.file: + pattern: rcp.*\.jar + - builtin.file: + pattern: .*eclipse\.rcp.*\.jar + - builtin.file: + pattern: .*eclipse.*runtime.*\.jar + - builtin.file: + pattern: .*eclipse\.ui.*\.jar diff --git a/resources/rulesets/technology-usage/24-integration-technology-usage.windup.yaml b/resources/rulesets/technology-usage/24-integration-technology-usage.windup.yaml new file mode 100644 index 0000000..bc2b94d --- /dev/null +++ b/resources/rulesets/technology-usage/24-integration-technology-usage.windup.yaml @@ -0,0 +1,210 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00001 + tag: + - Execute=Camel + - Embedded=Camel + - Integration=Camel + when: + builtin.hasTags: + - Apache Camel +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00002 + tag: + - Execute=Teiid + - Embedded=Teiid + - Integration=Teiid + when: + builtin.hasTags: + - Teiid +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00003 + tag: + - Execute=Spring Integration + - Embedded=Spring Integration + - Integration=Spring Integration + when: + builtin.hasTags: + - Spring Integration +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00004 + tag: + - Execute=Ikasan + - Embedded=Ikasan + - Integration=Ikasan + when: + builtin.hasTags: + - Ikasan +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00005 + tag: + - Execute=Swagger + - Embedded=Swagger + - Integration=Swagger + when: + builtin.hasTags: + - Swagger +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00006 + tag: + - Execute=Apiman + - Embedded=Apiman + - Integration=Apiman + when: + builtin.hasTags: + - Apiman +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00007 + tag: + - Execute=3scale + - Embedded=3scale + - Integration=3scale + when: + builtin.hasTags: + - 3scale +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00008 + tag: + - Execute=Istio + - Embedded=Istio + - Integration=Istio + when: + builtin.hasTags: + - Istio +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00009 + tag: + - Execute=ServiceMix + - Embedded=ServiceMix + - Integration=ServiceMix + when: + builtin.hasTags: + - ServiceMix +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00010 + tag: + - Execute=Mule + - Embedded=Mule + - Integration=Mule + when: + builtin.hasTags: + - Mule +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00011 + tag: + - Execute=Petals EIP + - Embedded=Petals EIP + - Integration=Petals EIP + when: + builtin.hasTags: + - Petals EIP +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00012 + tag: + - Execute=SwitchYard + - Embedded=SwitchYard + - Integration=SwitchYard + when: + builtin.hasTags: + - SwitchYard +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00013 + tag: + - Execute=Apache Synapse + - Embedded=Apache Synapse + - Integration=Apache Synapse + when: + builtin.hasTags: + - Apache Synapse +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00014 + tag: + - Execute=WSO2 + - Embedded=WSO2 + - Integration=WSO2 + when: + builtin.hasTags: + - WSO2 +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-integration-00015 + tag: + - Execute=Talend ESB + - Embedded=Talend ESB + - Integration=Talend ESB + when: + builtin.hasTags: + - Talend ESB diff --git a/resources/rulesets/technology-usage/25-http-technology-usage.windup.yaml b/resources/rulesets/technology-usage/25-http-technology-usage.windup.yaml new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/resources/rulesets/technology-usage/25-http-technology-usage.windup.yaml @@ -0,0 +1 @@ +[] diff --git a/resources/rulesets/technology-usage/27-embedded-framework-technology-usage.windup.yaml b/resources/rulesets/technology-usage/27-embedded-framework-technology-usage.windup.yaml new file mode 100644 index 0000000..a5bb25c --- /dev/null +++ b/resources/rulesets/technology-usage/27-embedded-framework-technology-usage.windup.yaml @@ -0,0 +1,1078 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01000 + tag: + - Connect=Axis + - Embedded=Axis + - Web Service=Axis + when: + builtin.hasTags: + - Apache Axis +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01010 + tag: + - Connect=Axis2 + - Embedded=Axis2 + - Web Service=Axis2 + when: + builtin.hasTags: + - Apache Axis2 +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01100 + tag: + - Connect=CXF + - Embedded=CXF + - Web Service=CXF + when: + builtin.hasTags: + - Apache CXF +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01200 + tag: + - Connect=XFire + - Embedded=XFire + - Web Service=XFire + when: + builtin.hasTags: + - XFire +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01300 + tag: + - Connect=Jersey + - Embedded=Jersey + - REST=Jersey + when: + builtin.hasTags: + - Jersey +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01400 + tag: + - Connect=Unirest + - Embedded=Unirest + - REST=Unirest + when: + builtin.hasTags: + - Unirest +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01500 + tag: + - Store=Hibernate + - Embedded=Hibernate + - Object Mapping=Hibernate + when: + builtin.hasTags: + - Hibernate +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01600 + tag: + - Store=Hibernate OGM + - Embedded=Hibernate OGM + - Object Mapping=Hibernate OGM + when: + builtin.hasTags: + - Hibernate OGM +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-01700 + tag: + - Store=EclipseLink + - Embedded=EclipseLink + - Object Mapping=EclipseLink + when: + builtin.hasTags: + - EclipseLink +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-02000 + tag: + - Execute=Spring Batch + - Embedded=Spring Batch + - Processing=Spring Batch + when: + builtin.hasTags: + - Spring Batch +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-02100 + tag: + - Execute=Spring + - Embedded=Spring + - Inversion of Control=Spring + when: + builtin.hasTags: + - Spring +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-02200 + tag: + - Execute=AspectJ + - Embedded=AspectJ + - Inversion of Control=AspectJ + when: + builtin.hasTags: + - AspectJ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-02300 + tag: + - Execute=JBPM + - Embedded=JBPM + - Rules and Processes=JBPM + when: + builtin.hasTags: + - JBPM +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-02400 + tag: + - Execute=iLog + - Embedded=iLog + - Rules and Processes=iLog + when: + builtin.hasTags: + - iLog +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-02700 + tag: + - Store=ehcache + - Embedded=ehcache + - Caching=ehcache + when: + builtin.hasTags: + - Ehcache +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-02800 + tag: + - Store=infinispan + - Embedded=infinispan + - Caching=infinispan + when: + builtin.hasTags: + - Infinispan +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-02900 + tag: + - Execute=Drools + - Embedded=Drools + - Rules and Processes=Drools + when: + builtin.hasTags: + - Drools +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03000 + tag: + - Execute=Camunda + - Embedded=Camunda + - Rules and Processes=Camunda + when: + builtin.hasTags: + - Camunda +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03100 + tag: + - Execute=Pega + - Embedded=Pega + - Rules and Processes=Pega + when: + builtin.hasTags: + - Pega +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03200 + tag: + - Execute=Blaze + - Embedded=Blaze + - Rules and Processes=Blaze + when: + builtin.hasTags: + - Blaze +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03300 + tag: + - Execute=MRules + - Embedded=MRules + - Rules and Processes=MRules + when: + builtin.hasTags: + - MRules +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03400 + tag: + - Execute=Easy Rules + - Embedded=Easy Rules + - Rules and Processes=Easy Rules + when: + builtin.hasTags: + - Easy Rules +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03500 + tag: + - Store=Coherence + - Embedded=Coherence + - Caching=Coherence + when: + builtin.hasTags: + - Coherence +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03600 + tag: + - Store=Apache Commons JCS + - Embedded=Apache Commons JCS + - Caching=Apache Commons JCS + when: + builtin.hasTags: + - Apache Commons JCS +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03700 + tag: + - Store=Dynacache + - Embedded=Dynacache + - Caching=Dynacache + when: + builtin.hasTags: + - Dynacache +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03800 + tag: + - Store=Cache API + - Embedded=Cache API + - Caching=Cache API + when: + builtin.hasTags: + - Cache API +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-03900 + tag: + - Store=Hazelcast + - Embedded=Hazelcast + - Caching=Hazelcast + when: + builtin.hasTags: + - Hazelcast +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-04000 + tag: + - Store=Apache Ignite + - Embedded=Apache Ignite + - Caching=Apache Ignite + when: + builtin.hasTags: + - Apache Ignite +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-04100 + tag: + - Store=JBoss Cache + - Embedded=JBoss Cache + - Caching=JBoss Cache + when: + builtin.hasTags: + - JBoss Cache +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-04200 + tag: + - Store=JCache + - Embedded=JCache + - Caching=JCache + when: + builtin.hasTags: + - JCache +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-04300 + tag: + - Store=Memcached + - Embedded=Memcached + - Caching=Memcached + when: + builtin.hasTags: + - Memcached client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-04400 + tag: + - Store=Oscache + - Embedded=Oscache + - Caching=Oscache + when: + builtin.hasTags: + - Oscache +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-04500 + tag: + - Store=ShiftOne + - Embedded=ShiftOne + - Caching=ShiftOne + when: + builtin.hasTags: + - ShiftOne +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-04600 + tag: + - Store=SwarmCache + - Embedded=SwarmCache + - Caching=SwarmCache + when: + builtin.hasTags: + - SwarmCache +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-04700 + tag: + - Execute=AOP Alliance + - Embedded=AOP Alliance + - Inversion of Control=AOP Alliance + when: + builtin.hasTags: + - AOP Alliance +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-05000 + tag: + - Connect=SNMP4J + - Embedded=SNMP4J + - Other=SNMP4J + when: + builtin.hasTags: + - SNMP4J +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-05100 + tag: + - Connect=HTTP Client + - Embedded=HTTP Client + - Other=HTTP Client + when: + builtin.hasTags: + - HTTP Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-05300 + tag: + - Execute=Javax Inject + - Embedded=Javax Inject + - Inversion of Control=Javax Inject + when: + builtin.hasTags: + - Javax Inject +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-05400 + tag: + - Execute=Google Guice + - Embedded=Google Guice + - Inversion of Control=Google Guice + when: + builtin.hasTags: + - Google Guice +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-05600 + tag: + - Execute=Plexus Container + - Embedded=Plexus Container + - Inversion of Control=Plexus Container + when: + builtin.hasTags: + - Plexus Container +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-05700 + tag: + - Execute=Weld + - Embedded=Weld + - Inversion of Control=Weld + when: + builtin.hasTags: + - Weld +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-05800 + tag: + - Execute=Dagger + - Embedded=Dagger + - Inversion of Control=Dagger + when: + builtin.hasTags: + - Dagger +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-05900 + tag: + - Execute=GIN + - Embedded=GIN + - Inversion of Control=GIN + when: + builtin.hasTags: + - GIN +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06000 + tag: + - Execute=PicoContainer + - Embedded=PicoContainer + - Inversion of Control=PicoContainer + when: + builtin.hasTags: + - PicoContainer +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06100 + tag: + - Execute=Scaldi + - Embedded=Scaldi + - Inversion of Control=Scaldi + when: + builtin.hasTags: + - Scaldi +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06200 + tag: + - Execute=Macros + - Embedded=Macros + - Inversion of Control=Macros + when: + builtin.hasTags: + - Macros +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06300 + tag: + - Execute=Injekt for Kotlin + - Embedded=Injekt for Kotlin + - Inversion of Control=Injekt for Kotlin + when: + builtin.hasTags: + - Injekt for Kotlin +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06400 + tag: + - Execute=Kodein + - Embedded=Kodein + - Inversion of Control=Kodein + when: + builtin.hasTags: + - Kodein +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06500 + tag: + - Execute=Peaberry + - Embedded=Peaberry + - Inversion of Control=Peaberry + when: + builtin.hasTags: + - Peaberry +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06600 + tag: + - Execute=Sticky Configured + - Embedded=Sticky Configured + - Inversion of Control=Sticky Configured + when: + builtin.hasTags: + - Sticky Configured +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06700 + tag: + - Execute=Ka DI + - Embedded=Ka DI + - Inversion of Control=Ka DI + when: + builtin.hasTags: + - Ka DI +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06800 + tag: + - Execute=Polyforms DI + - Embedded=Polyforms DI + - Inversion of Control=Polyforms DI + when: + builtin.hasTags: + - Polyforms DI +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-06900 + tag: + - Execute=JayWire + - Embedded=JayWire + - Inversion of Control=JayWire + when: + builtin.hasTags: + - JayWire +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07000 + tag: + - Execute=Silk DI + - Embedded=Silk DI + - Inversion of Control=Silk DI + when: + builtin.hasTags: + - Silk DI +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07100 + tag: + - Execute=Grapht DI + - Embedded=Grapht DI + - Inversion of Control=Grapht DI + when: + builtin.hasTags: + - Grapht DI +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07200 + tag: + - Execute=Syringe + - Embedded=Syringe + - Inversion of Control=Syringe + when: + builtin.hasTags: + - Syringe +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07300 + tag: + - Execute=Cfg Engine + - Embedded=Cfg Engine + - Inversion of Control=Cfg Engine + when: + builtin.hasTags: + - Cfg Engine +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07400 + tag: + - Execute=BeanInject + - Embedded=BeanInject + - Inversion of Control=BeanInject + when: + builtin.hasTags: + - BeanInject +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07500 + tag: + - Execute=Tornado Inject + - Embedded=Tornado Inject + - Inversion of Control=Tornado Inject + when: + builtin.hasTags: + - Tornado Inject +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07600 + tag: + - Execute=Airframe + - Embedded=Airframe + - Inversion of Control=Airframe + when: + builtin.hasTags: + - Airframe +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07700 + tag: + - Execute=Winter + - Embedded=Winter + - Inversion of Control=Winter + when: + builtin.hasTags: + - Winter +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07800 + tag: + - Execute=KouInject + - Embedded=KouInject + - Inversion of Control=KouInject + when: + builtin.hasTags: + - KouInject +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-07900 + tag: + - Execute=Iroh + - Embedded=Iroh + - Inversion of Control=Iroh + when: + builtin.hasTags: + - Iroh +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08000 + tag: + - Execute=Micro DI + - Embedded=Micro DI + - Inversion of Control=Micro DI + when: + builtin.hasTags: + - Micro DI +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08100 + tag: + - Execute=SubCut + - Embedded=SubCut + - Inversion of Control=SubCut + when: + builtin.hasTags: + - SubCut +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08200 + tag: + - Execute=Spring DI + - Embedded=Spring DI + - Inversion of Control=Spring DI + when: + builtin.hasTags: + - Spring DI +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08300 + tag: + - Execute=Micrometer + - Embedded=Micrometer + - Integration=Micrometer + when: + builtin.hasTags: + - Micrometer +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08400 + tag: + - View=Spring Web + - Web=Spring Web + - Embedded=Spring Web + when: + builtin.hasTags: + - Spring Web +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08500 + tag: + - Store=Spring Boot Cache + - Caching=Spring Boot Cache + - Embedded=Spring Boot Cache + when: + builtin.hasTags: + - Spring Boot Cache +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08600 + tag: + - Execute=Spring Shell + - Utilities=Spring Shell + - Embedded=Spring Shell + when: + builtin.hasTags: + - Spring Shell +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08700 + tag: + - Execute=Spring Scheduled + - Processing=Spring Scheduled + - Embedded=Spring Scheduled + when: + builtin.hasTags: + - Spring Scheduled +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08800 + tag: + - Execute=Spring Cloud Function + - Serverless / FAAS=Spring Cloud Function + - Embedded=Spring Cloud Function + when: + builtin.hasTags: + - Spring Cloud Function +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-08900 + tag: + - Execute=Quartz + - Processing=Quartz + - Embedded=Quartz + when: + builtin.hasTags: + - Quartz +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-09000 + tag: + - Execute=Feign + - Processing=Feign + - Embedded=Feign + when: + builtin.hasTags: + - Feign +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-embedded-framework-09100 + tag: + - Execute=Zipkin + - Observability=Zipkin + - Embedded=Zipkin + when: + builtin.hasTags: + - Zipkin +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-09200 + tag: + - Store=Redis + - Embedded=Redis + - Caching=Redis + when: + builtin.hasTags: + - Redis +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: embedded-framework-embedded-framework-09300 + tag: + - Execute=Eureka + - Processing=Eureka + - Embedded=Eureka + when: + builtin.hasTags: + - Eureka diff --git a/resources/rulesets/technology-usage/29-ejb-technology-usage.windup.yaml b/resources/rulesets/technology-usage/29-ejb-technology-usage.windup.yaml new file mode 100644 index 0000000..c239ed0 --- /dev/null +++ b/resources/rulesets/technology-usage/29-ejb-technology-usage.windup.yaml @@ -0,0 +1,14 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-ejb-01400 + tag: + - Execute=EJB Timer + - Processing=EJB Timer + - Java EE=EJB Timer + when: + builtin.hasTags: + - EJB Timer diff --git a/resources/rulesets/technology-usage/31-database-technology-usage.windup.yaml b/resources/rulesets/technology-usage/31-database-technology-usage.windup.yaml new file mode 100644 index 0000000..3dc4a57 --- /dev/null +++ b/resources/rulesets/technology-usage/31-database-technology-usage.windup.yaml @@ -0,0 +1,252 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-01400 + tag: + - Store=HSQLDB Driver + - Database Driver=HSQLDB Driver + - Embedded=HSQLDB Driver + when: + builtin.hasTags: + - HSQLDB Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-01500 + tag: + - Store=MySQL Driver + - Database Driver=MySQL Driver + - Embedded=MySQL Driver + when: + builtin.hasTags: + - MySQL Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-01600 + tag: + - Store=Derby Driver + - Database Driver=Derby Driver + - Embedded=Derby Driver + when: + builtin.hasTags: + - Derby Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-01700 + tag: + - Store=PostgreSQL Driver + - Database Driver=PostgreSQL Driver + - Embedded=PostgreSQL Driver + when: + builtin.hasTags: + - PostgreSQL Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-01800 + tag: + - Store=H2 Driver + - Database Driver=H2 Driver + - Embedded=H2 Driver + when: + builtin.hasTags: + - H2 Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-01900 + tag: + - Store=Microsoft SQL Driver + - Database Driver=Microsoft SQL Driver + - Embedded=Microsoft SQL Driver + when: + builtin.hasTags: + - Microsoft SQL Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02000 + tag: + - Store=SQLite Driver + - Database Driver=SQLite Driver + - Embedded=SQLite Driver + when: + builtin.hasTags: + - SQLite Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02100 + tag: + - Store=Oracle DB Driver + - Database Driver=Oracle DB Driver + - Embedded=Oracle DB Driver + when: + builtin.hasTags: + - Oracle DB Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02200 + tag: + - Store=Cassandra Client + - Database Driver=Cassandra Client + - Embedded=Cassandra Client + when: + builtin.hasTags: + - Cassandra Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02300 + tag: + - Store=Axion Driver + - Database Driver=Axion Driver + - Embedded=Axion Driver + when: + builtin.hasTags: + - Axion Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02400 + tag: + - Store=MckoiSQLDB Driver + - Database Driver=MckoiSQLDB Driver + - Embedded=MckoiSQLDB Driver + when: + builtin.hasTags: + - MckoiSQLDB Driver +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02500 + tag: + - Store=MongoDB Client + - Database Driver=MongoDB Client + - Embedded=MongoDB Client + when: + builtin.hasTags: + - MongoDB Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02600 + tag: + - Store=Spring Data + - Embedded=Spring Data + - Object Mapping=Spring Data + when: + builtin.hasTags: + - Spring Data +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02700 + tag: + - Store=Morphia + - Object Mapping=Morphia + - Embedded=Morphia + when: + builtin.hasTags: + - Morphia +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02800 + tag: + - Store=LevelDB Client + - Database Driver=LevelDB Client + - Embedded=LevelDB Client + when: + builtin.hasTags: + - LevelDB Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-02900 + tag: + - Store=Apache HBase Client + - Database Driver=Apache HBase Client + - Embedded=Apache HBase Client + when: + builtin.hasTags: + - Apache HBase Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-03100 + tag: + - Store=Apache Accumulo Client + - Database Driver=Apache Accumulo Client + - Embedded=Apache Accumulo Client + when: + builtin.hasTags: + - Apache Accumulo Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-database-03200 + tag: + - Store=Spring Data JPA + - Persistence=Spring Data JPA + - Embedded=Spring Data JPA + when: + builtin.hasTags: + - Spring Data JPA diff --git a/resources/rulesets/technology-usage/32-connect-technology-usage.windup.yaml b/resources/rulesets/technology-usage/32-connect-technology-usage.windup.yaml new file mode 100644 index 0000000..e89f230 --- /dev/null +++ b/resources/rulesets/technology-usage/32-connect-technology-usage.windup.yaml @@ -0,0 +1,340 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01100 + tag: + - Connect=JNI + - Other=JNI + - Java EE=JNI + when: + or: + - java.referenced: + location: METHOD_CALL + pattern: java.lang.System.(load|loadLibrary|mapLibraryName)* + - java.referenced: + location: METHOD_CALL + pattern: java.lang.Runtime.load* + - java.referenced: + location: METHOD_CALL + pattern: java.lang.Runtime.loadLibrary* +- customVariables: [] + description: | + JNA usage + JNA is used in the application + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01101 + tag: + - Connect=JNA + - Other=JNA + - Java EE=JNA + - JNA usage + when: + or: + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: com.sun.jna* + - java.referenced: + location: IMPORT + pattern: com.sun.jna* + - java.referenced: + location: INHERITANCE + pattern: com.sun.jna* + - java.referenced: + location: METHOD_CALL + pattern: com.sun.jna* + - java.referenced: + location: VARIABLE_DECLARATION + pattern: com.sun.jna* +- customVariables: [] + description: | + Mail usage + Mailing is used in the application + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01200 + tag: + - Connect=Mail + - Other=Mail + - Java EE=Mail + - Mail usage + when: + or: + - java.referenced: + pattern: javax.mail* + - java.referenced: + pattern: com.sun.mail* + - java.referenced: + pattern: org.simplejavamail* + - java.referenced: + pattern: org.apache.commons.mail* +- customVariables: [] + description: | + JCA usage + JCA is used in the application + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01300 + tag: + - Connect=JCA + - Other=JCA + - Java EE=JCA + - JCA usage + when: + or: + - java.referenced: + location: CONSTRUCTOR_CALL + pattern: javax.resource* + - java.referenced: + location: IMPORT + pattern: javax.resource* + - java.referenced: + location: INHERITANCE + pattern: javax.resource* + - java.referenced: + location: METHOD_CALL + pattern: javax.resource* + - java.referenced: + location: VARIABLE_DECLARATION + pattern: javax.resource* + - builtin.xml: + namespaces: {} + xpath: //*[local-name()='jms-jca-provider'] + - builtin.file: + pattern: ra\.xml +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01400 + tag: + - Connect=Resource Adapter + - Embedded=Resource Adapter + - Other=Resource Adapter + when: + builtin.hasTags: + - Resource Adapter +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01500 + tag: + - Connect=ActiveMQ library + - Embedded=ActiveMQ library + - Other=ActiveMQ library + when: + builtin.hasTags: + - ActiveMQ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01600 + tag: + - Connect=OpenWS + - Embedded=OpenWS + - Web Service=OpenWS + when: + builtin.hasTags: + - OpenWS +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01700 + tag: + - Connect=WSDL + - Embedded=WSDL + - Web Service=WSDL + when: + builtin.hasTags: + - WSDL +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01800 + tag: + - Connect=RabbitMQ Client + - Embedded=RabbitMQ Client + - Other=RabbitMQ Client + when: + builtin.hasTags: + - RabbitMQ Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-01900 + tag: + - Connect=Spring Messaging Client + - Embedded=Spring Messaging Client + - Other=Spring Messaging Client + when: + builtin.hasTags: + - Spring Messaging Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02000 + tag: + - Connect=Camel Messaging Client + - Embedded=Camel Messaging Client + - Other=Camel Messaging Client + when: + builtin.hasTags: + - Camel Messaging Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02100 + tag: + - Connect=Amazon SQS Client + - Embedded=Amazon SQS Client + - Other=Amazon SQS Client + when: + builtin.hasTags: + - Amazon SQS Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02200 + tag: + - Connect=HornetQ Client + - Embedded=HornetQ Client + - Other=HornetQ Client + when: + builtin.hasTags: + - HornetQ Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02300 + tag: + - Connect=AMQP Client + - Embedded=AMQP Client + - Other=AMQP Client + when: + builtin.hasTags: + - AMQP Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02400 + tag: + - Connect=RocketMQ Client + - Embedded=RocketMQ Client + - Other=RocketMQ Client + when: + builtin.hasTags: + - RocketMQ Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02500 + tag: + - Connect=0MQ Client + - Embedded=0MQ Client + - Other=0MQ Client + when: + builtin.hasTags: + - 0MQ Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02600 + tag: + - Connect=JBossMQ client + - Embedded=JBossMQ client + - Other=JBossMQ client + when: + builtin.hasTags: + - JBossMQ Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02700 + tag: + - Connect=Zbus Client + - Embedded=Zbus Client + - Other=Zbus Client + when: + builtin.hasTags: + - Zbus Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02800 + tag: + - Connect=Qpid Client + - Embedded=Qpid Client + - Other=Qpid Client + when: + builtin.hasTags: + - Qpid Client +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-connect-02900 + tag: + - Connect=Kafka Client + - Embedded=Kafka Client + - Streaming=Kafka Client + when: + builtin.hasTags: + - Kafka Client diff --git a/resources/rulesets/technology-usage/34-configuration-management-technology-usage.windup.yaml b/resources/rulesets/technology-usage/34-configuration-management-technology-usage.windup.yaml new file mode 100644 index 0000000..fa30a0c --- /dev/null +++ b/resources/rulesets/technology-usage/34-configuration-management-technology-usage.windup.yaml @@ -0,0 +1,42 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: configuration-management-technology-usage-0100 + tag: + - Sustain=Spring Cloud Config + - Configuration Management=Spring Cloud Config + - Embedded=Spring Cloud Config + when: + builtin.hasTags: + - Spring Cloud Config +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: configuration-management-technology-usage-0200 + tag: + - Sustain=Application Properties File + - Configuration Management=Application Properties File + - Embedded=Application Properties File + when: + builtin.hasTags: + - Application Properties File +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: configuration-management-technology-usage-0300 + tag: + - Sustain=Spring Properties + - Configuration Management=Spring Properties + - Embedded=Spring Properties + when: + builtin.hasTags: + - Spring Properties diff --git a/resources/rulesets/technology-usage/36-clustering-technology-usage.windup.yaml b/resources/rulesets/technology-usage/36-clustering-technology-usage.windup.yaml new file mode 100644 index 0000000..9515356 --- /dev/null +++ b/resources/rulesets/technology-usage/36-clustering-technology-usage.windup.yaml @@ -0,0 +1,28 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-clustering-01000 + tag: + - Sustain=Web Session + - Java EE=Web Session + - Clustering=Web Session + when: + builtin.hasTags: + - Clustering Web Session +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-clustering-02000 + tag: + - Sustain=EJB + - Java EE=EJB + - Clustering=EJB + when: + builtin.hasTags: + - Clustering EJB diff --git a/resources/rulesets/technology-usage/38-3rd-party-technology-usage.windup.yaml b/resources/rulesets/technology-usage/38-3rd-party-technology-usage.windup.yaml new file mode 100644 index 0000000..59a9730 --- /dev/null +++ b/resources/rulesets/technology-usage/38-3rd-party-technology-usage.windup.yaml @@ -0,0 +1,266 @@ +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-01000 + tag: + - Execute=Liferay + - Embedded=Liferay + - 3rd party=Liferay + when: + builtin.hasTags: + - Liferay +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-02000 + tag: + - Execute=Oracle Forms + - Embedded=Oracle Forms + - 3rd party=Oracle Forms + when: + builtin.hasTags: + - Oracle Forms +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-03000 + tag: + - Execute=Spring Boot + - Embedded=Spring Boot + - 3rd party=Spring Boot + when: + builtin.hasTags: + - Spring Boot +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-04000 + tag: + - Execute=Elasticsearch + - Embedded=Elasticsearch + - 3rd party=Elasticsearch + when: + builtin.hasTags: + - Elasticsearch +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-05000 + tag: + - Execute=Logstash + - Embedded=Logstash + - 3rd party=Logstash + when: + builtin.hasTags: + - Logstash +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-06000 + tag: + - Execute=Jetty + - Embedded=Jetty + - 3rd party=Jetty + when: + builtin.hasTags: + - Jetty +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-08000 + tag: + - Execute=Tomcat + - Embedded=Tomcat + - 3rd party=Tomcat + when: + builtin.hasTags: + - Tomcat +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-09000 + tag: + - Execute=Kibana + - Embedded=Kibana + - 3rd party=Kibana + when: + builtin.hasTags: + - Kibana +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-10000 + tag: + - Execute=Apache Karaf + - Embedded=Apache Karaf + - 3rd party=Apache Karaf + when: + builtin.hasTags: + - Apache Karaf +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-11000 + tag: + - Execute=Neo4j + - Embedded=Neo4j + - 3rd party=Neo4j + when: + builtin.hasTags: + - Neo4j +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-12000 + tag: + - Execute=Spark + - Embedded=Spark + - 3rd party=Spark + when: + builtin.hasTags: + - Spark +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-13000 + tag: + - Execute=Apache Hadoop + - Embedded=Apache Hadoop + - 3rd party=Apache Hadoop + when: + builtin.hasTags: + - Apache Hadoop +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-14000 + tag: + - Execute=Apache Geronimo + - Embedded=Apache Geronimo + - 3rd party=Apache Geronimo + when: + builtin.hasTags: + - Apache Geronimo +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-15000 + tag: + - Execute=Apache Aries + - Embedded=Apache Aries + - 3rd party=Apache Aries + when: + builtin.hasTags: + - Apache Aries +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-16000 + tag: + - Execute=Cloudera + - Embedded=Cloudera + - 3rd party=Cloudera + when: + builtin.hasTags: + - Cloudera +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-17000 + tag: + - Execute=MapR + - Embedded=MapR + - 3rd party=MapR + when: + builtin.hasTags: + - MapR +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-18000 + tag: + - Execute=TensorFlow + - Embedded=TensorFlow + - 3rd party=TensorFlow + when: + builtin.hasTags: + - TensorFlow +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-19000 + tag: + - Execute=Weka + - Embedded=Weka + - 3rd party=Weka + when: + builtin.hasTags: + - Weka +- customVariables: [] + labels: + - konveyor.io/source + - konveyor.io/target + - phase=PostMigrationRulesPhase + links: [] + ruleID: technology-usage-3rd-party-20000 + tag: + - Execute=Apache Mahout + - Embedded=Apache Mahout + - 3rd party=Apache Mahout + when: + builtin.hasTags: + - Apache Mahout diff --git a/resources/rulesets/technology-usage/image.svg b/resources/rulesets/technology-usage/image.svg new file mode 100644 index 0000000..cfed55b --- /dev/null +++ b/resources/rulesets/technology-usage/image.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/resources/rulesets/technology-usage/ruleset.yaml b/resources/rulesets/technology-usage/ruleset.yaml new file mode 100644 index 0000000..3ba396a --- /dev/null +++ b/resources/rulesets/technology-usage/ruleset.yaml @@ -0,0 +1,3 @@ +name: technology-usage +description: This ruleset provides statistical summaries of the database items that + were found during the analysis. diff --git a/resources/tags.yaml b/resources/tags.yaml new file mode 100644 index 0000000..e69de29