[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-326) Dynamic view-id in Pageflow
by Denis Karpov (JIRA)
[ http://jira.jboss.com/jira/browse/JBSEAM-326?page=comments#action_12375132 ]
Denis Karpov commented on JBSEAM-326:
-------------------------------------
We were also compelled to make the patch for this. It is quite simple but really needful. And it is inconvenient to patch seam every time.
> Dynamic view-id in Pageflow
> ---------------------------
>
> Key: JBSEAM-326
> URL: http://jira.jboss.com/jira/browse/JBSEAM-326
> Project: JBoss Seam
> Issue Type: Feature Request
> Components: BPM
> Affects Versions: 1.1.0.BETA1
> Environment: seam cvs as of 8/2/2006
> Reporter: John Conner
> Attachments: pageflow-dynamic-view-id, pageflow-dynamic-view-id
>
>
> I have a need where I would like to have an el expression in the view-id of a pageflow. I've looked a bit at themes; and while I might be able to do what I want by replacing the template.xhtml dynamically, I don't (at least initial) like indirection.
> I believe the patch for this functionality is reletively trivial. Altough, I very well could have missed something. Basically, I modified the Page.getViewId() method to evaulate the value returned and replace any el expressions.
> I also modified the Number Guess example to use this feature.
> I have attached an initial patch as a proof of concept if it is of any interest to the Seam developers.
> -- JC
--
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
18 years, 4 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1897) consecutive s:link elements causes an ArrayIndexOutOfBoundsException
by Aaron Walker (JIRA)
consecutive s:link elements causes an ArrayIndexOutOfBoundsException
--------------------------------------------------------------------
Key: JBSEAM-1897
URL: http://jira.jboss.com/jira/browse/JBSEAM-1897
Project: JBoss Seam
Issue Type: Bug
Components: EL, JSF
Affects Versions: 2.0.0.CR1, 2.0.0.GA, 2.0.1.GA
Environment: JBoss 4.2.1 JBoss Seam BETA1 and up
Reporter: Aaron Walker
If you have something like
<p id="breadcrumb"><s:link view="/home.xhtml">Home</s:link> \ <s:link view="/contact.xhtml">Contact</s:link> \ <s:link view="/suggestion.xhtml" styleClass="current">Make a Suggestion</s:link></p>
you get an ArrayIndexOutOfBoundsException but if you put any html (such as a span tag) between the s:ink tags it works fine. For example replace the above with this
<p id="breadcrumb"><s:link view="/home.xhtml">Home</s:link><span> \ </span><s:link view="/contact.xhtml">Contact</s:link><span> \ </span><s:link view="/suggestion.xhtml" styleClass="current">Make a Suggestion</s:link></p>
and your all good.
java.lang.ArrayIndexOutOfBoundsException: 2
at com.sun.facelets.el.ELText.parse(ELText.java:319)
at com.sun.facelets.el.ELText.parse(ELText.java:282)
at com.sun.facelets.compiler.TextUnit.flushTextBuffer(TextUnit.java:98)
at com.sun.facelets.compiler.TextUnit.flushBufferToConfig(TextUnit.java:216)
at com.sun.facelets.compiler.TextUnit.addChild(TextUnit.java:207)
at com.sun.facelets.compiler.CompilationManager.startUnit(CompilationManager.java:297)
at com.sun.facelets.compiler.CompilationManager.pushTag(CompilationManager.java:191)
at com.sun.facelets.compiler.SAXCompiler$CompilationHandler.startElement(SAXCompiler.java:194)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:176)
at com.sun.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:232)
at com.sun.facelets.compiler.Compiler.compile(Compiler.java:105)
at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFaceletFactory.java:197)
at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:144)
at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:95)
at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:502)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:552)
at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:233)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:395)
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:525)
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:613)
--
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
18 years, 4 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1888) Minor issues in Seam security documentation
by Mike Pettypiece (JIRA)
Minor issues in Seam security documentation
-------------------------------------------
Key: JBSEAM-1888
URL: http://jira.jboss.com/jira/browse/JBSEAM-1888
Project: JBoss Seam
Issue Type: Bug
Components: Documentation
Affects Versions: 2.0.0.BETA1
Reporter: Mike Pettypiece
Errors found in documentation - latest CVS head:
13.6.5. Securing Entities
- Principal(principalName : name) - documentation describes this as binding the Principal name to name - it actually binds it to the variable principalName
13.7.3. Creating a security rules file
- Due to the upgrade to Drools 4.0.0, to insert facts into working memory the call to RuleBasedIdentity.instance().getSecurityContext().assertObject() should be changed to ((RuleBasedIdentity) RuleBasedIdentity.instance() ).getSecurityContext().insert()
--
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
18 years, 4 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1892) org.jboss.seam.Entity constructor gets methods and fields from wrong instance.
by Chris Rudd (JIRA)
org.jboss.seam.Entity constructor gets methods and fields from wrong instance.
------------------------------------------------------------------------------
Key: JBSEAM-1892
URL: http://jira.jboss.com/jira/browse/JBSEAM-1892
Project: JBoss Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.0.0.BETA1
Reporter: Chris Rudd
The constructor for org.jboss.seam.Entity searches the fields and methods of an Entity class. The control loop uses "clazz" for the current class to be scanned, but the code in the for loops access getBeanClass(), so even thogh it checks each super class of the entity, each iteration gets the declared methods/fields from the beanClass.
Entity.java line 38
public Entity(Class<?> beanClass)
{
super(beanClass);
for ( Class<?> clazz=beanClass; clazz!=Object.class; clazz = clazz.getSuperclass() )
{
- for ( Method method: getBeanClass().getDeclaredMethods() )
+ for( Method method:clazz.getDeclaredMethods() )
{
//TODO: does the spec allow multiple lifecycle method
// in the entity class heirarchy?
if ( method.isAnnotationPresent(PreRemove.class) )
{
preRemoveMethod = method;
}
if ( method.isAnnotationPresent(PrePersist.class) )
{
prePersistMethod = method;
}
if ( method.isAnnotationPresent(PreUpdate.class) )
{
preUpdateMethod = method;
}
if ( method.isAnnotationPresent(PostLoad.class) )
{
postLoadMethod = method;
}
if ( method.isAnnotationPresent(Id.class) || method.isAnnotationPresent(EmbeddedId.class))
{
identifierGetter = method;
}
if ( method.isAnnotationPresent(Version.class) )
{
versionGetter = method;
}
if ( !method.isAccessible() )
{
method.setAccessible(true);
}
}
if (identifierGetter==null)
{
- for ( Field field: getBeanClass().getDeclaredFields() )
+ for ( Field field: clazz.getDeclaredFields() )
{
if ( field.isAnnotationPresent(Id.class) || field.isAnnotationPresent(EmbeddedId.class))
{
identifierField = field;
if ( !field.isAccessible() )
{
field.setAccessible(true);
}
}
if ( field.isAnnotationPresent(Version.class) )
{
versionField = field;
if ( !field.isAccessible() )
{
field.setAccessible(true);
}
}
}
}
}
}
--
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
18 years, 4 months