You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ed...@apache.org on 2009/06/12 02:04:01 UTC
svn commit: r783960 -
/mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
Author: edeoliveira
Date: Fri Jun 12 00:04:01 2009
New Revision: 783960
URL: http://svn.apache.org/viewvc?rev=783960&view=rev
Log:
Removed the finalize() method and made the clear() method simpler
Modified:
mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java?rev=783960&r1=783959&r2=783960&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/filterchain/DefaultIoFilterChain.java Fri Jun 12 00:04:01 2009
@@ -21,7 +21,6 @@
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -68,11 +67,11 @@
/** The logger for this class */
private final static Logger LOGGER = LoggerFactory.getLogger(DefaultIoFilterChain.class);
-
+
/**
- * Create a new default chain, associated with a session. It will only contain a
+ * Create a new default chain, associated with a session. It will only contain a
* HeadFilter and a TailFilter.
- *
+ *
* @param session The session associated with the created filter chain
*/
public DefaultIoFilterChain(AbstractIoSession session) {
@@ -258,12 +257,14 @@
}
public synchronized void clear() throws Exception {
- Iterator<String> it = new ArrayList<String>(name2entry.keySet())
- .iterator();
- while (it.hasNext()) {
- String name = it.next();
- if (contains(name)) {
- remove(name);
+ List<IoFilterChain.Entry> l = new ArrayList<IoFilterChain.Entry>(
+ name2entry.values());
+ for (IoFilterChain.Entry entry : l) {
+ try {
+ deregister((EntryImpl) entry);
+ } catch (Exception e) {
+ throw new IoFilterLifeCycleException("clear(): "
+ + entry.getName() + " in " + getSession(), e);
}
}
}
@@ -590,15 +591,6 @@
return buf.toString();
}
- @Override
- protected void finalize() throws Throwable {
- try {
- this.clear();
- } finally {
- super.finalize();
- }
- }
-
private class HeadFilter extends IoFilterAdapter {
@SuppressWarnings("unchecked")
@Override
@@ -817,7 +809,7 @@
Entry nextEntry = EntryImpl.this.prevEntry;
callPreviousFilterClose(nextEntry, session);
}
-
+
public String toString() {
return EntryImpl.this.nextEntry.name;
}
@@ -847,11 +839,11 @@
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
-
+
// Add the current filter
sb.append("('").append(getName()).append('\'');
-
- // Add the previous filter
+
+ // Add the previous filter
sb.append(", prev: '");
if (prevEntry != null) {
@@ -861,8 +853,8 @@
} else {
sb.append("null");
}
-
- // Add the next filter
+
+ // Add the next filter
sb.append("', next: '");
if (nextEntry != null) {
@@ -872,7 +864,7 @@
} else {
sb.append("null");
}
-
+
sb.append("')");
return sb.toString();
}