You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Eduardo Breijo (JIRA)" <de...@myfaces.apache.org> on 2019/01/07 15:20:00 UTC

[jira] [Comment Edited] (MYFACES-4251) Differences in some API classes between MyFaces 2.3 and Mojarra 2.3

    [ https://issues.apache.org/jira/browse/MYFACES-4251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16735945#comment-16735945 ] 

Eduardo Breijo edited comment on MYFACES-4251 at 1/7/19 3:19 PM:
-----------------------------------------------------------------

[~tandraschko] can you take a look at the PR I created to update 2.3.x branch? I updated the classes/methods that made sense to me to match the JSF 2.3 JavaDocs. There were a few methods that I could not update, some because of test failures, some because adding the JSFExclude annotation (to not include the method when the file is compiled) didn't make any difference. With these changes, we should be closer to the Mojarra 2.3 API. Once you review the PR I'll merge it and also add the changes for the master branch.


was (Author: eduardobreijo):
[~tandraschko] can you take a look at the PR I created to update 2.3.x branch? I updated the classes/methods that made sense to me to match the JSF 2.3 JavaDocs. There were a few methods that I could not update, some because test failures, some because adding the JSFExclude annotation (to not include the method when the file is compiled) didn't make any difference. With these changes, we should be closer to the Mojarra 2.3 API. Once you review the PR I'll merge it and also add the changes for the master branch.

> Differences in some API classes between MyFaces 2.3 and Mojarra 2.3
> -------------------------------------------------------------------
>
>                 Key: MYFACES-4251
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4251
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-372
>    Affects Versions: 2.3.0, 2.3.1, 2.3.2
>            Reporter: Eduardo Breijo
>            Assignee: Eduardo Breijo
>            Priority: Major
>             Fix For: 2.3.3, 3.0.0-SNAPSHOT
>
>         Attachments: results (1).html
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Below you will find a list of differences between the MyFaces 2.3 and Mojarra 2.3 APIs. Also, attached you will find the full generated report with results.
>  
> There are some differences that might not make sense to change/update, but there are others that make sense, like missing throws or missing methods.
>  
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/application/Application.html#getResourceBundle-javax.faces.context.FacesContext-java.lang.String-]
>  [https://javaee.github.io/javaee-spec/javadocs/javax/faces/application/ApplicationWrapper.html#getResourceBundle-javax.faces.context.FacesContext-java.lang.String-]
>  - Javadocs says to throw FacesException and NullPointerException but the actual signature doesn't have the throws in the method
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/application/ConfigurableNavigationHandlerWrapper.html]
>  - Remove handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String, java.lang.String) method
>  - Note that the class already have public void handleNavigation(FacesContext context, String fromAction, String outcome)
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/behavior/BehaviorBase.html#broadcast-javax.faces.event.BehaviorEvent-]
>  - Missing throws AbortProcessingException
>  
> There are some differences in the classes from javax.faces.component.html.* package
>  
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIColumn.html]
>  - Remove getId() method, this should be inherited from UIComponentBase
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIComponentBase.html]
>  - Remove encodeAll method, it should be inherited from UIComponent. But this method looks different from the one in UIComponent
>  - Add getListenersForEventClass(), subscribeToEvent() and unsubscribeFromEvent() methods
>  - Remove visitTree method, it should be inherited from UIComponent. But this method looks different from the one in UIComponent
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIData.html]
>  - Remove encodeEnd method, it should be inherited from UIComponentBase. But this method looks different from the one in UIComponentBase.
>  - Remove getContainerClientId method, it should be inherited from UIComponent. But this method looks different from the one in UIComponent
>  - Add getClientId() method.
>  - Add setValueBinding() method, but this method is now deprecated and replaced by setValueExpression method
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIGraphic.html]
>  - Add getValueBinding and setValueBinding methods, but they are deprecated and replaced by getValueExpression and setValueExpression methods.
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIImportConstants.html#setValueExpression-java.lang.String-javax.el.ValueExpression-]
>  - Add setValueExpression() method.
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIInput.html]
>  - Remove broadcast() method, it should be inherited from UIComponentBase. But this method seems different from the one in UIComponentBase. Do we want to remove it?
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UINamingContainer.html]
>  - Remove isRendered() method, it should be inherited from UIComponentBase
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UISelectBoolean.html]
>  - Remove getValue() method, it should be inherited from UIInput
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UISelectItem.html]
>  [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UISelectItems.html]
>  - Remove setRendered() method, it should be inherited from UIComponentBase
>  - Remove getFacesContext() method. This should be inherited from UIComponentBase. Do we really want to do this? This file has not been modified since 2013
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UISelectMany.html]
>  - getConvertedValue() method should be inherited from UIInput, but the implementation in UISelectMany class is a bit different. Do we want to remove it anyway?
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIViewAction.html#isRendered--]
>  [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIViewAction.html#setRendered-boolean-]
>  - Add isRendered() and setRendered() methods
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIViewParameter.html]
>  - Add throws ConverterException to the getConvertedValue() method
>  - Add/override getSubmittedValue() and setSubmittedValue() methods
>  - Remove isRendered() method, it should be inherited from UIComponentBase
>  - Remove getFacesContext() method. This should be inherited from UIComponentBase. Do we really want to do this? This file has not been modified since 2013
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIViewRoot.html#processEvent-javax.faces.event.ComponentSystemEvent-]
>  - Missing method public void processEvent(ComponentSystemEvent event) throws AbortProcessingException
>  - Remove getAttributes, setId() and setRendered(), they should be inherited from UIComponentBase
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/component/UIWebsocket.html#setValueExpression-java.lang.String-javax.el.ValueExpression-]
>  - Missing setValueExpression method in UIWebsocket
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/context/PartialResponseWriter.html]
>  - Remove endCDATA(), getWrapped() and startCDATA() methods, they should be inherited from ResponseWriterWrapper
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/convert/EnumConverter.html#getAsObject-javax.faces.context.FacesContext-javax.faces.component.UIComponent-java.lang.String-]
>  [https://javaee.github.io/javaee-spec/javadocs/javax/faces/convert/EnumConverter.html#getAsString-javax.faces.context.FacesContext-javax.faces.component.UIComponent-java.lang.Object-]
>  - Both should remove the throws ConverterException from the method signatrue
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/event/SystemEventListener.html#processEvent-javax.faces.event.SystemEvent-]
>  - Missing throws AbortProcessingException
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/event/ComponentSystemEventListener.html#processEvent-javax.faces.event.ComponentSystemEvent-]
>  - Missing throws AbortProcessingException
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/event/PhaseEvent.html]
>  - Remove equals() and hashCode() methods, but they shoudl be inherited from the Object class. But they seem to implement something different. Not sure if we want to remove these methods.
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/validator/BeanValidator.html#validate-javax.faces.context.FacesContext-javax.faces.component.UIComponent-java.lang.Object-]
>  - Remove the throws ValidatorException
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/validator/RequiredValidator.html#validate-javax.faces.context.FacesContext-javax.faces.component.UIComponent-java.lang.Object-]
>  - Remove the throws ValidatorException
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/view/facelets/DelegatingMetaTagHandler.html#applyNextHandler-javax.faces.view.facelets.FaceletContext-javax.faces.component.UIComponent-]
>  - The applyNextHandler method is missing throws FacesException and ELException
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/view/facelets/Facelet.html#apply-javax.faces.context.FacesContext-javax.faces.component.UIComponent-]
>  - The apply method needs to remove throws FaceletException, FacesException and ELException
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/view/facelets/FaceletContext.html]
>  - Remove throws FaceletException, FacesException, ELException from both includeFacelet() methods.
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/webapp/AttributeTag.html]
>  - Add doEndTag() method, but this method is deprecated now.
> [https://javaee.github.io/javaee-spec/javadocs/javax/faces/webapp/UIComponentELTag.html#getELContext--]
>  - Missing method protected ELContext getELContext()
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)