/******************************************************************************* * Copyright (c) 2010 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.internal.provider.local.container; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.eclipse.ecf.core.ContainerConnectException; import org.eclipse.ecf.core.identity.ID; import org.eclipse.ecf.core.identity.Namespace; import org.eclipse.ecf.core.security.IConnectContext; import org.eclipse.ecf.core.sharedobject.*; import org.eclipse.ecf.core.sharedobject.util.IQueueEnqueue; public class LocalSharedObjectConfig implements ISharedObjectConfig { static Map containerProperties = new HashMap(0); LocalRemoteServiceContainer container; private ID sharedObjectID; public LocalSharedObjectConfig(LocalRemoteServiceContainer container, ID sharedObjectID) { this.container = container; this.sharedObjectID = sharedObjectID; } public ID getSharedObjectID() { return sharedObjectID; } public ID getHomeContainerID() { return container.getID(); } public ISharedObjectContext getContext() { return new ISharedObjectContext() { public Object getAdapter(Class adapter) { return null; } public boolean isActive() { return true; } public ID getLocalContainerID() { return container.getID(); } public ISharedObjectManager getSharedObjectManager() { return null; } public IQueueEnqueue getQueue() { return null; } public void connect(ID targetID, IConnectContext connectContext) throws ContainerConnectException { container.connect(targetID, connectContext); } public void disconnect() { container.disconnect(); } public ID getConnectedID() { return container.getConnectedID(); } public boolean isGroupManager() { return false; } public ID[] getGroupMemberIDs() { return new ID[] {getLocalContainerID()}; } /** * @throws IOException */ public void sendCreate(ID targetID, ReplicaSharedObjectDescription sd) throws IOException { // do nothing } /** * @throws IOException */ public void sendCreateResponse(ID targetID, Throwable throwable, long identifier) throws IOException { // do nothing } /** * @throws IOException */ public void sendDispose(ID targetID) throws IOException { // do nothing } /** * @throws IOException */ public void sendMessage(ID targetID, Object data) throws IOException { // do nothing } public Namespace getConnectNamespace() { return container.getConnectNamespace(); } public Map getLocalContainerProperties() { return containerProperties; } }; } public Map getProperties() { return containerProperties; } }