## CPD Results

The following document contains the results of PMD's CPD 3.9.

## Duplications

File | Line
--- | ---
org/apache/myfaces/orchestra/lib/jsf/_FacesContextWrapper.java | 120
org/apache/myfaces/orchestra/lib/jsf/_PortletFacesContextWrapper.java | 250
        }

        public final FacesMessage.Severity getMaximumSeverity()
        {
            return _facesContext.getMaximumSeverity();
        }

        public final Iterator getMessages()
        {
            return _facesContext.getMessages();
        }

        public final Iterator getMessages(String clientId)
        {
            return _facesContext.getMessages(clientId);
        }

        public final RenderKit getRenderKit()
        {
            return _facesContext.getRenderKit();
        }

        public final boolean getRenderResponse()
        {
            return _facesContext.getRenderResponse();
        }

        public final boolean getResponseComplete()
        {
            return _facesContext.getResponseComplete();
        }

        public final void setResponseStream(ResponseStream responsestream)
        {
            _facesContext.setResponseStream(responsestream);
        }

        public final ResponseStream getResponseStream()
        {
            return _facesContext.getResponseStream();
        }

        public final void setResponseWriter(ResponseWriter responsewriter)
        {
            _facesContext.setResponseWriter(responsewriter);
        }

        public final ResponseWriter getResponseWriter()
        {
            return _facesContext.getResponseWriter();
        }

        public final void setViewRoot(UIViewRoot viewRoot)
        {
            _facesContext.setViewRoot(viewRoot);
        }

        public final UIViewRoot getViewRoot()
        {
            return _facesContext.getViewRoot();
        }

        public final void addMessage(String clientId, FacesMessage message)
        {
            _facesContext.addMessage(clientId, message);
        }

        public final void renderResponse()
        {
            _facesContext.renderResponse();
        }

        public final void responseComplete()
        {
            _facesContext.responseComplete();
        }

        public final ELContext getELContext()
        {
            // Here, we cannot call getELContext on FacesContext as it does not
            // exist for JSF1.1; the solution is to use reflection instead. This
            // method will never be called unless we are in a JSF1.2 environment
            // so the target method will always exist when this is called.
            try
            {
                if (methodGetELContext == null)
                {
                    // Performance optimisation: find method, and cache it for later.
                    methodGetELContext = FacesContext.class.getDeclaredMethod(
                            "getELContext", (Class[]) null);
                }
                return (ELContext) methodGetELContext.invoke(_facesContext,
                        (Object[]) null);
            }
            catch (NoSuchMethodException e)
            {
                // should never happen
                Log log = LogFactory.getLog(this.getClass());
                log.error("JSF1.2 method invoked in non-JSF-1.2 environment", e);
                throw new IllegalStateException(
                        "JSF1.2 method invoked in non-JSF-1.2 environment");
            }
            catch (InvocationTargetException e)
            {
                // should never happen
                Log log = LogFactory.getLog(this.getClass());
                log.error(
                        "Method getELContext on wrapped instance threw exception",
                        e);
                throw new IllegalStateException(
                        "Method getELContext on wrapped instance threw exception");
            }
            catch (IllegalAccessException e)
            {
                // should never happen
                Log log = LogFactory.getLog(this.getClass());
                log
                        .error(
                                "Method getElContext on wrapped instance is not accessable",
                                e);
                throw new IllegalStateException(
                        "Method getElContext on wrapped instance is not accessable");
            }
        }
    }