Skip to content

Commit

Permalink
Fix #115: MyFaces AbstractAttributeMap
Browse files Browse the repository at this point in the history
  • Loading branch information
melloware committed Sep 15, 2023
1 parent 850d9c9 commit 04bf3c4
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 5 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,5 @@ jobs:
- name: Build with Maven
run: mvn -B clean install -Dno-format

# - name: Build with Maven (Native)
# run: mvn -B install -Dnative -Dquarkus.native.container-build -Dnative.surefire.skip
- name: Build with Maven (Native)
run: mvn -B install -Dnative -Dquarkus.native.container-build -Dnative.surefire.skip
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,13 @@ void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveCla
classNames.addAll(collectClassesInPackage(combinedIndex, "org.omnifaces.el.functions"));
// All utilities
classNames.addAll(collectClassesInPackage(combinedIndex, "org.omnifaces.util"));
// MyFaces
classNames.addAll(collectClassesInPackage(combinedIndex, "org.apache.myfaces.util.lang"));
classNames.addAll(collectSubclasses(combinedIndex,
"org.apache.myfaces.util.lang.AbstractThreadSafeAttributeMap$AbstractAttributeSet"));

reflectiveClass.produce(ReflectiveClassBuildItem.builder(classNames.toArray(new String[0])).methods(true).build());
reflectiveClass.produce(
ReflectiveClassBuildItem.builder(classNames.toArray(new String[0])).methods(true).fields(true).build());
}

@Record(ExecutionTime.STATIC_INIT)
Expand Down Expand Up @@ -247,7 +252,8 @@ private List<String> collectSubclasses(CombinedIndexBuildItem combinedIndex, Str
.stream()
.map(ClassInfo::toString)
.collect(Collectors.toList());
classes.add(className);
return classes;
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ public class OmniFacesFeature implements Feature {
public void afterRegistration(AfterRegistrationAccess access) {
final RuntimeClassInitializationSupport runtimeInit = ImageSingletons.lookup(RuntimeClassInitializationSupport.class);

runtimeInit.initializeAtRunTime("org.apache.myfaces.util.lang.ThreadsafeXorShiftRandom", REASON);
runtimeInit.initializeAtRunTime("org.omnifaces.config.WebXmlSingleton", REASON);
}

@Override
public String getDescription() {
return REASON;
}
}
}

0 comments on commit 04bf3c4

Please sign in to comment.