Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2013-05-22 03:27:04 +0000
committerslewis2013-05-22 03:27:04 +0000
commit24d684f81f4fa7d17992c19e792dc220035ce298 (patch)
tree33714285671d5a264015a48167dc8823b81e97be
parentb85e266859160cfea3483e84aca00b7c1ea2d6b3 (diff)
downloadorg.eclipse.ecf-24d684f81f4fa7d17992c19e792dc220035ce298.tar.gz
org.eclipse.ecf-24d684f81f4fa7d17992c19e792dc220035ce298.tar.xz
org.eclipse.ecf-24d684f81f4fa7d17992c19e792dc220035ce298.zip
Final fix for 408451
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java45
1 files changed, 20 insertions, 25 deletions
diff --git a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java
index 4d4f97958..84b3081e2 100644
--- a/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java
+++ b/osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java
@@ -453,15 +453,14 @@ public class RemoteServiceAdmin implements
}
private void checkRSAReadAccess() {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null) {
- Map<String, Object> props = new HashMap();
- props.put(
- org.osgi.service.remoteserviceadmin.RemoteConstants.ENDPOINT_ID,
- UUID.randomUUID().toString());
- checkEndpointPermissionRead("checkRSAReadAccess",new EndpointDescription( //$NON-NLS-1$
- props));
- }
+ Map<String, Object> props = new HashMap();
+ props.put(
+ org.osgi.service.remoteserviceadmin.RemoteConstants.ENDPOINT_ID,
+ UUID.randomUUID().toString());
+ props.put(org.osgi.framework.Constants.OBJECTCLASS, new String[] { UUID.randomUUID().toString() });
+ checkEndpointPermissionRead(
+ "checkRSAReadAccess", new org.osgi.service.remoteserviceadmin.EndpointDescription( //$NON-NLS-1$
+ props));
}
public Collection<org.osgi.service.remoteserviceadmin.ImportReference> getImportedEndpoints() {
@@ -1112,7 +1111,18 @@ public class RemoteServiceAdmin implements
if (registrationTypeName != null)
eventProperties.put(registrationTypeName, endpointDescription);
- final EventAdmin eventAdmin = getEventAdmin();
+ final EventAdmin eventAdmin = AccessController
+ .doPrivileged(new PrivilegedAction<EventAdmin>() {
+ public EventAdmin run() {
+ synchronized (eventAdminTrackerLock) {
+ eventAdminTracker = new ServiceTracker(
+ getRSABundleContext(), EventAdmin.class
+ .getName(), null);
+ eventAdminTracker.open();
+ }
+ return (EventAdmin) eventAdminTracker.getService();
+ }
+ });
if (eventAdmin == null) {
logError("postEvent", //$NON-NLS-1$
"No EventAdmin service available to send eventTopic=" //$NON-NLS-1$
@@ -1206,21 +1216,6 @@ public class RemoteServiceAdmin implements
return null;
}
- private EventAdmin getEventAdmin() {
- return AccessController
- .doPrivileged(new PrivilegedAction<EventAdmin>() {
- public EventAdmin run() {
- synchronized (eventAdminTrackerLock) {
- eventAdminTracker = new ServiceTracker(
- getRSABundleContext(), EventAdmin.class
- .getName(), null);
- eventAdminTracker.open();
- }
- return (EventAdmin) eventAdminTracker.getService();
- }
- });
- }
-
private Object consumerContainerSelectorTrackerLock = new Object();
private ServiceTracker consumerContainerSelectorTracker;

Back to the top