* Remove Google App Engine support and tests Fixes #8033tags/8.0.0.beta2
@@ -55,6 +55,13 @@ | |||
<scope>provided</scope> | |||
<optional>true</optional> | |||
</dependency> | |||
<!-- Google App Engine --> | |||
<dependency> | |||
<groupId>com.google.appengine</groupId> | |||
<artifactId>appengine-api-1.0-sdk</artifactId> | |||
<scope>provided</scope> | |||
</dependency> | |||
</dependencies> | |||
<build> |
@@ -102,7 +102,10 @@ import com.google.apphosting.api.DeadlineExceededException; | |||
* <li/>The application remains locked while uploading - no progressbar is | |||
* possible. | |||
* </ul> | |||
* | |||
* @deprecated No longer supported with Vaadin 8.0 | |||
*/ | |||
@Deprecated | |||
public class GAEVaadinServlet extends VaadinServlet { | |||
// memcache mutex is MUTEX_BASE + sessio id | |||
@@ -257,7 +260,7 @@ public class GAEVaadinServlet extends VaadinServlet { | |||
String id = AC_BASE + session.getId(); | |||
Date expire = new Date( | |||
started + (getMaxInactiveIntervalSeconds(session) * 1000)); | |||
started + getMaxInactiveIntervalSeconds(session) * 1000); | |||
Expiration expires = Expiration.onDate(expire); | |||
memcache.put(id, bytes, expires); |
@@ -26,8 +26,8 @@ import java.util.logging.Level; | |||
import java.util.logging.Logger; | |||
import com.vaadin.shared.util.SharedUtil; | |||
import com.vaadin.util.SerializerHelper; | |||
import com.vaadin.v7.data.Property; | |||
import com.vaadin.v7.util.SerializerHelper; | |||
/** | |||
* <p> |
@@ -21,8 +21,8 @@ import java.util.logging.Level; | |||
import java.util.logging.Logger; | |||
import com.vaadin.util.ReflectTools; | |||
import com.vaadin.util.SerializerHelper; | |||
import com.vaadin.v7.data.Property; | |||
import com.vaadin.v7.util.SerializerHelper; | |||
/** | |||
* Property descriptor that is able to create simple {@link MethodProperty} |
@@ -13,7 +13,7 @@ | |||
* License for the specific language governing permissions and limitations under | |||
* the License. | |||
*/ | |||
package com.vaadin.util; | |||
package com.vaadin.v7.util; | |||
import java.io.IOException; | |||
import java.io.ObjectInputStream; | |||
@@ -25,7 +25,9 @@ import java.io.ObjectOutputStream; | |||
* should not be used by application developers. Subject to change at any time. | |||
* | |||
* @since 6.0 | |||
* @deprecated Only used for compatibility-server | |||
*/ | |||
@Deprecated | |||
public class SerializerHelper { | |||
/** | |||
@@ -105,9 +107,9 @@ public class SerializerHelper { | |||
* List of primitive classes. Google App Engine has problems | |||
* serializing/deserializing these (#3064). | |||
*/ | |||
private static final Class<?>[] primitiveClasses = new Class<?>[] { byte.class, | |||
short.class, int.class, long.class, float.class, double.class, | |||
boolean.class, char.class }; | |||
private static final Class<?>[] primitiveClasses = new Class<?>[] { | |||
byte.class, short.class, int.class, long.class, float.class, | |||
double.class, boolean.class, char.class }; | |||
/** | |||
* Resolves the class given by {@code className}. |
@@ -39,13 +39,6 @@ | |||
<scope>provided</scope> | |||
</dependency> | |||
<!-- Google App Engine --> | |||
<dependency> | |||
<groupId>com.google.appengine</groupId> | |||
<artifactId>appengine-api-1.0-sdk</artifactId> | |||
<scope>provided</scope> | |||
</dependency> | |||
<!-- Bean Validation API --> | |||
<dependency> | |||
<groupId>javax.validation</groupId> |
@@ -298,9 +298,9 @@ public class VaadinServlet extends HttpServlet implements Constants { | |||
* Gets the currently used Vaadin servlet. The current servlet is | |||
* automatically defined when initializing the servlet and when processing | |||
* requests to the server (see {@link ThreadLocal}) and in | |||
* {@link VaadinSession#access(Runnable)} and {@link UI#access(Runnable)}. In | |||
* other cases, (e.g. from background threads), the current servlet is not | |||
* automatically defined. | |||
* {@link VaadinSession#access(Runnable)} and {@link UI#access(Runnable)}. | |||
* In other cases, (e.g. from background threads), the current servlet is | |||
* not automatically defined. | |||
* <p> | |||
* The current servlet is derived from the current service using | |||
* {@link VaadinService#getCurrent()} | |||
@@ -553,7 +553,7 @@ public class VaadinServlet extends HttpServlet implements Constants { | |||
* if the writing failed due to input/output error. | |||
* | |||
* @deprecated As of 7.0. This method is retained only for backwards | |||
* compatibility and for {@link GAEVaadinServlet}. | |||
* compatibility and for GAEVaadinServlet. | |||
*/ | |||
@Deprecated | |||
protected void criticalNotification(VaadinServletRequest request, | |||
@@ -778,7 +778,7 @@ public class VaadinServlet extends HttpServlet implements Constants { | |||
} | |||
response.setHeader("Cache-Control", cacheControl); | |||
response.setDateHeader("Expires", | |||
System.currentTimeMillis() + (resourceCacheTime * 1000)); | |||
System.currentTimeMillis() + resourceCacheTime * 1000); | |||
// Find the modification timestamp | |||
long lastModifiedTime = 0; | |||
@@ -1339,10 +1339,9 @@ public class VaadinServlet extends HttpServlet implements Constants { | |||
throws MalformedURLException { | |||
final URL reqURL = new URL((request.isSecure() ? "https://" : "http://") | |||
+ request.getServerName() | |||
+ ((request.isSecure() && request.getServerPort() == 443) | |||
|| (!request.isSecure() | |||
&& request.getServerPort() == 80) ? "" | |||
: ":" + request.getServerPort()) | |||
+ (request.isSecure() && request.getServerPort() == 443 | |||
|| !request.isSecure() && request.getServerPort() == 80 | |||
? "" : ":" + request.getServerPort()) | |||
+ request.getRequestURI()); | |||
String servletPath = ""; | |||
if (request |
@@ -24,9 +24,6 @@ | |||
rev="1.0.0.GA" conf="build -> default,sources" /> | |||
<dependency org="org.hibernate" name="hibernate-validator" | |||
rev="4.2.0.Final" conf="build -> default" /> | |||
<!-- Google App Engine --> | |||
<dependency org="com.google.appengine" name="appengine-api-1.0-sdk" | |||
rev="1.7.7" conf="build-provided -> default" /> | |||
<!-- LIBRARY DEPENDENCIES (compile time) --> | |||
<!-- Project modules --> |
@@ -42,12 +42,6 @@ | |||
<groupId>org.hibernate</groupId> | |||
<artifactId>hibernate-validator</artifactId> | |||
</dependency> | |||
<!-- Google App Engine --> | |||
<dependency> | |||
<groupId>com.google.appengine</groupId> | |||
<artifactId>appengine-api-1.0-sdk</artifactId> | |||
<scope>provided</scope> | |||
</dependency> | |||
<!-- jetty-servlets needed by ProxyTest, but not by jetty-runner --> | |||
<!-- Jetty before vaadin-* on the classpath to make Eclipse use the |
@@ -1,156 +0,0 @@ | |||
package com.vaadin.tests.appengine; | |||
import com.google.apphosting.api.DeadlineExceededException; | |||
import com.vaadin.server.ClassResource; | |||
import com.vaadin.server.DownloadStream; | |||
import com.vaadin.server.LegacyApplication; | |||
import com.vaadin.ui.Button; | |||
import com.vaadin.ui.Button.ClickEvent; | |||
import com.vaadin.ui.Embedded; | |||
import com.vaadin.ui.GridLayout; | |||
import com.vaadin.ui.Label; | |||
import com.vaadin.ui.LegacyWindow; | |||
import com.vaadin.ui.Notification; | |||
import com.vaadin.v7.data.Property; | |||
import com.vaadin.v7.data.Property.ValueChangeEvent; | |||
import com.vaadin.v7.ui.TextField; | |||
public class GAESyncTest extends LegacyApplication { | |||
/** | |||
* | |||
*/ | |||
private static final long serialVersionUID = -3724319151122707926l; | |||
@Override | |||
public void init() { | |||
setMainWindow(new IntrWindow(this)); | |||
} | |||
@Override | |||
public void error(com.vaadin.server.ErrorEvent event) { | |||
Throwable t = event.getThrowable(); | |||
// Was this caused by a GAE timeout? | |||
while (t != null) { | |||
if (t instanceof DeadlineExceededException) { | |||
getMainWindow().showNotification("Bugger!", "Deadline Exceeded", | |||
Notification.TYPE_ERROR_MESSAGE); | |||
return; | |||
} | |||
t = t.getCause(); | |||
} | |||
super.error(event); | |||
} | |||
private class IntrWindow extends LegacyWindow { | |||
private int n = 0; | |||
private static final long serialVersionUID = -6521351715072191625l; | |||
TextField tf; | |||
Label l; | |||
LegacyApplication app; | |||
GridLayout gl; | |||
private IntrWindow(LegacyApplication app) { | |||
this.app = app; | |||
tf = new TextField("Echo thingie"); | |||
tf.setImmediate(true); | |||
tf.addListener(new Property.ValueChangeListener() { | |||
@Override | |||
public void valueChange(ValueChangeEvent event) { | |||
IntrWindow.this.showNotification( | |||
(String) event.getProperty().getValue()); | |||
} | |||
}); | |||
addComponent(tf); | |||
l = new Label("" + n); | |||
addComponent(l); | |||
{ | |||
Button b = new Button("Slow", new Button.ClickListener() { | |||
@Override | |||
public void buttonClick(ClickEvent event) { | |||
try { | |||
Thread.sleep(15000); | |||
} catch (InterruptedException e) { | |||
// TODO Auto-generated catch block | |||
e.printStackTrace(); | |||
} | |||
} | |||
}); | |||
addComponent(b); | |||
} | |||
{ | |||
Button b = new Button("Add", new Button.ClickListener() { | |||
@Override | |||
public void buttonClick(ClickEvent event) { | |||
if (getUI() == getMainWindow()) { | |||
getUI().getPage() | |||
.showNotification(new Notification("main")); | |||
try { | |||
Thread.sleep((5000)); | |||
} catch (InterruptedException e) { | |||
// TODO Auto-generated catch block | |||
e.printStackTrace(); | |||
} | |||
} | |||
addImage(); | |||
} | |||
}); | |||
addComponent(b); | |||
} | |||
gl = new GridLayout(30, 50); | |||
addComponent(gl); | |||
} | |||
private void addImage() { | |||
ClassResource res = new ClassResource("img1.png") { | |||
private static final long serialVersionUID = 1L; | |||
@Override | |||
public DownloadStream getStream() { | |||
try { | |||
Thread.sleep((long) (Math.random() * 5000)); | |||
} catch (InterruptedException e) { | |||
// TODO Auto-generated catch block | |||
e.printStackTrace(); | |||
} | |||
return super.getStream(); | |||
} | |||
}; | |||
res.setCacheTime(0); | |||
Embedded emb = new Embedded("" + n, res); | |||
emb.setWidth("30px"); | |||
emb.setHeight("5px"); | |||
gl.addComponent(emb); | |||
l.setValue("" + n++); | |||
} | |||
} | |||
@Override | |||
public LegacyWindow getWindow(String name) { | |||
LegacyWindow w = super.getWindow(name); | |||
if (w == null) { | |||
w = new IntrWindow(this); | |||
addWindow(w); | |||
} | |||
return w; | |||
} | |||
} |