[Osgi-messages] SF.net SVN: osgi:[245] papoose-cmpn/trunk/event/src/main/java/org/papoose/ event/E
Status: Beta
Brought to you by:
maguro
|
From: <osg...@li...> - 2010-02-19 19:41:45
|
Revision: 245
http://osgi.svn.sourceforge.net/osgi/?rev=245&view=rev
Author: maguro
Date: 2010-02-19 19:41:39 +0000 (Fri, 19 Feb 2010)
Log Message:
-----------
No need to constantly get service
Modified Paths:
--------------
papoose-cmpn/trunk/event/src/main/java/org/papoose/event/EventAdminImpl.java
Modified: papoose-cmpn/trunk/event/src/main/java/org/papoose/event/EventAdminImpl.java
===================================================================
--- papoose-cmpn/trunk/event/src/main/java/org/papoose/event/EventAdminImpl.java 2010-02-19 19:28:25 UTC (rev 244)
+++ papoose-cmpn/trunk/event/src/main/java/org/papoose/event/EventAdminImpl.java 2010-02-19 19:41:39 UTC (rev 245)
@@ -125,8 +125,6 @@
return null;
}
- Object service = context.getService(reference);
-
String[] topics;
if (test instanceof String)
{
@@ -144,6 +142,7 @@
return null;
}
+ EventHandler service = (EventHandler) context.getService(reference);
SecurityManager sm = System.getSecurityManager();
if (sm != null)
{
@@ -169,6 +168,7 @@
{
if ("*".equals(paths[i][j]))
{
+ loggers.log(reference, LogService.LOG_WARNING, "Service has an ill formatted topic " + topics[i] + ", ignoring");
LOGGER.finest("Service has an ill formatted topic " + topics[i] + ", ignoring");
LOGGER.exiting(CLASS_NAME, "addingService", null);
@@ -182,7 +182,7 @@
String filter = (String) reference.getProperty(EventConstants.EVENT_FILTER);
try
{
- EventListener listener = new EventListener(paths, reference, filter);
+ EventListener listener = new EventListener(paths, reference, service, filter);
add(listener);
@@ -433,20 +433,21 @@
private final Executor executor;
private final String[][] paths;
private final ServiceReference reference;
+ private final EventHandler handler;
private final Filter filter;
- private EventListener(String[][] paths, ServiceReference reference, String filter) throws InvalidSyntaxException
+ private EventListener(String[][] paths, ServiceReference reference, EventHandler handler, String filter) throws InvalidSyntaxException
{
this.executor = new SerialExecutor(EventAdminImpl.this.executor);
this.paths = paths;
this.reference = reference;
+ this.handler = handler;
this.filter = (filter == null ? DEFAULT_FILTER : context.createFilter(filter));
}
public void handleEvent(Event event)
{
- EventHandler handler = (EventHandler) context.getService(reference);
- if (handler != null) handler.handleEvent(event);
+ handler.handleEvent(event);
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|