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

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


    @Override
    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
        for (ServiceRefType serviceRef : webApp.getServiceRefArray()) {
            String serviceRefName = serviceRef.getServiceRefName().getStringValue();
            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.getInjectionTargetArray().length > 0) {
                mergeContext.setAttribute(createServiceRefInjectTargetConfiguredInWebXMLKey(serviceRefName), Boolean.TRUE);
            }
            for (InjectionTargetType injectionTarget : serviceRef.getInjectionTargetArray()) {
View Full Code Here


    @Override
    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
        for (ResourceEnvRefType srcResourceEnvRef : webFragment.getResourceEnvRefArray()) {
            String resourceEnvRefName = srcResourceEnvRef.getResourceEnvRefName().getStringValue();
            String resourceEnvRefKey = createResourceEnvRefKey(resourceEnvRefName);
            MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(resourceEnvRefKey);
            if (mergeItem != null) {
                if (mergeItem.isFromWebFragment()) {
                    throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("resource-env-ref", resourceEnvRefName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
                } else if (mergeItem.isFromWebXml() && !isResourceEnvRefInjectTargetsConfiguredInInitialWebXML(resourceEnvRefName, mergeContext)) {
                    //Merge InjectTarget
                    ResourceEnvRefType resourceEnvRef = (ResourceEnvRefType) mergeItem.getValue();
                    for (InjectionTargetType injectTarget : srcResourceEnvRef.getInjectionTargetArray()) {
                        String resourceEnvRefInjectTargetKey = createResourceEnvRefInjectTargetKey(resourceEnvRefName, injectTarget.getInjectionTargetClass().getStringValue(), injectTarget
                                .getInjectionTargetName().getStringValue());
                        if (!mergeContext.containsAttribute(resourceEnvRefInjectTargetKey)) {
                            resourceEnvRef.addNewInjectionTarget().set(injectTarget);
                            mergeContext.setAttribute(resourceEnvRefInjectTargetKey, Boolean.TRUE);
                        }
                    }
                }
            } else {
                ResourceEnvRefType targetResourceEnvRef = (ResourceEnvRefType) webApp.addNewResourceEnvRef().set(srcResourceEnvRef);
                mergeContext.setAttribute(resourceEnvRefKey, new MergeItem(targetResourceEnvRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
                for (InjectionTargetType injectionTarget : targetResourceEnvRef.getInjectionTargetArray()) {
                    mergeContext.setAttribute(createResourceEnvRefInjectTargetKey(resourceEnvRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
                            .getStringValue()), Boolean.TRUE);
                }
            }
View Full Code Here

    @Override
    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
        for (ResourceEnvRefType resourceEnvRef : webApp.getResourceEnvRefArray()) {
            String resourceEnvRefName = resourceEnvRef.getResourceEnvRefName().getStringValue();
            mergeContext.setAttribute(createResourceEnvRefKey(resourceEnvRefName), new MergeItem(resourceEnvRef, null, ElementSource.WEB_XML));
            //Create an attribute tag to indicate whether injectTarget is configured in web.xml file
            if (resourceEnvRef.getInjectionTargetArray().length > 0) {
                mergeContext.setAttribute(createResourceEnvRefInjectTargetConfiguredInWebXMLKey(resourceEnvRefName), Boolean.TRUE);
            }
            for (InjectionTargetType injectionTarget : resourceEnvRef.getInjectionTargetArray()) {
View Full Code Here

    @Override
    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
        for (EjbRefType srcEjbRef : webFragment.getEjbRefArray()) {
            String ejbRefName = srcEjbRef.getEjbRefName().getStringValue();
            String ejbRefKey = createEjbRefKey(ejbRefName);
            MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(ejbRefKey);
            if (mergeItem != null) {
                if (mergeItem.isFromWebFragment()) {
                    throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("ejb-ref", ejbRefName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
                } else if (mergeItem.isFromWebXml() && !isEjbRefInjectTargetsConfiguredInInitialWebXML(ejbRefName, mergeContext)) {
                    //Merge InjectTarget
                    EjbRefType ejbRef = (EjbRefType) mergeItem.getValue();
                    for (InjectionTargetType injectTarget : srcEjbRef.getInjectionTargetArray()) {
                        String ejbRefInjectTargetKey = createEjbRefInjectTargetKey(ejbRefName, injectTarget.getInjectionTargetClass().getStringValue(), injectTarget
                                .getInjectionTargetName().getStringValue());
                        if (!mergeContext.containsAttribute(ejbRefInjectTargetKey)) {
                            ejbRef.addNewInjectionTarget().set(injectTarget);
                            mergeContext.setAttribute(ejbRefInjectTargetKey, Boolean.TRUE);
                        }
                    }
                }
            } else {
                EjbRefType targetEjbRef = (EjbRefType) webApp.addNewEjbRef().set(srcEjbRef);
                mergeContext.setAttribute(ejbRefKey, new MergeItem(targetEjbRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
                for (InjectionTargetType injectionTarget : targetEjbRef.getInjectionTargetArray()) {
                    mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
                            .getStringValue()), Boolean.TRUE);
                }
            }
View Full Code Here

    @Override
    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
        for (EjbRefType ejbRef : webApp.getEjbRefArray()) {
            String ejbRefName = ejbRef.getEjbRefName().getStringValue();
            mergeContext.setAttribute(createEjbRefKey(ejbRefName), new MergeItem(ejbRef, null, ElementSource.WEB_XML));
            //Create an attribute tag to indicate whether injectTarget is configured in web.xml file
            if (ejbRef.getInjectionTargetArray().length > 0) {
                mergeContext.setAttribute(createEjbRefInjectTargetConfiguredInWebXMLKey(ejbRefName), Boolean.TRUE);
            }
            for (InjectionTargetType injectionTarget : ejbRef.getInjectionTargetArray()) {
View Full Code Here

    @Override
    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
        for (EjbLocalRefType ejbLocalRef : webApp.getEjbLocalRefArray()) {
            String ejbLocalRefName = ejbLocalRef.getEjbRefName().getStringValue();
            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.getInjectionTargetArray().length > 0) {
                mergeContext.setAttribute(createEjbLocalRefInjectTargetConfiguredInWebXMLKey(ejbLocalRefName), Boolean.TRUE);
            }
            for (InjectionTargetType injectionTarget : ejbLocalRef.getInjectionTargetArray()) {
View Full Code Here

    @Override
    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
        for (DataSourceType srcDataSource : webFragment.getDataSourceArray()) {
            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().getStringValue(), mergeContext.getCurrentJarUrl(), mergeItem
                        .getBelongedURL()));
            }
            DataSourceType targetDataSource = (DataSourceType) webApp.addNewDataSource().set(srcDataSource);
            mergeContext.setAttribute(dataSourceKey, new MergeItem(targetDataSource, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
        }
    }
View Full Code Here

    }

    @Override
    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
        for (DataSourceType dataSource : webApp.getDataSourceArray()) {
            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(ServletType servlet, MergeContext mergeContext) throws DeploymentException {
        if (servlet.getLoadOnStartup() != null) {
            mergeContext.setAttribute(createServletLoadOnStartupKey(servlet.getServletName().getStringValue()), new MergeItem(servlet.getLoadOnStartup(), mergeContext.getCurrentJarUrl(),
                    ElementSource.WEB_FRAGMENT));
        }
    }
View Full Code Here

        if (isServletLoadOnStartupConfiguredInWebXML(servletName, mergeContext)) {
            return;
        }
        if (srcServlet.getLoadOnStartup() != null) {
            BigInteger srcLoadOnStartupValue = (BigInteger) 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.