Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.7DR#2
-
Component/s: Framework
-
Labels:None
-
Environment:win xp
-
Support Case References:
Description
If a user tries to call renderer.remove() after the Renderable has already been removed the remove method will generate an NPE:
ava.lang.NullPointerException
at
com.icesoft.faces.async.render.GroupAsyncRenderer.remove(GroupAsyncRenderer.java:127)
at
com.efunds.oe.fm.pb.AbstractRenderableBean.removePolling(AbstractRenderableBean.java:117)
at
com.efunds.oe.fm.pb.AbstractRenderableBean.viewDisposed(AbstractRenderableBean.java:210)
at com.icesoft.faces.context.View.notifyViewDisposal(View.java:221)
at com.icesoft.faces.context.View.dispose(View.java:191)
...
suggested fix:
public void remove(Renderable renderable) {
if( group != null ){
synchronized (group) {
Iterator iter = group.iterator();
while (iter.hasNext()) {
WeakReference ref = (WeakReference) iter.next();
if (renderable == (Renderable) ref.get()) {
group.remove(ref);
if (log.isTraceEnabled()) {
log.trace(name + " removing " + renderable);
}
return;
}
}
if (log.isWarnEnabled()) {
log.warn(name + " does not contain " + renderable);
}
}
}
}
ava.lang.NullPointerException
at
com.icesoft.faces.async.render.GroupAsyncRenderer.remove(GroupAsyncRenderer.java:127)
at
com.efunds.oe.fm.pb.AbstractRenderableBean.removePolling(AbstractRenderableBean.java:117)
at
com.efunds.oe.fm.pb.AbstractRenderableBean.viewDisposed(AbstractRenderableBean.java:210)
at com.icesoft.faces.context.View.notifyViewDisposal(View.java:221)
at com.icesoft.faces.context.View.dispose(View.java:191)
...
suggested fix:
public void remove(Renderable renderable) {
if( group != null ){
synchronized (group) {
Iterator iter = group.iterator();
while (iter.hasNext()) {
WeakReference ref = (WeakReference) iter.next();
if (renderable == (Renderable) ref.get()) {
group.remove(ref);
if (log.isTraceEnabled()) {
log.trace(name + " removing " + renderable);
}
return;
}
}
if (log.isWarnEnabled()) {
log.warn(name + " does not contain " + renderable);
}
}
}
}
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Philip Breau
created issue -
Philip Breau
made changes -
Field | Original Value | New Value |
---|---|---|
Support Case References | https://www.icesoft.ca:4443/supportilla/show_bug.cgi?id=4391 |
Philip Breau
made changes -
Assignee | Deryk Sinotte [ deryk.sinotte ] |
Deryk Sinotte
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Fix Version/s | 1.7DR#3 [ 10112 ] | |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 1.7 [ 10080 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee | Deryk Sinotte [ deryk.sinotte ] |