All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.geronimo.myfaces.info.GeronimoFacesConfigData Maven / Gradle / Ivy

/**
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package org.apache.geronimo.myfaces.info;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import org.apache.myfaces.config.element.Behavior;
import org.apache.myfaces.config.element.ClientBehaviorRenderer;
import org.apache.myfaces.config.element.Converter;
import org.apache.myfaces.config.element.FacesConfigData;
import org.apache.myfaces.config.element.LocaleConfig;
import org.apache.myfaces.config.element.ManagedBean;
import org.apache.myfaces.config.element.NamedEvent;
import org.apache.myfaces.config.element.NavigationRule;
import org.apache.myfaces.config.element.Renderer;
import org.apache.myfaces.config.element.ResourceBundle;
import org.apache.myfaces.config.element.SystemEventListener;

/**
 * @version $Rev: 1048917 $ $Date: 2010-12-14 11:13:09 +0800 (Tue, 14 Dec 2010) $
 */
public class GeronimoFacesConfigData extends FacesConfigData {

    private List applicationFactories = new ArrayList();

    private List exceptionHandlerFactories = new ArrayList();

    private List externalContextFactories = new ArrayList();

    private List facesContextFactories = new ArrayList();

    private List lifecycleFactories = new ArrayList();

    private List viewDeclarationLanguageFactories = new ArrayList();

    private List partialViewContextFactories = new ArrayList();

    private List renderKitFactories = new ArrayList();

    private List tagHandlerDelegateFactories = new ArrayList();

    private List visitContextFactories = new ArrayList();

    private String defaultRenderKitId;

    private String messageBundle;

    private String partialTraversal;

    private String facesVersion;

    private LocaleConfig localeConfig;

    private Map components = new HashMap();

    private Map converterByClass = new HashMap();

    private Map converterById = new HashMap();

    private Map validators = new HashMap();

    private List behaviors = new ArrayList();

    private Map converterConfigurationByClassName = new HashMap();

    private Map renderKits = new LinkedHashMap();

    private List actionListeners = new ArrayList();

    private List elResolvers = new ArrayList();

    private List lifecyclePhaseListeners = new ArrayList();

    private List navigationHandlers = new ArrayList();

    private List propertyResolver = new ArrayList();

    private List resourceHandlers = new ArrayList();

    private List stateManagers = new ArrayList();

    private List variableResolver = new ArrayList();

    private List viewHandlers = new ArrayList();

    private List defaultValidatorIds = new ArrayList();

    private List managedBeans = new ArrayList();

    private List navigationRules = new ArrayList();

    private List resourceBundles = new ArrayList();

    private List systemEventListeners = new ArrayList();

    private List namedEvents = new ArrayList();

    public GeronimoFacesConfigData(FacesConfigData facesConfigData) {
        applicationFactories.addAll(facesConfigData.getApplicationFactoryIterator());

        exceptionHandlerFactories.addAll(facesConfigData.getExceptionHandlerFactoryIterator());

        externalContextFactories.addAll(facesConfigData.getExternalContextFactoryIterator());

        facesContextFactories.addAll(facesConfigData.getFacesContextFactoryIterator());

        lifecycleFactories.addAll(facesConfigData.getLifecycleFactoryIterator());

        viewDeclarationLanguageFactories.addAll(facesConfigData.getViewDeclarationLanguageFactoryIterator());

        partialViewContextFactories.addAll(facesConfigData.getPartialViewContextFactoryIterator());

        renderKitFactories.addAll(facesConfigData.getRenderKitFactoryIterator());

        tagHandlerDelegateFactories.addAll(facesConfigData.getTagHandlerDelegateFactoryIterator());

        visitContextFactories.addAll(facesConfigData.getVisitContextFactoryIterator());

        defaultRenderKitId = facesConfigData.getDefaultRenderKitId();

        messageBundle = facesConfigData.getMessageBundle();

        partialTraversal = facesConfigData.getPartialTraversal();

        facesVersion = facesConfigData.getFacesVersion();

        if (facesConfigData.getDefaultLocale() != null || facesConfigData.getSupportedLocalesIterator().size() > 0) {
            org.apache.myfaces.config.impl.digester.elements.LocaleConfig destLocaleConfig = new org.apache.myfaces.config.impl.digester.elements.LocaleConfig();
            destLocaleConfig.setDefaultLocale(facesConfigData.getDefaultLocale());
            destLocaleConfig.getSupportedLocales().addAll(facesConfigData.getSupportedLocalesIterator());
            this.localeConfig = destLocaleConfig;
        }

        for (String componentType : facesConfigData.getComponentTypes()) {
            components.put(componentType, facesConfigData.getComponentClass(componentType));
        }

        for (String converterClass : facesConfigData.getConverterClasses()) {
            converterByClass.put(converterClass, facesConfigData.getConverterClassByClass(converterClass));
        }

        for (String converterId : facesConfigData.getConverterIds()) {
            converterById.put(converterId, facesConfigData.getConverterClassById(converterId));
        }

        for (String validatorId : facesConfigData.getValidatorIds()) {
            validators.put(validatorId, facesConfigData.getValidatorClass(validatorId));
        }

        behaviors.addAll(facesConfigData.getBehaviors());

        for (String converterClassName : facesConfigData.getConverterConfigurationByClassName()) {
            converterConfigurationByClassName.put(converterClassName, facesConfigData.getConverterConfiguration(converterClassName));
        }

        for (String renderKitId : facesConfigData.getRenderKitIds()) {
            org.apache.myfaces.config.impl.digester.elements.RenderKit renderKit = new org.apache.myfaces.config.impl.digester.elements.RenderKit();
            renderKit.setId(renderKitId);
            renderKit.getClientBehaviorRenderers().addAll(facesConfigData.getClientBehaviorRenderers(renderKitId));
            renderKit.getRenderer().addAll(facesConfigData.getRenderers(renderKitId));
            renderKit.getRenderKitClasses().addAll(facesConfigData.getRenderKitClasses(renderKitId));
            renderKits.put(renderKitId, renderKit);
        }

        actionListeners.addAll(facesConfigData.getActionListenerIterator());

        elResolvers.addAll(facesConfigData.getElResolvers());

        lifecyclePhaseListeners.addAll(facesConfigData.getLifecyclePhaseListeners());

        navigationHandlers.addAll(facesConfigData.getNavigationHandlerIterator());

        propertyResolver.addAll(facesConfigData.getPropertyResolverIterator());

        resourceHandlers.addAll(facesConfigData.getResourceHandlerIterator());

        stateManagers.addAll(facesConfigData.getStateManagerIterator());

        variableResolver.addAll(facesConfigData.getVariableResolverIterator());

        viewHandlers.addAll(facesConfigData.getViewHandlerIterator());

        defaultValidatorIds.addAll(facesConfigData.getDefaultValidatorIds());

        managedBeans.addAll(facesConfigData.getManagedBeans());

        navigationRules.addAll(facesConfigData.getNavigationRules());

        resourceBundles.addAll(facesConfigData.getResourceBundles());

        systemEventListeners.addAll(facesConfigData.getSystemEventListeners());

        namedEvents.addAll(facesConfigData.getNamedEvents());
    }

    @Override
    public Collection getActionListenerIterator() {
        return new ArrayList(actionListeners);
    }

    @Override
    public String getDefaultRenderKitId() {
        return defaultRenderKitId;
    }

    @Override
    public String getMessageBundle() {
        return messageBundle;
    }

    @Override
    public Collection getNavigationHandlerIterator() {
        return new ArrayList(navigationHandlers);
    }

    @Override
    public String getPartialTraversal() {
        return partialTraversal;
    }

    @Override
    public Collection getResourceHandlerIterator() {
        return new ArrayList(resourceHandlers);
    }

    @Override
    public Collection getViewHandlerIterator() {
        return new ArrayList(viewHandlers);
    }

    @Override
    public Collection getStateManagerIterator() {
        return new ArrayList(stateManagers);
    }

    @Override
    public Collection getPropertyResolverIterator() {
        return new ArrayList(propertyResolver);
    }

    @Override
    public Collection getVariableResolverIterator() {

        return new ArrayList(variableResolver);
    }

    @Override
    public String getDefaultLocale() {
        if (localeConfig != null) {
            return localeConfig.getDefaultLocale();
        }
        return null;
    }

    @Override
    public Collection getSupportedLocalesIterator() {
        List locale;
        if (localeConfig != null) {
            locale = localeConfig.getSupportedLocales();
        } else {
            locale = Collections.emptyList();
        }

        return locale;
    }

    @Override
    public Collection getComponentTypes() {
        return components.keySet();
    }

    @Override
    public String getComponentClass(String componentType) {
        return components.get(componentType);
    }

    @Override
    public Collection getConverterIds() {
        return converterById.keySet();
    }

    @Override
    public Collection getConverterClasses() {
        return converterByClass.keySet();
    }

    @Override
    public Collection getConverterConfigurationByClassName() {
        return converterConfigurationByClassName.keySet();
    }

    @Override
    public Converter getConverterConfiguration(String converterClassName) {
        return converterConfigurationByClassName.get(converterClassName);
    }

    @Override
    public String getConverterClassById(String converterId) {
        return converterById.get(converterId);
    }

    @Override
    public String getConverterClassByClass(String className) {
        return converterByClass.get(className);
    }

    @Override
    public Collection getDefaultValidatorIds() {
        return defaultValidatorIds;
    }

    @Override
    public Collection getValidatorIds() {
        return validators.keySet();
    }

    @Override
    public String getValidatorClass(String validatorId) {
        return validators.get(validatorId);
    }

    @Override
    public Collection getManagedBeans() {
        return managedBeans;
    }

    @Override
    public Collection getNavigationRules() {
        return navigationRules;
    }

    @Override
    public Collection getRenderKitIds() {
        return renderKits.keySet();
    }

    @Override
    public Collection getRenderKitClasses(String renderKitId) {
        return renderKits.get(renderKitId).getRenderKitClasses();
    }

    @Override
    public Collection getClientBehaviorRenderers(String renderKitId) {
        return renderKits.get(renderKitId).getClientBehaviorRenderers();
    }

    @Override
    public Collection getRenderers(String renderKitId) {
        return renderKits.get(renderKitId).getRenderer();
    }

    @Override
    public Collection getLifecyclePhaseListeners() {
        return lifecyclePhaseListeners;
    }

    @Override
    public Collection getResourceBundles() {
        return resourceBundles;
    }

    @Override
    public Collection getElResolvers() {
        return elResolvers;
    }

    @Override
    public Collection getSystemEventListeners() {
        return systemEventListeners;
    }

    @Override
    public Collection getBehaviors() {
        return behaviors;
    }

    @Override
    public String getFacesVersion() {
        return facesVersion;
    }

    @Override
    public Collection getNamedEvents() {
        return namedEvents;
    }

    @Override
    public Collection getApplicationFactoryIterator() {
        return applicationFactories;
    }

    @Override
    public Collection getExceptionHandlerFactoryIterator() {
        return exceptionHandlerFactories;
    }

    @Override
    public Collection getExternalContextFactoryIterator() {
        return externalContextFactories;
    }

    @Override
    public Collection getFacesContextFactoryIterator() {
        return facesContextFactories;
    }

    @Override
    public Collection getLifecycleFactoryIterator() {
        return lifecycleFactories;
    }

    @Override
    public Collection getViewDeclarationLanguageFactoryIterator() {
        return viewDeclarationLanguageFactories;
    }

    @Override
    public Collection getPartialViewContextFactoryIterator() {
        return partialViewContextFactories;
    }

    @Override
    public Collection getRenderKitFactoryIterator() {
        return renderKitFactories;
    }

    @Override
    public Collection getTagHandlerDelegateFactoryIterator() {
        return tagHandlerDelegateFactories;
    }

    @Override
    public Collection getVisitContextFactoryIterator() {
        return visitContextFactories;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy