You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by me...@apache.org on 2023/02/21 13:16:57 UTC

[myfaces] branch 2.3-next updated: MYFACES-4589: 2.3-next Quarkus classes registered for reflection (#530)

This is an automated email from the ASF dual-hosted git repository.

melloware pushed a commit to branch 2.3-next
in repository https://gitbox.apache.org/repos/asf/myfaces.git


The following commit(s) were added to refs/heads/2.3-next by this push:
     new f6a217292 MYFACES-4589: 2.3-next Quarkus classes registered for reflection (#530)
f6a217292 is described below

commit f6a21729274062ba8205a70ad9272d2c3ba863ea
Author: Melloware <me...@gmail.com>
AuthorDate: Tue Feb 21 08:16:51 2023 -0500

    MYFACES-4589: 2.3-next Quarkus classes registered for reflection (#530)
    
    * MYFACES-4589: 2.3-next Quarkus classes registered for reflection
    
    * Also collect StateHolder
    
    * Use Classes not Strings, add all XPath classes
---
 .../quarkus/deployment/MyFacesProcessor.java       | 60 +++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/extensions/quarkus/deployment/src/main/java/org/apache/myfaces/core/extensions/quarkus/deployment/MyFacesProcessor.java b/extensions/quarkus/deployment/src/main/java/org/apache/myfaces/core/extensions/quarkus/deployment/MyFacesProcessor.java
index e02490253..c0179e3a6 100644
--- a/extensions/quarkus/deployment/src/main/java/org/apache/myfaces/core/extensions/quarkus/deployment/MyFacesProcessor.java
+++ b/extensions/quarkus/deployment/src/main/java/org/apache/myfaces/core/extensions/quarkus/deployment/MyFacesProcessor.java
@@ -107,6 +107,7 @@ import javax.faces.application.Application;
 import javax.faces.application.ProjectStage;
 import javax.faces.component.FacesComponent;
 import javax.faces.component.UIComponent;
+import javax.faces.component.StateHolder;
 import javax.faces.component.behavior.Behavior;
 import javax.faces.component.behavior.FacesBehavior;
 import javax.faces.context.FacesContext;
@@ -436,11 +437,48 @@ class MyFacesProcessor
         classNames.addAll(collectSubclasses(combinedIndex, SystemEvent.class.getName()));
         classNames.addAll(collectSubclasses(combinedIndex, FacesContext.class.getName()));
         classNames.addAll(collectSubclasses(combinedIndex, Application.class.getName()));
+        classNames.addAll(collectImplementors(combinedIndex, StateHolder.class.getName()));
 
-        // Web.xml parsing
+        // Web.xml XPath parsing (borrowed from CamelQuarkus XPath)
         classNames.addAll(collectSubclasses(combinedIndex, DocumentBuilderFactory.class.getName()));
         classNames.add("com.sun.org.apache.xpath.internal.functions.FuncLocalPart");
         classNames.add("com.sun.org.apache.xpath.internal.functions.FuncNot");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncBoolean");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncCeiling");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncConcat");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncContains");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncCount");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncCurrent");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncDoclocation");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncExtElementAvailable");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncExtFunction");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncExtFunctionAvailable");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncFalse");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncFloor");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncGenerateId");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncHere");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncId");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncLang");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncLast");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncLocalPart");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncNamespace");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncNormalizeSpace");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncNot");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncNumber");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncPosition");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncQname");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncRound");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncStartsWith");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncString");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncStringLength");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncSubstring");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncSubstringAfter");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncSubstringBefore");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncSum");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncSystemProperty");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncTranslate");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncTrue");
+        classNames.add("com.sun.org.apache.xpath.internal.functions.FuncUnparsedEntityURI");
         classNames.add("com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl");
         
         for (String factory : FACTORIES)
@@ -482,6 +520,26 @@ class MyFacesProcessor
         List<Class<?>> classes = new ArrayList<>();
         
         classNames.add("javax.faces._FactoryFinderProviderFactory");
+        classNames.add(java.util.Set.class.getName());
+        classNames.add(java.util.List.class.getName());
+        classNames.add(java.util.Collection.class.getName());
+        classNames.add(java.util.Date.class.getName());
+        classNames.add(java.util.Calendar.class.getName());
+        classNames.add(java.time.LocalTime.class.getName());
+        classNames.add(java.time.LocalDate.class.getName());
+        classNames.add(java.time.LocalDateTime.class.getName());
+        classNames.add(java.time.OffsetDateTime.class.getName());
+        classNames.add(java.time.ZonedDateTime.class.getName());
+        classNames.add(java.math.BigDecimal.class.getName());
+        classNames.add(java.math.BigInteger.class.getName());
+        classNames.add(java.lang.Iterable.class.getName());
+        classNames.add(java.lang.Throwable.class.getName());
+        classNames.add(java.lang.Integer.class.getName());
+        classNames.add(java.lang.Long.class.getName());
+        classNames.add(java.lang.Byte.class.getName());
+        classNames.add(java.lang.Double.class.getName());
+        classNames.add(java.lang.String.class.getName());
+        classNames.add(java.lang.Number.class.getName());
         
         classNames.addAll(collectSubclasses(combinedIndex, TagHandler.class.getName()));
         classNames.addAll(collectSubclasses(combinedIndex, ConverterHandler.class.getName()));