Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2009-03-07 06:37:30 +0000
committerslewis2009-03-07 06:37:30 +0000
commitb56afa7ffdaff2caf0856d7cc6d4a9516cdb685f (patch)
treea650a112c6ce876c637cc015e1cd65708b0e4a9f /server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/GenericServerContainer.java
parentc6d46adba3e6d184686ce717f796777b0adef931 (diff)
downloadorg.eclipse.ecf-b56afa7ffdaff2caf0856d7cc6d4a9516cdb685f.tar.gz
org.eclipse.ecf-b56afa7ffdaff2caf0856d7cc6d4a9516cdb685f.tar.xz
org.eclipse.ecf-b56afa7ffdaff2caf0856d7cc6d4a9516cdb685f.zip
Updates to address bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=267481
Diffstat (limited to 'server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/GenericServerContainer.java')
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/GenericServerContainer.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/GenericServerContainer.java b/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/GenericServerContainer.java
new file mode 100644
index 000000000..9b0eece59
--- /dev/null
+++ b/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/GenericServerContainer.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+* Copyright (c) 2009 EclipseSource 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:
+* EclipseSource - initial API and implementation
+******************************************************************************/
+/**
+ *
+ */
+package org.eclipse.ecf.server.generic;
+
+import org.eclipse.ecf.core.IContainerListener;
+import org.eclipse.ecf.core.events.*;
+import org.eclipse.ecf.core.sharedobject.ISharedObjectContainerConfig;
+import org.eclipse.ecf.provider.generic.TCPServerSOContainer;
+import org.eclipse.ecf.provider.generic.TCPServerSOContainerGroup;
+
+/**
+ *
+ * @since 2.0
+ *
+ */
+public class GenericServerContainer extends TCPServerSOContainer {
+
+ final AbstractGenericServer abstractGenericServer;
+
+ private IContainerListener departedListener = new IContainerListener() {
+ public void handleEvent(IContainerEvent event) {
+ if (event instanceof IContainerDisconnectedEvent) {
+ IContainerDisconnectedEvent de = (IContainerDisconnectedEvent) event;
+ GenericServerContainer.this.abstractGenericServer.handleDisconnect(de.getTargetID());
+ } else if (event instanceof IContainerEjectedEvent) {
+ IContainerEjectedEvent de = (IContainerEjectedEvent) event;
+ GenericServerContainer.this.abstractGenericServer.handleEject(de.getTargetID());
+ }
+ }
+ };
+
+ public GenericServerContainer(AbstractGenericServer abstractGenericServer, ISharedObjectContainerConfig config, TCPServerSOContainerGroup listener, String path, int keepAlive) {
+ super(config, listener, path, keepAlive);
+ this.abstractGenericServer = abstractGenericServer;
+ addListener(departedListener);
+ }
+
+ public void dispose() {
+ removeListener(departedListener);
+ super.dispose();
+ }
+} \ No newline at end of file

Back to the top