Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2008-12-08 22:42:17 +0000
committerslewis2008-12-08 22:42:17 +0000
commit5f3ac867c126fca6a41d711c6cc0d74a9fed7e7d (patch)
tree29eed0692b69294fbdaed04ccb716d3c150cc08c
parent90f3c2b041fdd52d1028f17cb39fbf78cc6a2d24 (diff)
downloadorg.eclipse.ecf-5f3ac867c126fca6a41d711c6cc0d74a9fed7e7d.tar.gz
org.eclipse.ecf-5f3ac867c126fca6a41d711c6cc0d74a9fed7e7d.tar.xz
org.eclipse.ecf-5f3ac867c126fca6a41d711c6cc0d74a9fed7e7d.zip
Fix for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=257999
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF6
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/Activator.java21
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/messages.properties2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java10
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteFilterImpl.java7
5 files changed, 39 insertions, 7 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF
index 3489b6def..30e4da62d 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ecf.provider.remoteservice;singleton:=true
-Bundle-Version: 1.3.0.qualifier
+Bundle-Version: 1.3.100.qualifier
Bundle-Activator: org.eclipse.ecf.internal.provider.remoteservice.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -20,5 +20,7 @@ Require-Bundle: org.eclipse.equinox.common,
org.eclipse.ecf.remoteservice,
org.eclipse.ecf.discovery
Import-Package: org.eclipse.osgi.util;version="1.1.0",
- org.osgi.framework;version="1.3.0"
+ org.osgi.framework;version="1.3.0",
+ org.osgi.service.log,
+ org.osgi.util.tracker
Bundle-ActivationPolicy: lazy
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/Activator.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/Activator.java
index ee225cf4c..ee867b309 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/Activator.java
@@ -8,13 +8,19 @@
******************************************************************************/
package org.eclipse.ecf.internal.provider.remoteservice;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.ecf.core.util.LogHelper;
import org.osgi.framework.*;
+import org.osgi.service.log.LogService;
+import org.osgi.util.tracker.ServiceTracker;
/**
* The activator class controls the plug-in life cycle
*/
public class Activator implements BundleActivator {
+ private ServiceTracker logServiceTracker = null;
+
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.ecf.provider.remoteservice"; //$NON-NLS-1$
@@ -63,4 +69,19 @@ public class Activator implements BundleActivator {
return context.createFilter(filter);
}
+ protected LogService getLogService() {
+ if (logServiceTracker == null) {
+ logServiceTracker = new ServiceTracker(this.context, LogService.class.getName(), null);
+ logServiceTracker.open();
+ }
+ return (LogService) logServiceTracker.getService();
+ }
+
+ public void log(IStatus status) {
+ LogService logService = getLogService();
+ if (logService != null) {
+ logService.log(LogHelper.getLogCode(status), LogHelper.getLogMessage(status), status.getException());
+ }
+ }
+
}
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/messages.properties b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/messages.properties
index b5f6fae53..4fd326e74 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/messages.properties
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/internal/provider/remoteservice/messages.properties
@@ -20,6 +20,6 @@ RegistrySharedObject_EXCEPTION_SENDING_RESPONSE=Exception sending response
RegistrySharedObject_EXCEPTION_SENDING_SERVICE_UNREGISTER=exception sending service unregister message
RegistrySharedObject_EXCEPTION_SERVICE_CANNOT_BE_NULL=service cannot be null
RegistrySharedObject_EXCEPTION_SERVICE_CLASSES_LIST_EMPTY=service classes list is empty
-RegistrySharedObject_EXCEPTION_SHARED_OBJECT_INVOKE=Exception in shared object message invoke
+RegistrySharedObject_EXCEPTION_SHARED_OBJECT_INVOKE=Exception invoking shared object msg={0}
RegistrySharedObject_EXCEPTION_TIMEOUT_FOR_CALL_REQUEST=timeout for call request
RegistrySharedObject_EXCEPTION_WAIT_INTERRUPTED=Wait for response interrupted
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java
index 57ac53be7..06a7818cc 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java
@@ -12,7 +12,7 @@ import java.io.IOException;
import java.io.Serializable;
import java.security.*;
import java.util.*;
-import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.*;
import org.eclipse.ecf.core.events.IContainerConnectedEvent;
import org.eclipse.ecf.core.events.IContainerDisconnectedEvent;
import org.eclipse.ecf.core.identity.ID;
@@ -22,6 +22,7 @@ import org.eclipse.ecf.core.util.*;
import org.eclipse.ecf.internal.provider.remoteservice.*;
import org.eclipse.ecf.remoteservice.*;
import org.eclipse.ecf.remoteservice.events.*;
+import org.eclipse.osgi.util.NLS;
import org.osgi.framework.*;
public class RegistrySharedObject extends BaseSharedObject implements IRemoteServiceContainerAdapter {
@@ -976,11 +977,16 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer
return requests.remove(request);
}
+ protected void logException(int code, String message, Throwable e) {
+ Activator.getDefault().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, code, message, e));
+ }
+
protected boolean handleSharedObjectMsg(SharedObjectMsg msg) {
try {
msg.invoke(this);
+ return true;
} catch (final Exception e) {
- log(MSG_INVOKE_ERROR_CODE, MSG_INVOKE_ERROR_MESSAGE, e);
+ logException(MSG_INVOKE_ERROR_CODE, NLS.bind(MSG_INVOKE_ERROR_MESSAGE, msg), e);
}
return false;
}
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteFilterImpl.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteFilterImpl.java
index e48f0e4a7..f9323b817 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteFilterImpl.java
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteFilterImpl.java
@@ -16,8 +16,7 @@ import org.eclipse.ecf.internal.provider.remoteservice.Activator;
import org.eclipse.ecf.internal.provider.remoteservice.Messages;
import org.eclipse.ecf.remoteservice.IRemoteFilter;
import org.eclipse.ecf.remoteservice.IRemoteServiceReference;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.*;
/**
*
@@ -87,4 +86,8 @@ public class RemoteFilterImpl implements IRemoteFilter {
public String toString() {
return filter.toString();
}
+
+ public boolean match(ServiceReference reference) {
+ return false;
+ }
}

Back to the top