I have requested that there be a way in the SeamTest to get the request-scope
attributes (and also set one). http://jira.jboss.org/jira/browse/JBSEAM-1657
Ah, and I can justify why now (car rides are always useful for these things).
In the Expressions class (and perhaps JSF in general), you cannot set the value
of an arbitrary value binding. The root has to resolve to some bean somewhere.
However, you can place things manually into different scopes, which Seam
handles when it outjects. So by setting the request scope attribute, you are
emulating what would occur from an outjection of some other Seam component.
Let me provide an example:
This is fine:
@Name("user")
| public class User {
| private String name;
|
| // getters and setters
| }
...inside test
setValue("#{user.name}", "Mike");
This is not fine (does nothing):
setValue("#{madeupexpression}", "Mike")
However, if your Seam component has a "madeupexpression" property that needs to
be injected, then you need a way to make this value available in the test. You
are emulating the @Out that perhaps occurred in some other part of the code.
Here is what will work:
@Name("someComponent")
| public class SomeComponent {
| @In
| private String madeupexpression;
| }
...inside test
setAttribute("madeupexpression", "Mike") // proposed
| Component.getInstance("someComponent");
| System.out.println("You've got no errors");
Hopefully that makes it clear why we need this. Or, perhaps someone can tell me
how I am doing it all wrong. How do you prepare a value expression that would
have been outjected by another component? Assume that the other component is
not used in the test.
I do know about setField(), but assume that you are not instantiating the
object manually but rather using Component.getInstance("someComponent") to get
it. When this call is made, all the dependencies have to be available.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4063753#4063753
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4063753
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user