Package org.apache.geronimo.web25.deployment.merge

Examples of org.apache.geronimo.web25.deployment.merge.MergeHelper


    @Override
    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
        for (PersistenceUnitRef persistenceUnitRef : webApp.getPersistenceUnitRef()) {
            String persistenceUnitRefName = persistenceUnitRef.getPersistenceUnitRefName();
            mergeContext.setAttribute(createPersistenceUnitRefKey(persistenceUnitRefName), new MergeItem(persistenceUnitRef, null, ElementSource.WEB_XML));
            //Create an attribute tag to indicate whether injectTarget is configured in web.xml file
            if (!persistenceUnitRef.getInjectionTarget().isEmpty()) {
                mergeContext.setAttribute(createPersistenceUnitRefInjectTargetConfiguredInWebXMLKey(persistenceUnitRefName), Boolean.TRUE);
            }
            for (InjectionTarget injectionTarget : persistenceUnitRef.getInjectionTarget()) {
View Full Code Here


        for (ParamValue paramValue : webFragment.getContextParam()) {
            String qualifiedContextParamName = QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName();
            if (mergeContext.containsAttribute(qualifiedContextParamName)) {
                continue;
            }
            MergeItem existedContextParamValue = (MergeItem) mergeContext.getAttribute(qualifiedContextParamName);
            if (existedContextParamValue == null) {
                webApp.getContextParam().add(paramValue);
                mergeContext.setAttribute(qualifiedContextParamName, new MergeItem(paramValue.getParamValue(), jarUrl, ElementSource.WEB_FRAGMENT));
            } else if (!existedContextParamValue.getValue().equals(paramValue.getParamValue())) {
                throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateKeyValueMessage("context-param", "param-name", paramValue.getParamName(), "param-value",
                        existedContextParamValue.getValue().toString(), existedContextParamValue.getBelongedURL(), paramValue.getParamValue(), jarUrl));
            }
        }
    }
View Full Code Here

    @Override
    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
        for (ServiceRef srcServiceRef : webFragment.getServiceRef()) {
            String serviceRefName = srcServiceRef.getServiceRefName();
            String serviceRefKey = createServiceRefKey(serviceRefName);
            MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(serviceRefKey);
            if (mergeItem != null) {
                if (mergeItem.isFromWebFragment()) {
                    throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("service-ref", serviceRefName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
                } else if (mergeItem.isFromWebXml() && !isServiceRefInjectTargetsConfiguredInInitialWebXML(serviceRefName, mergeContext)) {
                    //Merge InjectTarget
                    ServiceRef serviceRef = (ServiceRef) mergeItem.getValue();
                    for (InjectionTarget injectTarget : srcServiceRef.getInjectionTarget()) {
                        String serviceRefInjectTargetKey = createServiceRefInjectTargetKey(serviceRefName, injectTarget.getInjectionTargetClass(), injectTarget
                                .getInjectionTargetName());
                        if (!mergeContext.containsAttribute(serviceRefInjectTargetKey)) {
                            serviceRef.getInjectionTarget().add(injectTarget);
                            mergeContext.setAttribute(serviceRefInjectTargetKey, Boolean.TRUE);
                        }
                    }
                }
            } else {
                webApp.getServiceRef().add(srcServiceRef);
                mergeContext.setAttribute(serviceRefKey, new MergeItem(srcServiceRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
                for (InjectionTarget injectionTarget : srcServiceRef.getInjectionTarget()) {
                    mergeContext.setAttribute(createServiceRefInjectTargetKey(serviceRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
                            ), Boolean.TRUE);
                }
            }
View Full Code Here

    @Override
    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
        for (ServiceRef serviceRef : webApp.getServiceRef()) {
            String serviceRefName = serviceRef.getServiceRefName();
            mergeContext.setAttribute(createServiceRefKey(serviceRefName), new MergeItem(serviceRef, null, ElementSource.WEB_XML));
            //Create an attribute tag to indicate whether injectTarget is configured in web.xml file
            if (!serviceRef.getInjectionTarget().isEmpty()) {
                mergeContext.setAttribute(createServiceRefInjectTargetConfiguredInWebXMLKey(serviceRefName), Boolean.TRUE);
            }
            for (InjectionTarget injectionTarget : serviceRef.getInjectionTarget()) {
View Full Code Here

    @Override
    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
        for (EjbLocalRef srcEjbLocalRef : webFragment.getEjbLocalRef()) {
            String ejbLocalRefName = srcEjbLocalRef.getEjbRefName();
            String ejbLocalRefKey = createEjbLocalRefKey(ejbLocalRefName);
            MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(ejbLocalRefKey);
            if (mergeItem != null) {
                if (mergeItem.isFromWebFragment()) {
                    throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("ejb-local-ref", ejbLocalRefName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
                } else if (mergeItem.isFromWebXml() && !isEjbLocalRefInjectTargetsConfiguredInInitialWebXML(ejbLocalRefName, mergeContext)) {
                    //Merge InjectTarget
                    EjbLocalRef ejbLocalRef = (EjbLocalRef) mergeItem.getValue();
                    for (InjectionTarget injectTarget : srcEjbLocalRef.getInjectionTarget()) {
                        String ejbLocalRefInjectTargetKey = createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectTarget.getInjectionTargetClass(), injectTarget
                                .getInjectionTargetName());
                        if (!mergeContext.containsAttribute(ejbLocalRefInjectTargetKey)) {
                            ejbLocalRef.getInjectionTarget().add(injectTarget);
                            mergeContext.setAttribute(ejbLocalRefInjectTargetKey, Boolean.TRUE);
                        }
                    }
                }
            } else {
                webApp.getEjbLocalRef().add(srcEjbLocalRef);
                mergeContext.setAttribute(ejbLocalRefKey, new MergeItem(srcEjbLocalRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
                for (InjectionTarget injectionTarget : srcEjbLocalRef.getInjectionTarget()) {
                    mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
                            ), Boolean.TRUE);
                }
            }
View Full Code Here

    @Override
    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
        for (EjbLocalRef ejbLocalRef : webApp.getEjbLocalRef()) {
            String ejbLocalRefName = ejbLocalRef.getEjbRefName();
            mergeContext.setAttribute(createEjbLocalRefKey(ejbLocalRefName), new MergeItem(ejbLocalRef, null, ElementSource.WEB_XML));
            //Create an attribute tag to indicate whether injectTarget is configured in web.xml file
            if (ejbLocalRef.getInjectionTarget().size() > 0) {
                mergeContext.setAttribute(createEjbLocalRefInjectTargetConfiguredInWebXMLKey(ejbLocalRefName), Boolean.TRUE);
            }
            for (InjectionTarget injectionTarget : ejbLocalRef.getInjectionTarget()) {
View Full Code Here

    @Override
    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
        for (DataSource srcDataSource : webFragment.getDataSource()) {
            String dataSourceKey = createDataSourceKey(srcDataSource, mergeContext);
            MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(dataSourceKey);
            if (mergeItem != null && mergeItem.isFromWebFragment()) {
                throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("data-source", srcDataSource.getName(), mergeContext.getCurrentJarUrl(), mergeItem
                        .getBelongedURL()));
            }
            webApp.getDataSource().add(srcDataSource);
            mergeContext.setAttribute(dataSourceKey, new MergeItem(srcDataSource, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
        }
    }
View Full Code Here

    }

    @Override
    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
        for (DataSource dataSource : webApp.getDataSource()) {
            mergeContext.setAttribute(createDataSourceKey(dataSource, mergeContext), new MergeItem(dataSource, null, ElementSource.WEB_XML));
        }
    }
View Full Code Here

     *  This method will be invoked while a new servlet is found in the current webfragment.xml, while it is not found in the web.xml file and those merged web-fragment.xml files
     */
    @Override
    public void add(Servlet servlet, MergeContext mergeContext) throws DeploymentException {
        if (servlet.getLoadOnStartup() != null) {
            mergeContext.setAttribute(createServletLoadOnStartupKey(servlet.getServletName()), new MergeItem(servlet.getLoadOnStartup(), mergeContext.getCurrentJarUrl(),
                    ElementSource.WEB_FRAGMENT));
        }
    }
View Full Code Here

        if (isServletLoadOnStartupConfiguredInWebXML(servletName, mergeContext)) {
            return;
        }
        if (srcServlet.getLoadOnStartup() != null) {
            Integer srcLoadOnStartupValue = srcServlet.getLoadOnStartup();
            MergeItem existedLoadOnStartup = (MergeItem) mergeContext.getAttribute(createServletLoadOnStartupKey(servletName));
            if (existedLoadOnStartup == null) {
                targetServlet.setLoadOnStartup(srcLoadOnStartupValue);
                mergeContext.setAttribute(createServletLoadOnStartupKey(servletName), new MergeItem(srcLoadOnStartupValue, mergeContext.getCurrentJarUrl(), ElementSource.WEB_XML));
            } else if (!existedLoadOnStartup.getValue().equals(srcLoadOnStartupValue)) {
                throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateValueMessage("servlet " + servletName, "load-on-startup", existedLoadOnStartup.getValue().toString(),
                        existedLoadOnStartup.getBelongedURL(), srcLoadOnStartupValue.toString(), mergeContext.getCurrentJarUrl()));
            }
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.geronimo.web25.deployment.merge.MergeHelper

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.