/****************************************************************************
* Copyright (c) 2008 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.tests.presence.sharedobject;
import org.eclipse.ecf.core.IContainer;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.sharedobject.ISharedObject;
import org.eclipse.ecf.core.sharedobject.ISharedObjectContainer;
import org.eclipse.ecf.core.sharedobject.ISharedObjectManager;
import org.eclipse.ecf.presence.chatroom.IChatRoomContainer;
import org.eclipse.ecf.presence.chatroom.IChatRoomInfo;
import org.eclipse.ecf.tests.presence.AbstractPresenceTestCase;
/**
*
*/
public abstract class AbstractChatRoomSOAddTest extends AbstractPresenceTestCase {
public static final String CHAT_ROOM_NAME = System.getProperty("chat.room.name");
IChatRoomContainer[] chatRoomContainer;
protected int getClientCount() {
return 2;
}
protected void setUp() throws Exception {
super.setUp();
setClientCount(2);
chatRoomContainer = new IChatRoomContainer[2];
clients = createClients();
for (int i = 0; i < 2; i++) {
connectClient(i);
final IChatRoomInfo info = getPresenceAdapter(i).getChatRoomManager().getChatRoomInfo(CHAT_ROOM_NAME);
if (info == null) {
chatRoomContainer[i] = null;
} else {
chatRoomContainer[i] = info.createChatRoomContainer();
chatRoomContainer[i].connect(info.getRoomID(), null);
}
}
}
protected void tearDown() throws Exception {
super.tearDown();
cleanUpClients();
}
protected abstract ID createSharedObjectID() throws Exception;
protected abstract ISharedObject createSharedObject(ID objectID) throws Exception;
public void testAddSharedObject() throws Exception {
if (chatRoomContainer[0] == null) return;
final IContainer client0Container = chatRoomContainer[0];
assertNotNull(client0Container);
//
final ISharedObjectContainer socontainer = (ISharedObjectContainer) client0Container.getAdapter(ISharedObjectContainer.class);
final ISharedObjectManager manager = socontainer.getSharedObjectManager();
assertNotNull(manager);
final ID objectID = createSharedObjectID();
final ID id = manager.addSharedObject(objectID, createSharedObject(objectID), null);
assertNotNull(id);
final ISharedObject sharedObject = manager.getSharedObject(id);
assertNotNull(sharedObject);
sleep(5000);
}
public void testAddSharedObject1() throws Exception {
if (chatRoomContainer[0] == null) return;
final IContainer client0Container = chatRoomContainer[1];
assertNotNull(client0Container);
//
final ISharedObjectContainer socontainer = (ISharedObjectContainer) client0Container.getAdapter(ISharedObjectContainer.class);
final ISharedObjectManager manager = socontainer.getSharedObjectManager();
assertNotNull(manager);
final ID objectID = createSharedObjectID();
final ID id = manager.addSharedObject(objectID, createSharedObject(objectID), null);
assertNotNull(id);
final ISharedObject sharedObject = manager.getSharedObject(id);
assertNotNull(sharedObject);
sleep(5000);
}
public void testAddTwoSharedObjects() throws Exception {
if (chatRoomContainer[0] == null) return;
final IContainer client0Container = chatRoomContainer[0];
assertNotNull(client0Container);
final ISharedObjectContainer socontainer = (ISharedObjectContainer) client0Container.getAdapter(ISharedObjectContainer.class);
final ISharedObjectManager manager = socontainer.getSharedObjectManager();
assertNotNull(manager);
final ID objectID0 = createSharedObjectID();
final ID id0 = manager.addSharedObject(objectID0, createSharedObject(objectID0), null);
assertNotNull(id0);
final ID objectID1 = createSharedObjectID();
final ID id1 = manager.addSharedObject(objectID1, createSharedObject(objectID1), null);
assertNotNull(id1);
final ISharedObject sharedObject0 = manager.getSharedObject(id0);
assertNotNull(sharedObject0);
final ISharedObject sharedObject1 = manager.getSharedObject(id1);
assertNotNull(sharedObject1);
sleep(5000);
}
public void testAddTwoSharedObjects1() throws Exception {
if (chatRoomContainer[0] == null) return;
final IContainer client0Container = chatRoomContainer[1];
assertNotNull(client0Container);
final ISharedObjectContainer socontainer = (ISharedObjectContainer) client0Container.getAdapter(ISharedObjectContainer.class);
final ISharedObjectManager manager = socontainer.getSharedObjectManager();
assertNotNull(manager);
final ID objectID0 = createSharedObjectID();
final ID id0 = manager.addSharedObject(objectID0, createSharedObject(objectID0), null);
assertNotNull(id0);
final ID objectID1 = createSharedObjectID();
final ID id1 = manager.addSharedObject(objectID1, createSharedObject(objectID1), null);
assertNotNull(id1);
final ISharedObject sharedObject0 = manager.getSharedObject(id0);
assertNotNull(sharedObject0);
final ISharedObject sharedObject1 = manager.getSharedObject(id1);
assertNotNull(sharedObject1);
sleep(5000);
}
}