Code cleanup
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1151763 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/HandlerTask.java b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/HandlerTask.java
index 668f333..613d74d 100644
--- a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/HandlerTask.java
+++ b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/HandlerTask.java
@@ -40,9 +40,4 @@
* Blacklist the handler.
*/
void blackListHandler();
-
- /**
- * Is the delivery finished
- */
- boolean finished();
}
diff --git a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/HandlerTaskImpl.java b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/HandlerTaskImpl.java
index d757447..e5b3c03 100644
--- a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/HandlerTaskImpl.java
+++ b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/HandlerTaskImpl.java
@@ -40,9 +40,6 @@
// Used to blacklist the service or get the service object for the reference
private final BlacklistingHandlerTasks m_handlerTasks;
- // Is this handler finished
- private volatile boolean m_finished = false;
-
/**
* Construct a delivery task for the given service and event.
*
@@ -89,7 +86,8 @@
try
{
handler.handleEvent(m_event);
- } catch (Throwable e)
+ }
+ catch (final Throwable e)
{
// The spec says that we must catch exceptions and log them:
LogWrapper.getLogger().log(
@@ -99,8 +97,10 @@
+ m_eventHandlerRef + " | Bundle("
+ m_eventHandlerRef.getBundle() + ")]", e);
}
- m_finished = true;
- m_handlerTasks.ungetEventHandler(handler, m_eventHandlerRef);
+ finally
+ {
+ m_handlerTasks.ungetEventHandler(handler, m_eventHandlerRef);
+ }
}
/**
@@ -110,13 +110,4 @@
{
m_handlerTasks.blackList(m_eventHandlerRef);
}
-
- /**
- * @see org.apache.felix.eventadmin.impl.tasks.HandlerTask#finished()
- */
- public boolean finished()
- {
- return m_finished;
- }
-
}
diff --git a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/Rendezvous.java b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/Rendezvous.java
index 8079a2f..3d95d4b 100644
--- a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/Rendezvous.java
+++ b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/Rendezvous.java
@@ -28,7 +28,7 @@
*/
public class Rendezvous extends CyclicBarrier
{
- /** Flag for timedout handling. */
+ /** Flag for timeout handling. */
private volatile boolean timedout = false;
/**
@@ -85,9 +85,4 @@
{
}
}
-
- public boolean isTimedOut()
- {
- return timedout;
- }
}
diff --git a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/SyncDeliverTasks.java b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/SyncDeliverTasks.java
index 207f5a5..875accc 100644
--- a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/SyncDeliverTasks.java
+++ b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/SyncDeliverTasks.java
@@ -60,10 +60,17 @@
/** The timeout for event handlers, 0 = disabled. */
long m_timeout;
+ /**
+ * The matcher interface for checking if timeout handling
+ * is disabled for the handler.
+ * Matching is based on the class name of the event handler.
+ */
private static interface Matcher
{
boolean match(String className);
}
+
+ /** Match a package. */
private static final class PackageMatcher implements Matcher
{
private final String m_packageName;
@@ -78,6 +85,8 @@
return pos > -1 && className.substring(0, pos).equals(m_packageName);
}
}
+
+ /** Match a package or sub package. */
private static final class SubPackageMatcher implements Matcher
{
private final String m_packageName;
@@ -92,6 +101,8 @@
return pos > -1 && className.substring(0, pos + 1).startsWith(m_packageName);
}
}
+
+ /** Match a class name. */
private static final class ClassMatcher implements Matcher
{
private final String m_className;
@@ -237,7 +248,7 @@
// stop the timer
timerBarrier.waitForRendezvous();
}
- catch (IllegalStateException ise)
+ catch (final IllegalStateException ise)
{
// this can happen on shutdown, so we ignore it
}
@@ -247,14 +258,13 @@
startBarrier.waitForRendezvous();
// timeout handling
- final long sleepTime = m_timeout;
// we sleep for the sleep time
// if someone wakes us up it's the finished inner task
try
{
- timerBarrier.waitAttemptForRendezvous(sleepTime);
+ timerBarrier.waitAttemptForRendezvous(m_timeout);
}
- catch (TimeoutException ie)
+ catch (final TimeoutException ie)
{
// if we timed out, we have to blacklist the handler
task.blackListHandler();