[JBoss JIRA] Created: (SEAMFACES-141) Create a converter for dealing with lists
by Brian Leathem (JIRA)
Create a converter for dealing with lists
-----------------------------------------
Key: SEAMFACES-141
URL: https://issues.jboss.org/browse/SEAMFACES-141
Project: Seam Faces
Issue Type: Feature Request
Components: Validation & Conversion
Reporter: Brian Leathem
A converter is required to serialize an object into the query string for use as a view param. If that object is a list, it would be helpful to make …
[View More]use of an existing converter that converts each individual entry, and has the cumulative result serialized as a string.
The standard CGI syntax represents arrays as multiple values, each with the same key. This may already be supported in JSF, but at the time of writing this, I couldn't find it.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[View Less]
13 years, 7 months
[JBoss JIRA] Created: (SEAMFACES-143) Auto-decoration of invalid fields
by Nicklas Karlsson (JIRA)
Auto-decoration of invalid fields
---------------------------------
Key: SEAMFACES-143
URL: https://issues.jboss.org/browse/SEAMFACES-143
Project: Seam Faces
Issue Type: Feature Request
Components: UI Components
Affects Versions: 3.0.1
Reporter: Nicklas Karlsson
It would be handy to auto-decorate invalid fields with e.g. an error icon and the message (based on a user template) by listening to JSF 2 validation …
[View More]error system events and decorate the invalid field without having to wrap it manually in a composite component.
Is facelet-template based wrapping possible or how should the user be able to write the wrapping component and indicate where the input component should be placed in it?
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[View Less]
13 years, 7 months
[JBoss JIRA] Created: (SEAMFACES-131) org.jboss.seam.faces.InputContainer doesn't work with Myfaces
by Ilya Dyoshin (JIRA)
org.jboss.seam.faces.InputContainer doesn't work with Myfaces
--------------------------------------------------------------
Key: SEAMFACES-131
URL: https://issues.jboss.org/browse/SEAMFACES-131
Project: Seam Faces
Issue Type: Bug
Components: UI Components
Affects Versions: 3.0.0.CR2
Environment: JBoss AS 6 with Myfaces 2.0.4
Reporter: Ilya Dyoshin
When I've switched to myfaces 2.0.4
the view …
[View More]crated following exception:
javax.faces.FacesException: Undefined component type org.jboss.seam.faces.InputContainer
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1281)
at org.jboss.weld.integration.webtier.jsf.ForwardingApplication.createComponent(ForwardingApplication.java:140)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1136)
at org.jboss.weld.integration.webtier.jsf.ForwardingApplication.createComponent(ForwardingApplication.java:116)
at org.apache.myfaces.view.facelets.tag.composite.CompositeComponentResourceTagHandler.createComponent(CompositeComponentResourceTagHandler.java:107)
at org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.createComponent(ComponentTagHandlerDelegate.java:497)
at org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:263)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:54)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:59)
at org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:324)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:54)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
at org.apache.myfaces.view.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:86)
at org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:167)
at org.apache.myfaces.view.facelets.impl.TemplateContextImpl$TemplateManagerImpl.apply(TemplateContextImpl.java:128)
at org.apache.myfaces.view.facelets.impl.TemplateContextImpl.includeDefinition(TemplateContextImpl.java:92)
at org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:433)
at org.apache.myfaces.view.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:93)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:59)
at org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:324)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:54)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
at org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:57)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
at org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:45)
at org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:322)
at org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:369)
at org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:347)
at org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:215)
at org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:140)
at org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:57)
at org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:45)
at org.apache.myfaces.view.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:143)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.buildView(FaceletViewDeclarationLanguage.java:329)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:66)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at com.uniqa.lex.web.filters.UnicodeFilter.doFilter(UnicodeFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
at java.lang.Thread.run(Thread.java:680)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[View Less]
13 years, 7 months
[JBoss JIRA] Created: (SEAMFACES-109) Provide a query API to retrieve components from view metadata
by Dan Allen (JIRA)
Provide a query API to retrieve components from view metadata
-------------------------------------------------------------
Key: SEAMFACES-109
URL: https://issues.jboss.org/browse/SEAMFACES-109
Project: Seam Faces
Issue Type: Feature Request
Components: UI Components
Affects Versions: 3.0.0.CR1
Reporter: Dan Allen
Priority: Minor
The ViewMetadata API only provides a method for retrieving the …
[View More]collection of UIViewParameter components. However, this facet can be used for many other components, such as view actions, view restrictions and so forth. Seam Faces should provide a convenient query API for retrieving any type of component.
Here is a proposal:
{code:java}
public class ViewMetadataQuery {
public <C extends UIComponent> Collection<C> findMetadataComponents(UIViewRoot viewRoot,
UIComponentFilter<C> componentFilter) {
UIComponent metadataFacet = viewRoot.getFacet(UIViewRoot.METADATA_FACET_NAME);
if (metadataFacet == null) {
return Collections.<C>emptyList();
}
Collection<C> matches = new ArrayList<C>();
for (UIComponent candidate : metadataFacet.getChildren()) {
if (componentFilter.accepts(candidate)) {
matches.add((C) candidate);
}
}
return matches;
}
}
public class UIComponentFilter<C extends UIComponent> {
public abstract boolean accepts(UIComponent candidate);
}
{code}
It would be used as follows:
{code:java}
@Inject
private ViewMetadataQuery query;
...
Collection<UIViewAction> viewActions = query.findMetadataComponents(viewRoot, new UIComponentFilter<UIViewAction>() {
public boolean accepts(UIComponent candidate) {
return candidate instanceof UIViewAction;
}
});
{code}
You can simplify this further by providing a version of the method that accepts a type:
{code:java}
Collection<UIViewAction> viewActions = query.findMetadataComponents(viewRoot, UIViewAction.class);
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[View Less]
13 years, 7 months
[JBoss JIRA] Created: (SEAMFACES-107) Raise events before and/or after creation of ViewMetadata
by Dan Allen (JIRA)
Raise events before and/or after creation of ViewMetadata
---------------------------------------------------------
Key: SEAMFACES-107
URL: https://issues.jboss.org/browse/SEAMFACES-107
Project: Seam Faces
Issue Type: Feature Request
Components: CDI Integration
Affects Versions: 3.0.0.CR1
Reporter: Dan Allen
Priority: Minor
It may be useful to raise an event before or after creation of the …
[View More]ViewMetadata (or both). There is a compelling reason to raise the event afterwards to allow the application to programmatically register additional metadata components (such as UIViewAction or UIRestrictView).
public void onCreateMetadata(@Created ViewMetadata metadata, FacesContext context) {
metadata.getChildren().add(...);
}
In order for this to work, the ViewMetadata will need to either extend BeanManagerAware or become an injectable component itself (the former is simpler).
The @Created qualifier should be introduced in Solder in the "event" package.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[View Less]
13 years, 7 months