From 6488697f9bc51683a53b61ad57559464546cc55a Mon Sep 17 00:00:00 2001
From: Mark Brophy <36955467+m-brophy@users.noreply.github.com>
Date: Wed, 14 Dec 2022 15:51:48 +0000
Subject: [PATCH] Winduprule-894 (#800)
* WINDUPRULE-894: tests added
* added namespace data into rule and test
* eap8-faces rules
* Faces 4 JSP rule not working
* WINDUPRULE-894: identify a jsp file in rule
* WINDUPRULE-894: alter markup in rule message
---
.../eap8/eap6/eap8-faces.windup.xml | 182 ++++++++++++++++++
.../eap8/eap6/tests/data/faces/FacesTest.java | 18 ++
.../eap6/tests/data/faces/faces-config.xml | 11 ++
.../eap8/eap6/tests/data/faces/faces.jsp | 35 ++++
.../eap8/eap6/tests/data/faces/pom.xml | 33 ++++
.../eap6/tests/eap8-faces.windup.test.xml | 84 ++++++++
6 files changed, 363 insertions(+)
create mode 100644 rules/rules-reviewed/eap8/eap6/eap8-faces.windup.xml
create mode 100644 rules/rules-reviewed/eap8/eap6/tests/data/faces/FacesTest.java
create mode 100644 rules/rules-reviewed/eap8/eap6/tests/data/faces/faces-config.xml
create mode 100644 rules/rules-reviewed/eap8/eap6/tests/data/faces/faces.jsp
create mode 100644 rules/rules-reviewed/eap8/eap6/tests/data/faces/pom.xml
create mode 100644 rules/rules-reviewed/eap8/eap6/tests/eap8-faces.windup.test.xml
diff --git a/rules/rules-reviewed/eap8/eap6/eap8-faces.windup.xml b/rules/rules-reviewed/eap8/eap6/eap8-faces.windup.xml
new file mode 100644
index 000000000..3a282e6e8
--- /dev/null
+++ b/rules/rules-reviewed/eap8/eap6/eap8-faces.windup.xml
@@ -0,0 +1,182 @@
+
+
+
+
+ This ruleset provides analysis of JSF for migration to JBoss EAP 8.
+
+
+
+
+
+
+
+ eap8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+ eap8
+
+
+
+
+
+
+ IMPORT
+ ANNOTATION
+
+
+
+
+ Source reference to `javax.faces.bean.ManagedProperty` must be updated.
+ Use 'jakarta.faces.annotation.ManagedProperty' along with `@Inject`.
+
+ eap8
+
+
+
+
+
+
+
+ ANNOTATION
+
+
+
+
+
+
+
+
+ JSF ManagedBean has been removed.
+ Use CDI's `@jakarta.inject.Named(“foo”)` to replace JSF ManagedBeans.
+
+
+ eap8
+
+
+
+
+
+
+ IMPORT
+
+
+
+
+ Annotation `javax.faces.bean.ViewScoped` removed.
+ Use `jakarta.faces.view.ViewScoped` to replace it.
+
+ eap8
+
+
+
+
+
+
+ IMPORT
+
+
+
+
+ Annotation `javax.faces.bean.{scope}Scoped` removed.
+ Use `jakarta.enterprise.context.{scope}Scoped` to replace it.
+
+ eap8
+
+
+
+
+
+
+
+
+
+ IMPORT
+
+
+
+
+ Annotation `javax.faces.bean.CustomScoped` removed.
+ Use `jakarta.enterprise.context.spi.Context` to replace it.
+
+ eap8
+
+
+
+
+
+
+ IMPORT
+
+
+
+
+ Annotation `javax.faces.bean.NoneScoped` removed.
+ Use `jakarta.enterprise.context.Dependent` to replace it.
+
+ eap8
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+ eap8
+
+
+
+
+
+
+
+
+
+
+
+
+ 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.
+
+
+ eap8
+
+
+
+
+
\ No newline at end of file
diff --git a/rules/rules-reviewed/eap8/eap6/tests/data/faces/FacesTest.java b/rules/rules-reviewed/eap8/eap6/tests/data/faces/FacesTest.java
new file mode 100644
index 000000000..5aa2d05e7
--- /dev/null
+++ b/rules/rules-reviewed/eap8/eap6/tests/data/faces/FacesTest.java
@@ -0,0 +1,18 @@
+package com.jboss.test;
+
+import javax.faces.bean.ManagedProperty;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.ViewScoped;
+import javax.faces.bean.ApplicationScoped;
+import javax.faces.bean.RequestScoped;
+import javax.faces.bean.SessionScoped;
+import javax.faces.bean.CustomScoped;
+import javax.faces.bean.NoneScoped;
+import javax.faces.view.facelets.FaceletsResourceResolver;
+import javax.faces.view.facelets.ResourceResolver;
+
+@ManagedBean
+public class FacesTest
+{
+
+}
\ No newline at end of file
diff --git a/rules/rules-reviewed/eap8/eap6/tests/data/faces/faces-config.xml b/rules/rules-reviewed/eap8/eap6/tests/data/faces/faces-config.xml
new file mode 100644
index 000000000..3e146c8b1
--- /dev/null
+++ b/rules/rules-reviewed/eap8/eap6/tests/data/faces/faces-config.xml
@@ -0,0 +1,11 @@
+
+
+
+ testController
+ com.jboss.Controller
+ session
+
+
\ No newline at end of file
diff --git a/rules/rules-reviewed/eap8/eap6/tests/data/faces/faces.jsp b/rules/rules-reviewed/eap8/eap6/tests/data/faces/faces.jsp
new file mode 100644
index 000000000..4c1262764
--- /dev/null
+++ b/rules/rules-reviewed/eap8/eap6/tests/data/faces/faces.jsp
@@ -0,0 +1,35 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>
+
+<%@ taglib prefix="some" uri="some.tld" %>
+<%@ taglib prefix="testSubstr" uri="/WEB-INF/Substr.taglib.tld"%>
+
+<%@ attribute name="greeting" required="true" %>
+<%@ attribute name="name" required="true" %>
+
+<%!
+ public boolean errorHandler( String field, String value, Exception ex ) {
+ return true;
+ }
+%>
+
+
+
+
+
+
+ Simple JSP
+
+<%@ page import="java.util.NonExistent" %>
+<%@ page import="java.util.Date" %>
+<%@ page import="" %>
+
+Hello world
+Current Time is: <%=new Date() %>
+
+
+
+ body
+
+<%@ include file="included.jsp" %>
+
+
\ No newline at end of file
diff --git a/rules/rules-reviewed/eap8/eap6/tests/data/faces/pom.xml b/rules/rules-reviewed/eap8/eap6/tests/data/faces/pom.xml
new file mode 100644
index 000000000..bc8c55c28
--- /dev/null
+++ b/rules/rules-reviewed/eap8/eap6/tests/data/faces/pom.xml
@@ -0,0 +1,33 @@
+
+
+
+ 4.0.0
+ faces-test
+ war
+ faces-test
+ This project imports faces dependencies
+
+
+
+ Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.html
+ repo
+
+
+
+
+
+ org.jboss.spec.javax.faces
+ jboss-jsf-api_2.3_spec
+ provided
+
+
+ com.sun.faces
+ jsf-api
+ provided
+
+
+
+
\ No newline at end of file
diff --git a/rules/rules-reviewed/eap8/eap6/tests/eap8-faces.windup.test.xml b/rules/rules-reviewed/eap8/eap6/tests/eap8-faces.windup.test.xml
new file mode 100644
index 000000000..56c15bec4
--- /dev/null
+++ b/rules/rules-reviewed/eap8/eap6/tests/eap8-faces.windup.test.xml
@@ -0,0 +1,84 @@
+
+
+ data/faces/
+ ../eap8-faces.windup.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file