[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-633) remoting extension in handling exceptions on client side
by Nico Gau (JIRA)
remoting extension in handling exceptions on client side
--------------------------------------------------------
Key: JBSEAM-633
URL: http://jira.jboss.com/jira/browse/JBSEAM-633
Project: JBoss Seam
Issue Type: Patch
Components: Remoting
Affects Versions: 1.1.0.GA
Reporter: Nico Gau
Priority: Optional
Hi all,
I don't really know what JIRA is by the way, so hopefully nobody is upset by this post. I first mailed Gavin but he told me I should put it in JIRA.
I currently work on a project which uses Seam Remoting directly and I didn't find a neat way in handling errors on the client side as Exceptions are not propagated to it. Therefore I changed Seam to transmit all exceptions which can be handled in the javascript part via another callback. E.g.:
Seam.Component.getInstance('userManager').currentUser(function(user) {
alert("user: " + user);
},
function(ex) {
alert("exception occured: " + ex.getMessage());
});
As the exception handler is optional, the change would not brake any client code. If you are interested in the change, you can reach me at heinzbeinz AT googlemail.com
--
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
15 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
15 years, 7 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
15 years, 7 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-829) ICEfaces Tree Component needs reworking
by Gregory Dick (JIRA)
ICEfaces Tree Component needs reworking
---------------------------------------
Key: JBSEAM-829
URL: http://jira.jboss.com/jira/browse/JBSEAM-829
Project: JBoss Seam
Issue Type: Bug
Components: ICE Faces Integration
Reporter: Gregory Dick
Assigned To: Gregory Dick
Some comments
Plain tree component with label:
<ice:tree value="#{nodeTree.model}" var="item">
<ice:treeNode>
<f:facet name="content">
<ice:commandLink actionListener="#
{item.userObject.nodeClicked}">
<ice:outputText value="#
{item.userObject.text}"/>
</ice:commandLink>
</f:facet>
</ice:treeNode>
</ice:tree>
Renders HTML with whitespace between <img> and <a> tags, resulting in
broken <div> padding and unwanted spaces:
<div class="iceTreeRow" id="_id21:_id22-div-2"
name="treeNodeDiv"><img alt="" border="0" src="./xmlhttp/css/xp/css-
images/tree_line_blank.gif"></img>
<img alt="" border="0" src="./xmlhttp/css/xp/css-images/
tree_line_last_node.gif"></img>
Should be:
<div class="iceTreeRow" id="_id21:_id22-div-2"
name="treeNodeDiv"><img alt="" border="0" src="./xmlhttp/css/xp/css-
images/tree_line_blank.gif"></img><img alt="" border="0" src="./
xmlhttp/css/xp/css-images/tree_line_last_node.gif"></img>
and so on... the only whitespaces should (could) be between </
div><div> tags, nowhere else. The trick with whitespace:nowrap in the
CSS is not going to cut it, there are still spaces left that I don't
want.
---------------------------------------------------
The xp/tree_nav_top_close_no_siblings.gif GIF is broken, it is not
transparent and the icon is not centered on the canvas.
---------------------------------------------------
After clicking on the tree and playing with the XHTML a little, I got
this:
03:36:56,599 ERROR [[Blocking Servlet]] Servlet.service() for servlet
Blocking Servlet threw exception
java.lang.RuntimeException: viewNumber 1 update queue exceeded 26
at
com.icesoft.faces.webapp.xmlhttp.BlockingResponseState.writeElement
(BlockingResponseState.java:183)
at com.icesoft.faces.context.DOMResponseWriter.writeDOM
(DOMResponseWriter.java:375)
at com.icesoft.faces.application.D2DViewHandler.renderView
(D2DViewHandler.java :161)
Had to restart the server.
---------------------------------------------------
To collapse a node I can click on the [-] icon of the node. Expanding
with the then displayed [+] icon does not work, although I see a
submit on the server log. If I click on the commandLink (the label)
instead, the node expands but I also get the select event for that
node. This is either a simple copy/paste bug or inconsistent UI
behavior.
---------------------------------------------------
Did not find a way (documentation doesn't mention it) to customize
the images that are rendered by components without CSS, for example,
the expand/collapse icons of a tree. After reading the source and API
doc of the Tree component, I found the setImageDir() method, this
should be documented better in the reference.
---------------------------------------------------
The data binding for the tree is questionable. First, the idea of
using the Swing datamodels is good, in fact, JSF should not have its
own UI datamodels at all and every UI component should be able to use
the Swing datamodels. This allows us to expose a UI datamodel on
backing beans (EJBs in Seam) without requiring extension or inclusion
of any vendor-specific API or JAR in the EJB deployment module. Most
JSF component providers do not realize this and require custom
datamodels.
I can't list everything that is wrong with the tree databinding,
short list:
- Finally, the UI component does no longer require DefaultTreeModel
but the TreeModel interface (good)
- Every object in the TreeModel is cast to a DefaultMutableTreeNode,
this is not an interface! I want to use my own TreeNode implementation!
- Every DefaultMutableTreeNode needs a wrapped IceUserObject, this is
completely unecessary if I'd be able to use my own TreeNode
implementation (maybe I can also implement an IceTreeNode interface
for some UI binding).
- This would also solve the lazy loading FAQs on the Icefaces forum,
the approach with event listeners in the IceUserObject is a non-
starter, my TreeModel/TreeNode implementation could do that just fine
- There are unused classes such as TreeDataModel hanging around the
icefaces package, these only add to the confusion
Summary: This needs a serious redesign before it is usable.
---------------------------------------------------
--
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
15 years, 11 months
[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
15 years, 11 months