Browse Source

Remove Google App Engine support, tests and documentation (#8034)

* Remove Google App Engine support and tests

Fixes #8033
tags/8.0.0.beta2
Pekka Hyvönen 7 years ago
parent
commit
1407b8ddae

+ 7
- 0
compatibility-server/pom.xml View File

@@ -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>

server/src/main/java/com/vaadin/server/GAEVaadinServlet.java → compatibility-server/src/main/java/com/vaadin/server/GAEVaadinServlet.java View File

@@ -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);

+ 1
- 1
compatibility-server/src/main/java/com/vaadin/v7/data/util/MethodProperty.java View File

@@ -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>

+ 1
- 1
compatibility-server/src/main/java/com/vaadin/v7/data/util/MethodPropertyDescriptor.java View File

@@ -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}

server/src/main/java/com/vaadin/util/SerializerHelper.java → compatibility-server/src/main/java/com/vaadin/v7/util/SerializerHelper.java View File

@@ -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}.

+ 0
- 7
server/pom.xml View File

@@ -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>

+ 8
- 9
server/src/main/java/com/vaadin/server/VaadinServlet.java View File

@@ -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

+ 0
- 3
uitest/ivy.xml View File

@@ -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 -->

+ 0
- 6
uitest/pom.xml View File

@@ -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

+ 0
- 156
uitest/src/main/java/com/vaadin/tests/appengine/GAESyncTest.java View File

@@ -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;

}

}

Loading…
Cancel
Save