blob: 1abe83ff2374b9245a8c5e9eaf0075972806e2a5 [file] [log] [blame]
/*
* Copyright (c) 2008-2012 Eike Stepper (Berlin, Germany) 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:
* Andre Dietisheim - initial API and implementation
* Eike Stepper - maintenance
*/
package org.eclipse.net4j.tests.defs;
import org.eclipse.net4j.Net4jUtil;
import org.eclipse.net4j.buffer.IBufferPool;
import org.eclipse.net4j.defs.JVMAcceptorDef;
import org.eclipse.net4j.defs.Net4jDefsFactory;
import org.eclipse.net4j.internal.jvm.JVMClientConnector;
import org.eclipse.net4j.jvm.IJVMAcceptor;
import org.eclipse.net4j.jvm.IJVMConnector;
import org.eclipse.net4j.util.concurrent.ThreadPool;
import org.eclipse.net4j.util.defs.Net4jUtilDefsFactory;
import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
import org.eclipse.net4j.util.tests.AbstractOMTest;
import java.util.concurrent.ExecutorService;
/**
* @author Andre Dietisheim
*/
public class JVMAcceptorDefImplTest extends AbstractOMTest
{
private static final String NAME = "JVMConnector1"; //$NON-NLS-1$
private static final long TIMEOUT = 10000l;
private static final long DELAY = 500l;
private IJVMConnector jvmConnector;
@Override
protected void doSetUp() throws Exception
{
jvmConnector = createJVMClientConnector();
}
@Override
protected void doTearDown() throws Exception
{
LifecycleUtil.deactivate(jvmConnector);
}
public void testAcceptorDefOpensConnection()
{
JVMAcceptorDef jvmAcceptorDef = Net4jDefsFactory.eINSTANCE.createJVMAcceptorDef();
jvmAcceptorDef.setBufferProvider(Net4jDefsFactory.eINSTANCE.createBufferPoolDef());
jvmAcceptorDef.setExecutorService(Net4jUtilDefsFactory.eINSTANCE.createThreadPoolDef());
jvmAcceptorDef.setName(NAME);
IJVMAcceptor jvmAcceptor = (IJVMAcceptor)jvmAcceptorDef.getInstance();
assertEquals(true, LifecycleUtil.isActive(jvmAcceptor));
LifecycleUtil.activate(jvmConnector);
jvmConnector.waitForConnection(DELAY + TIMEOUT);
assertEquals(true, LifecycleUtil.isActive(jvmConnector));
LifecycleUtil.deactivate(jvmAcceptor);
}
protected IJVMConnector createJVMClientConnector()
{
JVMClientConnector jvmClientConnector = new JVMClientConnector();
jvmClientConnector.getConfig().setBufferProvider(createBufferPool());
jvmClientConnector.getConfig().setReceiveExecutor(createThreadPool());
jvmClientConnector.setName(NAME);
return jvmClientConnector;
}
private IBufferPool createBufferPool()
{
IBufferPool bufferPool = Net4jUtil.createBufferPool();
LifecycleUtil.activate(bufferPool);
return bufferPool;
}
private ExecutorService createThreadPool()
{
return ThreadPool.create();
}
}