[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1350) Provide download component (e.g.<s:download value=#{FileManager.getFileById('10')" contentType="#{FileManager.contentType}" />)
by jarkko Lietolahti (JIRA)
Provide download component (e.g.<s:download value=#{FileManager.getFileById('10')" contentType="#{FileManager.contentType}" />)
-------------------------------------------------------------------------------------------------------------------------------
Key: JBSEAM-1350
URL: http://jira.jboss.com/jira/browse/JBSEAM-1350
Project: JBoss Seam
Issue Type: Feature Request
Reporter: jarkko Lietolahti
<s:download value=#{FileManager.getFileById('10')" contentType="#{FileManager.contentType}" />
We're going to create new (more general component) which allows the user to download a file (any resource, Excel file, Document whatever).
The plan is to create a new UI component named UIDownload which has attributes like value, contentType (some more?).
1) UIDownload a backing bean (value) (is this still valid word in the seam world?) to generate the data ( allow byte[], OutputStreams ?).
2) UIDownload creates DownloadResource which is stored in DownloadStore.
3) UIDownload generates HTML which redirects the browser to ResourceServlet
4) ResourceServlet then uses DownloadResource to get hold of the data and the pushes it to browser
The reason for this is that we're building portlets with Seam and it's impossible to "download" files from a portal environment without additional servlet and we think it's good idea to reuse existing stuff.
Patch coming soon (if we can make it work ;)
--
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
17 years, 3 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-541) ConversationEntry reports the wrong description
by Norman Richards (JIRA)
ConversationEntry reports the wrong description
-----------------------------------------------
Key: JBSEAM-541
URL: http://jira.jboss.com/jira/browse/JBSEAM-541
Project: JBoss Seam
Issue Type: Bug
Affects Versions: 1.1.0.CR1
Reporter: Norman Richards
Assigned To: Gavin King
The linked forum post shows one example of this bug, though it is not directly the issue the poster is complaining of.
Using the forum application as a guide, start a conversation and then start a nested conversation. End the nested conversation. The description of the parent conversation in the converstion list on will be incorrect. (it will have the name of the current conversation that just ended)
This happens because of the following code:
public String getDescription()
{
if ( isCurrent() )
{
String desc = Conversation.instance().description;
if (desc!=null) return desc;
}
return description;
}
public boolean isCurrent()
{
Manager manager = Manager.instance();
if ( manager.isLongRunningConversation() )
{
return id.equals( manager.getCurrentConversationId() );
}
else if ( manager.isNestedConversation() )
{
return id.equals( manager.getParentConversationId() );
}
else
{
return false;
}
}
The parent conversation entry is considered "current". (isLongRunning() is false and isNestedConversation() is true) Because of this, the ConversationEntry description is ignored in favor of Conversation.instance().description. (Again, Conversation.instance(), is the nested conversation that just ended)
Subsequent requests display the conversation description correctly since they are done in the context of the correct conversation.
The isNestedConversation() check looks to be the source of the problem. I can't figure out what case that would make sense for.
--
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
17 years, 6 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1262) Should be able to customize Hibernate validation messages based on context (by page, or role like Seam component scopes)
by Nathaniel Stoddard (JIRA)
Should be able to customize Hibernate validation messages based on context (by page, or role like Seam component scopes)
------------------------------------------------------------------------------------------------------------------------
Key: JBSEAM-1262
URL: http://jira.jboss.com/jira/browse/JBSEAM-1262
Project: JBoss Seam
Issue Type: Feature Request
Affects Versions: 1.2.1.GA
Reporter: Nathaniel Stoddard
Currently, each validation specified a single message resource to be used as the error message. It would be helpful if there was some way to customize the error messages to be used such that in one case "Contact address is required." is displayed, while in others "Billing address is required", for example. Annotating model classes with validation rules limits the reuse of those classes since the validation messages offer limited flexibility.
Since validated fields in the domain classes aren't necessarily associated with a UIInput on a page, it would be helpful to have more flexible annotations, such as:
@MaxLength(messages = {@Message(role='contactForm', value='contact.too_long'), @Message(role='billingForm', value='billing.too_long')})
private String field;
Also needed would be some way of indicated to the UIView which 'role' should be used when validation takes place.
--
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
17 years, 6 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1009) optionally login-require in a more specific page should be able to override a wildcard login-require
by Leo Baschy (JIRA)
optionally login-require in a more specific page should be able to override a wildcard login-require
----------------------------------------------------------------------------------------------------
Key: JBSEAM-1009
URL: http://jira.jboss.com/jira/browse/JBSEAM-1009
Project: JBoss Seam
Issue Type: Patch
Components: Security
Affects Versions: 1.2.0.GA
Environment: all
Reporter: Leo Baschy
This should be optional to switch on, so no one's existing expectations of security get broken.
The point is about having a generic wildcard <page view-id="*" scheme="http" login-required="true"> to secure the whole site, and then allowing specific pages or specific wildcards to have login-required="false". E.g. for a registration (with preview) section as one cannot be logged in if one isn't registered yet.
Some may suggest instead forcing pages into dedicated secure and not-secure directories, but in reality if there are multiple reasons to force pages into directories different ways (security, hyperlink management, publishability of URLs, etc.), one cannot serve all of them.
--
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
17 years, 6 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1277) ServerConversationContext does not process removals / additions when an exception propagates up
by Chris Rudd (JIRA)
ServerConversationContext does not process removals / additions when an exception propagates up
-----------------------------------------------------------------------------------------------
Key: JBSEAM-1277
URL: http://jira.jboss.com/jira/browse/JBSEAM-1277
Project: JBoss Seam
Issue Type: Bug
Components: Core
Affects Versions: 1.2.0.GA
Reporter: Chris Rudd
I have an Stateful EJB Component that throws an exception (this is expected, im testing that the system can recover from that error). This causes the component to be removed from the seam contexts (via the RemoveInterceptor). Then the exception floats up and is caught by the ExceptionFilter, and is redirected to a new view. All that works correctly. BUT when I return to the conversation that contained the EJB component, the component is still in it (even though the RemoveInterceptor removed it).
Ive traced it down to this :
ServerConversationContext.remove -- this adds the removal to the removals list, but does not update the session.attributes (the real storage for the context).
ServerConversationContext.flush -- this applies the removals / additions to the session attributes map.
The problem is that flush is never called when an exception propagates out. Thus the changes to that context are never flushed to the session attributes.
--
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
17 years, 6 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-808) StatckOverflowError if factory specifies it's component
by John Ray (JIRA)
StatckOverflowError if factory specifies it's component
-------------------------------------------------------
Key: JBSEAM-808
URL: http://jira.jboss.com/jira/browse/JBSEAM-808
Project: JBoss Seam
Issue Type: Bug
Environment: Latest from CVS
Reporter: John Ray
I accidently specified the name of my component instead of a context variable and this resulted in a StatckOverflowError. For example
@Stateful
@Name("foo")
@Scope(ScopeType.EVENT)
public class FooAction implements Foo {
@Out("bar")
private String bar;
@Factory("foo")
public void initBar() {
...
}
}
I'd sugest changing the code in org.jboss.seam.Component at line 490 to include an if/throw. I highlighted the 2 new lines with an asterisk
if ( method.isAnnotationPresent(org.jboss.seam.annotations.Factory.class) )
{
Init init = (Init) applicationContext.get( Seam.getComponentName(Init.class) ); //can't use Init.instance() here 'cos of unit tests
String contextVariable = toName( method.getAnnotation(org.jboss.seam.annotations.Factory.class).value(), method );
* if (contextVariable.equals(name))
* throw new IllegalStateException("@Factory method can not be for it's own component: " + name);
init.addFactoryMethod(contextVariable, method, this);
}
--
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
17 years, 6 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1183) Allow custom ExceptionHandler implementations to be inserted
by Mike Quilleash (JIRA)
Allow custom ExceptionHandler implementations to be inserted
------------------------------------------------------------
Key: JBSEAM-1183
URL: http://jira.jboss.com/jira/browse/JBSEAM-1183
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 1.1.6.GA
Environment: Any
Reporter: Mike Quilleash
Currently you can only configure a small subset of actions to occur on an exception (redirect, http-error etc). Enhancing the exception configuration xml to allow pluggable ExceptionHandler implementations would make this a lot more flexible.
e.g. pages.xml
<pages>
<!-- the current way, exception class + action -->
<exception class="javax.persistence.EntityNotFoundException">
<http-error error-code="404"/>
</exception>
<!-- proposed enhancement -->
<exception handlerClass="com.xxx.seam.CustomExceptionHandler"/>
</pages>
These should probably have higher precedence than standard configure-by-exception-class handlers.
--
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
17 years, 7 months