[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1814) DataModel wrapped data is set to null by ManagedEntityIdentityInterceptor
by Matt Drees (JIRA)
DataModel wrapped data is set to null by ManagedEntityIdentityInterceptor
-------------------------------------------------------------------------
Key: JBSEAM-1814
URL: http://jira.jboss.com/jira/browse/JBSEAM-1814
Project: JBoss Seam
Issue Type: Bug
Affects Versions: 2.0.0.BETA1
Environment: seam cvs (20070816.1709)
Reporter: Matt Drees
Priority: Minor
The following test fails:
@Name("dataModelComponent")
@Scope(ScopeType.CONVERSATION)
public class DataModelComponent extends EntityQuery {
@Override
public String getEjbql() {
return "from java.lang.Object o";
}
}
public class DataModelComponentTest extends SeamTest{
@Test
public void test() throws Exception {
new FacesRequest() {
@Override
protected void renderResponse() throws Exception {
DataModel model = (DataModel) getValue("#{dataModelComponent.dataModel}");
assert model.getWrappedData() != null;
}
}.run();
}
}
Because the component is conversation-scoped, a ManagedEntityIdentityInterceptor is attached, which nulls the wrapped List after getDataModel() is called.
In the referenced forum, Gavin indicated he hadn't decided whether this should be expected behavior or not, and asked for a jira issue.
If it is expected behavior (I hope not), I think either EntityQuery should not have a getDataModel() attribute, or it should be documented and/or programmatically enforced that EntityQuerys should not be conversation-scoped.
--
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
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2257) Raise a session expired and new session event on occurence
by Jacob Orshalick (JIRA)
Raise a session expired and new session event on occurence
----------------------------------------------------------
Key: JBSEAM-2257
URL: http://jira.jboss.com/jira/browse/JBSEAM-2257
Project: JBoss Seam
Issue Type: Feature Request
Components: Security
Affects Versions: 2.0.0.GA
Reporter: Jacob Orshalick
Priority: Minor
You have to make some assumptions here, but you can basically notify the user when the server session has ended with the following in a PhaseListener:
Code:
@Observer("org.jboss.seam.beforePhase")
public void beforePhase(PhaseEvent event)
{
if(event.getPhaseId() == PhaseId.RESTORE_VIEW)
{
HttpServletRequest request =
(HttpServletRequest) FacesContext.getCurrentInstance()
.getExternalContext().getRequest();
if(request.getRequestedSessionId() != null
&& request.getSession().isNew())
Events.instance().raiseEvent("org.jboss.seam.sessionExpired");
...
Based on general cookie settings this will raise the event when the user still has the browser window open, the http session expired, and the user tries to access the app. If the user closes and reopens the browser to start the application, the event will not be raised. This of course makes the assumption that cookies expire when the browser session is ended (which is generally the case).
The org.jboss.seam.newSession event would simply change the condition to:
if(request.getRequestedSessionId() == null
&& request.getSession().isNew())
Events.instance().raiseEvent("org.jboss.seam.newSession");
This is generally useful for user notification on the login screen. Please see the forum reference for more information. 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
15 years
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1875) Rework configuration chapter
by Pete Muir (JIRA)
Rework configuration chapter
----------------------------
Key: JBSEAM-1875
URL: http://jira.jboss.com/jira/browse/JBSEAM-1875
Project: JBoss Seam
Issue Type: Task
Components: Documentation
Affects Versions: 2.0.0.BETA1
Reporter: Pete Muir
Fix For: 2.0.0.GA
Rework configuration chapter to make it a generic discussion of configuring and packaging Seam applications. Move platform specific stuff to platform specific chapter.
i.e.
25 Configuring & Packaging Seam Applications
25.1 Basic Seam Configuration
25.1.1 Integrating Seam with JSF and the Servlet Container
25.1.2 Using Facelets
25.1.3 Seam Resource Servlet
25.1.4 Seam Filter
25.1.5. Integrating Seam with your EJB container
25.2 Seam Applications in a JEE 5 environment
25.3 Seam Applications in a J2EE environment
25.4 Seam Applicaitons in a JSE environment
* Move JBPM configuration to JBPM chapter
* Move JBoss AS stuff to new JBoss AS chapter
* Move JBoss Embedded stuff to new JBoss Embedded Chapter
26 Seam on JBoss AS
26.1 Seam on JBoss AS 4.0
* Includes stuff on install JSF 1.2 from Chapter 2
26.2 Seam on JBoss AS 4.2
27 Seam with JBoss Embedded
28 Seam on OC4J
29 Seam on Glassfish
* Needs writing!
--
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
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2296) @DataModelSelection makes tests impossible
by Christian Bauer (JIRA)
@DataModelSelection makes tests impossible
------------------------------------------
Key: JBSEAM-2296
URL: http://jira.jboss.com/jira/browse/JBSEAM-2296
Project: JBoss Seam
Issue Type: Bug
Components: Test Harness
Reporter: Christian Bauer
@Name("testBean")
@Scope(ScopeType.CONVERSATION)
@AutoCreate
public class TestBean {
@DataModel
private List<String> names;
public List<String> getNames() {
return names;
}
public void setNames(List<String> names) {
this.names = names;
}
@DataModelSelection
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void init() {
this.names = new ArrayList<String>();
this.names.add("A");
this.names.add("B");
this.names.add("C");
}
}
The test:
@Test
public void test() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
TestBean testBean = (TestBean)getInstance("testBean");
testBean.init();
testBean.setName("B");
System.out.println("#### NAME IS: " + testBean.getName());
assert testBean.getName().equals("B");
}
}.run();
}
This test fails and prints the selected name as "A". If you remove @DataModelSelection, it prints the correct "B".
--
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