Refactoring
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package dev.lions.unionflow.client.config;
|
||||
|
||||
import dev.lions.unionflow.client.el.QuarkusArcELResolver;
|
||||
import jakarta.faces.application.Application;
|
||||
import jakarta.faces.application.ApplicationFactory;
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
/**
|
||||
* ApplicationFactory personnalisé pour Quarkus Arc.
|
||||
*
|
||||
* <p>Cette factory configure l'Application JSF pour utiliser notre ELResolverBuilder
|
||||
* personnalisé qui ne tente pas d'obtenir le resolver CDI via BeanManager.getELResolver().
|
||||
*
|
||||
* @author UnionFlow Team
|
||||
* @version 1.0
|
||||
*/
|
||||
public class QuarkusApplicationFactory extends ApplicationFactory {
|
||||
|
||||
private static final Logger LOG = Logger.getLogger(QuarkusApplicationFactory.class);
|
||||
|
||||
private ApplicationFactory delegate;
|
||||
private Application application;
|
||||
|
||||
public QuarkusApplicationFactory(ApplicationFactory delegate) {
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Application getApplication() {
|
||||
if (application == null) {
|
||||
application = delegate.getApplication();
|
||||
|
||||
// Configurer notre ELResolverBuilder personnalisé
|
||||
try {
|
||||
LOG.info("Configuration de l'ELResolverBuilder personnalisé pour Quarkus Arc");
|
||||
|
||||
// Ajouter notre resolver personnalisé
|
||||
application.addELResolver(new QuarkusArcELResolver());
|
||||
|
||||
LOG.info("ELResolver personnalisé configuré avec succès");
|
||||
} catch (Exception e) {
|
||||
LOG.error("Erreur lors de la configuration de l'ELResolver personnalisé", e);
|
||||
// Ne pas bloquer le démarrage si la configuration échoue
|
||||
}
|
||||
}
|
||||
return application;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApplication(Application application) {
|
||||
this.application = application;
|
||||
delegate.setApplication(application);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user