[jira] [Commented] (MYFACES-4472) Remove Portlet Support from 4.0?

2022-12-08 Thread Neil Griffin (Jira)


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

Neil Griffin commented on MYFACES-4472:
---

[~tandraschko] At this time, there are no plans for the Portlet Spec or for the 
JSF Portlet Bridge Spec to migrate from javax to jakarta. Those specs will 
continue to be updated as necessary with the existing javax namespace.

> Remove Portlet Support from 4.0? 
> -
>
> Key: MYFACES-4472
> URL: https://issues.apache.org/jira/browse/MYFACES-4472
> Project: MyFaces Core
>  Issue Type: Wish
>Reporter: Volodymyr Siedlecki
>Priority: Minor
>
> To be follow up on later as portlet is still under the javax namespace and 
> hasn't been moved over to EE9 or EE10. 
> 4.0 Spec still mentions portlets, however.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (MYFACES-4472) Remove Portlet Support from 4.0?

2022-12-08 Thread Neil Griffin (Jira)


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

Neil Griffin commented on MYFACES-4472:
---

[~tandraschko] Removing portlet support should be fine for 4.0.

> Remove Portlet Support from 4.0? 
> -
>
> Key: MYFACES-4472
> URL: https://issues.apache.org/jira/browse/MYFACES-4472
> Project: MyFaces Core
>  Issue Type: Wish
>Reporter: Volodymyr Siedlecki
>Priority: Minor
>
> To be follow up on later as portlet is still under the javax namespace and 
> hasn't been moved over to EE9 or EE10. 
> 4.0 Spec still mentions portlets, however.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (PORTLETBRIDGE-178) Portlet Bridge 3.0.0 -- Support Views using Ajax that reference component ids (in the execute or render id list)

2017-04-24 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15981654#comment-15981654
 ] 

Neil Griffin commented on PORTLETBRIDGE-178:


This doesn't seem to be a problem with Mojarra 2.2.13 as 
[AjaxBehaviorRenderer.java|https://github.com/javaserverfaces/mojarra/blob/2.2.13/jsf-ri/src/main/java/com/sun/faces/renderkit/html_basic/AjaxBehaviorRenderer.java#L341]
 finds the corresponding component in the tree and then calls 
UIComponent.getClientId() in order to render the value of the 
{{javax.faces.partial.execute}} and/or {{javax.faces.partial.render}} XHR 
parameter values.

> Portlet Bridge 3.0.0 -- Support Views using Ajax that reference component ids 
> (in the execute or render id list)
> 
>
> Key: PORTLETBRIDGE-178
> URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-178
> Project: MyFaces Portlet Bridge
>  Issue Type: Bug
>  Components: Impl
>Affects Versions: 3.0.0-alpha
>Reporter: Michael Freedman
>Assignee: Michael Freedman
> Fix For: 3.0.0-alpha
>
>
> The Faces 2.0 ajax javascript signature takes two parameters that allow you 
> to identify the targets of the action and the render.  Many samples, (and 
> hence commonly) set these ids statically.  This breaks when run in a 
> portlet/bridge environment because the bridge wraps the entire tree with its 
> own UIViewRoot which adds a NamingContainer to ensure are ids are unique in 
> an overall portal page.  I.e. its NC prefix is prepended to the component id. 
>  
> So the problem is the request sends ids x, y, z while the tree contains nc.x, 
> nc,y, nc.z.  hence the ids aren't found and nothing is executed/rendered.
> Fix is to write our own PartialViewContext which overrides getRenderIds() and 
> getExecuteIds() and take all the ids that don't resolve and retry them with 
> the nc id prepended.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (PORTLETBRIDGE-188) HEAD resources added to the viewroot by portlets

2017-04-20 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15977788#comment-15977788
 ] 

Neil Griffin commented on PORTLETBRIDGE-188:


This is being implemented in JSR 378 with 
[FACES-2696|https://issues.liferay.com/browse/FACES-2696].

> HEAD resources added to the viewroot by portlets
> 
>
> Key: PORTLETBRIDGE-188
> URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-188
> Project: MyFaces Portlet Bridge
>  Issue Type: Question
>  Components: Impl
>Affects Versions: 3.0.0
>Reporter: Hampus Wingren
>Assignee: Michael Freedman
>
> Hi,
> Are there any plans on supporting some way of extracting the HEAD resources 
> that a portlet may add through JSF so that the portal can handle them in some 
> manner?
> Regards,
> Hampus



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (PORTLETBRIDGE-192) Proposal for 3.0 API: javax.portlet.faces.context.BridgeContext and associated BridgeContextFactory

2017-04-20 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1597#comment-1597
 ] 

Neil Griffin edited comment on PORTLETBRIDGE-192 at 4/20/17 11:23 PM:
--

Closing this issue as "Won't Fix" since the FacesBridge is being done under JSR 
378 now. In addition, the BridgeContext concept has been removed from the new 
RI. For more information, see 
[FACES-2611|https://issues.liferay.com/browse/FACES-2611].


was (Author: ngriffin7a):
Closing this issue as "Won't Fix" since the FacesBridge is being done under JSR 
378 now. In addition, the BridgeRequestScope concept has been removed from the 
new RI. For more information, see 
[FACES-2611|https://issues.liferay.com/browse/FACES-2611].

> Proposal for 3.0 API: javax.portlet.faces.context.BridgeContext and 
> associated BridgeContextFactory
> ---
>
> Key: PORTLETBRIDGE-192
> URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-192
> Project: MyFaces Portlet Bridge
>  Issue Type: New Feature
>  Components: General
>Affects Versions: 3.0.0
>Reporter: Neil Griffin
>Assignee: Michael Freedman
>
> This class contains contextual information related to the bridge. It is 
> inherently request scoped, and is useful for sharing data between 
> implementations of Bridge.java and ExternalContext.java
> Please refer to the following classes for this proposal: 
> http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/context/BridgeContext.java
> http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/context/BridgeContextFactory.java



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (MYFACES-4053) PartialViewContextImpl does not fully implement the requirements outlined in section 2.2.6.1 of the JSF 2.2 Spec

2016-06-14 Thread Neil Griffin (JIRA)
Neil Griffin created MYFACES-4053:
-

 Summary: PartialViewContextImpl does not fully implement the 
requirements outlined in section 2.2.6.1 of the JSF 2.2 Spec
 Key: MYFACES-4053
 URL: https://issues.apache.org/jira/browse/MYFACES-4053
 Project: MyFaces Core
  Issue Type: Bug
  Components: JSR-344
Affects Versions: 2.2.10
Reporter: Neil Griffin


[JAVASERVERFACES_SPEC_PUBLIC-1069|https://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-1069]
 introduced new requirements for compatibility with portlet environments. This 
resulted in an update to section 2.2.6.1 of the Spec titled "Render Response 
Partial Processing".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MYFACES-3675) Session scoped beans are not cleaned up when PortletSession expires or is invalidated

2013-01-15 Thread Neil Griffin (JIRA)
Neil Griffin created MYFACES-3675:
-

 Summary: Session scoped beans are not cleaned up when 
PortletSession expires or is invalidated
 Key: MYFACES-3675
 URL: https://issues.apache.org/jira/browse/MYFACES-3675
 Project: MyFaces Core
  Issue Type: Bug
  Components: General
Affects Versions: 2.1.10
 Environment: Portlets
Reporter: Neil Griffin


When running in the context of a request, MyFaces calls 
FacesContext.getCurrentInstance().getExternalContext.getSessionMap() in order 
to get/set session attributes. This provides the portlet bridge with the 
ability to get/set attributes using the PortletSession, which is a layer of 
abstraction on top of the HttpSession. But when a session expires, the 
org.apache.myfaces.config.ManagedBeanDestroyer.isManagedBean(String) method 
does not check the attribute name for a portlet environment. This causes a 
memory leak when running in a portlet environment, because the portlet bridge 
is not consulted. Specifically, @SessionScoped managed-beans are not cleaned up.

The good news is that Section PLT.18.3 of the Portlet 2.0 Specification titled 
Binding Attributes into a Session requires that PortletSession attribute 
names be namespaced/prefixed with the javax.portlet.p.ID? pattern when they 
are stored in the underlying HttpSession. This would enable MyFaces to find the 
session attributes, so that cleanup can take place correctly during session 
expiration/invalidation.

Here is the parallel issue in Mojarra:
http://java.net/jira/browse/JAVASERVERFACES-2691

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (MYFACES-3675) Session scoped beans are not cleaned up when PortletSession expires or is invalidated

2013-01-15 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/MYFACES-3675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13554303#comment-13554303
 ] 

Neil Griffin commented on MYFACES-3675:
---

Here is a patched ManagedBeanDestroyer.isManagedBean(String) method:
{code}
public boolean isManagedBean(String name)
{
boolean managed = false;

if (_runtimeConfig.getManagedBean(name) == null)
{

// Section PLT.18.3 of the Portlet 2.0 Specification titled
// Binding Attributes into a Session requires that
// PortletSession attribute names be namespaced/prefixed with
// the javax.portlet.p.ID? pattern. In order to determine
// if the specified name is a SessionScoped managed-bean, it
// is necessary to first strip the pattern from it.
if ((name != null)  name.startsWith(javax.portlet.p.))
{
int pos = name.indexOf(?);
if (pos  0)
{
String attributeName = name.substring(pos+1);
managed = (_runtimeConfig.getManagedBean(attributeName) != 
null);
}
}
}
else
{
managed = true;
}
return managed;
}
{code}

 Session scoped beans are not cleaned up when PortletSession expires or is 
 invalidated
 -

 Key: MYFACES-3675
 URL: https://issues.apache.org/jira/browse/MYFACES-3675
 Project: MyFaces Core
  Issue Type: Bug
  Components: General
Affects Versions: 2.1.10
 Environment: Portlets
Reporter: Neil Griffin

 When running in the context of a request, MyFaces calls 
 FacesContext.getCurrentInstance().getExternalContext.getSessionMap() in order 
 to get/set session attributes. This provides the portlet bridge with the 
 ability to get/set attributes using the PortletSession, which is a layer of 
 abstraction on top of the HttpSession. But when a session expires, the 
 org.apache.myfaces.config.ManagedBeanDestroyer.isManagedBean(String) method 
 does not check the attribute name for a portlet environment. This causes a 
 memory leak when running in a portlet environment, because the portlet bridge 
 is not consulted. Specifically, @SessionScoped managed-beans are not cleaned 
 up.
 The good news is that Section PLT.18.3 of the Portlet 2.0 Specification 
 titled Binding Attributes into a Session requires that PortletSession 
 attribute names be namespaced/prefixed with the javax.portlet.p.ID? 
 pattern when they are stored in the underlying HttpSession. This would enable 
 MyFaces to find the session attributes, so that cleanup can take place 
 correctly during session expiration/invalidation.
 Here is the parallel issue in Mojarra:
 http://java.net/jira/browse/JAVASERVERFACES-2691

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (TRINIDAD-2284) Trinidad CoreForm does not render standard javax.faces.encodedURL hidden field

2012-08-23 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/TRINIDAD-2284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13440277#comment-13440277
 ] 

Neil Griffin commented on TRINIDAD-2284:


Thanks for providing a patch. It would be nice to see this fixed soon.

FWIW, this is the temporary workaround that I came up with: 
[ViewDeclarationLanguageJspTCKImpl.java|https://github.com/liferay/liferay-faces/blob/master/test/bridge-tck-compat/src/main/java/com/liferay/faces/bridge/tck/application/view/ViewDeclarationLanguageJspTCKImpl.java]
 and 
[ViewDeclarationLanguageFactoryTCKImpl.java|https://github.com/liferay/liferay-faces/blob/master/test/bridge-tck-compat/src/main/java/com/liferay/faces/bridge/tck/application/view/ViewDeclarationLanguageFactoryTCKImpl.java]

Also, this requires registration in faces-config.xml:

{code}
factory

view-declaration-language-factorycom.liferay.faces.bridge.tck.application.view.ViewDeclarationLanguageFactoryTCKImpl/view-declaration-language-factory
/factory
{code}



 Trinidad CoreForm does not render standard javax.faces.encodedURL hidden field
 --

 Key: TRINIDAD-2284
 URL: https://issues.apache.org/jira/browse/TRINIDAD-2284
 Project: MyFaces Trinidad
  Issue Type: Bug
  Components: Components
Affects Versions: 2.0.1-core
Reporter: Neil Griffin
 Attachments: patch.zip


 Trinidad PPR Ajax does not work in JSF 2 portlet bridges (like Liferay Faces 
 Bridge) because the renderer for tr:form does not render the standard hidden 
 field:
 input type=hidden name=javax.faces.encodedURL value=... /
 http://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/renderkitdocs/HTML_BASIC/javax.faces.Formjavax.faces.Form.html
 Since the field is not rendered, jsf.js uses the action attribute of the 
 form, which invokes the ACTION_PHASE of the portlet lifecycle. If the hidden 
 field is rendered properly, then the value of the hidden field is a portlet 
 ResourceURL which invokes the RESOURCE_PHASE of the portlet lifecycle.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (TRINIDAD-2284) Trinidad CoreForm does not render standard javax.faces.encodedURL hidden field

2012-08-23 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/TRINIDAD-2284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13440277#comment-13440277
 ] 

Neil Griffin edited comment on TRINIDAD-2284 at 8/24/12 12:30 AM:
--

Thanks for providing a patch. It would be nice to see this fixed soon.

FWIW, this is the temporary workaround that I came up with: 
[ViewDeclarationLanguageJspTCKImpl.java|https://github.com/liferay/liferay-faces/blob/master/test/bridge-tck-compat/src/main/java/com/liferay/faces/bridge/tck/application/view/ViewDeclarationLanguageJspTCKImpl.java]
 and 
[ViewDeclarationLanguageFactoryTCKImpl.java|https://github.com/liferay/liferay-faces/blob/master/test/bridge-tck-compat/src/main/java/com/liferay/faces/bridge/tck/application/view/ViewDeclarationLanguageFactoryTCKImpl.java]

Also, this requires registration in faces-config.xml:

{code}
factory

view-declaration-language-factorycom.liferay.faces.bridge.tck.application.view.ViewDeclarationLanguageFactoryTCKImpl/view-declaration-language-factory
/factory
{code}

BTW, you can ignore the JSP part of the class names. The workaround was 
implemented for making Liferay Faces Bridge compatible with the JSR 329 TCK 
which uses JSP (not Facelets), but it should work for Facelets too.




  was (Author: ngriffin7a):
Thanks for providing a patch. It would be nice to see this fixed soon.

FWIW, this is the temporary workaround that I came up with: 
[ViewDeclarationLanguageJspTCKImpl.java|https://github.com/liferay/liferay-faces/blob/master/test/bridge-tck-compat/src/main/java/com/liferay/faces/bridge/tck/application/view/ViewDeclarationLanguageJspTCKImpl.java]
 and 
[ViewDeclarationLanguageFactoryTCKImpl.java|https://github.com/liferay/liferay-faces/blob/master/test/bridge-tck-compat/src/main/java/com/liferay/faces/bridge/tck/application/view/ViewDeclarationLanguageFactoryTCKImpl.java]

Also, this requires registration in faces-config.xml:

{code}
factory

view-declaration-language-factorycom.liferay.faces.bridge.tck.application.view.ViewDeclarationLanguageFactoryTCKImpl/view-declaration-language-factory
/factory
{code}


  
 Trinidad CoreForm does not render standard javax.faces.encodedURL hidden field
 --

 Key: TRINIDAD-2284
 URL: https://issues.apache.org/jira/browse/TRINIDAD-2284
 Project: MyFaces Trinidad
  Issue Type: Bug
  Components: Components
Affects Versions: 2.0.1-core
Reporter: Neil Griffin
 Attachments: patch.zip


 Trinidad PPR Ajax does not work in JSF 2 portlet bridges (like Liferay Faces 
 Bridge) because the renderer for tr:form does not render the standard hidden 
 field:
 input type=hidden name=javax.faces.encodedURL value=... /
 http://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/renderkitdocs/HTML_BASIC/javax.faces.Formjavax.faces.Form.html
 Since the field is not rendered, jsf.js uses the action attribute of the 
 form, which invokes the ACTION_PHASE of the portlet lifecycle. If the hidden 
 field is rendered properly, then the value of the hidden field is a portlet 
 ResourceURL which invokes the RESOURCE_PHASE of the portlet lifecycle.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (PORTLETBRIDGE-229) portlet-bridge-tck-section3-2-lifecycle-set portlet specifies incorrect web.xml context-param for lifecycle

2012-08-07 Thread Neil Griffin (JIRA)
Neil Griffin created PORTLETBRIDGE-229:
--

 Summary: portlet-bridge-tck-section3-2-lifecycle-set portlet 
specifies incorrect web.xml context-param for lifecycle
 Key: PORTLETBRIDGE-229
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-229
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
 Environment: N/A
Reporter: Neil Griffin
Assignee: Michael Freedman


[Test Challenger Name and Company] 
Neil Griffin, Liferay, Inc. 

[Specification Name(s) and Version(s)] 
Portlet 2.0 Bridge for JavaServer™ Faces 1.2 

[Test Suite Name and Version] 
portlet-bridge-tck-section3-2-lifecycle-set, v1.0.0 

[Exclude List Version] 
N/A 

[Test Name] 
lifecycleTest

[Complaint (argument for why test is invalid)] 

The src/main/webapp/WEB-INF/web.xml descriptor contains the following markup:

{code}
context-param
param-namejavax.portlet.faces.LIFECYCLE_ID/param-name
param-valueTCKLifecycle/param-value
/context-param
{code}

But according to Sections 3.2 and 5.2.1 of the JSR 329 Spec, the param name 
should be {{javax.faces.LIFECYCLE_ID}} rather than 
{{javax.portlet.faces.LIFECYCLE_ID}}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (PORTLETBRIDGE-230) web.xml specifies Servlet 2.3 instead of Servlet 2.5

2012-08-07 Thread Neil Griffin (JIRA)
Neil Griffin created PORTLETBRIDGE-230:
--

 Summary: web.xml specifies Servlet 2.3 instead of Servlet 2.5
 Key: PORTLETBRIDGE-230
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-230
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
 Environment: Tomcat 6
Reporter: Neil Griffin
Assignee: Michael Freedman


[Test Challenger Name and Company] 
Neil Griffin, Liferay, Inc. 

[Specification Name(s) and Version(s)] 
Portlet 2.0 Bridge for JavaServer™ Faces 1.2 

[Test Suite Name and Version] 
portlet-bridge-tck-jsr329, v1.0.0

[Exclude List Version] 
N/A 

[Test Name] 
portlet-bridge-tck-section3-2-lifecycle-set
portlet-bridge-tck-section3-2-render-policy-always-delegate
portlet-bridge-tck-section3-2-render-policy-default
portlet-bridge-tck-section3-2-render-policy-never-delegate
portlet-bridge-tck-section6-2-configured-response-wrapper

[Complaint (argument for why test is invalid)] 

The src/main/webapp/WEB-INF/web.xml descriptor specifies the following DTD:

{code} 
!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 
2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'
web-app
{code} 

But JSF 1.2 has a dependency on Servlet 2.5, and the EL-expressions will not 
evaluate in Tomcat 6 unless the following XML Schema is specified instead:

{code}
web-app xmlns=http://java.sun.com/xml/ns/javaee;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xsi:schemaLocation=http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd;
 version=2.5
{code}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (PORTLETBRIDGE-226) requestProcessingNonFacesTest specifies charset in JSP

2012-07-26 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13423264#comment-13423264
 ] 

Neil Griffin commented on PORTLETBRIDGE-226:


Here is the patch by Mike Freedman:

Change the following line (line 51) in chapter4_2_5Result.jsp:

Existing:
if (contentType.equals(renderRequest.getResponseContentType())  
dispatcherPass)

New:
if (contentType.startsWith(renderRequest.getResponseContentType())  
dispatcherPass)


 requestProcessingNonFacesTest specifies charset in JSP
 --

 Key: PORTLETBRIDGE-226
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-226
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
 Environment: Liferay Portal + Liferay Faces Bridge
Reporter: Neil Griffin
Assignee: Michael Freedman

 [Test Challenger Name and Company] 
 Neil Griffin, Liferay, Inc. 
 [Specification Name(s) and Version(s)] 
 Portlet 2.0 Bridge for JavaServer™ Faces 1.2 
 [Test Suite Name and Version] 
 portlet-bridge-tck-main, v1.0.0 
 [Exclude List Version] 
 N/A 
 [Test Name] 
 requestProcessingNonFacesTest
 [Complaint (argument for why test is invalid)] 
 If the TestPage017 (requestProcessingNonFacesTest) is successful, the output 
 text should be the following:
 {code}Detail: Expected response content type is text/html, actual value is 
 text/html.{code}
 However, under Liferay Portal the test fails with the following:
 {code}Detail: Expected response content type is text/html, actual value is 
 text/html; charset=UTF-8.{code}
 The reason why is because the test contains a JSP file named 
 chapter4_2_5Result.jsp that starts with the following directive:
 %@ page contentType = text/html; charset=UTF-8 ... %
 ... and Liferay Portal has a feature that respects the contentType attribute 
 of the page directive, which ultimately calls back into the Liferay 
 implementation of 
 [MimeResponse.setContentType(String)|http://portals.apache.org/pluto/portlet-2.0-apidocs/javax/portlet/MimeResponse.html#setContentType(java.lang.String)].
  That's why Liferay returns an actual value of text/html; charset=UTF-8

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (PORTLETBRIDGE-227) Bridge Spec and TCK assume that the portlet container implements the post-redirect-get design pattern

2012-07-26 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13423267#comment-13423267
 ] 

Neil Griffin commented on PORTLETBRIDGE-227:


Patch from Mike Freedman:

add after line 73 in GenericFacesTestSuitePortlet.java:
(removeAttribute statement is new line following code at line 72/73.
actionRequest.setAttribute(verifyPreBridgeExclusion, avalue);
super.processAction(actionRequest, actionResponse);
+actionRequest.removeAttribute(verifyPreBridgeExclusion);

 Bridge Spec and TCK assume that the portlet container implements the 
 post-redirect-get design pattern
 -

 Key: PORTLETBRIDGE-227
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-227
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
 Environment: Liferay Portal 6.1.x + Liferay Faces Bridge 3.1.x
Reporter: Neil Griffin
Assignee: Michael Freedman

 [Test Challenger Name and Company] 
 Neil Griffin, Liferay, Inc. 
 [Specification Name(s) and Version(s)] 
 Portlet 2.0 Bridge for JavaServer™ Faces 1.2 
 [Test Suite Name and Version] 
 portlet-bridge-tck-main, v1.0.0 
 [Exclude List Version] 
 N/A 
 [Test Name] 
 TCK TestPage151 (requestMapRequestScopeTest) 
 [Complaint (argument for why test is invalid)] 
 Portlet containers like Pluto implement the post-redirect-get design pattern 
 by having the the ACTION_PHASE and RENDER_PHASE of the portlet lifecycle 
 execute in two separate user-agent requests. The first request is a POST 
 (ActionRequest), and the second request is a GET (RenderRequest). As a 
 natural by-product of this design, request attributes that were set during 
 the ACTION_PHASE do not survive into the RENDER_PHASE. On a related note, one 
 of the requirements of the bridge-request-scope is to ensure that 
 non-excluded attributes do indeed survive into the RENDER_PHASE.
 The Liferay portlet container does not implement the post-redirect-get design 
 pattern. Instead, it executes the ACTION_PHASE and RENDER_PHASE of the 
 portlet lifecycle all within a single user-agent POST request.  Because of 
 this, the Liferay portlet container maintains request attributes that were 
 originally set on the {@link ActionRequest} such that they automatically 
 survive into the {@link RenderRequest}.
 Problem Description: The TCK TestPage151 (requestMapRequestScopeTest) 
 performs some checks to make sure that certain non-excluded request 
 attributes don't survive into the RENDER_PHASE. One of these attributes is 
 named verifyPreBridgeExclusion with value avalue. Since the Liferay 
 portlet container does not implement post-redirect-get, it is not possible 
 for the bridge to programatically determine if the verifyPreBridgeExclusion 
 attribute should be removed.
 Since the Bridge Spec assumes that the portlet container implements 
 post-redirect-get, it would be necessary for the bridge to pro-actively 
 remove non-excluded request attributes when running under Liferay Portal.
 Details of problem: The following is an example list of String-based 
 attributes that are present in the Liferay Portal RenderRequest prior to the 
 FacesContext being constructed by the requestMapRequestScopeTest:
 * 
 INVOKER_FILTER_URI=/chapter6_1_3_1TestsrequestMapRequestScopeTestportlet/invoke
 * 
 PORTLET_ID=chapter6_1_3_1TestsrequestMapRequestScopeTestportlet_WAR_bridgetckmainportlet
 * verifyPreBridgeExclusion=avalue
 In this example, the INVOKER_FILTER_URI and PORTLET_ID attributes (added by 
 the Liferay portlet container) need to be maintained, but the 
 verifyPreBridgeExclusion attribute needs to be removed. But to restate the 
 problem, it is not possible for the bridge to programatically determine which 
 one of these should be maintained and which should be removed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Resolved] (PORTLETBRIDGE-224) Mojarra version dependency in JSF_ELTest for facesContext implicit object

2012-07-26 Thread Neil Griffin (JIRA)

 [ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neil Griffin resolved PORTLETBRIDGE-224.


Resolution: Not A Problem

MyFaces Portlet Bridge 2.0 has the following code in 
PortletFacesContextImpl.java:

  // Use one set as current instance in case we are wrapped
  mElContext.putContext(FacesContext.class, 
FacesContext.getCurrentInstance());

So I hereby retract this TCK Challenge since it's an issue that can be fixed in 
Liferay Faces Bridge.

 Mojarra version dependency in JSF_ELTest for facesContext implicit object
 -

 Key: PORTLETBRIDGE-224
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-224
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 [Test Challenger Name and Company]
 Neil Griffin, Liferay, Inc.
 [Specification Name(s) and Version(s)]
 Portlet 2.0 Bridge for JavaServer™ Faces 1.2
 [Test Suite Name and Version]
 portlet-bridge-tck-main, v1.0.0
 [Exclude List Version]
 N/A
 [Test Name]
 TestPage203 (JSF_ELTest)
 [Complaint (argument for why test is invalid)]
 The JSF_ELTest verifies facesContext implicit object is equal to the value 
 returned by FacesContext.getCurrentInstance(). This works fine with Mojarra 
 1.2_03, but newer versions of Mojarra have different behavior possibly due to 
 http://java.net/jira/browse/JAVASERVERFACES-565.
 In newer versions of Mojarra, the 
 com.sun.faces.el.ImplicitObjectELResolver.getValue(ELContext context, Object 
 base, Object property) method returns an instance of 
 com.sun.faces.context.FacesContextImpl, which does not match the value 
 returned by FacesContext.getCurrentInstance().
 I'm filing this as a TCK Challenge because Liferay Faces Bridge requires 
 Mojarra 1.2_13-b01 (or newer) due to the following issue: 
 http://java.net/jira/browse/JAVASERVERFACES-977

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (PORTLETBRIDGE-228) supported-publishing-event and supported-processing-event ordering is incorrect according to portlet-app_2_0.xsd

2012-07-26 Thread Neil Griffin (JIRA)
Neil Griffin created PORTLETBRIDGE-228:
--

 Summary: supported-publishing-event and supported-processing-event 
ordering is incorrect according to portlet-app_2_0.xsd
 Key: PORTLETBRIDGE-228
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-228
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
 Environment: N/A
Reporter: Neil Griffin
Assignee: Michael Freedman


[Test Challenger Name and Company] 
Neil Griffin, Liferay, Inc. 

[Specification Name(s) and Version(s)] 
Portlet 2.0 Bridge for JavaServer™ Faces 1.2 

[Test Suite Name and Version] 
portlet-bridge-tck-main, v1.0.0 

[Exclude List Version] 
N/A 

[Test Name] 
All portlets that invoke Events based IPC.

[Complaint (argument for why test is invalid)] 

The portlet-bridge-tck-main/src/main/webapp/portlet.xml descriptor has the 
following specified multiple times:

{code}
supported-publishing-event
  qname 
xmlns:bridge=http://myfaces.apache.org/portlet-bridge/event_ns;bridge:myfaces.apache.org.tck.testEvent/qname
/supported-publishing-event

supported-processing-event
  qname 
xmlns:bridge=http://myfaces.apache.org/portlet-bridge/event_ns;bridge:myfaces.apache.org.tck.testEvent/qname
/supported-processing-event
{code}

But this is invalid according to the portlet-app_2_0.xsd XML Schema, and it is 
causing Liferay Portal to refuse to deploy the portlet.

The fix is to swap the order of each occurrence, so that 
supported-processing-event appears before supported-publishing-event.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (PORTLETBRIDGE-227) Bridge Spec and TCK assume that the portlet container implements the post-redirect-get design pattern

2012-07-25 Thread Neil Griffin (JIRA)
Neil Griffin created PORTLETBRIDGE-227:
--

 Summary: Bridge Spec and TCK assume that the portlet container 
implements the post-redirect-get design pattern
 Key: PORTLETBRIDGE-227
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-227
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
 Environment: Liferay Portal 6.1.x + Liferay Faces Bridge 3.1.x
Reporter: Neil Griffin
Assignee: Michael Freedman


[Test Challenger Name and Company] 
Neil Griffin, Liferay, Inc. 

[Specification Name(s) and Version(s)] 
Portlet 2.0 Bridge for JavaServer™ Faces 1.2 

[Test Suite Name and Version] 
portlet-bridge-tck-main, v1.0.0 

[Exclude List Version] 
N/A 

[Test Name] 
TCK TestPage151 (requestMapRequestScopeTest) 
TCK TestPage203 (JSF_ELTest)

[Complaint (argument for why test is invalid)] 

Portlet containers like Pluto implement the post-redirect-get design pattern by 
having the the ACTION_PHASE and RENDER_PHASE of the portlet lifecycle execute 
in two separate user-agent requests. The first request is a POST 
(ActionRequest), and the second request is a GET (RenderRequest). As a natural 
by-product of this design, request attributes that were set during the 
ACTION_PHASE do not survive into the RENDER_PHASE. On a related note, one of 
the requirements of the bridge-request-scope is to ensure that non-excluded 
attributes do indeed survive into the RENDER_PHASE.

The Liferay portlet container does not implement the post-redirect-get design 
pattern. Instead, it executes the ACTION_PHASE and RENDER_PHASE of the portlet 
lifecycle all within a single user-agent POST request.  Because of this, the 
Liferay portlet container maintains request attributes that were originally set 
on the {@link ActionRequest} such that they automatically survive into the 
{@link RenderRequest}.

Problem #1: The TCK TestPage151 (requestMapRequestScopeTest) performs some 
checks to make sure that certain non-excluded request attributes don't survive 
into the RENDER_PHASE. One of these attributes is named 
verifyPreBridgeExclusion with value avalue. Since the Liferay portlet 
container does not implement post-redirect-get, it is not possible for the 
bridge to programatically determine if the verifyPreBridgeExclusion attribute 
should be removed.

Since the Bridge Spec assumes that the portlet container implements 
post-redirect-get, it would be necessary for the bridge to pro-actively remove 
non-excluded request attributes when running under Liferay Portal.

Details of problem: The following is an example list of String-based attributes 
that are present in the Liferay Portal RenderRequest prior to the FacesContext 
being constructed by the requestMapRequestScopeTest:

* 
INVOKER_FILTER_URI=/chapter6_1_3_1TestsrequestMapRequestScopeTestportlet/invoke
* 
PORTLET_ID=chapter6_1_3_1TestsrequestMapRequestScopeTestportlet_WAR_bridgetckmainportlet
* verifyPreBridgeExclusion=avalue

In this example, the INVOKER_FILTER_URI and PORTLET_ID attributes (added by the 
Liferay portlet container) need to be maintained, but the 
verifyPreBridgeExclusion attribute needs to be removed. But to restate the 
problem, it is not possible for the bridge to programatically determine which 
one of these should be maintained and which should be removed.

Problem #2: The TCK TestPage203 (JSF_ELTest) performs some checks to make sure 
that objects obtained from the bridge's ELResolver match expected values stored 
as request attributes. One of these attributes is 
org.apache.myfaces.portlet.faces.testsuite.common.portletConfig, which is set 
in the {@link GenericFacesTestSuitePortlet#initTestRequest(PortletRequest)} 
method. Again, since the Liferay portlet container does not implement 
post-redirect-get, it is not possible for the bridge to programatically 
determine whether or not this value should be maintained since it is an 
instance of javax.portlet.PortletConfig which the Spec requires to be removed.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (PORTLETBRIDGE-226) requestProcessingNonFacesTest specifies charset in JSP

2012-07-24 Thread Neil Griffin (JIRA)
Neil Griffin created PORTLETBRIDGE-226:
--

 Summary: requestProcessingNonFacesTest specifies charset in JSP
 Key: PORTLETBRIDGE-226
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-226
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
 Environment: Liferay Portal + Liferay Faces Bridge
Reporter: Neil Griffin
Assignee: Michael Freedman


[Test Challenger Name and Company] 
Neil Griffin, Liferay, Inc. 

[Specification Name(s) and Version(s)] 
Portlet 2.0 Bridge for JavaServer™ Faces 1.2 

[Test Suite Name and Version] 
portlet-bridge-tck-main, v1.0.0 

[Exclude List Version] 
N/A 

[Test Name] 
requestProcessingNonFacesTest

[Complaint (argument for why test is invalid)] 

If the TestPage017 (requestProcessingNonFacesTest) is successful, the output 
text should be the following:

{code}Detail: Expected response content type is text/html, actual value is 
text/html.{code}

However, under Liferay Portal the test fails with the following:
{code}Detail: Expected response content type is text/html, actual value is 
text/html; charset=UTF-8.{code}

The reason why is because the test contains a JSP file named 
chapter4_2_5Result.jsp that starts with the following directive:

%@ page contentType = text/html; charset=UTF-8 ... %

... and Liferay Portal has a feature that respects the contentType attribute of 
the page directive, which ultimately calls back into the Liferay implementation 
of 
[MimeResponse.setContentType(String)|http://portals.apache.org/pluto/portlet-2.0-apidocs/javax/portlet/MimeResponse.html#setContentType(java.lang.String)].
 That's why Liferay returns an actual value of text/html; charset=UTF-8


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (PORTLETBRIDGE-224) Mojarra version dependency in JSF_ELTest for facesContext implicit object

2012-07-21 Thread Neil Griffin (JIRA)
Neil Griffin created PORTLETBRIDGE-224:
--

 Summary: Mojarra version dependency in JSF_ELTest for facesContext 
implicit object
 Key: PORTLETBRIDGE-224
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-224
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


[Test Challenger Name and Company]
Neil Griffin, Liferay, Inc.

[Specification Name(s) and Version(s)]
Portlet 2.0 Bridge for JavaServer™ Faces 1.2

[Test Suite Name and Version]
portlet-bridge-tck-main, v1.0.0

[Exclude List Version]
N/A

[Test Name]
TestPage203 (JSF_ELTest)

[Complaint (argument for why test is invalid)]

The JSF_ELTest verifies facesContext implicit object is equal to the value 
returned by FacesContext.getCurrentInstance(). This works fine with Mojarra 
1.2_03, but newer versions of Mojarra have different behavior possibly due to 
http://java.net/jira/browse/JAVASERVERFACES-565.

In newer versions of Mojarra, the 
com.sun.faces.el.ImplicitObjectELResolver.getValue(ELContext context, Object 
base, Object property) method returns an instance of 
com.sun.faces.context.FacesContextImpl, which does not match the value returned 
by FacesContext.getCurrentInstance().

I'm filing this as a TCK Challenge because Liferay Faces Bridge requires 
Mojarra 1.2_13-b01 (or newer) due to the following issue: 
http://java.net/jira/browse/JAVASERVERFACES-977


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (PORTLETBRIDGE-225) TCK assumption regarding portlet name

2012-07-21 Thread Neil Griffin (JIRA)
Neil Griffin created PORTLETBRIDGE-225:
--

 Summary: TCK assumption regarding portlet name
 Key: PORTLETBRIDGE-225
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-225
 Project: MyFaces Portlet Bridge
  Issue Type: TCK Challenge
  Components: TCK
Affects Versions: 2.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


[Test Challenger Name and Company]
Neil Griffin, Liferay, Inc.

[Specification Name(s) and Version(s)]
Portlet 2.0 Bridge for JavaServer™ Faces 1.2

[Test Suite Name and Version]
portlet-bridge-tck-main, v1.0.0
portlet-bridge-tck-section3-2-lifecycle-set, v1.0.0
portlet-bridge-tck-section6-2-configured-response-wrapper, v1.0.0

[Exclude List Version]
N/A

[Test Name]

ALL tests in the TCK.

[Complaint (argument for why test is invalid)]

The JSR 329 TCK assumes that PortletConfig.getPortletName() returns the same 
value specified in the WEB-INF/portlet.xml portlet-name element. This is true 
for Pluto, but not for Liferay Portal.

For example, if the portlet-name is chapter5_2Tests-isPostbackTest-portlet, 
then Liferay Portal will return chapter5_2TestsisPostbackTestportlet. This 
causes all TCK tests to fail when running under Liferay Portal.

I'm filing this as a TCK Challenge because the Portlet API JavaDocs for 
[PortletConfig.getPortletName()\http://portals.apache.org/pluto/portlet-2.0-apidocs/javax/portlet/PortletConfig.html#getPortletName()]
 do not require that PortletConfig.getPortletName() be the same value specified 
in the portlet-name element.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (TRINIDAD-2284) Trinidad CoreForm does not render standard javax.faces.encodedURL hidden field

2012-06-29 Thread Neil Griffin (JIRA)
Neil Griffin created TRINIDAD-2284:
--

 Summary: Trinidad CoreForm does not render standard 
javax.faces.encodedURL hidden field
 Key: TRINIDAD-2284
 URL: https://issues.apache.org/jira/browse/TRINIDAD-2284
 Project: MyFaces Trinidad
  Issue Type: Bug
  Components: Components
Affects Versions: 2.0.1-core
Reporter: Neil Griffin


Trinidad PPR Ajax does not work in JSF 2 portlet bridges (like Liferay Faces 
Bridge) because the renderer for tr:form does not render the standard hidden 
field:

input type=hidden name=javax.faces.encodedURL value=... /

http://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/renderkitdocs/HTML_BASIC/javax.faces.Formjavax.faces.Form.html

Since the field is not rendered, jsf.js uses the action attribute of the 
form, which invokes the ACTION_PHASE of the portlet lifecycle. If the hidden 
field is rendered properly, then the value of the hidden field is a portlet 
ResourceURL which invokes the RESOURCE_PHASE of the portlet lifecycle.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (PORTLETBRIDGE-192) Proposal for 3.0 API: javax.portlet.faces.context.BridgeContext and associated BridgeContextFactory

2011-05-06 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13029877#comment-13029877
 ] 

Neil Griffin commented on PORTLETBRIDGE-192:


Regarding #1, #2, and #4: Sounds fine, I could go either way.

Regarding #3: I've implemented BridgeContext and BridgeConfig and found that 
the getPortletConfig() and getDefaultViewIdMap() belong on BridgeContext. This 
is because BridgeContext contains information about the current portlet-name 
from portlet.xml, since more than one portlet can be defined in portlet.xml. 
When I had those methods on BridgeConfig, I found that 
BridgeConfig.getPortletConfig() didn't know which portlet-name to work with, 
since it is didn't know what the current portlet was. For example, getting 
context-param values.


 Proposal for 3.0 API: javax.portlet.faces.context.BridgeContext and 
 associated BridgeContextFactory
 ---

 Key: PORTLETBRIDGE-192
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-192
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 This class contains contextual information related to the bridge. It is 
 inherently request scoped, and is useful for sharing data between 
 implementations of Bridge.java and ExternalContext.java
 Please refer to the following classes for this proposal: 
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/context/BridgeContext.java
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/context/BridgeContextFactory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-205) Proposal for 3.0 API: Deprecate constant Bridge.PORTLET_LIFECYCLE_PHASE and refactor BridgeUtil methods accordingly

2011-04-01 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13014483#comment-13014483
 ] 

Neil Griffin commented on PORTLETBRIDGE-205:


Note that the RI's BridgeImpl has a RequestAttributeListener that relies on the 
Bridge.PORTLET_LIFECYCLE_PHASE being present as a request attribute. I still 
recommend that Bridge.PORTLET_LIFECYCLE_PHASE be deprecated, and would say that 
the RI should do the request attribute as an internal, implementation dependent 
technique.

 Proposal for 3.0 API: Deprecate constant Bridge.PORTLET_LIFECYCLE_PHASE and 
 refactor BridgeUtil methods accordingly
 ---

 Key: PORTLETBRIDGE-205
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-205
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Proposal is to do this in Bridge.java:
   /** @deprecated replaced by {@link Bridge#BRIDGE_CONTEXT_ATTRIBUTE} and 
 {@link BridgeContext#getPortletLifecyclePhase()} */
   @Deprecated public static final String PORTLET_LIFECYCLE_PHASE = 
 javax.portlet.faces.phase;
 And to refactor BridgeUtil.getPortletRequestPhase() to something like this:
   public static Bridge.PortletPhase getPortletRequestPhase() {
   Bridge.PortletPhase portletRequestPhase = null;
   FacesContext facesContext = FacesContext.getCurrentInstance();
   BridgeContext bridgeContext = (BridgeContext) 
 facesContext.getAttributes().get(Bridge.BRIDGE_CONTEXT_ATTRIBUTE);
   if (bridgeContext != null) {
   portletRequestPhase = 
 bridgeContext.getPortletRequestPhase();
   }
   return portletRequestPhase;
   }
 And refactor BridgeUtil.isPortletRequest() to something like this:
   public static boolean isPortletRequest() {
   FacesContext facesContext = FacesContext.getCurrentInstance();
   BridgeContext bridgeContext = (BridgeContext) 
 facesContext.getAttributes().get(Bridge.BRIDGE_CONTEXT_ATTRIBUTE);
   return (bridgeContext != null);
   }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-210) Proposal for 3.0 API: Remove deprecated methods from GenericFacesPortlet

2011-04-01 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: Remove deprecated methods from GenericFacesPortlet


 Key: PORTLETBRIDGE-210
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-210
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


The following methods were @Deprecated in Bridge Spec version 2.0.0 and I would 
propose they should be removed in 3.0.0:


@Deprecated
public String getResponseCharacterSetEncoding(PortletRequest request) {
   ...
}

@Deprecated
public String getResponseContentType(PortletRequest request) {
   ...
}


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (PORTLETBRIDGE-208) Proposal for 3.0 API: Expose attributes on BridgeRequestScope

2011-04-01 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13014618#comment-13014618
 ] 

Neil Griffin edited comment on PORTLETBRIDGE-208 at 4/1/11 2:37 PM:


The current thinking is that the BridgeRequestScope interface will be defined 
like this:

public interface BridgeRequestScopeK, V extends ConcurrentMapString, Object 
{
}

So the getAttribute/setAttribute would not be necessary since it extends 
ConcurrentMap.

Closing this issue as WONTFIX

  was (Author: ngriffin7a):
The current thinking is that the BridgeRequestScope interface will be 
defined like this:

public interface BridgeRequestScopeString, Object extends 
ConcurrentMapString, Object {
}

So the getAttribute/setAttribute would not be necessary since it extends 
ConcurrentMap.

Closing this issue as WONTFIX
  
 Proposal for 3.0 API: Expose attributes on BridgeRequestScope
 -

 Key: PORTLETBRIDGE-208
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-208
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 It would be nice for the bridge implementation to be able to get/set various 
 implementation-dependent attributes on the BridgeRequestScope, like the 
 following method signatures:
 public interface BridgeRequestScope { 
 ... 
 Object getAttribute(String key); 
 void setAttribute(String key, Object value); 
 ... 
 } 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (PORTLETBRIDGE-208) Proposal for 3.0 API: Expose attributes on BridgeRequestScope

2011-04-01 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13014618#comment-13014618
 ] 

Neil Griffin edited comment on PORTLETBRIDGE-208 at 4/1/11 2:40 PM:


The current thinking is that the BridgeRequestScope interface will be defined 
like this:

public interface BridgeRequestScope extends ConcurrentMapString, Object {
}

So the getAttribute/setAttribute would not be necessary since it extends 
ConcurrentMap.

Closing this issue as WONTFIX

  was (Author: ngriffin7a):
The current thinking is that the BridgeRequestScope interface will be 
defined like this:

public interface BridgeRequestScopeK, V extends ConcurrentMapString, Object 
{
}

So the getAttribute/setAttribute would not be necessary since it extends 
ConcurrentMap.

Closing this issue as WONTFIX
  
 Proposal for 3.0 API: Expose attributes on BridgeRequestScope
 -

 Key: PORTLETBRIDGE-208
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-208
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 It would be nice for the bridge implementation to be able to get/set various 
 implementation-dependent attributes on the BridgeRequestScope, like the 
 following method signatures:
 public interface BridgeRequestScope { 
 ... 
 Object getAttribute(String key); 
 void setAttribute(String key, Object value); 
 ... 
 } 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-209) Proposal for 3.0 IMPL: BridgeRequestScope must not be restored when a supported-public-render-parameter value changes

2011-03-31 Thread Neil Griffin (JIRA)
Proposal for 3.0 IMPL: BridgeRequestScope must not be restored when a 
supported-public-render-parameter value changes
-

 Key: PORTLETBRIDGE-209
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-209
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


This is a proposal to add the following language to Section 5.3 of the Spec 
which discusses Public Render Parameters:

If the current portlet is participating in Inter-Portlet Communication (IPC) 
via supported-public-render-parameter entries in portlet.xml and any of the 
values have changed, then the BridgeRequestScope must not be restored.

I discovered this use case while testing the Public Render Parameters example 
portlet at portletfaces.org:
http://www.portletfaces.org/portletfaces-bridge/examples/jsf2-ipc-pub-render-params

I think that this one is hard to understand at first, so perhaps the following 
Use Case (taken from the aforementioned example portlet) will help describe the 
problem:

1. Customers portlet and Bookings portlet are placed on the same portal page
2. User selects a customer from the Customers portlet, which invokes the 
portlet ACTION_PHASE and the bridge processes selectedCustomerId as an 
OUTGOING Public Render Parameter
3. Bookings portlet undergoes the RENDER_PHASE of the portlet lifecycle, and 
the bridge processes selectedCustomerId as an INCOMING Public Render 
Parameter. Bookings portlet updates its UI to show booking details for the 
selected customer.
4. User changes a form field value (like first name or last name) in the 
Bookings portlet and clicks Submit which invokes the portlet ACTION_PHASE for 
the Bookings portlet. Consequently a new BridgeRequestScope is created for the 
Bookings portlet. Customers portlet undergoes the RENDER_PHASE of the portlet 
lifecycle and updates its UI accordingly.
5. User selects a DIFFERENT customer from the Customers portlet, which again 
invokes the ACTION_PHASE and the bridge processes selectedCustomerId as an 
OUTGOING Public Render Parameter
6. Bookings portlet again undergoes the RENDER_PHASE of the portlet lifecycle. 
BUT AT THIS POINT the BridgeRequestScope created in Step#4 MUST NOT BE 
RESTORED. If it were restored, then the bridge would not Lifecycle.execute(), 
and skip directly to the RENDER_RESPONSE phase. That means that the INCOMING 
Public Render Parameters handled by the PhaseListener in Spec Section 5.3.2 
would get skipped, and the new selectedCustomerId would not be processed. By 
not restoring, Lifecycle.execute() is permitted to happen, and the INCOMING 
Public Render Parameters are processed accordingly.





--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-206) Proposal for 3.0 API: New constant Bridge.BRIDGE_CONTEXT_ATTRIBUTE

2011-03-31 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13013890#comment-13013890
 ] 

Neil Griffin commented on PORTLETBRIDGE-206:


I tried implementing this with facesContext.getAttributes.put(name, value)  but 
couldn't make it work. I had to use portletRequest.setAttribute(name, value) 
instead.

Explanation: The bridge's ExternalContext implementation needs to get access to 
the BridgeContext during construction. At this time, the FacesContext is also 
undergoing construction. Therefore it is not possible for the ExternalContext 
implementation to call 
FacesContext.getCurrentInstance().getAttributes().get(name). However, it can 
call portletRequest.getAttribute(name) since the portletRequest is passed to 
the ExternalContext implementation during construction.

 Proposal for 3.0 API: New constant Bridge.BRIDGE_CONTEXT_ATTRIBUTE
 --

 Key: PORTLETBRIDGE-206
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-206
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Proposal is to add the following constant to Bridge.java:
   public static final String BRIDGE_CONTEXT_ATTRIBUTE = 
 javax.portlet.faces.bridgeContext;
 And to require implementations of the Bridge interface to set this attribute 
 in each of the doFacesRequest(...) methods.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-206) Proposal for 3.0 API: New constant Bridge.BRIDGE_CONTEXT_ATTRIBUTE

2011-03-31 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13014241#comment-13014241
 ] 

Neil Griffin commented on PORTLETBRIDGE-206:


Mike and I discussed this and the facesContext.getAttributes.put(name, value)  
approach will be the way to go.

 Proposal for 3.0 API: New constant Bridge.BRIDGE_CONTEXT_ATTRIBUTE
 --

 Key: PORTLETBRIDGE-206
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-206
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Proposal is to add the following constant to Bridge.java:
   public static final String BRIDGE_CONTEXT_ATTRIBUTE = 
 javax.portlet.faces.bridgeContext;
 And to require implementations of the Bridge interface to set this attribute 
 in each of the doFacesRequest(...) methods.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-205) Proposal for 3.0 API: Deprecate constant Bridge.PORTLET_LIFECYCLE_PHASE and refactor BridgeUtil methods accordingly

2011-03-30 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: Deprecate constant Bridge.PORTLET_LIFECYCLE_PHASE and 
refactor BridgeUtil methods accordingly
---

 Key: PORTLETBRIDGE-205
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-205
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Proposal is to do this in Bridge.java:

/** @deprecated replaced by {@link Bridge#BRIDGE_CONTEXT_ATTRIBUTE} and 
{@link BridgeContext#getPortletLifecyclePhase()} */
@Deprecated public static final String PORTLET_LIFECYCLE_PHASE = 
javax.portlet.faces.phase;

And to refactor BridgeUtil.getPortletRequestPhase() to something like this:

public static Bridge.PortletPhase getPortletRequestPhase() {

Bridge.PortletPhase portletRequestPhase = null;
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = 
facesContext.getExternalContext();
MapString, Object requestMap = 
externalContext.getRequestMap();

BridgeContext bridgeContext = (BridgeContext) 
requestMap.get(Bridge.BRIDGE_CONTEXT_ATTRIBUTE);

if (bridgeContext != null) {
portletRequestPhase = 
bridgeContext.getPortletRequestPhase();
}

return portletRequestPhase;
}

And refactor BridgeUtil.isPortletRequest() to something like this:

public static boolean isPortletRequest() {
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = 
facesContext.getExternalContext();
MapString, Object requestMap = 
externalContext.getRequestMap();
BridgeContext bridgeContext = (BridgeContext) 
requestMap.get(Bridge.BRIDGE_CONTEXT_ATTRIBUTE);

return (bridgeContext != null);
}


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-206) Proposal for 3.0 API: New constant Bridge.BRIDGE_CONTEXT_ATTRIBUTE

2011-03-30 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: New constant Bridge.BRIDGE_CONTEXT_ATTRIBUTE
--

 Key: PORTLETBRIDGE-206
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-206
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Proposal is to add the following constant to Bridge.java:

public static final String BRIDGE_CONTEXT_ATTRIBUTE = 
javax.portlet.faces.bridgeContext;

And to require implementations of the Bridge interface to set this attribute in 
each of the doFacesRequest(...) methods.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-30 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13008752#comment-13008752
 ] 

Neil Griffin edited comment on PORTLETBRIDGE-189 at 3/30/11 11:38 AM:
--

Factory discovery by the implementation should support the following syntax in 
any META-INF/faces-config.xml in the classpath, or WEB-INF/faces-config.xml in 
the WAR:


factory
factory-extension
bridge:bridge-factoryFQCN/bridge:bridge-factory

bridge:bridge-context-factoryFQCN/bridge:bridge-context-factory

bridge:bridge-navigation-handler-factoryFQCN/bridge:bridge-navigation-handler-factory

bridge:bridge-request-scope-factoryFQCN/bridge:bridge-request-scope-factory

bridge:bridge-request-scope-manager-factoryFQCN/bridge:bridge-request-scope-manager-factory

bridge:portlet-container-adapter-factoryFQCN/bridge:portlet-container-adapter-factory
/factory-extension
/factory


  was (Author: ngriffin7a):
Factory discovery by the implementation should support the following syntax 
in any META-INF/faces-config.xml in the classpath, or WEB-INF/faces-config.xml 
in the WAR:


factory
factory-extension
bridge:bridge-factoryFQCN/bridge:bridge-factory

bridge:bridge-context-factoryFQCN/bridge:bridge-context-factory

bridge:bridge-navigation-handler-factoryFQCN/bridge:bridge-navigation-handler-factory

bridge:bridge-request-scope-factoryFQCN/bridge:bridge-request-scope-factory

bridge:bridge-scope-manager-factoryFQCN/bridge:bridge-scope-manager-factory

bridge:portlet-container-adapter-factoryFQCN/bridge:portlet-container-adapter-factory
/factory-extension
/factory

  
 Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
 -

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Discussion of *which* factories can be done in other issues, but I wanted to 
 discuss the idea of having a BridgeFactoryFinder in this issue.
 In order to make the bridge more extensible, I would propose a 
 javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html
 For a prototype of this idea, please refer to the following class in the 
 PortletFaces Bridge trunk:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-206) Proposal for 3.0 API: New constant Bridge.BRIDGE_CONTEXT_ATTRIBUTE

2011-03-30 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13013525#comment-13013525
 ] 

Neil Griffin commented on PORTLETBRIDGE-206:


Do you mean calling facesContext.getAttributes.put(name, value) rather than 
portletRequest.setAttribute(name, value)?

 Proposal for 3.0 API: New constant Bridge.BRIDGE_CONTEXT_ATTRIBUTE
 --

 Key: PORTLETBRIDGE-206
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-206
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Proposal is to add the following constant to Bridge.java:
   public static final String BRIDGE_CONTEXT_ATTRIBUTE = 
 javax.portlet.faces.bridgeContext;
 And to require implementations of the Bridge interface to set this attribute 
 in each of the doFacesRequest(...) methods.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-207) Proposal for 3.0 alignment with JSF 2.2: Add method ExternalContext#setFlash(Flash) to JSF API

2011-03-30 Thread Neil Griffin (JIRA)
Proposal for 3.0 alignment with JSF 2.2: Add method 
ExternalContext#setFlash(Flash) to JSF API
--

 Key: PORTLETBRIDGE-207
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-207
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Currently the JSF 2.0 ExternalContext has a method named 
ExternalContext.getFlash()
http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/context/ExternalContext.html#getFlash()

But there is no ExternalContext.setFlash(Flash);

Because of PORTLETBRIDGE-201 it would be necessary to add this method to 
ExternalContext in the JSF API.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-208) Proposal for 3.0 API: Expose attributes on BridgeRequestScope

2011-03-30 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: Expose attributes on BridgeRequestScope
-

 Key: PORTLETBRIDGE-208
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-208
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


It would be nice for the bridge implementation to be able to get/set various 
implementation-dependent attributes on the BridgeRequestScope, like the 
following method signatures:

public interface BridgeRequestScope { 
... 
Object getAttribute(String key); 
void setAttribute(String key, Object value); 
... 
} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-202) Proposal for 3.0 IMPL: Support mode changes via StateAwareResponse#setPortletMode(PortletMode)

2011-03-30 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13013637#comment-13013637
 ] 

Neil Griffin commented on PORTLETBRIDGE-202:


Can you point me to the code in the RI that:

1) Handles the encoding of the target viewId

2) Performs restoration if the mode is the same


 Proposal for 3.0 IMPL: Support mode changes via 
 StateAwareResponse#setPortletMode(PortletMode)
 --

 Key: PORTLETBRIDGE-202
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-202
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 To the best of my knowledge, the Bridge 2.0 spec does not address usage of 
 StateAwareResponse#setPortletMode(PortletMode) within a JSF backing bean 
 action.
 This proposal would require the BridgeRequestScope to remember the 
 PortletMode so that mode changes can be detected:
 public interface BridgeRequestScope {
   ...
   PortletMode getPortletMode();
   void setPortletMode(PortletMode portletMode);
   ...
 }
 Note that the Bridge implementation would be required to call 
 bridgeRequestScope.setPortletMode() during an ActionRequest and EventRequest.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-201) Proposal for 3.0 IMPL: Preserve and restore Flash scope within BridgeRequestScope

2011-03-29 Thread Neil Griffin (JIRA)
Proposal for 3.0 IMPL: Preserve and restore Flash scope within 
BridgeRequestScope
-

 Key: PORTLETBRIDGE-201
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-201
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


In order to make the JSF2 Flash scope work with navigation-rules that take 
place within the Portlet 2ACTION_PHASE, it is necessary to preserve the Flash 
scope in the BridgeRequestScope so that it can survive into the RENDER_PHASE.

For more info as to implementation details, search for flash in the following 
Java class:
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-impl/trunk/src/main/java/org/portletfaces/bridge/scope/BridgeRequestScopeImpl.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-202) Proposal for 3.0 IMPL: Support mode changes via StateAwareResponse#setPortletMode(PortletMode)

2011-03-29 Thread Neil Griffin (JIRA)
Proposal for 3.0 IMPL: Support mode changes via 
StateAwareResponse#setPortletMode(PortletMode)
--

 Key: PORTLETBRIDGE-202
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-202
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


To the best of my knowledge, the Bridge 2.0 spec does not address usage of 
StateAwareResponse#setPortletMode(PortletMode) within a JSF backing bean action.

This proposal would require the BridgeRequestScope to remember the PortletMode 
so that mode changes can be detected. For more information regarding 
implementation details, please search for mode in the following Java class:
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-impl/trunk/src/main/java/org/portletfaces/bridge/scope/BridgeRequestScopeImpl.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-203) Proposal for 3.0 IMPL: Preserve and restore JSF2 FacesContext attributes in BridgeRequestScope

2011-03-29 Thread Neil Griffin (JIRA)
Proposal for 3.0 IMPL: Preserve and restore JSF2 FacesContext attributes in 
BridgeRequestScope
--

 Key: PORTLETBRIDGE-203
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-203
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


The JSF 2.0 API introduced a getAttributes() method on FacesContext:
http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/context/FacesContext.html#getAttributes()

These values need to be preserved in the BridgeRequestScope. For more 
information on implementation details, search for 
BRIDGE_REQ_SCOPE_ATTR_FACES_CONTEXT_ATTRIBUTES in the following Java class:
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-impl/trunk/src/main/java/org/portletfaces/bridge/scope/BridgeRequestScopeImpl.java


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-203) Proposal for 3.0 IMPL: Preserve and restore JSF2 FacesContext attributes in BridgeRequestScope

2011-03-29 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13012597#comment-13012597
 ] 

Neil Griffin commented on PORTLETBRIDGE-203:


Not sure about application developers, but there's a bunch of stuff that 
Mojarra is placing in this scope:

18:20:47,625 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[com.sun.faces.renderKitImplForRequest] 
value=[com.sun.faces.renderkit.RenderKitFactoryImpl@2c29c8]
18:20:47,626 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[com.sun.faces.context.StateContext_KEY] 
value=[com.sun.faces.context.StateContext@6b3c55]
18:20:47,627 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[com.sun.faces.context.FacesContextImpl_POST_BACK] value=[true]
18:20:47,627 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[RequestFlashManager] value=[previousRequestSequenceNumber: 3 
nextRequestSequenceNumber: 1]
18:20:47,628 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[SavedResponseCompleteFlagValue] value=[false]
18:20:47,629 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[javax.faces.component.AjaxBehaviors] 
value=[com.sun.faces.component.behavior.AjaxBehaviors@462601]
18:20:47,630 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[com.sun.faces.facelets.FACELET_CONTEXT] 
value=[com.sun.faces.facelets.impl.DefaultFaceletContext@6938ed]
18:20:47,631 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[com.sun.faces.INVOCATION_PATH] value=[/*]
18:20:47,633 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute 
name=[com.sun.faces.application.ApplicationImpl.IS_PROCESSING_LISTENERS] 
value=[{class javax.faces.event.PostAddToViewEvent=false, class 
javax.faces.event.PreValidateEvent=false, class 
javax.faces.event.PostConstructViewMapEvent=false, class 
javax.faces.event.PostValidateEvent=false}]
18:20:47,634 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[com.sun.faces.FACES_VIEW_STATE] value=[... MORE STUFF ...]
18:20:47,635 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[com.sun.faces.logicalViewMap] value=[8077633702120430112]
18:20:47,645 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[facelets.Encoding] value=[UTF-8]
18:20:47,646 TRACE [BridgeRequestScopeImpl:243] Restoring FacesContext 
attribute name=[javax.faces.SEPARATOR_CHAR] value=[:]


 Proposal for 3.0 IMPL: Preserve and restore JSF2 FacesContext attributes in 
 BridgeRequestScope
 --

 Key: PORTLETBRIDGE-203
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-203
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 The JSF 2.0 API introduced a getAttributes() method on FacesContext:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/context/FacesContext.html#getAttributes()
 These values need to be preserved in the BridgeRequestScope. For more 
 information on implementation details, search for 
 BRIDGE_REQ_SCOPE_ATTR_FACES_CONTEXT_ATTRIBUTES in the following Java class:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-impl/trunk/src/main/java/org/portletfaces/bridge/scope/BridgeRequestScopeImpl.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-29 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13008752#comment-13008752
 ] 

Neil Griffin edited comment on PORTLETBRIDGE-189 at 3/29/11 8:12 PM:
-

Factory discovery by the implementation should support the following syntax in 
any META-INF/faces-config.xml in the classpath, or WEB-INF/faces-config.xml in 
the WAR:


factory
factory-extension
bridge:bridge-factoryFQCN/bridge:bridge-factory

bridge:bridge-context-factoryFQCN/bridge:bridge-context-factory

bridge:bridge-navigation-handler-factoryFQCN/bridge:bridge-navigation-handler-factory

bridge:bridge-request-scope-factoryFQCN/bridge:bridge-request-scope-factory

bridge:bridge-scope-manager-factoryFQCN/bridge:bridge-scope-manager-factory

bridge:portlet-container-adapter-factoryFQCN/bridge:portlet-container-adapter-factory
/factory-extension
/factory


  was (Author: ngriffin7a):
Factory discovery by the implementation should support the following syntax 
in any META-INF/faces-config.xml in the classpath, or WEB-INF/faces-config.xml 
in the WAR:


factory
factory-extension
bridge:bridge-factoryFQCN/bridge:bridge-factory

bridge:bridge-context-factoryFQCN/bridge:bridge-context-factory

bridge:bridge-navigation-handler-factoryFQCN/bridge:bridge-navigation-handler-factory

bridge:bridge-request-scope-factoryFQCN/bridge:bridge-request-scope-factory

bridge:portlet-container-adapter-factoryFQCN/bridge:portlet-container-adapter-factory
/factory-extension
/factory

  
 Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
 -

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Discussion of *which* factories can be done in other issues, but I wanted to 
 discuss the idea of having a BridgeFactoryFinder in this issue.
 In order to make the bridge more extensible, I would propose a 
 javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html
 For a prototype of this idea, please refer to the following class in the 
 PortletFaces Bridge trunk:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PORTLETBRIDGE-200) Proposal for 3.0 alignment with JSF 2.2: Scope management in support of @PreDestroy annotation

2011-03-23 Thread Neil Griffin (JIRA)
Proposal for 3.0 alignment with JSF 2.2: Scope management in support of 
@PreDestroy annotation
--

 Key: PORTLETBRIDGE-200
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-200
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Section 6.8.1 of the Spec discusses the need for the @BridgePreDestroy 
annotation. Here's the background for the requirement...

Let's start by looking at the JavaDoc comments for the following methods on the 
JSF ExternalContext class: 
http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/context/ExternalContext.html#getApplicationMap()
 
http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/context/ExternalContext.html#getRequestMap()
 
http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/context/ExternalContext.html#getSessionMap()
 

The design here seems good, in that it is servlet/portlet agnostic: The JSF API 
makes it clear that it is the responsibility of the underlying java.util.Map to 
invoke methods annotated with javax.annotation.PreDestroy when attributes are 
removed from the Map. 

But here is the problem: The Mojarra and MyFaces JSF implementations don't have 
this logic in their Map implementations. Instead, they that they rely on the 
underlying Servlet Container (i.e. Tomcat) to call the listeners when 
attributes are added/removed. See: 
http://download.oracle.com/javaee/6/api/javax/servlet/ServletContextAttributeListener.html
 

Mojarra: The class named ConfigureListener implements the 
javax.servlet.ServletContextAttributeListener interface: 
http://java.net/projects/mojarra/sources/svn/content/trunk/jsf-ri/src/main/java/com/sun/faces/config/ConfigureListener.java?rev=8946
 

MyFaces: The class named ManagedBeanDestroyerListener implements the 
javax.servlet.ServletContextAttributeListener interface: 
http://svn.apache.org/repos/asf/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/webapp/ManagedBeanDestroyerListener.java
 

To further explain the problem... Portlet Containers typically implement the 
javax.portlet.PortletRequest as a layer of abstraction on top of an underlying 
javax.servlet.http.HttpServletRequest. However, often times that underlying 
HttpServletRequest is issued against a webapp context other than that of the 
portlet. In the case of the typical Portal+Tomcat bundle, the browser issues an 
HTTP-GET request to the tomcat/webapps/ROOT context. If the JSF implementation 
(Mojarra or MyFaces) where present in the tomcat/webapps/ROOT context, then 
their ServletContextAttributeListeners would get invoked. But that's not where 
the JSF implementation typically lives -- instead, it lives in a different 
context like tomcat/webapps/my-jsf-portlet. So that means in a (local) portal 
environment, the ServletContextAttributeListeners do not get invoked. 

What's further complicates things... There are two different kinds of portals: 
Local (like Liferay) and Remote (like Oracle WebCenter). Local Portals invoke 
portlets that are running within the same servlet container. Remote Portals 
invoke portlets that are running elsewhere via WSRP. As I stated earlier, in 
the case of Local Portals, the Mojarra and MyFaces 
ServletContextAttributeListeners don't get invoked in other contexts. BUT in 
the Remote Portal WSRP scenario, the Mojarra and MyFaces 
ServletContextAttributeListeners DO INDEED get invoked. 

Finally, the last component of the problem is that the JSF API doesn't really 
address the whole idea of scope management, such as listening to when a scope 
comes to an end. That's left as an implementation detail, and the bridge 
basically is left in the dark as to when underlying map entries are supposed to 
go out-of-scope, and also has no idea which entries in the map are managed 
beans, unless they are annotated with the @ManagedBean annotation. 

So that's why Section 6.8.1 introduces the @BridgePreDestroy annotation. In a 
portlet environment, Mojarra/MyFaces cannot be relied upon to invoke methods 
annotated with plain old @PreDestroy. They might, or they might not. So in 
order to have a reliable mechanism for a pre destroy type of annotated method 
in a portlet environment, the Bridge provides the @BridgePreDestroy annotation. 
It is guaranteed to always work in a portlet environment. 

So this issue serves as a proposal to align with the JSF 2.2 EG in order to 
fortify the JSF API with scope management (or scope listening) features. This 
would also enable us to deprecate the @BridgePreDestroy feature. Bear in mind 
that CDI comes into play here as well. Whatever we do, we want to play nicely 
with CDI when it is present in the portlet application.


--
This message is automatically generated by 

[jira] [Commented] (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-22 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009609#comment-13009609
 ] 

Neil Griffin commented on PORTLETBRIDGE-189:


I like it. I like it alot.

@Alexander: Is ServiceTracker fully CDI compatible in its current form?

 Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
 -

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Discussion of *which* factories can be done in other issues, but I wanted to 
 discuss the idea of having a BridgeFactoryFinder in this issue.
 In order to make the bridge more extensible, I would propose a 
 javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html
 For a prototype of this idea, please refer to the following class in the 
 PortletFaces Bridge trunk:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-196) Proposal for 3.0 API: javax.portlet.faces.application.BridgeNavigationHandler and associated BridgeNavigationHandlerFactory

2011-03-21 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009067#comment-13009067
 ] 

Neil Griffin commented on PORTLETBRIDGE-196:


Gee I was not aware of an existing NavigationHandler factory. I just checked 
the JavaDoc but I'm not seeing it in the typical spot:
http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html

 Proposal for 3.0 API: javax.portlet.faces.application.BridgeNavigationHandler 
 and associated BridgeNavigationHandlerFactory
 ---

 Key: PORTLETBRIDGE-196
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-196
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 This abstract class would define the contract for a brige-specific 
 NavigationHandler that fortifies the JSF runtime with the ability to handle 
 to-view-id entries in navigaion-case blocks that respect the 
 Bridge.PORTLET_MODE_PARAMETER parameter for switching to a different 
 PortletMode(s) and the Bridge.PORTLET_WINDOWSTATE_PARAMETER parameter for 
 switching to a different WindowState(s).
 It would also have the ability to react to changes in portlet modes that were 
 done programattically by portlet developers that called 
 StateAwareResponse.setWindowState(WindowState) during the INVOKE_APPLICATION 
 phase of the JSF lifecycle.
 Finally, this abstraction would remove the requirement for setting values on 
 the ActionResponse in the ExternalContext.encodeActionURL(String) method as 
 described in Spec section 5.4.2. Strictly speaking that method, is only 
 supposed to return a value, and not take any underlying actions.
 Please refer to the following classes for this proposal:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/application/BridgeNavigationHandler.java
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/application/BridgeNavigationHandlerFactory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-21 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009069#comment-13009069
 ] 

Neil Griffin commented on PORTLETBRIDGE-189:


Hi Scott, could you clarify for my what you mean by follow the complete 
hierarchy ? Thanks.

 Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
 -

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Discussion of *which* factories can be done in other issues, but I wanted to 
 discuss the idea of having a BridgeFactoryFinder in this issue.
 In order to make the bridge more extensible, I would propose a 
 javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html
 For a prototype of this idea, please refer to the following class in the 
 PortletFaces Bridge trunk:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-199) Proposal for 3.0 API: BridgeUtil.getClassPathResourceAsString(String resourcePath)

2011-03-21 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009077#comment-13009077
 ] 

Neil Griffin commented on PORTLETBRIDGE-199:


The functionality of this method is currently provided in 
GenericFacesPortlet.java:

private String getFromServicesPath(PortletContext context, String resourceName) 
{
...
}

The reason why I suggested moving this to BridgeUtil, was because at one time 
in the development of the PortletFaces Bridge, I needed this functionality both 
in GenericFacesPortlet (to discover the bridge impl) and in another place to 
discover the BridgeConfig impl. Having the method in BridgeUtil provided an 
opportunity to reuse code. However, I just realized that, since I'm using 
BridgeFactoryFinder (PORTLETBRIDGE-189), I don't need it to be in BridgeUtil 
anymore. If we perform bridge discovery with a Factory mechanism as proposed in 
PORTLETBRIDGE-195, then this private method would no longer be required in 
GenericFacesPortlet. Instead, it would be required in BridgeFactoryFinder, so 
that it could find an implementation of the finder in the classpath. So I would 
be willing to retract this proposal if we do the BridgeFactoryFinder.


 Proposal for 3.0 API: BridgeUtil.getClassPathResourceAsString(String 
 resourcePath)
 --

 Key: PORTLETBRIDGE-199
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-199
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Proposal is to introduce a utility method that can load the contents of 
 classpath resources (like META-INF/services/filename) into a String.
 This will help the API with discovery of the implementation of 
 BridgeFactoryFinder specified in PORTLETBRIDGE-189
 See the following class for more details:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeUtil.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-197) Proposal for 3.0 API: Integration with CDI

2011-03-21 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009180#comment-13009180
 ] 

Neil Griffin commented on PORTLETBRIDGE-197:


Totally agree -- thanks Kito!

 Proposal for 3.0 API: Integration with CDI
 --

 Key: PORTLETBRIDGE-197
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-197
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 There are some areas that I can think of that pertain to integration with CDI:
 1. General CDI integration/compatibility for the bridge, portlet lifecycle, 
 and faces lifecycle.
 2. Ability to @Inject into instances of 
 javax.portlet.faces.BridgePublicRenderParameterHandler
 3. Ability to @Inject into instances of 
 javax.portlet.faces.event.EventNavigationResult
 4. Ability to @Inject public render parameter values #{el-expression} into 
 CDI managed beans and Faces @ManagedBean
 5. Ability to @Inject factory implementations, rather than specifying them in 
 faces-config.xml files, and have this integrate with the BridgeFactoryFinder 
 specified in PORTLETBRIDGE-189

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (PORTLETBRIDGE-197) Proposal for 3.0 API: Integration with CDI

2011-03-21 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009180#comment-13009180
 ] 

Neil Griffin edited comment on PORTLETBRIDGE-197 at 3/21/11 3:38 PM:
-

Actually I entered BridgeEventHandler by mistake. I'll make the change in the 
issue writeup.

  was (Author: ngriffin7a):
Totally agree -- thanks Kito!
  
 Proposal for 3.0 API: Integration with CDI
 --

 Key: PORTLETBRIDGE-197
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-197
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 There are some areas that I can think of that pertain to integration with CDI:
 1. General CDI integration/compatibility for the bridge, portlet lifecycle, 
 and faces lifecycle.
 2. Ability to @Inject into instances of 
 javax.portlet.faces.BridgePublicRenderParameterHandler
 3. Ability to @Inject into instances of 
 javax.portlet.faces.event.EventNavigationResult
 4. Ability to @Inject public render parameter values #{el-expression} into 
 CDI managed beans and Faces @ManagedBean
 5. Ability to @Inject factory implementations, rather than specifying them in 
 faces-config.xml files, and have this integrate with the BridgeFactoryFinder 
 specified in PORTLETBRIDGE-189

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (PORTLETBRIDGE-197) Proposal for 3.0 API: Integration with CDI

2011-03-21 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009180#comment-13009180
 ] 

Neil Griffin edited comment on PORTLETBRIDGE-197 at 3/21/11 3:38 PM:
-

Actually I entered EventNavigationResult by mistake. I'll make the change in 
the issue writeup.

  was (Author: ngriffin7a):
Actually I entered BridgeEventHandler by mistake. I'll make the change in 
the issue writeup.
  
 Proposal for 3.0 API: Integration with CDI
 --

 Key: PORTLETBRIDGE-197
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-197
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 There are some areas that I can think of that pertain to integration with CDI:
 1. General CDI integration/compatibility for the bridge, portlet lifecycle, 
 and faces lifecycle.
 2. Ability to @Inject into instances of 
 javax.portlet.faces.BridgePublicRenderParameterHandler
 3. Ability to @Inject into instances of 
 javax.portlet.faces.event.EventNavigationResult
 4. Ability to @Inject public render parameter values #{el-expression} into 
 CDI managed beans and Faces @ManagedBean
 5. Ability to @Inject factory implementations, rather than specifying them in 
 faces-config.xml files, and have this integrate with the BridgeFactoryFinder 
 specified in PORTLETBRIDGE-189

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-21 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009325#comment-13009325
 ] 

Neil Griffin commented on PORTLETBRIDGE-189:


Hi Alexander, can you paste a link to the source in SVN? I tried to find in the 
trunk but didn't see it.

 Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
 -

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Discussion of *which* factories can be done in other issues, but I wanted to 
 discuss the idea of having a BridgeFactoryFinder in this issue.
 In order to make the bridge more extensible, I would propose a 
 javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html
 For a prototype of this idea, please refer to the following class in the 
 PortletFaces Bridge trunk:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Issue Comment Edited] (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-21 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13009325#comment-13009325
 ] 

Neil Griffin edited comment on PORTLETBRIDGE-189 at 3/21/11 7:29 PM:
-

Hi Alexander, can you paste a link to the source in SVN? I tried to find in the 
bridge trunk but didn't see it. Is it part of the RichFaces trunk?

  was (Author: ngriffin7a):
Hi Alexander, can you paste a link to the source in SVN? I tried to find in 
the trunk but didn't see it.
  
 Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
 -

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Discussion of *which* factories can be done in other issues, but I wanted to 
 discuss the idea of having a BridgeFactoryFinder in this issue.
 In order to make the bridge more extensible, I would propose a 
 javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html
 For a prototype of this idea, please refer to the following class in the 
 PortletFaces Bridge trunk:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Commented: (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-19 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13008752#comment-13008752
 ] 

Neil Griffin commented on PORTLETBRIDGE-189:


Factory discovery by the implementation should support the following syntax in 
any META-INF/faces-config.xml in the classpath, or WEB-INF/faces-config.xml in 
the WAR:


factory
factory-extension
bridge:bridge-factoryFQCN/bridge:bridge-factory

bridge:bridge-context-factoryFQCN/bridge:bridge-context-factory

bridge:bridge-navigation-handler-factoryFQCN/bridge:bridge-navigation-handler-factory

bridge:bridge-request-scope-factoryFQCN/bridge:bridge-request-scope-factory

bridge:portlet-container-adapter-factoryFQCN/bridge:portlet-container-adapter-factory
/factory-extension
/factory


 Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
 -

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Discussion of *which* factories can be done in other issues, but I wanted to 
 discuss the idea of having a BridgeFactoryFinder in this issue.
 In order to make the bridge more extensible, I would propose a 
 javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html
 For a prototype of this idea, please refer to the following class in the 
 PortletFaces Bridge trunk:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-197) Proposal for 3.0 API: Integration with CDI

2011-03-19 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: Integration with CDI
--

 Key: PORTLETBRIDGE-197
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-197
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


There are some areas that I can think of that pertain to integration with CDI:

1. General CDI integration/compatibility for the bridge, portlet lifecycle, and 
faces lifecycle.

2. Ability to @Inject into instances of 
javax.portlet.faces.BridgePublicRenderParameterHandler

3. Ability to @Inject into instances of 
javax.portlet.faces.event.EventNavigationResult

4. Ability to @Inject public render parameter values #{el-expression} into CDI 
managed beans and Faces @ManagedBean

5. Ability to @Inject factory implementations, rather than specifying them in 
faces-config.xml files, and have this integrate with the BridgeFactoryFinder 
specified in PORTLETBRIDGE-189


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-198) Proposal for 3.0 API: javax.portlet.faces.scope.BridgeScopeManager and associated BridgeScopeManagerFactory

2011-03-19 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: javax.portlet.faces.scope.BridgeScopeManager and 
associated BridgeScopeManagerFactory
---

 Key: PORTLETBRIDGE-198
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-198
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Please refer to the following classes for this proposal:

http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/scope/BridgeScopeManager.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/scope/BridgeScopeManagerFactory.java

Note that the API method signatures for the BridgeScopeManager interface are 
yet to be defined.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-199) Proposal for 3.0 API: BridgeUtil.getClassPathResourceAsString(String resourcePath)

2011-03-19 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: BridgeUtil.getClassPathResourceAsString(String 
resourcePath)
--

 Key: PORTLETBRIDGE-199
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-199
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Proposal is to introduce a utility method that can load the contents of 
classpath resources (like META-INF/services/filename) into a String.

This will help the API with discovery of the implementation of 
BridgeFactoryFinder specified in PORTLETBRIDGE-189

See the following class for more details:
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeUtil.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Commented: (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-18 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13008632#comment-13008632
 ] 

Neil Griffin commented on PORTLETBRIDGE-189:


Note that I just did a commit to the BridgeFactoryFinder.java class and 
simplified it. Please review when y'all get a chance. It now has the ability to 
have a BridgeFactoryFinderImpl.java in the bridge implementation.

 Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
 -

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 Discussion of *which* factories can be done in other issues, but I wanted to 
 discuss the idea of having a BridgeFactoryFinder in this issue.
 In order to make the bridge more extensible, I would propose a 
 javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
 http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html
 For a prototype of this idea, please refer to the following class in the 
 PortletFaces Bridge trunk:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-191) Proposal for 3.0 API: javax.portlet.faces.config.BridgeConfig and associated BridgeConfigFactory

2011-03-18 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: javax.portlet.faces.config.BridgeConfig and associated 
BridgeConfigFactory


 Key: PORTLETBRIDGE-191
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-191
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


This interface defines a contract for getting portlet bridge configuration 
values.

Please refer to the following classes for this proposal:

http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/config/BridgeConfig.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/config/BridgeConfigFactory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-192) Proposal for 3.0 API: javax.portlet.faces.context.BridgeContext and associated BridgeContextFactory

2011-03-18 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: javax.portlet.faces.context.BridgeContext and associated 
BridgeContextFactory
---

 Key: PORTLETBRIDGE-192
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-192
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


This class contains contextual information related to the bridge. It is 
inherently request scoped, and is useful for sharing data between 
implementations of Bridge.java and ExternalContext.java

Please refer to the following classes for this proposal: 

http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/context/BridgeContext.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/context/BridgeContextFactory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-193) Proposal for 3.0 API: javax.portlet.faces.adapter.PortletContainerAdapter and associated PortletContainerAdapterFactory

2011-03-18 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: javax.portlet.faces.adapter.PortletContainerAdapter and 
associated PortletContainerAdapterFactory
---

 Key: PORTLETBRIDGE-193
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-193
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


This proposal is for a simple contract for adapting features and idiosyncrasies 
of different portlet containers to the bridge.

Please refer to the following classes for this proposal:

http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/adapter/PortletContainerAdapter.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/adapter/PortletContainerAdapterFactory.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/adapter/ActionResponseAdapter.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/adapter/MimeResponseAdapter.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/adapter/PortletRequestAdapter.java


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-194) Proposal for 3.0 API: javax.portlet.faces.scope.BridgeRequestScope and associated BridgeRequestScopeFactory

2011-03-18 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: javax.portlet.faces.scope.BridgeRequestScope and 
associated BridgeRequestScopeFactory
---

 Key: PORTLETBRIDGE-194
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-194
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Section 5.1.2 of the Spec describes a concept called the bridge request scope 
and this proposal would abstract-out this concept for better modularity.

Please refer to the following classes for this proposal:

http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/scope/BridgeRequestScope.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/scope/BridgeRequestScopeFactory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-195) Proposal for 3.0 API: BridgeFactory mechanism for bridge discovery an instantiation

2011-03-18 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: BridgeFactory mechanism for bridge discovery an 
instantiation
---

 Key: PORTLETBRIDGE-195
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-195
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Note that for backward-compatibility, the factory implementation could first 
check for GenericFacesPortlet.BRIDGE_CLASS and 
GenericFacesPortlet.BRIDGE_SERVICE_CLASSPATH before creating a default instance.

Please refer to the following class for this proposal:

http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-196) Proposal for 3.0 API: javax.portlet.faces.application.BridgeNavigationHandler and associated BridgeNavigationHandlerFactory

2011-03-18 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: javax.portlet.faces.application.BridgeNavigationHandler 
and associated BridgeNavigationHandlerFactory
---

 Key: PORTLETBRIDGE-196
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-196
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


This abstract class would define the contract for a brige-specific 
NavigationHandler that fortifies the JSF runtime with the ability to handle 
to-view-id entries in navigaion-case blocks that respect the 
Bridge.PORTLET_MODE_PARAMETER parameter for switching to a different 
PortletMode(s) and the Bridge.PORTLET_WINDOWSTATE_PARAMETER parameter for 
switching to a different WindowState(s).

It would also have the ability to react to changes in portlet modes that were 
done programattically by portlet developers that called 
StateAwareResponse.setWindowState(WindowState) during the INVOKE_APPLICATION 
phase of the JSF lifecycle.

Finally, this abstraction would remove the requirement for setting values on 
the ActionResponse in the ExternalContext.encodeActionURL(String) method as 
described in Spec section 5.4.2. Strictly speaking that method, is only 
supposed to return a value, and not take any underlying actions.

Please refer to the following classes for this proposal:

http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/application/BridgeNavigationHandler.java
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/application/BridgeNavigationHandlerFactory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Commented: (PORTLETBRIDGE-191) Proposal for 3.0 API: javax.portlet.faces.config.BridgeConfig and associated BridgeConfigFactory

2011-03-18 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13008660#comment-13008660
 ] 

Neil Griffin commented on PORTLETBRIDGE-191:


Forgot to mention that I haven't been able to figure out how to make the 
BridgeConfigFactory wrappaple (participate in a chain-of-responsibility). It 
seems to me that this one is a chicken-and-the-egg scenario. Not really sure 
why anyone would want to inject a different one of these anyway.

 Proposal for 3.0 API: javax.portlet.faces.config.BridgeConfig and associated 
 BridgeConfigFactory
 

 Key: PORTLETBRIDGE-191
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-191
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman

 This interface defines a contract for getting portlet bridge configuration 
 values.
 Please refer to the following classes for this proposal:
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/config/BridgeConfig.java
 http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/config/BridgeConfigFactory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (PORTLETBRIDGE-189) Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder

2011-03-17 Thread Neil Griffin (JIRA)
Proposal for 3.0 API: javax.portlet.faces.BridgeFactoryFinder
-

 Key: PORTLETBRIDGE-189
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-189
 Project: MyFaces Portlet Bridge
  Issue Type: New Feature
  Components: General
Affects Versions: 3.0.0
Reporter: Neil Griffin
Assignee: Michael Freedman


Discussion of *which* factories can be done in other issues, but I wanted to 
discuss the idea of having a BridgeFactoryFinder in this issue.

In order to make the bridge more extensible, I would propose a 
javax.portlet.faces.BridgeFactoryFinder based on the same idea found in Faces:
http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/FactoryFinder.html

For a prototype of this idea, please refer to the following class in the 
PortletFaces Bridge trunk:
http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-api/trunk/src/main/java/org/portletfaces/bridge/BridgeFactoryFinder.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Commented: (PORTLETBRIDGE-112) Improve compatibility with Liferay Portal for portlets that extend GenericFacesPortlet

2010-04-02 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12852849#action_12852849
 ] 

Neil Griffin commented on PORTLETBRIDGE-112:


This is something that would best be fixed in the Liferay portlet container 
itself. We can do this for Liferay 6, but Liferay 4.x and Liferay 5.x are not 
getting dot-releases anymore. My guess is that Liferay 5.x has the widest 
deployment, so that's why I recommended putting the hack in the bridge.

 Improve compatibility with Liferay Portal for portlets that extend 
 GenericFacesPortlet
 --

 Key: PORTLETBRIDGE-112
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-112
 Project: MyFaces Portlet Bridge
  Issue Type: Improvement
  Components: Impl
Affects Versions: 2.0.0-alpha
Reporter: Neil Griffin

 Liferay Portal 5.2.3 (and newer) has a PortletInvokerImpl.isFacesPortlet() 
 method that will return true if the value of the portlet-class from 
 WEB-INF/portlet.xml for javax.portlet.faces.GenericFacesPortlet. However, 
 if someone needs to subclass javax.portlet.faces.GenericFacesPortlet and 
 override the getBridgeClassName() method, then Liferay's 
 PortletInvokerImpl.isFacesPortlet() will return false.
 The purpose of PortletInvokerImpl.isFacesPortlet() is really just for 
 Liferay's PortletRequestImpl.init(HttpServletRequest, Portlet, 
 InvokerPortlet, PortletContext, WindowState, PortletMode, PortletPreferences, 
 long) method, which will strip-off the namespace from request parameters for 
 all portlets except JSF portlets.
 This is somewhat of a hack, but in order to fake-out Liferay's 
 PortletRequestImpl.init(...) method, I am recommending that you have the 
 MyFaces Bridge's PortletExternalContextImpl.encodeNameSpace(String) method 
 from this:
   public String encodeNamespace(String s)
   {
 return ((PortletResponse) mPortletResponse).getNamespace() + s;
   }
 To this:
   private static final String LIFERAY_NAMESPACE_PREFIX_HACK = A;
   public String encodeNamespace(String s)
   {
 return (LIFERAY_NAMESPACE_PREFIX_HACK + (PortletResponse) 
 mPortletResponse).getNamespace() + s;
   }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (PORTLETBRIDGE-112) Improve compatibility with Liferay Portal for portlets that extend GenericFacesPortlet

2010-03-03 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12840975#action_12840975
 ] 

Neil Griffin commented on PORTLETBRIDGE-112:


Yes, if portletRequest.getAttribute(THEME_DISPLAY) is not null, then you're 
running in Liferay's portlet container.

 Improve compatibility with Liferay Portal for portlets that extend 
 GenericFacesPortlet
 --

 Key: PORTLETBRIDGE-112
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-112
 Project: MyFaces Portlet Bridge
  Issue Type: Improvement
  Components: Impl
Affects Versions: 2.0.0-alpha
Reporter: Neil Griffin

 Liferay Portal 5.2.3 (and newer) has a PortletInvokerImpl.isFacesPortlet() 
 method that will return true if the value of the portlet-class from 
 WEB-INF/portlet.xml for javax.portlet.faces.GenericFacesPortlet. However, 
 if someone needs to subclass javax.portlet.faces.GenericFacesPortlet and 
 override the getBridgeClassName() method, then Liferay's 
 PortletInvokerImpl.isFacesPortlet() will return false.
 The purpose of PortletInvokerImpl.isFacesPortlet() is really just for 
 Liferay's PortletRequestImpl.init(HttpServletRequest, Portlet, 
 InvokerPortlet, PortletContext, WindowState, PortletMode, PortletPreferences, 
 long) method, which will strip-off the namespace from request parameters for 
 all portlets except JSF portlets.
 This is somewhat of a hack, but in order to fake-out Liferay's 
 PortletRequestImpl.init(...) method, I am recommending that you have the 
 MyFaces Bridge's PortletExternalContextImpl.encodeNameSpace(String) method 
 from this:
   public String encodeNamespace(String s)
   {
 return ((PortletResponse) mPortletResponse).getNamespace() + s;
   }
 To this:
   private static final String LIFERAY_NAMESPACE_PREFIX_HACK = A;
   public String encodeNamespace(String s)
   {
 return (LIFERAY_NAMESPACE_PREFIX_HACK + (PortletResponse) 
 mPortletResponse).getNamespace() + s;
   }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (PORTLETBRIDGE-112) Improve compatibility with Liferay Portal for portlets that extend GenericFacesPortlet

2010-02-05 Thread Neil Griffin (JIRA)
Improve compatibility with Liferay Portal for portlets that extend 
GenericFacesPortlet
--

 Key: PORTLETBRIDGE-112
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-112
 Project: MyFaces Portlet Bridge
  Issue Type: Improvement
  Components: Impl
Affects Versions: 2.0.0-alpha
Reporter: Neil Griffin


Liferay Portal 5.2.3 (and newer) has a PortletInvokerImpl.isFacesPortlet() 
method that will return true if the value of the portlet-class from 
WEB-INF/portlet.xml for javax.portlet.faces.GenericFacesPortlet. However, if 
someone needs to subclass javax.portlet.faces.GenericFacesPortlet and override 
the getBridgeClassName() method, then Liferay's 
PortletInvokerImpl.isFacesPortlet() will return false.

The purpose of PortletInvokerImpl.isFacesPortlet() is really just for Liferay's 
PortletRequestImpl.init(HttpServletRequest, Portlet, InvokerPortlet, 
PortletContext, WindowState, PortletMode, PortletPreferences, long) method, 
which will strip-off the namespace from request parameters for all portlets 
except JSF portlets.

This is somewhat of a hack, but in order to fake-out Liferay's 
PortletRequestImpl.init(...) method, I am recommending that you have the 
MyFaces Bridge's PortletExternalContextImpl.encodeNameSpace(String) method from 
this:

  public String encodeNamespace(String s)
  {
return ((PortletResponse) mPortletResponse).getNamespace() + s;
  }

To this:

  private static final String LIFERAY_NAMESPACE_PREFIX_HACK = A;
  public String encodeNamespace(String s)
  {
return (LIFERAY_NAMESPACE_PREFIX_HACK + (PortletResponse) 
mPortletResponse).getNamespace() + s;
  }


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (PORTLETBRIDGE-112) Improve compatibility with Liferay Portal for portlets that extend GenericFacesPortlet

2010-02-05 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12830294#action_12830294
 ] 

Neil Griffin commented on PORTLETBRIDGE-112:


See also: http://issues.liferay.com/browse/LPS-3082

 Improve compatibility with Liferay Portal for portlets that extend 
 GenericFacesPortlet
 --

 Key: PORTLETBRIDGE-112
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-112
 Project: MyFaces Portlet Bridge
  Issue Type: Improvement
  Components: Impl
Affects Versions: 2.0.0-alpha
Reporter: Neil Griffin

 Liferay Portal 5.2.3 (and newer) has a PortletInvokerImpl.isFacesPortlet() 
 method that will return true if the value of the portlet-class from 
 WEB-INF/portlet.xml for javax.portlet.faces.GenericFacesPortlet. However, 
 if someone needs to subclass javax.portlet.faces.GenericFacesPortlet and 
 override the getBridgeClassName() method, then Liferay's 
 PortletInvokerImpl.isFacesPortlet() will return false.
 The purpose of PortletInvokerImpl.isFacesPortlet() is really just for 
 Liferay's PortletRequestImpl.init(HttpServletRequest, Portlet, 
 InvokerPortlet, PortletContext, WindowState, PortletMode, PortletPreferences, 
 long) method, which will strip-off the namespace from request parameters for 
 all portlets except JSF portlets.
 This is somewhat of a hack, but in order to fake-out Liferay's 
 PortletRequestImpl.init(...) method, I am recommending that you have the 
 MyFaces Bridge's PortletExternalContextImpl.encodeNameSpace(String) method 
 from this:
   public String encodeNamespace(String s)
   {
 return ((PortletResponse) mPortletResponse).getNamespace() + s;
   }
 To this:
   private static final String LIFERAY_NAMESPACE_PREFIX_HACK = A;
   public String encodeNamespace(String s)
   {
 return (LIFERAY_NAMESPACE_PREFIX_HACK + (PortletResponse) 
 mPortletResponse).getNamespace() + s;
   }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (PORTLETBRIDGE-77) Add detection of Servlet API dependencies in JSF implementation

2009-06-08 Thread Neil Griffin (JIRA)

[ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-77?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12717289#action_12717289
 ] 

Neil Griffin commented on PORTLETBRIDGE-77:
---

I too searched *.xml *.java and *.jsp for occurrences of /invoke and couldn't 
find any.

So I don't know the answer to your question, but I have a guess...

Section PLT.19.3.1 of the Portlet 2.0 spec says that the following parameters 
must be set:

javax.servlet.include.request_uri
javax.servlet.include.context_path
javax.servlet.include.servlet_path
javax.servlet.include.path_info
javax.servlet.include.query_string

So it might be that Liferay sets a value to /invoke, simply to pass the TCK 
test suite, thus achieving compliance.

 Add detection of Servlet API dependencies in JSF implementation
 ---

 Key: PORTLETBRIDGE-77
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-77
 Project: MyFaces Portlet Bridge
  Issue Type: Improvement
Reporter: Neil Griffin
 Attachments: FacesUtil.java, PortletExternalContextImpl.java


 This issue was discovered when trying to use the JSR 301 RI with Liferay 
 Portal.
 The Portlet spec requires the implementing portlet container (in this case, 
 specifically Liferay Portal) to specify the following request attributes:
   javax.servlet.include.path_info
   javax.servlet.include.servlet_path
 Mojarra 1.2_12 is trying to determine the viewId by checking the values of 
 these attributes. I would consider this to be a Servlet API dependency (or 
 assumption) by Mojarra. Liferay Portal is supplying its own internal values 
 for these attributes, which have no JSF viewId meaning to Mojarra. I 
 submitted patches to Sun, which will appear in Mojarra 1.2_13 when it is 
 released. Until then, the patch appears in nightly snapshots.
 The JSR 301 RI is aware of these servlet dependency problems in Mojarra, and 
 contains some workarounds. This ticket describes an improvement that needs to 
 be made to the JSR 301 RI, such that it will add detection of Servlet API 
 dependencies in the JSF implementation, and only perform the workarounds if 
 those dependencies are found.
 I'll attach patches to this ticket shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (PORTLETBRIDGE-77) Add detection of Servlet API dependencies in JSF implementation

2009-05-29 Thread Neil Griffin (JIRA)
Add detection of Servlet API dependencies in JSF implementation
---

 Key: PORTLETBRIDGE-77
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-77
 Project: MyFaces Portlet Bridge
  Issue Type: Improvement
Reporter: Neil Griffin


This issue was discovered when trying to use the JSR 301 RI with Liferay Portal.

The Portlet spec requires the implementing portlet container (in this case, 
specifically Liferay Portal) to specify the following request attributes:
javax.servlet.include.path_info
javax.servlet.include.servlet_path

Mojarra 1.2_12 is trying to determine the viewId by checking the values of 
these attributes. I would consider this to be a Servlet API dependency (or 
assumption) by Mojarra. Liferay Portal is supplying its own internal values for 
these attributes, which have no JSF viewId meaning to Mojarra. I submitted 
patches to Sun, which will appear in Mojarra 1.2_13 when it is released. Until 
then, the patch appears in nightly snapshots.

The JSR 301 RI is aware of these servlet dependency problems in Mojarra, and 
contains some workarounds. This ticket describes an improvement that needs to 
be made to the JSR 301 RI, such that it will add detection of Servlet API 
dependencies in the JSF implementation, and only perform the workarounds if 
those dependencies are found.

I'll attach patches to this ticket shortly.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (PORTLETBRIDGE-77) Add detection of Servlet API dependencies in JSF implementation

2009-05-29 Thread Neil Griffin (JIRA)

 [ 
https://issues.apache.org/jira/browse/PORTLETBRIDGE-77?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neil Griffin updated PORTLETBRIDGE-77:
--

Status: Patch Available  (was: Open)

 Add detection of Servlet API dependencies in JSF implementation
 ---

 Key: PORTLETBRIDGE-77
 URL: https://issues.apache.org/jira/browse/PORTLETBRIDGE-77
 Project: MyFaces Portlet Bridge
  Issue Type: Improvement
Reporter: Neil Griffin

 This issue was discovered when trying to use the JSR 301 RI with Liferay 
 Portal.
 The Portlet spec requires the implementing portlet container (in this case, 
 specifically Liferay Portal) to specify the following request attributes:
   javax.servlet.include.path_info
   javax.servlet.include.servlet_path
 Mojarra 1.2_12 is trying to determine the viewId by checking the values of 
 these attributes. I would consider this to be a Servlet API dependency (or 
 assumption) by Mojarra. Liferay Portal is supplying its own internal values 
 for these attributes, which have no JSF viewId meaning to Mojarra. I 
 submitted patches to Sun, which will appear in Mojarra 1.2_13 when it is 
 released. Until then, the patch appears in nightly snapshots.
 The JSR 301 RI is aware of these servlet dependency problems in Mojarra, and 
 contains some workarounds. This ticket describes an improvement that needs to 
 be made to the JSR 301 RI, such that it will add detection of Servlet API 
 dependencies in the JSF implementation, and only perform the workarounds if 
 those dependencies are found.
 I'll attach patches to this ticket shortly.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (MYFACES-1671) MyFacesGenericPortlet is causing multiple instances of PhaseListeners to be created

2007-06-27 Thread Neil Griffin (JIRA)
MyFacesGenericPortlet is causing multiple instances of PhaseListeners to be 
created
---

 Key: MYFACES-1671
 URL: https://issues.apache.org/jira/browse/MYFACES-1671
 Project: MyFaces Core
  Issue Type: Bug
  Components: Portlet_Support
Affects Versions: 1.1.4
 Environment: WinXP / Liferay 4.3.0 / Tomcat 6.0.13 / Seam 1.2.1GA
Reporter: Neil Griffin


As described in this issue:
http://jira.jboss.com/jira/browse/JBSEAM-1556

When running in a portlet environment and using MyFaces, JSF PhaseListeners get 
registered TWICE, due to the way MyFaces initializes itself: 

1. MyFaces has a StartupServletContextListener that initializes the JSF 
framework (the first time). 

2. The MyFacesGenericPortlet.initMyFaces() method initializes the JSF framework 
(a second time). 

In order to fix this, the MyFacesGenericPortlet must do a better job at 
determining whether or not the JSF framework has been initialized. There is no 
need to add the PhaseListeners to the Lifecycle a second time. And in the case 
of Seam, this can actually cause a problem, because there can be only one Seam 
phase listener active (that extends Seam's AbstractSeamPhaseListener) at any 
given time. In the case of other portlet phase listeners (like FileUpload ones 
that parse mutlipart-formdata), uploaded files would get saved twice, I would 
imagine.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.