From 9e23ad85ca9570473953d4ccf6b409fab084404f Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 23 Mar 2014 12:49:36 -0700
Subject: Fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=430963
Change-Id: Ia70f2514f46a863a778257903151e65a50f0624b
---
.../ecf/provider/remoteservice/generic/RegistrySharedObject.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
(limited to 'providers')
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 577d5f3d4..688004cde 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
@@ -199,6 +199,13 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer
}
}
+ /**
+ * @since 4.1
+ */
+ protected RemoteServiceImpl createRemoteService(RemoteServiceRegistrationImpl registration) {
+ return new RemoteServiceImpl(this, registration);
+ }
+
/* (non-Javadoc)
* @see org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter#getRemoteService(org.eclipse.ecf.remoteservice.IRemoteServiceReference)
*/
@@ -207,7 +214,7 @@ public class RegistrySharedObject extends BaseSharedObject implements IRemoteSer
final RemoteServiceRegistrationImpl registration = getRemoteServiceRegistrationImpl(reference);
if (registration == null)
return null;
- final RemoteServiceImpl remoteService = new RemoteServiceImpl(this, registration);
+ final RemoteServiceImpl remoteService = createRemoteService(registration);
synchronized (refToImplMap) {
List remoteServiceImplList = (List) refToImplMap.get(reference);
if (remoteServiceImplList == null)
--
cgit v1.2.3
From bd48bc6447c7d6a51e5331db8f54807ea42995f5 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 23 Mar 2014 12:50:46 -0700
Subject: Increment of bundle minor version for
https://bugs.eclipse.org/bugs/show_bug.cgi?id=430963
Change-Id: I7439d0bfb51373587bbd7e228b402277a37c2c04
---
.../bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'providers')
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 a278031c5..3cc6ac131 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: 4.0.100.qualifier
+Bundle-Version: 4.1.0.qualifier
Bundle-Activator: org.eclipse.ecf.internal.provider.remoteservice.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
--
cgit v1.2.3
From 5b5e004b91e6dca670fd3e53594f40bae5b0887c Mon Sep 17 00:00:00 2001
From: slewis
Date: Mon, 24 Mar 2014 21:44:24 -0700
Subject: Initial checkin of generic provider java8 remote services support
Change-Id: I8e84e824ba6fd122f34e60af1011b8063ea07a09
---
.../.classpath | 7 +++
.../.gitignore | 1 +
.../.project | 28 +++++++++
.../.settings/org.eclipse.jdt.core.prefs | 7 +++
.../.settings/org.eclipse.pde.core.prefs | 3 +
.../META-INF/MANIFEST.MF | 17 ++++++
.../about.html | 28 +++++++++
.../build.properties | 8 +++
.../plugin.properties | 10 ++++
.../plugin.xml | 40 +++++++++++++
.../java8/J8GenericContainerInstantiator.java | 67 ++++++++++++++++++++++
.../J8RemoteServiceContainerAdapterFactory.java | 58 +++++++++++++++++++
.../java8/J8TCPClientSOContainer.java | 19 ++++++
.../java8/J8TCPServerSOContainer.java | 25 ++++++++
14 files changed, 318 insertions(+)
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.classpath
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.gitignore
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.project
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.settings/org.eclipse.jdt.core.prefs
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.settings/org.eclipse.pde.core.prefs
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/META-INF/MANIFEST.MF
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/about.html
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/build.properties
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.properties
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.xml
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8GenericContainerInstantiator.java
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8RemoteServiceContainerAdapterFactory.java
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8TCPClientSOContainer.java
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8TCPServerSOContainer.java
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.classpath b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.gitignore b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.gitignore
new file mode 100644
index 000000000..e660fd93d
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.gitignore
@@ -0,0 +1 @@
+bin/
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.project b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.project
new file mode 100644
index 000000000..7fed21f82
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.project
@@ -0,0 +1,28 @@
+
+
+ org.eclipse.ecf.provider.remoteservice.java8
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.settings/org.eclipse.jdt.core.prefs b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.settings/org.eclipse.pde.core.prefs b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 000000000..706f07e8a
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=true
+resolve.requirebundle=false
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..5dfaaed49
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.ecf.provider.remoteservice.java8;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: %pluginProvider
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.ecf;bundle-version="3.3.0",
+ org.eclipse.ecf.provider;bundle-version="4.4.0",
+ org.eclipse.ecf.provider.remoteservice;bundle-version="4.1.0",
+ org.eclipse.ecf.sharedobject;bundle-version="2.4.0",
+ org.eclipse.equinox.common;bundle-version="3.6.200",
+ org.eclipse.ecf.remoteservice;bundle-version="8.3.0"
+Import-Package: org.eclipse.equinox.concurrent.future;version="1.1.0",
+ org.osgi.framework;version="1.8.0"
+Bundle-Localization: plugin
+
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/about.html b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/about.html
new file mode 100644
index 000000000..4c79781a5
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/about.html
@@ -0,0 +1,28 @@
+
+
+
+
+About
+
+
+About This Content
+
+June 25, 2008
+License
+
+The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at http://www.eclipse.org/legal/epl-v10.html.
+For purposes of the EPL, "Program" will mean the Content.
+
+If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at http://www.eclipse.org.
+
+
+
\ No newline at end of file
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/build.properties b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/build.properties
new file mode 100644
index 000000000..7b3c227b8
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+src.includes = about.html
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.properties b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.properties
new file mode 100644
index 000000000..b5ccef319
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.properties
@@ -0,0 +1,10 @@
+############################################################################
+# Copyright (c) 2014 Composent Inc. and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+############################################################################
+pluginName = ECF Generic Provider RemoteServices Java8 Support
+providerName = Eclipse.org - ECF
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.xml b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.xml
new file mode 100644
index 000000000..3fa1bdf64
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8GenericContainerInstantiator.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8GenericContainerInstantiator.java
new file mode 100644
index 000000000..1f6401160
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8GenericContainerInstantiator.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. and others. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Composent, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.provider.internal.remoteservice.java8;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.ecf.core.ContainerTypeDescription;
+import org.eclipse.ecf.core.IContainer;
+import org.eclipse.ecf.provider.generic.GenericContainerInstantiator;
+import org.eclipse.ecf.provider.generic.SOContainerConfig;
+
+public class J8GenericContainerInstantiator extends
+ GenericContainerInstantiator {
+
+ public static final String JAVA8_CLIENT_NAME = "ecf.generic.client.java8";
+ public static final String JAVA8_SERVER_NAME = "ecf.generic.server.java8";
+
+ @Override
+ protected boolean isClient(ContainerTypeDescription description) {
+ if (description.getName().equals(JAVA8_SERVER_NAME))
+ return false;
+ return true;
+ }
+
+ @Override
+ protected IContainer createClientContainer(GenericContainerArgs gcargs)
+ throws Exception {
+ return new J8TCPClientSOContainer(new SOContainerConfig(gcargs.getID()), gcargs.getKeepAlive().intValue());
+ }
+
+ @Override
+ protected IContainer createServerContainer(GenericContainerArgs gcargs)
+ throws Exception {
+ return new J8TCPServerSOContainer(new SOContainerConfig(gcargs.getID()), gcargs.getBindAddress(), gcargs.getKeepAlive().intValue());
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public String[] getImportedConfigs(ContainerTypeDescription description, String[] exporterSupportedConfigs) {
+ if (exporterSupportedConfigs == null)
+ return null;
+ List results = new ArrayList();
+ List supportedConfigs = Arrays.asList(exporterSupportedConfigs);
+ // For a server, if exporter is a client then we can be an importer
+ if (JAVA8_SERVER_NAME.equals(description.getName())) {
+ if (supportedConfigs.contains(JAVA8_CLIENT_NAME))
+ results.add(JAVA8_SERVER_NAME);
+ // For a client, if exporter is server we can import
+ // or if remote is either generic server or generic client
+ } else if (JAVA8_CLIENT_NAME.equals(description.getName())) {
+ if (supportedConfigs.contains(JAVA8_SERVER_NAME) || supportedConfigs.contains(TCPCLIENT_NAME))
+ results.add(JAVA8_CLIENT_NAME);
+ }
+ if (results.size() == 0)
+ return null;
+ return (String[]) results.toArray(new String[] {});
+ }
+
+}
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8RemoteServiceContainerAdapterFactory.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8RemoteServiceContainerAdapterFactory.java
new file mode 100644
index 000000000..9a91c810d
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8RemoteServiceContainerAdapterFactory.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. and others. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Composent, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.provider.internal.remoteservice.java8;
+
+import java.util.concurrent.CompletableFuture;
+
+import org.eclipse.ecf.core.identity.ID;
+import org.eclipse.ecf.core.sharedobject.*;
+import org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject;
+import org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceContainerAdapterFactory;
+import org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceImpl;
+import org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceRegistrationImpl;
+import org.eclipse.ecf.remoteservice.IRemoteCall;
+import org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter;
+import org.eclipse.ecf.remoteservice.events.IRemoteCallCompleteEvent;
+import org.eclipse.ecf.remoteservice.events.IRemoteCallEvent;
+
+public class J8RemoteServiceContainerAdapterFactory extends RemoteServiceContainerAdapterFactory {
+
+ protected ISharedObject createAdapter(ISharedObjectContainer container, @SuppressWarnings("rawtypes") Class adapterType, ID adapterID) {
+ if (adapterType.equals(IRemoteServiceContainerAdapter.class)) {
+ return new RegistrySharedObject() {
+ @Override
+ protected RemoteServiceImpl createRemoteService(
+ RemoteServiceRegistrationImpl registration) {
+ return new RemoteServiceImpl(this,registration) {
+ @SuppressWarnings("unchecked")
+ @Override
+ protected Object callFuture(IRemoteCall call, @SuppressWarnings("rawtypes") Class returnType) {
+ if (CompletableFuture.class.isAssignableFrom(returnType)) {
+ @SuppressWarnings("rawtypes")
+ CompletableFuture result = new CompletableFuture();
+ callAsyncWithResult(call, (IRemoteCallEvent e) -> {
+ if (e instanceof IRemoteCallCompleteEvent) {
+ IRemoteCallCompleteEvent cce = (IRemoteCallCompleteEvent) e;
+ if (cce.hadException())
+ result.completeExceptionally(cce.getException());
+ else
+ result.complete(cce.getResponse());
+ }
+ });
+ return result;
+ }
+ return super.callFuture(call, returnType);
+ }
+ };
+ }
+ };
+ }
+ return null;
+ }
+}
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8TCPClientSOContainer.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8TCPClientSOContainer.java
new file mode 100644
index 000000000..243fd4ebd
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8TCPClientSOContainer.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. and others. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Composent, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.provider.internal.remoteservice.java8;
+
+import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerConfig;
+import org.eclipse.ecf.provider.generic.TCPClientSOContainer;
+
+public class J8TCPClientSOContainer extends TCPClientSOContainer {
+
+ public J8TCPClientSOContainer(ISharedObjectContainerConfig config, int ka) {
+ super(config, ka);
+ }
+}
\ No newline at end of file
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8TCPServerSOContainer.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8TCPServerSOContainer.java
new file mode 100644
index 000000000..637cf822c
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8TCPServerSOContainer.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. and others. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Composent, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.provider.internal.remoteservice.java8;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.URISyntaxException;
+
+import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerConfig;
+import org.eclipse.ecf.provider.generic.TCPServerSOContainer;
+
+public class J8TCPServerSOContainer extends TCPServerSOContainer {
+
+ public J8TCPServerSOContainer(ISharedObjectContainerConfig config,
+ InetAddress bindAddress, int keepAlive) throws IOException,
+ URISyntaxException {
+ super(config, bindAddress, keepAlive);
+ }
+}
\ No newline at end of file
--
cgit v1.2.3
From ea88e73ed7fcf5ecbe7e7e9e004ced274e530417 Mon Sep 17 00:00:00 2001
From: slewis
Date: Tue, 25 Mar 2014 16:34:52 -0700
Subject: Initial checkin of ssl generic provider java8 remote services support
Change-Id: I0000000000000000000000000000000000000000
---
.../plugin.xml | 35 +++++++++++
.../java8/J8GenericContainerInstantiator.java | 2 +-
.../java8/J8SSLClientSOContainer.java | 19 ++++++
.../java8/J8SSLGenericContainerInstantiator.java | 67 ++++++++++++++++++++++
.../java8/J8SSLServerSOContainer.java | 25 ++++++++
5 files changed, 147 insertions(+), 1 deletion(-)
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLClientSOContainer.java
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLGenericContainerInstantiator.java
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLServerSOContainer.java
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.xml b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.xml
index 3fa1bdf64..a8e6731fb 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.xml
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/plugin.xml
@@ -19,6 +19,25 @@
hidden="true"
name="ecf.generic.client.java8">
+
+
+
+
+
+
+
+
@@ -35,6 +54,22 @@
class="org.eclipse.ecf.provider.internal.remoteservice.java8.J8RemoteServiceContainerAdapterFactory">
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8GenericContainerInstantiator.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8GenericContainerInstantiator.java
index 1f6401160..c5644795a 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8GenericContainerInstantiator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8GenericContainerInstantiator.java
@@ -56,7 +56,7 @@ public class J8GenericContainerInstantiator extends
// For a client, if exporter is server we can import
// or if remote is either generic server or generic client
} else if (JAVA8_CLIENT_NAME.equals(description.getName())) {
- if (supportedConfigs.contains(JAVA8_SERVER_NAME) || supportedConfigs.contains(TCPCLIENT_NAME))
+ if (supportedConfigs.contains(JAVA8_SERVER_NAME) || supportedConfigs.contains(JAVA8_CLIENT_NAME))
results.add(JAVA8_CLIENT_NAME);
}
if (results.size() == 0)
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLClientSOContainer.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLClientSOContainer.java
new file mode 100644
index 000000000..fe82ee5a6
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLClientSOContainer.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. and others. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Composent, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.provider.internal.remoteservice.java8;
+
+import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerConfig;
+import org.eclipse.ecf.provider.generic.SSLClientSOContainer;
+
+public class J8SSLClientSOContainer extends SSLClientSOContainer {
+
+ public J8SSLClientSOContainer(ISharedObjectContainerConfig config, int ka) {
+ super(config, ka);
+ }
+}
\ No newline at end of file
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLGenericContainerInstantiator.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLGenericContainerInstantiator.java
new file mode 100644
index 000000000..da2e1898f
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLGenericContainerInstantiator.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. and others. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Composent, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.provider.internal.remoteservice.java8;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.ecf.core.ContainerTypeDescription;
+import org.eclipse.ecf.core.IContainer;
+import org.eclipse.ecf.provider.generic.SOContainerConfig;
+import org.eclipse.ecf.provider.generic.SSLGenericContainerInstantiator;
+
+public class J8SSLGenericContainerInstantiator extends
+ SSLGenericContainerInstantiator {
+
+ public static final String JAVA8_SSL_CLIENT_NAME = "ecf.generic.ssl.client.java8";
+ public static final String JAVA8_SSL_SERVER_NAME = "ecf.generic.ssl.server.java8";
+
+ @Override
+ protected boolean isClient(ContainerTypeDescription description) {
+ if (description.getName().equals(JAVA8_SSL_SERVER_NAME))
+ return false;
+ return true;
+ }
+
+ @Override
+ protected IContainer createClientContainer(GenericContainerArgs gcargs)
+ throws Exception {
+ return new J8TCPClientSOContainer(new SOContainerConfig(gcargs.getID()), gcargs.getKeepAlive().intValue());
+ }
+
+ @Override
+ protected IContainer createServerContainer(GenericContainerArgs gcargs)
+ throws Exception {
+ return new J8TCPServerSOContainer(new SOContainerConfig(gcargs.getID()), gcargs.getBindAddress(), gcargs.getKeepAlive().intValue());
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public String[] getImportedConfigs(ContainerTypeDescription description, String[] exporterSupportedConfigs) {
+ if (exporterSupportedConfigs == null)
+ return null;
+ List results = new ArrayList();
+ List supportedConfigs = Arrays.asList(exporterSupportedConfigs);
+ // For a server, if exporter is a client then we can be an importer
+ if (JAVA8_SSL_SERVER_NAME.equals(description.getName())) {
+ if (supportedConfigs.contains(JAVA8_SSL_CLIENT_NAME))
+ results.add(JAVA8_SSL_SERVER_NAME);
+ // For a client, if exporter is server we can import
+ // or if remote is either generic server or generic client
+ } else if (JAVA8_SSL_CLIENT_NAME.equals(description.getName())) {
+ if (supportedConfigs.contains(JAVA8_SSL_SERVER_NAME) || supportedConfigs.contains(JAVA8_SSL_CLIENT_NAME))
+ results.add(JAVA8_SSL_CLIENT_NAME);
+ }
+ if (results.size() == 0)
+ return null;
+ return (String[]) results.toArray(new String[] {});
+ }
+
+}
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLServerSOContainer.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLServerSOContainer.java
new file mode 100644
index 000000000..e3356c6ef
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/J8SSLServerSOContainer.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Composent, Inc. and others. All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: Composent, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.ecf.provider.internal.remoteservice.java8;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.URISyntaxException;
+
+import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerConfig;
+import org.eclipse.ecf.provider.generic.SSLServerSOContainer;
+
+public class J8SSLServerSOContainer extends SSLServerSOContainer {
+
+ public J8SSLServerSOContainer(ISharedObjectContainerConfig config,
+ InetAddress bindAddress, int keepAlive) throws IOException,
+ URISyntaxException {
+ super(config, bindAddress, keepAlive);
+ }
+}
\ No newline at end of file
--
cgit v1.2.3
From aa9b4b319c5b4e3367a23f6b6f0789ddeb92738c Mon Sep 17 00:00:00 2001
From: slewis
Date: Wed, 26 Mar 2014 22:51:41 -0700
Subject: Reused AdapterManagerFactory
Change-Id: I93698b040d124ece9d804ad3be921f138d3b41d6
---
.../eclipse/ecf/internal/provider/ProviderPlugin.java | 16 +++++-----------
.../ecf/internal/provider/datashare/Activator.java | 13 ++++---------
2 files changed, 9 insertions(+), 20 deletions(-)
(limited to 'providers')
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java
index 52099e772..0a388ee69 100644
--- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java
+++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java
@@ -13,7 +13,8 @@ package org.eclipse.ecf.internal.provider;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocketFactory;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.IAdapterManager;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.ecf.core.util.*;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
@@ -36,7 +37,7 @@ public class ProviderPlugin implements BundleActivator {
private ServiceTracker logServiceTracker = null;
- private ServiceTracker adapterManagerTracker = null;
+ private AdapterManagerTracker adapterManagerTracker = null;
private ServiceTracker sslServerSocketFactoryTracker;
private ServiceTracker sslSocketFactoryTracker;
@@ -46,17 +47,10 @@ public class ProviderPlugin implements BundleActivator {
return null;
// First, try to get the adapter manager via
if (adapterManagerTracker == null) {
- adapterManagerTracker = new ServiceTracker(this.context, IAdapterManager.class.getName(), null);
+ adapterManagerTracker = new AdapterManagerTracker(this.context);
adapterManagerTracker.open();
}
- IAdapterManager adapterManager = (IAdapterManager) adapterManagerTracker.getService();
- // Then, if the service isn't there, try to get from Platform class via
- // PlatformHelper class
- if (adapterManager == null)
- adapterManager = PlatformHelper.getPlatformAdapterManager();
- if (adapterManager == null)
- getDefault().log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "Cannot get adapter manager", null)); //$NON-NLS-1$
- return adapterManager;
+ return adapterManagerTracker.getAdapterManager();
}
/**
diff --git a/providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/internal/provider/datashare/Activator.java b/providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/internal/provider/datashare/Activator.java
index 1c29ebfcf..e2bacf0c4 100644
--- a/providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/internal/provider/datashare/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/internal/provider/datashare/Activator.java
@@ -14,8 +14,8 @@ package org.eclipse.ecf.internal.provider.datashare;
import org.eclipse.core.runtime.IAdapterManager;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.ecf.core.IContainerManager;
+import org.eclipse.ecf.core.util.AdapterManagerTracker;
import org.eclipse.ecf.core.util.LogHelper;
-import org.eclipse.ecf.core.util.PlatformHelper;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.service.log.LogService;
@@ -35,7 +35,7 @@ public class Activator implements BundleActivator {
private ServiceTracker logServiceTracker = null;
- private ServiceTracker adapterManagerTracker = null;
+ private AdapterManagerTracker adapterManagerTracker = null;
private ServiceTracker containerManagerTracker = null;
@@ -103,15 +103,10 @@ public class Activator implements BundleActivator {
public IAdapterManager getAdapterManager() {
// First, try to get the adapter manager via
if (adapterManagerTracker == null) {
- adapterManagerTracker = new ServiceTracker(this.context, IAdapterManager.class.getName(), null);
+ adapterManagerTracker = new AdapterManagerTracker(this.context);
adapterManagerTracker.open();
}
- IAdapterManager adapterManager = (IAdapterManager) adapterManagerTracker.getService();
- // Then, if the service isn't there, try to get from Platform class via
- // PlatformHelper class
- if (adapterManager == null)
- adapterManager = PlatformHelper.getPlatformAdapterManager();
- return adapterManager;
+ return adapterManagerTracker.getAdapterManager();
}
/**
--
cgit v1.2.3
From 0c7a3a1287fd45106d8691b1cf61bb5c26a8f953 Mon Sep 17 00:00:00 2001
From: slewis
Date: Fri, 28 Mar 2014 23:33:17 -0700
Subject: Added support for generic provider container type registration and
adapter factory registration without extension registry for bug 421569
Change-Id: I0000000000000000000000000000000000000000
---
.../org.eclipse.ecf.provider/build.properties | 3 +-
.../ecf/internal/provider/ProviderPlugin.java | 16 +++++--
.../internal/provider/remoteservice/Activator.java | 50 ++++++++++++++++++++--
3 files changed, 60 insertions(+), 9 deletions(-)
(limited to 'providers')
diff --git a/framework/bundles/org.eclipse.ecf.provider/build.properties b/framework/bundles/org.eclipse.ecf.provider/build.properties
index 4203b3f2e..7a0fd6349 100644
--- a/framework/bundles/org.eclipse.ecf.provider/build.properties
+++ b/framework/bundles/org.eclipse.ecf.provider/build.properties
@@ -12,8 +12,7 @@ bin.includes = .,\
plugin.xml,\
META-INF/,\
about.html,\
- plugin.properties,\
- OSGI-INF/
+ plugin.properties
src.includes = about.html
jars.compile.order = .
source.. = src/
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java
index 0a388ee69..6e7280610 100644
--- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java
+++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/internal/provider/ProviderPlugin.java
@@ -13,9 +13,11 @@ package org.eclipse.ecf.internal.provider;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocketFactory;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.*;
+import org.eclipse.ecf.core.ContainerTypeDescription;
import org.eclipse.ecf.core.util.*;
+import org.eclipse.ecf.provider.generic.GenericContainerInstantiator;
+import org.eclipse.ecf.provider.generic.SSLGenericContainerInstantiator;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.service.log.LogService;
@@ -64,8 +66,16 @@ public class ProviderPlugin implements BundleActivator {
/**
* This method is called upon plug-in activation
*/
- public void start(BundleContext context1) throws Exception {
+ public void start(final BundleContext context1) throws Exception {
this.context = context1;
+ SafeRunner.run(new ExtensionRegistryRunnable(this.context) {
+ protected void runWithoutRegistry() throws Exception {
+ context1.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(GenericContainerInstantiator.TCPSERVER_NAME, new GenericContainerInstantiator(), "ECF Generic Server", true, false), null); //$NON-NLS-1$
+ context1.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(GenericContainerInstantiator.TCPCLIENT_NAME, new GenericContainerInstantiator(), "ECF Generic Client", false, true), null); //$NON-NLS-1$
+ context1.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(SSLGenericContainerInstantiator.SSLSERVER_NAME, new SSLGenericContainerInstantiator(), "ECF SSL Generic Server", true, false), null); //$NON-NLS-1$
+ context1.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(SSLGenericContainerInstantiator.SSLCLIENT_NAME, new SSLGenericContainerInstantiator(), "ECF SSL Generic Client", false, true), null); //$NON-NLS-1$
+ }
+ });
}
/**
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 1a2531ce3..30a6342e8 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,9 +8,12 @@
******************************************************************************/
package org.eclipse.ecf.internal.provider.remoteservice;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ecf.core.util.LogHelper;
-import org.eclipse.ecf.core.util.SystemLogService;
+import java.util.*;
+import org.eclipse.core.runtime.*;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.core.util.*;
+import org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceContainerAdapterFactory;
+import org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceNamespace;
import org.osgi.framework.*;
import org.osgi.service.log.LogService;
import org.osgi.util.tracker.ServiceTracker;
@@ -39,8 +42,39 @@ public class Activator implements BundleActivator {
plugin = this;
}
- public void start(BundleContext ctxt) throws Exception {
+ private List rscAdapterFactories;
+
+ private static IAdapterManager getAdapterManager(BundleContext ctx) {
+ AdapterManagerTracker t = new AdapterManagerTracker(ctx);
+ t.open();
+ IAdapterManager am = t.getAdapterManager();
+ t.close();
+ return am;
+ }
+
+ public void start(final BundleContext ctxt) throws Exception {
this.context = ctxt;
+ SafeRunner.run(new ExtensionRegistryRunnable(this.context) {
+ protected void runWithoutRegistry() throws Exception {
+ ctxt.registerService(Namespace.class, new RemoteServiceNamespace(org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceNamespace.NAME, "Generic remote service namespace"), null); //$NON-NLS-1$
+ IAdapterManager am = getAdapterManager(ctxt);
+ if (am != null) {
+ rscAdapterFactories = new ArrayList();
+ IAdapterFactory af = new RemoteServiceContainerAdapterFactory();
+ am.registerAdapters(af, org.eclipse.ecf.provider.generic.SSLServerSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new RemoteServiceContainerAdapterFactory();
+ am.registerAdapters(af, org.eclipse.ecf.provider.generic.TCPServerSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new RemoteServiceContainerAdapterFactory();
+ am.registerAdapters(af, org.eclipse.ecf.provider.generic.SSLClientSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new RemoteServiceContainerAdapterFactory();
+ am.registerAdapters(af, org.eclipse.ecf.provider.generic.TCPClientSOContainer.class);
+ rscAdapterFactories.add(af);
+ }
+ }
+ });
}
public void stop(BundleContext ctxt) throws Exception {
@@ -49,6 +83,14 @@ public class Activator implements BundleActivator {
logServiceTracker = null;
logService = null;
}
+ if (rscAdapterFactories != null) {
+ IAdapterManager am = getAdapterManager(this.context);
+ if (am != null) {
+ for (Iterator i = rscAdapterFactories.iterator(); i.hasNext();)
+ am.unregisterAdapters((IAdapterFactory) i.next());
+ }
+ rscAdapterFactories = null;
+ }
this.context = null;
plugin = null;
}
--
cgit v1.2.3
From 13dabf26528a07883a2205b9dc67de66d9dec7ec Mon Sep 17 00:00:00 2001
From: slewis
Date: Sat, 29 Mar 2014 12:11:28 -0700
Subject: Added no extension registry support to java8 generic provider
Change-Id: If2f60e9229b3c58e7756821e20f103b93bca2368
---
.../META-INF/MANIFEST.MF | 5 +-
.../internal/remoteservice/java8/Activator.java | 68 ++++++++++++++++++++++
2 files changed, 72 insertions(+), 1 deletion(-)
create mode 100644 providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/META-INF/MANIFEST.MF
index 5dfaaed49..5f462461f 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/META-INF/MANIFEST.MF
@@ -12,6 +12,9 @@ Require-Bundle: org.eclipse.ecf;bundle-version="3.3.0",
org.eclipse.equinox.common;bundle-version="3.6.200",
org.eclipse.ecf.remoteservice;bundle-version="8.3.0"
Import-Package: org.eclipse.equinox.concurrent.future;version="1.1.0",
- org.osgi.framework;version="1.8.0"
+ org.osgi.framework;version="1.8.0",
+ org.osgi.util.tracker;version="1.5.1"
Bundle-Localization: plugin
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.ecf.provider.internal.remoteservice.java8.Activator
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
new file mode 100644
index 000000000..3da80c269
--- /dev/null
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
@@ -0,0 +1,68 @@
+package org.eclipse.ecf.provider.internal.remoteservice.java8;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.IAdapterManager;
+import org.eclipse.core.runtime.SafeRunner;
+import org.eclipse.ecf.core.ContainerTypeDescription;
+import org.eclipse.ecf.core.util.AdapterManagerTracker;
+import org.eclipse.ecf.core.util.ExtensionRegistryRunnable;
+import org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceContainerAdapterFactory;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ private List rscAdapterFactories;
+
+ private static IAdapterManager getAdapterManager(BundleContext ctx) {
+ AdapterManagerTracker t = new AdapterManagerTracker(ctx);
+ t.open();
+ IAdapterManager am = t.getAdapterManager();
+ t.close();
+ return am;
+ }
+
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ SafeRunner.run(new ExtensionRegistryRunnable(context) {
+ protected void runWithoutRegistry() throws Exception {
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_SERVER_NAME, new J8GenericContainerInstantiator(), "ECF Generic Server", true, false), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_CLIENT_NAME, new J8GenericContainerInstantiator(), "ECF Generic Client", false, true), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_CLIENT_NAME, new J8SSLGenericContainerInstantiator(), "ECF SSL Generic Server", true, false), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_SERVER_NAME, new J8SSLGenericContainerInstantiator(), "ECF SSL Generic Client", false, true), null); //$NON-NLS-1$
+ IAdapterManager am = getAdapterManager(context);
+ if (am != null) {
+ rscAdapterFactories = new ArrayList();
+ IAdapterFactory af = new J8RemoteServiceContainerAdapterFactory();
+ am.registerAdapters(af, J8SSLServerSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new RemoteServiceContainerAdapterFactory();
+ am.registerAdapters(af, J8TCPServerSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new RemoteServiceContainerAdapterFactory();
+ am.registerAdapters(af, J8SSLClientSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new RemoteServiceContainerAdapterFactory();
+ am.registerAdapters(af, J8TCPClientSOContainer.class);
+ rscAdapterFactories.add(af);
+ }
+ }
+ });
+
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ if (rscAdapterFactories != null) {
+ IAdapterManager am = getAdapterManager(context);
+ if (am != null) {
+ for (IAdapterFactory af : rscAdapterFactories)
+ am.unregisterAdapters(af);
+ }
+ }
+ }
+
+}
--
cgit v1.2.3
From c2c021a2c39100409ec8322172f87657487750e0 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sat, 29 Mar 2014 14:58:53 -0700
Subject: Update discovery api and jmdns discovery provider to be usable
without extension registry per bug 421569
Change-Id: I02dc9a9659606b1803255369371e8e98bd78249f
---
.../ecf/internal/discovery/DiscoveryNamespace.java | 8 ++++
.../ecf/internal/discovery/DiscoveryPlugin.java | 46 ++++++++++++----------
.../META-INF/MANIFEST.MF | 2 +-
.../ecf/internal/provider/jmdns/JMDNSPlugin.java | 26 +++++++-----
.../jmdns/container/ContainerInstantiator.java | 16 +++++++-
.../provider/jmdns/identity/JMDNSNamespace.java | 11 ++++++
6 files changed, 76 insertions(+), 33 deletions(-)
(limited to 'providers')
diff --git a/framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/internal/discovery/DiscoveryNamespace.java b/framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/internal/discovery/DiscoveryNamespace.java
index 258de6c17..264c95401 100644
--- a/framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/internal/discovery/DiscoveryNamespace.java
+++ b/framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/internal/discovery/DiscoveryNamespace.java
@@ -20,6 +20,14 @@ public class DiscoveryNamespace extends Namespace {
private static final long serialVersionUID = 6474091408790223505L;
public static final String NAME = "ecf.namespace.discovery"; //$NON-NLS-1$
+ public DiscoveryNamespace() {
+ super();
+ }
+
+ public DiscoveryNamespace(String description) {
+ super(NAME, description);
+ }
+
/*
* (non-Javadoc)
*
diff --git a/framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/internal/discovery/DiscoveryPlugin.java b/framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/internal/discovery/DiscoveryPlugin.java
index 5cead024a..c6ff207c0 100644
--- a/framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/internal/discovery/DiscoveryPlugin.java
+++ b/framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/internal/discovery/DiscoveryPlugin.java
@@ -10,8 +10,8 @@
package org.eclipse.ecf.internal.discovery;
import org.eclipse.core.runtime.*;
-import org.eclipse.ecf.core.util.LogHelper;
-import org.eclipse.ecf.core.util.PlatformHelper;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.core.util.*;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.service.log.LogService;
@@ -29,7 +29,7 @@ public class DiscoveryPlugin implements BundleActivator {
private BundleContext context;
- private ServiceTracker adapterManagerTracker;
+ private AdapterManagerTracker adapterManagerTracker;
private ServiceTracker logServiceTracker = null;
/**
@@ -43,22 +43,16 @@ public class DiscoveryPlugin implements BundleActivator {
public IAdapterManager getAdapterManager() {
// First, try to get the adapter manager via
if (adapterManagerTracker == null) {
- adapterManagerTracker = new ServiceTracker(this.context, IAdapterManager.class.getName(), null);
+ adapterManagerTracker = new AdapterManagerTracker(this.context);
adapterManagerTracker.open();
}
- IAdapterManager adapterManager = (IAdapterManager) adapterManagerTracker.getService();
- // Then, if the service isn't there, try to get from Platform class via
- // PlatformHelper class
- if (adapterManager == null)
- adapterManager = PlatformHelper.getPlatformAdapterManager();
- if (adapterManager == null)
- getDefault().log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "Cannot get adapter manager", null)); //$NON-NLS-1$
- return adapterManager;
+ return adapterManagerTracker.getAdapterManager();
}
public LogService getLogService() {
if (logServiceTracker == null) {
- logServiceTracker = new ServiceTracker(this.context, LogService.class.getName(), null);
+ logServiceTracker = new ServiceTracker(this.context,
+ LogService.class.getName(), null);
logServiceTracker.open();
}
return (LogService) logServiceTracker.getService();
@@ -67,23 +61,34 @@ public class DiscoveryPlugin implements BundleActivator {
public void log(IStatus status) {
LogService logService = getLogService();
if (logService != null) {
- logService.log(LogHelper.getLogCode(status), LogHelper.getLogMessage(status), status.getException());
+ logService.log(LogHelper.getLogCode(status),
+ LogHelper.getLogMessage(status), status.getException());
}
}
/**
* This method is called upon plug-in activation
- * @param ctxt the bundle context
- * @throws Exception
+ *
+ * @param ctxt
+ * the bundle context
+ * @throws Exception
*/
- public void start(BundleContext ctxt) throws Exception {
+ public void start(final BundleContext ctxt) throws Exception {
this.context = ctxt;
+ SafeRunner.run(new ExtensionRegistryRunnable(this.context) {
+ protected void runWithoutRegistry() throws Exception {
+ ctxt.registerService(Namespace.class, new DiscoveryNamespace(
+ "Discovery Namespace"), null);
+ }
+ });
}
/**
* This method is called when the plug-in is stopped
- * @param ctxt the bundle context
- * @throws Exception
+ *
+ * @param ctxt
+ * the bundle context
+ * @throws Exception
*/
public void stop(BundleContext ctxt) throws Exception {
if (logServiceTracker != null) {
@@ -100,6 +105,7 @@ public class DiscoveryPlugin implements BundleActivator {
/**
* Returns the shared instance.
+ *
* @return default discovery plugin instance.
*/
public synchronized static DiscoveryPlugin getDefault() {
@@ -112,7 +118,7 @@ public class DiscoveryPlugin implements BundleActivator {
public static boolean isStopped() {
return plugin == null;
}
-
+
public BundleContext getBundleContext() {
return context;
}
diff --git a/providers/bundles/org.eclipse.ecf.provider.jmdns/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.jmdns/META-INF/MANIFEST.MF
index c08179f25..9e1d8fd86 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jmdns/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.jmdns/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ecf.provider.jmdns;singleton:=true
-Bundle-Version: 4.2.0.qualifier
+Bundle-Version: 4.3.0.qualifier
Bundle-Activator: org.eclipse.ecf.internal.provider.jmdns.JMDNSPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/internal/provider/jmdns/JMDNSPlugin.java b/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/internal/provider/jmdns/JMDNSPlugin.java
index 620ccbd69..0a1b56a84 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/internal/provider/jmdns/JMDNSPlugin.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/internal/provider/jmdns/JMDNSPlugin.java
@@ -12,14 +12,17 @@ package org.eclipse.ecf.internal.provider.jmdns;
import java.util.Properties;
import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.ecf.core.ContainerConnectException;
-import org.eclipse.ecf.core.IContainer;
+import org.eclipse.core.runtime.SafeRunner;
+import org.eclipse.ecf.core.*;
import org.eclipse.ecf.core.identity.IDCreateException;
+import org.eclipse.ecf.core.identity.Namespace;
import org.eclipse.ecf.core.util.*;
import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
import org.eclipse.ecf.discovery.IDiscoveryLocator;
import org.eclipse.ecf.discovery.service.IDiscoveryService;
+import org.eclipse.ecf.provider.jmdns.container.ContainerInstantiator;
import org.eclipse.ecf.provider.jmdns.container.JMDNSDiscoveryContainer;
+import org.eclipse.ecf.provider.jmdns.identity.JMDNSNamespace;
import org.osgi.framework.*;
import org.osgi.service.log.LogService;
import org.osgi.util.tracker.ServiceTracker;
@@ -45,7 +48,7 @@ public class JMDNSPlugin implements BundleActivator {
plugin = this;
}
- private ServiceTracker adapterManagerTracker = null;
+ private AdapterManagerTracker adapterManagerTracker = null;
private ServiceRegistration serviceRegistration;
@@ -56,15 +59,10 @@ public class JMDNSPlugin implements BundleActivator {
public IAdapterManager getAdapterManager() {
// First, try to get the adapter manager via
if (adapterManagerTracker == null) {
- adapterManagerTracker = new ServiceTracker(this.context, IAdapterManager.class.getName(), null);
+ adapterManagerTracker = new AdapterManagerTracker(this.context);
adapterManagerTracker.open();
}
- IAdapterManager adapterManager = (IAdapterManager) adapterManagerTracker.getService();
- // Then, if the service isn't there, try to get from Platform class via
- // PlatformHelper class
- if (adapterManager == null)
- adapterManager = PlatformHelper.getPlatformAdapterManager();
- return adapterManager;
+ return adapterManagerTracker.getAdapterManager();
}
/**
@@ -78,6 +76,14 @@ public class JMDNSPlugin implements BundleActivator {
props.put(Constants.SERVICE_RANKING, new Integer(750));
String[] clazzes = new String[] {IDiscoveryService.class.getName(), IDiscoveryLocator.class.getName(), IDiscoveryAdvertiser.class.getName()};
serviceRegistration = context.registerService(clazzes, serviceFactory, props);
+ SafeRunner.run(new ExtensionRegistryRunnable(ctxt) {
+ protected void runWithoutRegistry() throws Exception {
+ ctxt.registerService(Namespace.class, new JMDNSNamespace("JMDNS Discovery Namespace"), null);
+ ctxt.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(ContainerInstantiator.JMDNS_CONTAINER_NAME, new ContainerInstantiator(), "JMDNS Discovery Container", true, false), null);
+ ctxt.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(ContainerInstantiator.JMDNS_LOCATOR_NAME, new ContainerInstantiator(), "JMDNS Discovery Locator"), null);
+ ctxt.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(ContainerInstantiator.JMDNS_ADVERTISER_NAME, new ContainerInstantiator(), "JMDNS Discovery Advertiser"), null);
+ }
+ });
}
private final DiscoveryServiceFactory serviceFactory = new DiscoveryServiceFactory();
diff --git a/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/container/ContainerInstantiator.java b/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/container/ContainerInstantiator.java
index 6fc8b3ce3..1fb03aa82 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/container/ContainerInstantiator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/container/ContainerInstantiator.java
@@ -17,13 +17,25 @@ import org.eclipse.ecf.discovery.IDiscoveryContainerAdapter;
public class ContainerInstantiator implements IContainerInstantiator {
+ /**
+ * @since 4.3
+ */
+ public static final String JMDNS_CONTAINER_NAME = "ecf.container.jmdns";
+ /**
+ * @since 4.3
+ */
+ public static final String JMDNS_LOCATOR_NAME = "ecf.container.jmdns.locator";
+ /**
+ * @since 4.3
+ */
+ public static final String JMDNS_ADVERTISER_NAME = "ecf.container.jmdns.advertiser";
+
/* (non-Javadoc)
* @see org.eclipse.ecf.core.provider.IContainerInstantiator#createInstance(org.eclipse.ecf.core.ContainerTypeDescription, java.lang.Object[])
*/
public IContainer createInstance(final ContainerTypeDescription description, final Object[] args) throws ContainerCreateException {
try {
- final AbstractContainer container = new JMDNSDiscoveryContainer();
- return container;
+ return new JMDNSDiscoveryContainer();
} catch (final IDCreateException e) {
final ContainerCreateException excep = new ContainerCreateException("Jmdns container create failed", e); //$NON-NLS-1$
excep.setStackTrace(e.getStackTrace());
diff --git a/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/identity/JMDNSNamespace.java b/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/identity/JMDNSNamespace.java
index 5c2691495..ac6a046fa 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/identity/JMDNSNamespace.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/identity/JMDNSNamespace.java
@@ -23,6 +23,17 @@ public class JMDNSNamespace extends Namespace {
public static final String NAME = "ecf.namespace.jmdns"; //$NON-NLS-1$
+ public JMDNSNamespace() {
+ super();
+ }
+
+ /**
+ * @since 4.3
+ */
+ public JMDNSNamespace(String description) {
+ super(NAME, description);
+ }
+
private String getInitFromExternalForm(final Object[] args) {
if (args == null || args.length < 1 || args[0] == null)
return null;
--
cgit v1.2.3
From 9b1e192c7ef5ebf007b403d843bd2f71b4a6d7b4 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sat, 29 Mar 2014 18:36:49 -0700
Subject: Updates to support r_osgi provider working without equinox extension
registry as per bug 421569
Change-Id: If6102913c94f46279ee56abd028a670aff7a1f51
---
.../org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF | 2 +-
.../org/eclipse/ecf/internal/provider/r_osgi/Activator.java | 13 +++++++++++++
.../provider/r_osgi/R_OSGiContainerInstantiator.java | 1 +
.../r_osgi/identity/R_OSGiRemoteServiceNamespace.java | 4 ++++
4 files changed, 19 insertions(+), 1 deletion(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF
index 2b40780f9..b0a7c8973 100644
--- a/providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %plugin.name
Bundle-SymbolicName: org.eclipse.ecf.provider.r_osgi;singleton:=true
-Bundle-Version: 3.3.0.qualifier
+Bundle-Version: 3.4.0.qualifier
Import-Package: org.eclipse.ecf.core.util.reflection,
org.eclipse.equinox.concurrent.future;version="1.0.0",
org.osgi.framework;version="1.3.0",
diff --git a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/Activator.java b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/Activator.java
index e5d33c2bb..216b2fcad 100644
--- a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/Activator.java
@@ -12,6 +12,12 @@
package org.eclipse.ecf.internal.provider.r_osgi;
import ch.ethz.iks.r_osgi.RemoteOSGiService;
+import org.eclipse.core.runtime.SafeRunner;
+import org.eclipse.ecf.core.ContainerTypeDescription;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.core.util.ExtensionRegistryRunnable;
+import org.eclipse.ecf.provider.r_osgi.identity.R_OSGiNamespace;
+import org.eclipse.ecf.provider.r_osgi.identity.R_OSGiRemoteServiceNamespace;
import org.eclipse.equinox.concurrent.future.IExecutor;
import org.osgi.framework.*;
import org.osgi.util.tracker.ServiceTracker;
@@ -64,6 +70,13 @@ public final class Activator implements BundleActivator {
this.context = bc;
r_osgi_tracker = new ServiceTracker(context, RemoteOSGiService.class.getName(), null);
r_osgi_tracker.open();
+ SafeRunner.run(new ExtensionRegistryRunnable(bc) {
+ protected void runWithoutRegistry() throws Exception {
+ bc.registerService(Namespace.class, new R_OSGiNamespace(), null);
+ bc.registerService(Namespace.class, new R_OSGiRemoteServiceNamespace(), null);
+ bc.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(R_OSGiContainerInstantiator.NAME, new R_OSGiContainerInstantiator(), "R_OSGi Container", true, false), null); //$NON-NLS-1$
+ }
+ });
}
/**
diff --git a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiContainerInstantiator.java b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiContainerInstantiator.java
index db3bd9eaa..4e88fd40f 100644
--- a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiContainerInstantiator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiContainerInstantiator.java
@@ -104,6 +104,7 @@ public final class R_OSGiContainerInstantiator implements IContainerInstantiator
}
private static final String ROSGI_CONFIG = "ecf.r_osgi.peer"; //$NON-NLS-1$
+ public static final String NAME = ROSGI_CONFIG;
private static final String[] ROSGI_CONFIGS = new String[] {ROSGI_CONFIG};
diff --git a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/provider/r_osgi/identity/R_OSGiRemoteServiceNamespace.java b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/provider/r_osgi/identity/R_OSGiRemoteServiceNamespace.java
index ac1ff8569..db8983bec 100644
--- a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/provider/r_osgi/identity/R_OSGiRemoteServiceNamespace.java
+++ b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/provider/r_osgi/identity/R_OSGiRemoteServiceNamespace.java
@@ -23,6 +23,10 @@ public class R_OSGiRemoteServiceNamespace extends Namespace {
public static final String NAME = "ecf.namespace.r_osgi.remoteservice"; //$NON-NLS-1$
+ public R_OSGiRemoteServiceNamespace() {
+ super(NAME, "R_OSGi Remote Service Namespace"); //$NON-NLS-1$
+ }
+
public ID createInstance(Object[] parameters) throws IDCreateException {
if (parameters == null || parameters.length != 2)
throw new IDCreateException("Parameters incorrect for remote ID creation"); //$NON-NLS-1$
--
cgit v1.2.3
From 286a091c369ece5625101e5cbb7eabe1e7a7e9c2 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 12:30:03 -0700
Subject: Fix for java8 generic provider to allow for not using registry as per
bug 421569
Change-Id: Ia9ee62256a5d1ffbf39423f45f7cc9f4ae26795e
---
.../ecf/provider/internal/remoteservice/java8/Activator.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
index 3da80c269..ba64b4865 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
@@ -29,10 +29,10 @@ public class Activator implements BundleActivator {
public void start(final BundleContext context) throws Exception {
SafeRunner.run(new ExtensionRegistryRunnable(context) {
protected void runWithoutRegistry() throws Exception {
- context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_SERVER_NAME, new J8GenericContainerInstantiator(), "ECF Generic Server", true, false), null); //$NON-NLS-1$
- context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_CLIENT_NAME, new J8GenericContainerInstantiator(), "ECF Generic Client", false, true), null); //$NON-NLS-1$
- context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_CLIENT_NAME, new J8SSLGenericContainerInstantiator(), "ECF SSL Generic Server", true, false), null); //$NON-NLS-1$
- context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_SERVER_NAME, new J8SSLGenericContainerInstantiator(), "ECF SSL Generic Client", false, true), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_SERVER_NAME, new J8GenericContainerInstantiator(), "ECF Java8 Generic Server", true, false), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_CLIENT_NAME, new J8GenericContainerInstantiator(), "ECF Java8 Generic Client", false, true), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_CLIENT_NAME, new J8SSLGenericContainerInstantiator(), "ECF Java8 SSL Generic Server", true, false), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_SERVER_NAME, new J8SSLGenericContainerInstantiator(), "ECF Java8 SSL Generic Client", false, true), null); //$NON-NLS-1$
IAdapterManager am = getAdapterManager(context);
if (am != null) {
rscAdapterFactories = new ArrayList();
--
cgit v1.2.3
From a3f70fb5838739de3f6792d16e34aa2739f1a038 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 14:29:34 -0700
Subject: Fix for generic java8 provider for bug 421569
Change-Id: Icd8a18e54c7bc417897e1f1a696af32b3b7d3425
---
.../ecf/provider/internal/remoteservice/java8/Activator.java | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
index ba64b4865..5645cb39e 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
@@ -30,22 +30,22 @@ public class Activator implements BundleActivator {
SafeRunner.run(new ExtensionRegistryRunnable(context) {
protected void runWithoutRegistry() throws Exception {
context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_SERVER_NAME, new J8GenericContainerInstantiator(), "ECF Java8 Generic Server", true, false), null); //$NON-NLS-1$
- context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_CLIENT_NAME, new J8GenericContainerInstantiator(), "ECF Java8 Generic Client", false, true), null); //$NON-NLS-1$
- context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_CLIENT_NAME, new J8SSLGenericContainerInstantiator(), "ECF Java8 SSL Generic Server", true, false), null); //$NON-NLS-1$
- context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_SERVER_NAME, new J8SSLGenericContainerInstantiator(), "ECF Java8 SSL Generic Client", false, true), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8GenericContainerInstantiator.JAVA8_CLIENT_NAME, new J8GenericContainerInstantiator(), "ECF Java8 Generic Client", false, false), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_CLIENT_NAME, new J8SSLGenericContainerInstantiator(), "ECF Java8 SSL Generic Client", false, false), null); //$NON-NLS-1$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(J8SSLGenericContainerInstantiator.JAVA8_SSL_SERVER_NAME, new J8SSLGenericContainerInstantiator(), "ECF Java8 SSL Generic Server", true, false), null); //$NON-NLS-1$
IAdapterManager am = getAdapterManager(context);
if (am != null) {
rscAdapterFactories = new ArrayList();
IAdapterFactory af = new J8RemoteServiceContainerAdapterFactory();
am.registerAdapters(af, J8SSLServerSOContainer.class);
rscAdapterFactories.add(af);
- af = new RemoteServiceContainerAdapterFactory();
+ af = new J8RemoteServiceContainerAdapterFactory();
am.registerAdapters(af, J8TCPServerSOContainer.class);
rscAdapterFactories.add(af);
- af = new RemoteServiceContainerAdapterFactory();
+ af = new J8RemoteServiceContainerAdapterFactory();
am.registerAdapters(af, J8SSLClientSOContainer.class);
rscAdapterFactories.add(af);
- af = new RemoteServiceContainerAdapterFactory();
+ af = new J8RemoteServiceContainerAdapterFactory();
am.registerAdapters(af, J8TCPClientSOContainer.class);
rscAdapterFactories.add(af);
}
--
cgit v1.2.3
From 7fba5ac802f0be0f3a5e9c7d7599b609f0a01915 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 14:30:30 -0700
Subject: Fix for generic java8 provider for bug 421569
Change-Id: I0000000000000000000000000000000000000000
---
.../org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java | 1 -
1 file changed, 1 deletion(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
index 5645cb39e..4791bf408 100644
--- a/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.remoteservice.java8/src/org/eclipse/ecf/provider/internal/remoteservice/java8/Activator.java
@@ -9,7 +9,6 @@ import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.ecf.core.ContainerTypeDescription;
import org.eclipse.ecf.core.util.AdapterManagerTracker;
import org.eclipse.ecf.core.util.ExtensionRegistryRunnable;
-import org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceContainerAdapterFactory;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
--
cgit v1.2.3
From c690aba14eb31e4fe085b0c6b80db497ad7bdbb8 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 20:21:48 -0700
Subject: Additions to convert datashare provider to allow no registry bug
421569
Change-Id: Ia7f7558210a4b886e5b6d9836673d5369df32d8f
---
.../META-INF/MANIFEST.MF | 2 +-
.../org.eclipse.ecf.provider.datashare/plugin.xml | 18 +++++++++++++
.../ecf/internal/provider/datashare/Activator.java | 31 ++++++++++++++++++----
3 files changed, 45 insertions(+), 6 deletions(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.datashare/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.datashare/META-INF/MANIFEST.MF
index 04cb9629d..c0c72691e 100644
--- a/providers/bundles/org.eclipse.ecf.provider.datashare/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.datashare/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %plugin.name
Bundle-SymbolicName: org.eclipse.ecf.provider.datashare;singleton:=true
-Bundle-Version: 1.4.100.qualifier
+Bundle-Version: 1.5.0.qualifier
Bundle-Activator: org.eclipse.ecf.internal.provider.datashare.Activator
Bundle-Vendor: %plugin.provider
Bundle-Localization: plugin
diff --git a/providers/bundles/org.eclipse.ecf.provider.datashare/plugin.xml b/providers/bundles/org.eclipse.ecf.provider.datashare/plugin.xml
index bf74e668b..38cd24e8c 100644
--- a/providers/bundles/org.eclipse.ecf.provider.datashare/plugin.xml
+++ b/providers/bundles/org.eclipse.ecf.provider.datashare/plugin.xml
@@ -18,5 +18,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/internal/provider/datashare/Activator.java b/providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/internal/provider/datashare/Activator.java
index e2bacf0c4..035178190 100644
--- a/providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/internal/provider/datashare/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/internal/provider/datashare/Activator.java
@@ -11,11 +11,11 @@
package org.eclipse.ecf.internal.provider.datashare;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.IStatus;
+import java.util.List;
+import org.eclipse.core.runtime.*;
import org.eclipse.ecf.core.IContainerManager;
-import org.eclipse.ecf.core.util.AdapterManagerTracker;
-import org.eclipse.ecf.core.util.LogHelper;
+import org.eclipse.ecf.core.util.*;
+import org.eclipse.ecf.provider.datashare.DatashareContainerAdapterFactory;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.service.log.LogService;
@@ -61,11 +61,32 @@ public class Activator implements BundleActivator {
}
}
+ List rscAdapterFactories;
+
/**
* This method is called upon plug-in activation
*/
- public void start(BundleContext ctxt) throws Exception {
+ public void start(final BundleContext ctxt) throws Exception {
this.context = ctxt;
+ SafeRunner.run(new ExtensionRegistryRunnable(ctxt) {
+ protected void runWithoutRegistry() throws Exception {
+ IAdapterManager am = getAdapterManager();
+ if (am != null) {
+ IAdapterFactory af = new DatashareContainerAdapterFactory();
+ am.registerAdapters(af, org.eclipse.ecf.provider.generic.SSLServerSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new DatashareContainerAdapterFactory();
+ am.registerAdapters(af, org.eclipse.ecf.provider.generic.TCPServerSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new DatashareContainerAdapterFactory();
+ am.registerAdapters(af, org.eclipse.ecf.provider.generic.SSLClientSOContainer.class);
+ rscAdapterFactories.add(af);
+ af = new DatashareContainerAdapterFactory();
+ am.registerAdapters(af, org.eclipse.ecf.provider.generic.TCPClientSOContainer.class);
+ rscAdapterFactories.add(af);
+ }
+ }
+ });
}
/**
--
cgit v1.2.3
From 387d3378fe26db656d3ccbf3f23318a1b7ef988d Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 20:40:34 -0700
Subject: Additions to allow org.eclipse.ecf.provider.discovery to be usable
without extension registry bug 421569
Change-Id: I771e198fe86974f84da0ef536cabb81673a68b32
---
.../ecf/internal/provider/discovery/Activator.java | 18 +++++++++++++++++-
.../provider/discovery/CompositeNamespace.java | 4 ++++
2 files changed, 21 insertions(+), 1 deletion(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/internal/provider/discovery/Activator.java b/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/internal/provider/discovery/Activator.java
index 829b484c1..ced3201c6 100644
--- a/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/internal/provider/discovery/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/internal/provider/discovery/Activator.java
@@ -12,12 +12,16 @@ package org.eclipse.ecf.internal.provider.discovery;
import java.util.HashSet;
import java.util.Properties;
+import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.ecf.core.ContainerConnectException;
+import org.eclipse.ecf.core.ContainerTypeDescription;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.core.util.ExtensionRegistryRunnable;
import org.eclipse.ecf.core.util.Trace;
import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
import org.eclipse.ecf.discovery.IDiscoveryLocator;
import org.eclipse.ecf.discovery.service.IDiscoveryService;
-import org.eclipse.ecf.provider.discovery.CompositeDiscoveryContainer;
+import org.eclipse.ecf.provider.discovery.*;
import org.osgi.framework.*;
import org.osgi.util.tracker.ServiceTracker;
@@ -47,6 +51,17 @@ public class Activator implements BundleActivator {
* @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
*/
public void start(final BundleContext context) throws Exception {
+
+ SafeRunner.run(new ExtensionRegistryRunnable(context) {
+ protected void runWithoutRegistry() throws Exception {
+ context.registerService(Namespace.class, new CompositeNamespace(), null);
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.composite", new CompositeDiscoveryContainerInstantiator(), "Composite Discovery Container", true, false), null); //$NON-NLS-1$ //$NON-NLS-2$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.singleton.discovery", new SingletonDiscoveryContainerInstantiator(), "Composite Discovery Container Locator", true, false), null); //$NON-NLS-1$ //$NON-NLS-2$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.composite.locator", new CompositeDiscoveryContainerInstantiator(), "Composite Discovery Container Locator"), null); //$NON-NLS-1$ //$NON-NLS-2$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.composite.advertiser", new CompositeDiscoveryContainerInstantiator(), "Composite Discovery Container Advertiser"), null); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ });
+
final Properties props = new Properties();
props.put(IDiscoveryLocator.CONTAINER_NAME, CompositeDiscoveryContainer.NAME);
props.put(Constants.SERVICE_RANKING, new Integer(1000));
@@ -119,6 +134,7 @@ public class Activator implements BundleActivator {
((CompositeDiscoveryContainer) service).dispose();
}
}, props);
+
}
/*
diff --git a/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/internal/provider/discovery/CompositeNamespace.java b/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/internal/provider/discovery/CompositeNamespace.java
index e37e23168..5ffc44e04 100644
--- a/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/internal/provider/discovery/CompositeNamespace.java
+++ b/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/internal/provider/discovery/CompositeNamespace.java
@@ -20,6 +20,10 @@ public class CompositeNamespace extends Namespace {
private static final long serialVersionUID = -4774766051014928510L;
public static final String NAME = "ecf.namespace.composite"; //$NON-NLS-1$
+ public CompositeNamespace() {
+ super(NAME, "Composite Namespace"); //$NON-NLS-1$
+ }
+
/* (non-Javadoc)
* @see org.eclipse.ecf.core.identity.Namespace#createInstance(java.lang.Object[])
*/
--
cgit v1.2.3
From 4e613370ac1e29572d1c7f597de1adc701efcbbb Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 20:50:56 -0700
Subject: Additions to allow org.eclipse.ecf.provider.dnssd to be used without
extension registry bug 421569
Change-Id: Iee2d9793b10eee155535cedb4da1f848db6739f2
---
.../org.eclipse.ecf.provider.dnssd/META-INF/MANIFEST.MF | 2 +-
.../bundles/org.eclipse.ecf.provider.dnssd/plugin.xml | 4 ++--
.../src/org/eclipse/ecf/provider/dnssd/Activator.java | 14 +++++++++++++-
.../src/org/eclipse/ecf/provider/dnssd/DnsSdNamespace.java | 4 ++++
4 files changed, 20 insertions(+), 4 deletions(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.dnssd/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.dnssd/META-INF/MANIFEST.MF
index f5b132cb8..2b7a86804 100644
--- a/providers/bundles/org.eclipse.ecf.provider.dnssd/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.dnssd/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ecf.provider.dnssd;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.ecf.provider.dnssd.Activator
Bundle-Vendor: %pluginProvider
Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml b/providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml
index a93033e6b..43aac56d7 100644
--- a/providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml
+++ b/providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.xml
@@ -5,7 +5,7 @@
point="org.eclipse.ecf.containerFactory">
@@ -13,7 +13,7 @@
point="org.eclipse.ecf.containerFactory">
diff --git a/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java b/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java
index b60c52fbb..d5471c4e5 100644
--- a/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/Activator.java
@@ -16,8 +16,12 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
+import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.ecf.core.ContainerConnectException;
+import org.eclipse.ecf.core.ContainerTypeDescription;
import org.eclipse.ecf.core.IContainer;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.core.util.ExtensionRegistryRunnable;
import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
import org.eclipse.ecf.discovery.IDiscoveryLocator;
import org.osgi.framework.Bundle;
@@ -46,9 +50,17 @@ public class Activator implements BundleActivator {
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
*/
- public void start(BundleContext context) throws Exception {
+ public void start(final BundleContext context) throws Exception {
this.context = context;
+ SafeRunner.run(new ExtensionRegistryRunnable(context) {
+ protected void runWithoutRegistry() throws Exception {
+ context.registerService(Namespace.class, new DnsSdNamespace(), null);
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(DISCOVERY_CONTAINER_NAME_VALUE + LOCATOR,new ContainerInstantiator(),"Discovery Locator Container"), null);
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription(DISCOVERY_CONTAINER_NAME_VALUE + ADVERTISER,new ContainerInstantiator(),"Discovery Advertiser Container"), null);
+ }
+ });
+
// register a managed factory for the locator service
final Properties locCmProps = new Properties();
locCmProps.put(Constants.SERVICE_PID, DISCOVERY_CONTAINER_NAME_VALUE + LOCATOR);
diff --git a/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/DnsSdNamespace.java b/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/DnsSdNamespace.java
index 57bb9a9ef..7c1c2ac41 100644
--- a/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/DnsSdNamespace.java
+++ b/providers/bundles/org.eclipse.ecf.provider.dnssd/src/org/eclipse/ecf/provider/dnssd/DnsSdNamespace.java
@@ -26,6 +26,10 @@ public class DnsSdNamespace extends Namespace {
public static final String SCHEME = "dnssd"; //$NON-NLS-1$
public static final String NAME = "ecf.namespace.dnssd"; //$NON-NLS-1$
+ public DnsSdNamespace() {
+ super(NAME,"Dns SD Namespace");
+ }
+
/* (non-Javadoc)
* @see org.eclipse.ecf.core.identity.Namespace#createInstance(java.lang.Object[])
*/
--
cgit v1.2.3
From dc21fceea68dac3130698ca8fdb74431953d030a Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 21:02:11 -0700
Subject: Additions to allow org.eclipse.ecf.provider.jslp to be used without
extension registry bug 421569
Change-Id: I0000000000000000000000000000000000000000
---
.../org.eclipse.ecf.provider.jslp/META-INF/MANIFEST.MF | 2 +-
.../eclipse/ecf/internal/provider/jslp/Activator.java | 17 +++++++++++++++--
.../ecf/provider/jslp/identity/JSLPNamespace.java | 4 ++++
3 files changed, 20 insertions(+), 3 deletions(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.jslp/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.jslp/META-INF/MANIFEST.MF
index 2d62d7871..f8b5eb56a 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jslp/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.jslp/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ecf.provider.jslp;singleton:=true
-Bundle-Version: 3.1.0.qualifier
+Bundle-Version: 3.2.0.qualifier
Bundle-Activator: org.eclipse.ecf.internal.provider.jslp.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java
index 3a09c540b..49917c798 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java
@@ -13,13 +13,17 @@ package org.eclipse.ecf.internal.provider.jslp;
import ch.ethz.iks.slp.Advertiser;
import ch.ethz.iks.slp.Locator;
import java.util.Properties;
-import org.eclipse.ecf.core.ContainerConnectException;
-import org.eclipse.ecf.core.IContainer;
+import org.eclipse.core.runtime.SafeRunner;
+import org.eclipse.ecf.core.*;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.core.util.ExtensionRegistryRunnable;
import org.eclipse.ecf.core.util.Trace;
import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
import org.eclipse.ecf.discovery.IDiscoveryLocator;
import org.eclipse.ecf.discovery.service.IDiscoveryService;
+import org.eclipse.ecf.provider.jslp.container.ContainerInstantiator;
import org.eclipse.ecf.provider.jslp.container.JSLPDiscoveryContainer;
+import org.eclipse.ecf.provider.jslp.identity.JSLPNamespace;
import org.osgi.framework.*;
import org.osgi.util.tracker.ServiceTracker;
@@ -82,6 +86,15 @@ public class Activator implements BundleActivator {
public void start(final BundleContext context) throws Exception {
bundleContext = context;
+ SafeRunner.run(new ExtensionRegistryRunnable(context) {
+ protected void runWithoutRegistry() throws Exception {
+ context.registerService(Namespace.class, new JSLPNamespace(), null);
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.jslp", new ContainerInstantiator(), "JSLP Discovery Container", true, false), null); //$NON-NLS-1$//$NON-NLS-2$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.jslp.locator", new ContainerInstantiator(), "JSLP Discovery Locator Container", true, false), null); //$NON-NLS-1$//$NON-NLS-2$
+ context.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.discovery.jslp.advertiser", new ContainerInstantiator(), "JSLP Discovery Advertiser Container", true, false), null); //$NON-NLS-1$//$NON-NLS-2$
+ }
+ });
+
// initially get the locator and add a life cycle listener
locatorSt = new ServiceTracker(context, Locator.class.getName(), null);
diff --git a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java
index e0d45cc7e..505831d92 100644
--- a/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java
+++ b/providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/provider/jslp/identity/JSLPNamespace.java
@@ -23,6 +23,10 @@ public class JSLPNamespace extends Namespace {
public static final String NAME = "ecf.namespace.slp"; //$NON-NLS-1$
+ public JSLPNamespace() {
+ super(NAME, "JSLP Namespace"); //$NON-NLS-1$
+ }
+
/* (non-Javadoc)
* @see org.eclipse.ecf.core.identity.Namespace#createInstance(java.lang.Object[])
*/
--
cgit v1.2.3
From b4d560fd891d1fe327910f53f7fcb9534885d9b3 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 21:08:54 -0700
Subject: Additions to allow org.eclipse.ecf.provider.local to be used without
extension registry bug 421569
Change-Id: I0000000000000000000000000000000000000000
---
.../org.eclipse.ecf.provider.local/META-INF/MANIFEST.MF | 2 +-
.../eclipse/ecf/internal/provider/local/Activator.java | 15 ++++++++++++++-
.../ecf/provider/local/identity/LocalNamespace.java | 4 ++++
3 files changed, 19 insertions(+), 2 deletions(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.local/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.local/META-INF/MANIFEST.MF
index 060762c01..7aaddeb01 100644
--- a/providers/bundles/org.eclipse.ecf.provider.local/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.local/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ECF Local Remote Service Provider
Bundle-SymbolicName: org.eclipse.ecf.provider.local;singleton:=true
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 1.3.0.qualifier
Bundle-Activator: org.eclipse.ecf.internal.provider.local.Activator
Bundle-Vendor: Eclipse.org - ECF
Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
diff --git a/providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/internal/provider/local/Activator.java b/providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/internal/provider/local/Activator.java
index 5add95bcd..40c0f7b8b 100644
--- a/providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/internal/provider/local/Activator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/internal/provider/local/Activator.java
@@ -1,5 +1,11 @@
package org.eclipse.ecf.internal.provider.local;
+import org.eclipse.core.runtime.SafeRunner;
+import org.eclipse.ecf.core.ContainerTypeDescription;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.core.util.ExtensionRegistryRunnable;
+import org.eclipse.ecf.internal.provider.local.container.LocalRemoteServiceContainerInstantiator;
+import org.eclipse.ecf.provider.local.identity.LocalNamespace;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
@@ -15,8 +21,15 @@ public class Activator implements BundleActivator {
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
*/
- public void start(BundleContext bundleContext) throws Exception {
+ public void start(final BundleContext bundleContext) throws Exception {
Activator.context = bundleContext;
+
+ SafeRunner.run(new ExtensionRegistryRunnable(bundleContext) {
+ protected void runWithoutRegistry() throws Exception {
+ bundleContext.registerService(Namespace.class, new LocalNamespace(), null);
+ bundleContext.registerService(ContainerTypeDescription.class, new ContainerTypeDescription("ecf.local", new LocalRemoteServiceContainerInstantiator(), "Local Container Instantiator", false, false), null); //$NON-NLS-1$//$NON-NLS-2$
+ }
+ });
}
/*
diff --git a/providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/provider/local/identity/LocalNamespace.java b/providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/provider/local/identity/LocalNamespace.java
index cc4cdfa48..58355279c 100644
--- a/providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/provider/local/identity/LocalNamespace.java
+++ b/providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/provider/local/identity/LocalNamespace.java
@@ -19,6 +19,10 @@ public class LocalNamespace extends Namespace {
public static final String NAME = "ecf.namespace.local"; //$NON-NLS-1$
public static final String SCHEME = "local"; //$NON-NLS-1$
+ public LocalNamespace() {
+ super(NAME, "Local Namespace"); //$NON-NLS-1$
+ }
+
public ID createInstance(Object[] parameters) throws IDCreateException {
try {
final String init = getInitStringFromExternalForm(parameters);
--
cgit v1.2.3
From 8156bccb78e28630dd6098df2ecb394f2cdeb407 Mon Sep 17 00:00:00 2001
From: slewis
Date: Sun, 30 Mar 2014 21:19:14 -0700
Subject: Additions to allow org.eclipse.ecf.provider.zookeeper to be used
without extension registry bug 421569
Change-Id: I0000000000000000000000000000000000000000
---
.../META-INF/MANIFEST.MF | 2 +-
.../bundles/org.eclipse.ecf.provider.zookeeper/plugin.xml | 8 ++++----
.../eclipse/ecf/provider/zookeeper/DiscoveryActivator.java | 14 ++++++++++++++
.../ecf/provider/zookeeper/core/ZooDiscoveryNamespace.java | 2 +-
4 files changed, 20 insertions(+), 6 deletions(-)
(limited to 'providers')
diff --git a/providers/bundles/org.eclipse.ecf.provider.zookeeper/META-INF/MANIFEST.MF b/providers/bundles/org.eclipse.ecf.provider.zookeeper/META-INF/MANIFEST.MF
index e73970267..8bf393314 100644
--- a/providers/bundles/org.eclipse.ecf.provider.zookeeper/META-INF/MANIFEST.MF
+++ b/providers/bundles/org.eclipse.ecf.provider.zookeeper/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %bundle.name
Bundle-SymbolicName: org.eclipse.ecf.provider.zookeeper;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.ecf.provider.zookeeper.DiscoveryActivator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/providers/bundles/org.eclipse.ecf.provider.zookeeper/plugin.xml b/providers/bundles/org.eclipse.ecf.provider.zookeeper/plugin.xml
index 2ca709379..97fa861c0 100644
--- a/providers/bundles/org.eclipse.ecf.provider.zookeeper/plugin.xml
+++ b/providers/bundles/org.eclipse.ecf.provider.zookeeper/plugin.xml
@@ -5,17 +5,17 @@
point="org.eclipse.ecf.containerFactory">
@@ -23,7 +23,7 @@
point="org.eclipse.ecf.identity.namespace">
diff --git a/providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/DiscoveryActivator.java b/providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/DiscoveryActivator.java
index 0bac43bda..8175053f6 100644
--- a/providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/DiscoveryActivator.java
+++ b/providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/DiscoveryActivator.java
@@ -16,10 +16,15 @@ import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
+import org.eclipse.core.runtime.SafeRunner;
+import org.eclipse.ecf.core.ContainerTypeDescription;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.core.util.ExtensionRegistryRunnable;
import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
import org.eclipse.ecf.discovery.IDiscoveryLocator;
import org.eclipse.ecf.provider.zookeeper.core.ZooDiscoveryContainer;
import org.eclipse.ecf.provider.zookeeper.core.ZooDiscoveryContainerInstantiator;
+import org.eclipse.ecf.provider.zookeeper.core.ZooDiscoveryNamespace;
import org.eclipse.ecf.provider.zookeeper.core.internal.BundleStoppingListener;
import org.eclipse.ecf.provider.zookeeper.util.Logger;
import org.eclipse.ecf.provider.zookeeper.util.PrettyPrinter;
@@ -42,6 +47,15 @@ public class DiscoveryActivator implements BundleActivator {
public void start(final BundleContext ctxt) {
context = ctxt;
+ SafeRunner.run(new ExtensionRegistryRunnable(ctxt) {
+ protected void runWithoutRegistry() throws Exception {
+ ctxt.registerService(Namespace.class,new ZooDiscoveryNamespace(), null);
+ ctxt.registerService(ContainerTypeDescription.class,new ContainerTypeDescription(ZooDiscoveryContainerInstantiator.NAME,new ZooDiscoveryContainerInstantiator(),"Zookeeper Discovery Container"), null);
+ ctxt.registerService(ContainerTypeDescription.class,new ContainerTypeDescription(ZooDiscoveryContainerInstantiator.NAME+".advertiser",new ZooDiscoveryContainerInstantiator(),"Zookeeper Discovery Advertiser Container"), null);
+ ctxt.registerService(ContainerTypeDescription.class,new ContainerTypeDescription(ZooDiscoveryContainerInstantiator.NAME+".locator",new ZooDiscoveryContainerInstantiator(),"Zookeeper Discovery Locator Container"), null);
+ }
+ });
+
final Properties props = new Properties();
props.put(IDiscoveryLocator.CONTAINER_NAME, ZooDiscoveryContainerInstantiator.NAME);
props.put(IDiscoveryAdvertiser.CONTAINER_NAME, ZooDiscoveryContainerInstantiator.NAME);
diff --git a/providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/ZooDiscoveryNamespace.java b/providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/ZooDiscoveryNamespace.java
index a6e5339a5..bc15ecb60 100644
--- a/providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/ZooDiscoveryNamespace.java
+++ b/providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/ZooDiscoveryNamespace.java
@@ -26,7 +26,7 @@ public class ZooDiscoveryNamespace extends Namespace {
public static final String NAME = "ecf.namespace.zoodiscovery"; //$NON-NLS-1$
public ZooDiscoveryNamespace() {
- super(NAME, "ZooKeeper Based Discovery Namespace"); //$NON-NLS-1$
+ super(NAME, "ZooKeeper Discovery Namespace"); //$NON-NLS-1$
}
public ID createInstance(Object[] parameters) throws IDCreateException {
--
cgit v1.2.3