import com.vaadin.data.util.converter.Converter;
import com.vaadin.data.util.converter.DefaultConverterFactory;
import com.vaadin.server.VaadinSession;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.TextField;
public class ConverterFactory extends TestCase {
public void testApplicationConverterFactoryInBackgroundThread() {
VaadinSession.setCurrent(null);
- final VaadinSession appWithCustomIntegerConverter = new VaadinSession(
+ final VaadinSession appWithCustomIntegerConverter = new AlwaysLockedVaadinSession(
null);
appWithCustomIntegerConverter
.setConverterFactory(new ConverterFactory42());
}
public void testApplicationConverterFactoryForDetachedComponent() {
- final VaadinSession appWithCustomIntegerConverter = new VaadinSession(
+ final VaadinSession appWithCustomIntegerConverter = new AlwaysLockedVaadinSession(
null);
appWithCustomIntegerConverter
.setConverterFactory(new ConverterFactory42());
}
public void testApplicationConverterFactoryForDifferentThanCurrentApplication() {
- final VaadinSession fieldAppWithCustomIntegerConverter = new VaadinSession(
+ final VaadinSession fieldAppWithCustomIntegerConverter = new AlwaysLockedVaadinSession(
null);
fieldAppWithCustomIntegerConverter
.setConverterFactory(new ConverterFactory42());
- VaadinSession.setCurrent(new VaadinSession(null));
+ VaadinSession.setCurrent(new AlwaysLockedVaadinSession(null));
TextField tf = new TextField("", "123") {
@Override
--- /dev/null
+package com.vaadin.tests.server;
+
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import com.vaadin.server.VaadinService;
+import com.vaadin.server.VaadinSession;
+
+public class AlwaysLockedVaadinSession extends VaadinSession {
+
+ private ReentrantLock lock;
+
+ public AlwaysLockedVaadinSession(VaadinService service) {
+ super(service);
+ lock = new ReentrantLock();
+ lock.lock();
+ }
+
+ @Override
+ public Lock getLockInstance() {
+ return lock;
+ }
+}
import org.easymock.EasyMock;
+import com.vaadin.server.DeploymentConfiguration;
import com.vaadin.server.LegacyCommunicationManager;
import com.vaadin.server.StreamVariable;
import com.vaadin.server.VaadinRequest;
+import com.vaadin.server.VaadinServlet;
+import com.vaadin.server.VaadinServletService;
import com.vaadin.server.VaadinSession;
import com.vaadin.ui.ConnectorTracker;
import com.vaadin.ui.UI;
@Override
protected void setUp() throws Exception {
- final VaadinSession application = new VaadinSession(null);
+ final VaadinSession application = new AlwaysLockedVaadinSession(null);
final UI uI = new UI() {
@Override
protected void init(VaadinRequest request) {
}
private LegacyCommunicationManager createCommunicationManager() {
- return new LegacyCommunicationManager(new VaadinSession(null));
+ VaadinServletService vss = new VaadinServletService(
+ EasyMock.createMock(VaadinServlet.class),
+ EasyMock.createMock(DeploymentConfiguration.class));
+ return new LegacyCommunicationManager(
+ new AlwaysLockedVaadinSession(vss));
}
}
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinService;
import com.vaadin.server.VaadinSession;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.Component;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.Label;
public void setUp() {
control = EasyMock.createStrictControl();
- session = new VaadinSession(control.createMock(VaadinService.class));
+ session = new AlwaysLockedVaadinSession(
+ control.createMock(VaadinService.class));
ui = new UI() {
@Override
import com.vaadin.tests.data.bean.Country;
import com.vaadin.tests.data.bean.Person;
import com.vaadin.tests.data.bean.Sex;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.TextField;
}
public void testNonmodifiedBufferedFieldConversion() {
- VaadinSession.setCurrent(new VaadinSession(null));
+ VaadinSession.setCurrent(new AlwaysLockedVaadinSession(null));
TextField tf = new TextField("salary");
tf.setBuffered(true);
tf.setLocale(new Locale("en", "US"));
}
public void testModifiedBufferedFieldConversion() {
- VaadinSession.setCurrent(new VaadinSession(null));
+ VaadinSession.setCurrent(new AlwaysLockedVaadinSession(null));
TextField tf = new TextField("salary");
tf.setBuffered(true);
tf.setLocale(new Locale("en", "US"));
}
public void testChangeReadOnlyFieldLocale() {
- VaadinSession.setCurrent(new VaadinSession(null));
+ VaadinSession.setCurrent(new AlwaysLockedVaadinSession(null));
TextField tf = new TextField("salary");
tf.setLocale(new Locale("en", "US"));
}
public void testNumberDoubleConverterChange() {
- final VaadinSession a = new VaadinSession(null);
+ final VaadinSession a = new AlwaysLockedVaadinSession(null);
VaadinSession.setCurrent(a);
TextField tf = new TextField() {
@Override
import com.vaadin.tests.data.bean.Country;
import com.vaadin.tests.data.bean.Person;
import com.vaadin.tests.data.bean.Sex;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.TextField;
public class DefaultConverterFactory extends TestCase {
}
public void testFloatConversion() {
- VaadinSession sess = new VaadinSession(null);
+ VaadinSession sess = new AlwaysLockedVaadinSession(null);
VaadinSession.setCurrent(sess);
TextField tf = new TextField();
}
public void testDefaultNumberConversion() {
- VaadinSession app = new VaadinSession(null);
+ VaadinSession app = new AlwaysLockedVaadinSession(null);
VaadinSession.setCurrent(app);
TextField tf = new TextField();
tf.setLocale(new Locale("en", "US"));
import com.vaadin.data.util.converter.Converter.ConversionException;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinSession;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.UI;
int numReadOnlyChanges = 0;
AbstractField field = new AbstractField() {
- final private VaadinSession application = new VaadinSession(null);
+ final private VaadinSession application = new AlwaysLockedVaadinSession(null);
private UI uI = new UI() {
@Override
import static org.junit.Assert.assertEquals;
import org.junit.Test;
+
import com.vaadin.data.fieldgroup.BeanFieldGroup;
public class BeanFieldGroupTest {
import com.vaadin.data.util.MethodProperty;
import com.vaadin.server.VaadinSession;
import com.vaadin.tests.data.bean.Person;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.Label;
public class LabelConverters extends TestCase {
}
public void testIntegerDataSource() {
- VaadinSession.setCurrent(new VaadinSession(null));
+ VaadinSession.setCurrent(new AlwaysLockedVaadinSession(null));
Label l = new Label("Foo");
Property ds = new MethodProperty<Integer>(Person.createTestPerson1(),
"age");
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinService;
import com.vaadin.server.VaadinSession;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.UI;
public class CustomUIClassLoader extends TestCase {
}
private VaadinSession createStubApplication() {
- return new VaadinSession(null) {
+ return new AlwaysLockedVaadinSession(null) {
@Override
public DeploymentConfiguration getConfiguration() {
return createConfigurationMock();
import com.vaadin.server.LegacyApplication;
import com.vaadin.server.VaadinSession;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.LegacyWindow;
import com.vaadin.ui.UI;
import com.vaadin.ui.Window;
@Test
public void addSubWindow() {
- VaadinSession.setCurrent(new VaadinSession(null));
+ VaadinSession.setCurrent(new AlwaysLockedVaadinSession(null));
TestApp app = new TestApp();
app.init();
Window subWindow = new Window("Sub window");
import com.vaadin.server.ClientConnector;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinSession;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
public class AttachDetachWindow {
- private VaadinSession testApp = new VaadinSession(null);
+ private VaadinSession testApp = new AlwaysLockedVaadinSession(null);
private interface TestContainer {
public boolean attachCalled();
import com.vaadin.data.util.ObjectProperty;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinSession;
+import com.vaadin.tests.server.AlwaysLockedVaadinSession;
public class LabelDataSource {
@Before
public void setup() {
- vaadinSession = new VaadinSession(null);
+ vaadinSession = new AlwaysLockedVaadinSession(null);
VaadinSession.setCurrent(vaadinSession);
label = new Label();
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import java.lang.reflect.InvocationTargetException;
-
import org.junit.Test;
public class ReflectToolsGetFieldValueByType {
private final FlagSeResource resource = new FlagSeResource() {
@Override
public DownloadStream getStream() {
- reportCurrentStatus("resource handler");
+ ThreadLocalInstances.this.getContext().lock();
+ try {
+ reportCurrentStatus("resource handler");
+ } finally {
+ ThreadLocalInstances.this.getContext().unlock();
+ }
return super.getStream();
}
};