[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-715) Allow multiple pages.xml files
by Stephan Bublava (JIRA)
Allow multiple pages.xml files
------------------------------
Key: JBSEAM-715
URL: http://jira.jboss.com/jira/browse/JBSEAM-715
Project: JBoss Seam
Issue Type: Feature Request
Components: JSF
Affects Versions: 1.1.1.GA
Reporter: Stephan Bublava
Currently it's possible to use one global pages.xml file or one file per page. I believe that both options are not well-suited for large applications.
Consider an application like:
/catalog/foo.xhtml
/bar.xhtml
/...
/basket/foo.xhtml
/bar.xhtml
/...
/admin/foo.xhtml
/bar.xhtml
/...
In this case using a global file would be too convoluted, but at the same time one file per page is too fine grained.
It would be great to allow one file per directory ("module"), either using a similar naming convention to page.xml or by adding an "import" tag to pages.xml.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 7 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2039) selectManyListbox executePhase NullPointerException
by Przemyslaw Rudzki (JIRA)
selectManyListbox executePhase NullPointerException
---------------------------------------------------
Key: JBSEAM-2039
URL: http://jira.jboss.com/jira/browse/JBSEAM-2039
Project: JBoss Seam
Issue Type: Bug
Components: JSF
Affects Versions: 1.2.1.GA
Environment: JBoss AS 4.2.1GA, Sun Microsystems JavaServer Faces Implementation 1.2_04-b16-p02, Ubuntu 7.04
Reporter: Przemyslaw Rudzki
Fix For: 1.2.1.GA
I have simple model:
class Book {
@ManyToMany //unidirectional
private List<DictionaryEntry> dictionaryEntryList;
}
In the JSF it is presented as:
<h:selectManyListbox id="select2Status" value="#{bookHome.instance.dictionaryEntryList}" required="false">
<s:convertEntity />
<s:selectItems value="#{dictionaryEntryList.resultList}" var="item" label="#{item.value}" noSelectionLabel="---------" />
</h:selectManyListbox>
1. When I create entity with some elements selected everything works fine.
2. When I edit the selection and update everything works great.
3. The problem occurs when I deselect all the items and try to do an update. I get then:
00:46:49,840 WARN [lifecycle] executePhase(PROCESS_VALIDATIONS 3,com.sun.faces.context.FacesContextImpl@1625154) threw exception
javax.faces.FacesException
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:108)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:307)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at javax.faces.component.UISelectMany.matchValue(UISelectMany.java:496)
at javax.faces.component.UISelectMany.validateValue(UISelectMany.java:454)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 7 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2226) Need Customer actionOutcome and actionMethod
by Danny Chen (JIRA)
Need Customer actionOutcome and actionMethod
--------------------------------------------
Key: JBSEAM-2226
URL: http://jira.jboss.com/jira/browse/JBSEAM-2226
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 2.0.0.GA
Reporter: Danny Chen
For conversion id, JBoss Seam provide customize method, for example:
<core:manager
conversation-timeout="300000"
conversation-id-parameter="cid"
/>
But for <s:link>, <s:button>'s actionOutcome and actionMethod, there isn't a way to change these id. I find it is hardcode in:
UIAction:
public String getName()
{
return isMethodBinding() ? "actionMethod" : "actionOutcome";
}
Pages:
private static boolean callAction(FacesContext facesContext)
{
//TODO: refactor with Pages.instance().callAction()!!
boolean result = false;
String outcome = facesContext.getExternalContext()
.getRequestParameterMap().get("actionOutcome");
String fromAction = outcome;
if (outcome==null)
{
String actionId = facesContext.getExternalContext()
.getRequestParameterMap().get("actionMethod");
if (actionId!=null)
{
if ( !SafeActions.instance().isActionSafe(actionId) ) return result;
String expression = SafeActions.toAction(actionId);
result = true;
MethodExpression actionExpression = Expressions.instance().createMethodExpression(expression);
outcome = toString( actionExpression.invoke() );
fromAction = expression;
handleOutcome(facesContext, outcome, fromAction);
}
}
else
{
handleOutcome(facesContext, outcome, fromAction);
}
return result;
}
Can let us change them just like conversion id? Thanks
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 7 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1289) Conversation Propagation andTrinidad Dialogs
by Brian Smith (JIRA)
Conversation Propagation andTrinidad Dialogs
--------------------------------------------
Key: JBSEAM-1289
URL: http://jira.jboss.com/jira/browse/JBSEAM-1289
Project: JBoss Seam
Issue Type: Feature Request
Environment: JBoss 4.0.4GA
Reporter: Brian Smith
Seam does not automatically support Trinidad's dialog feature in terms of propagating long running conversations to the dialog window.
Forum User dajevtic has provided a custom phase listener and action listener to enable propagation but it requires a specific naming convention for the dialog page. It would be nice to enable support directly using standard Seam notation like the s:conversationPropagation tag or @Begin(join = true)
Here are the relevant phase listener and action listener
*Phase Listener*
private static final String CONVERSATION_ID_SESSION_PARAMETER = "conversationId";
private Map createParameterMapForConversationRestore(String conversationId) {
Map paramterMap = new Hashtable();
paramterMap.put(CONVERSATION_ID_SESSION_PARAMETER, conversationId);
return paramterMap;
}
private void restoreConversation(Context context) {
if (context.isSet(CONVERSATION_ID_SESSION_PARAMETER)) {
String convId = context.get(CONVERSATION_ID_SESSION_PARAMETER).toString();
Manager.instance().restoreConversation(createParameterMapForConversationRestore(convId));
context.remove(CONVERSATION_ID_SESSION_PARAMETER);
}
}
public void afterPhase(PhaseEvent event) {
try {
if (event.getPhaseId().equals(PhaseId.RESTORE_VIEW)) {
UIViewRoot root = event.getFacesContext().getViewRoot();
if (root != null) {
String viewId = root.getViewId();
if ((viewId != null) && viewId.endsWith("_dlg.jspx")) {
restoreConversation(Contexts.getSessionContext());
}
}
} else {
log.info("after " + event.getPhaseId());
}
} catch (Exception e) {
log.error("Could not restore Seam conversation", e);
}
}
*Action Listener*
public void processAction(ActionEvent actionEvent)
throws AbortProcessingException {
if (actionEvent.getComponent() instanceof CoreCommandLink) {
CoreCommandLink link = (CoreCommandLink)actionEvent.getComponent();
if (link.isUseWindow()) {
Contexts.getSessionContext().set("conversationId", Manager.instance().getCurrentConversationId());
}
}
super.processAction(actionEvent);
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 7 months