Example #1
0
  static {

    // initialize the resource providers for faces-config documents
    List<ConfigurationResourceProvider> facesConfigProviders =
        new ArrayList<ConfigurationResourceProvider>(3);
    facesConfigProviders.add(new MojarraFacesConfigResourceProvider());
    facesConfigProviders.add(new MetaInfFacesConfigResourceProvider());
    facesConfigProviders.add(new WebFacesConfigResourceProvider());
    FACES_CONFIG_RESOURCE_PROVIDERS = Collections.unmodifiableList(facesConfigProviders);

    // initialize the resource providers for facelet-taglib documents
    List<ConfigurationResourceProvider> faceletTaglibProviders =
        new ArrayList<ConfigurationResourceProvider>(3);
    faceletTaglibProviders.add(new MetaInfFaceletTaglibraryConfigProvider());
    faceletTaglibProviders.add(new WebFaceletTaglibResourceProvider());
    FACELET_TAGLIBRARY_RESOURCE_PROVIDERS = Collections.unmodifiableList(faceletTaglibProviders);

    // initialize the config processors for faces-config documents
    ConfigProcessor[] configProcessors = {
      new FactoryConfigProcessor(),
      new LifecycleConfigProcessor(),
      new ApplicationConfigProcessor(),
      new ComponentConfigProcessor(),
      new ConverterConfigProcessor(),
      new ValidatorConfigProcessor(),
      new ManagedBeanConfigProcessor(),
      new RenderKitConfigProcessor(),
      new NavigationConfigProcessor(),
      new BehaviorConfigProcessor(),
      new FacesConfigExtensionProcessor()
    };
    for (int i = 0; i < configProcessors.length; i++) {
      ConfigProcessor p = configProcessors[i];
      if ((i + 1) < configProcessors.length) {
        p.setNext(configProcessors[i + 1]);
      }
    }
    FACES_CONFIG_PROCESSOR_CHAIN = configProcessors[0];

    // initialize the config processor for facelet-taglib documents
    FACELET_TAGLIB_CONFIG_PROCESSOR_CHAIN = new FaceletTaglibConfigProcessor();
  }