diff --git a/appengine-java8/images/pom.xml b/appengine-java8/images/pom.xml index c3cd74df480..95e5dab7a6c 100644 --- a/appengine-java8/images/pom.xml +++ b/appengine-java8/images/pom.xml @@ -52,6 +52,7 @@ Copyright 2015 Google Inc. provided + ${project.build.directory}/${project.build.finalName}/WEB-INF/classes @@ -65,6 +66,12 @@ Copyright 2015 Google Inc. true + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + diff --git a/appengine-java8/images/src/main/java/com/example/appengine/images/ImagesServlet.java b/appengine-java8/images/src/main/java/com/example/appengine/images/ImagesServlet.java index 2f0c1f9864a..5b929c86ada 100644 --- a/appengine-java8/images/src/main/java/com/example/appengine/images/ImagesServlet.java +++ b/appengine-java8/images/src/main/java/com/example/appengine/images/ImagesServlet.java @@ -15,6 +15,7 @@ */ package com.example.appengine.images; + import com.google.appengine.api.blobstore.BlobKey; import com.google.appengine.api.blobstore.BlobstoreService; import com.google.appengine.api.blobstore.BlobstoreServiceFactory; @@ -35,12 +36,16 @@ import java.nio.ByteBuffer; import java.nio.channels.FileChannel; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START example] @SuppressWarnings("serial") +@WebServlet(name = "images", + description = "Images: Write an image to a bucket and display it in various sizes", + urlPatterns = "/images") public class ImagesServlet extends HttpServlet { final String bucket = "YOUR-BUCKETNAME-HERE"; @@ -59,7 +64,7 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOExc // Read the image.jpg resource into a ByteBuffer. FileInputStream fileInputStream = new FileInputStream(new File("WEB-INF/image.jpg")); FileChannel fileChannel = fileInputStream.getChannel(); - ByteBuffer byteBuffer = ByteBuffer.allocate((int)fileChannel.size()); + ByteBuffer byteBuffer = ByteBuffer.allocate((int) fileChannel.size()); fileChannel.read(byteBuffer); byte[] imageBytes = byteBuffer.array(); diff --git a/appengine-java8/images/src/main/webapp/WEB-INF/web.xml b/appengine-java8/images/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 3ab41c29a64..00000000000 --- a/appengine-java8/images/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - images - com.example.appengine.images.ImagesServlet - - - images - / - - diff --git a/appengine-java8/logs/pom.xml b/appengine-java8/logs/pom.xml index 3746dd6b2b2..b6296c6c843 100644 --- a/appengine-java8/logs/pom.xml +++ b/appengine-java8/logs/pom.xml @@ -15,62 +15,68 @@ limitations under the License. --> - 4.0.0 - war - 1.0-SNAPSHOT - com.example.appengine - appengine-logs-j8 - - - com.google.cloud - appengine-java8-samples - 1.0.0 - .. - - - - com.google.appengine - appengine-api-1.0-sdk - ${appengine.sdk.version} - - - com.google.guava - guava - 20.0 - + 4.0.0 + war + 1.0-SNAPSHOT + com.example.appengine + appengine-logs-j8 + + + com.google.cloud + appengine-java8-samples + 1.0.0 + .. + + + + com.google.appengine + appengine-api-1.0-sdk + ${appengine.sdk.version} + + + com.google.guava + guava + 20.0 + - - javax.servlet - javax.servlet-api - 3.1.0 - jar - provided - + + javax.servlet + javax.servlet-api + 3.1.0 + jar + provided + - - org.json - json - 20160810 - - - joda-time - joda-time - 2.9.9 - - - - - ${project.build.directory}/${project.build.finalName}/WEB-INF/classes - - - com.google.cloud.tools - appengine-maven-plugin - 1.3.1 - - true - true - - - - + + org.json + json + 20160810 + + + joda-time + joda-time + 2.9.9 + + + + + ${project.build.directory}/${project.build.finalName}/WEB-INF/classes + + + + com.google.cloud.tools + appengine-maven-plugin + 1.3.1 + + true + true + + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + + diff --git a/appengine-java8/logs/src/main/java/com/example/appengine/logs/LogsServlet.java b/appengine-java8/logs/src/main/java/com/example/appengine/logs/LogsServlet.java index a889763e989..57ce0283464 100644 --- a/appengine-java8/logs/src/main/java/com/example/appengine/logs/LogsServlet.java +++ b/appengine-java8/logs/src/main/java/com/example/appengine/logs/LogsServlet.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.io.PrintWriter; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -32,6 +33,8 @@ // Get request logs along with their app log lines and display them 5 at // a time, using a Next link to cycle through to the next 5. +@WebServlet(name = "logs", description = "Logs: Display 5 lines of the request log", + urlPatterns = "/logs") public class LogsServlet extends HttpServlet { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) diff --git a/appengine-java8/logs/src/main/webapp/WEB-INF/web.xml b/appengine-java8/logs/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 5f039c7d869..00000000000 --- a/appengine-java8/logs/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - logs - com.example.appengine.logs.LogsServlet - - - logs - / - - diff --git a/appengine-java8/memcache/pom.xml b/appengine-java8/memcache/pom.xml index e9c5c27dc8e..49e8c6dac1c 100644 --- a/appengine-java8/memcache/pom.xml +++ b/appengine-java8/memcache/pom.xml @@ -63,6 +63,13 @@ Copyright 2015 Google Inc. true + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + diff --git a/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheAsyncCacheServlet.java b/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheAsyncCacheServlet.java index d1960e06cb5..3307dfce37f 100644 --- a/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheAsyncCacheServlet.java +++ b/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheAsyncCacheServlet.java @@ -27,11 +27,14 @@ import java.util.logging.Level; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") +@WebServlet(name = "MemcacheAsync", description = "Memcache: Async Access", + urlPatterns = "/memcache/async") public class MemcacheAsyncCacheServlet extends HttpServlet { @Override diff --git a/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheBestPracticeServlet.java b/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheBestPracticeServlet.java index b4bd8cc9cc9..dd102386664 100644 --- a/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheBestPracticeServlet.java +++ b/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheBestPracticeServlet.java @@ -24,12 +24,15 @@ import java.util.logging.Level; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START example] @SuppressWarnings("serial") +@WebServlet(name = "memcache", description = "Memcache: Best Practices", + urlPatterns = "/memcache") public class MemcacheBestPracticeServlet extends HttpServlet { @Override diff --git a/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheConcurrentServlet.java b/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheConcurrentServlet.java index 212c5d990a8..8a7c88041e5 100644 --- a/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheConcurrentServlet.java +++ b/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheConcurrentServlet.java @@ -24,12 +24,15 @@ import java.math.BigInteger; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START example] @SuppressWarnings("serial") +@WebServlet(name = "MemcacheConcurrent", description = "Memcache: Concurrent", + urlPatterns = "/memcache/concurrent") public class MemcacheConcurrentServlet extends HttpServlet { @Override diff --git a/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheSyncCacheServlet.java b/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheSyncCacheServlet.java index 97307dc10e6..dfec0a349f8 100644 --- a/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheSyncCacheServlet.java +++ b/appengine-java8/memcache/src/main/java/com/example/appengine/memcache/MemcacheSyncCacheServlet.java @@ -25,12 +25,15 @@ import java.util.logging.Level; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START example] @SuppressWarnings("serial") +@WebServlet(name = "MemcacheSync", description = "Memcache: Synchronous", + urlPatterns = "/memcache/sync") public class MemcacheSyncCacheServlet extends HttpServlet { @Override diff --git a/appengine-java8/memcache/src/main/webapp/WEB-INF/web.xml b/appengine-java8/memcache/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index afbd918d067..00000000000 --- a/appengine-java8/memcache/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - memcache-best-practice - com.example.appengine.memcache.MemcacheBestPracticeServlet - - - memcache-best-practice - / - - - memcache-async - com.example.appengine.memcache.MemcacheAsyncCacheServlet - - - memcache-async - /async - - - memcache-sync - com.example.appengine.memcache.MemcacheSyncCacheServlet - - - memcache-sync - /sync - - - memcache-concurrent - com.example.appengine.memcache.MemcacheConcurrentServlet - - - memcache-concurrent - /concurrent - - - diff --git a/appengine-java8/oauth2/pom.xml b/appengine-java8/oauth2/pom.xml index 7a343adf8d8..c98f713c1f7 100644 --- a/appengine-java8/oauth2/pom.xml +++ b/appengine-java8/oauth2/pom.xml @@ -62,6 +62,13 @@ true + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + diff --git a/appengine-java8/oauth2/src/main/java/com/example/appengine/HelloServlet.java b/appengine-java8/oauth2/src/main/java/com/example/appengine/HelloServlet.java index 35e0e1762ed..f51864864e0 100644 --- a/appengine-java8/oauth2/src/main/java/com/example/appengine/HelloServlet.java +++ b/appengine-java8/oauth2/src/main/java/com/example/appengine/HelloServlet.java @@ -24,12 +24,15 @@ import java.io.IOException; import java.io.PrintWriter; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START example] @SuppressWarnings("serial") +@WebServlet(name = "oauth2", description = "Oauth2: restricted helloWorld", + urlPatterns = "/oauth2hello") public class HelloServlet extends HttpServlet { @Override diff --git a/appengine-java8/oauth2/src/main/java/com/example/appengine/Oauth2Filter.java b/appengine-java8/oauth2/src/main/java/com/example/appengine/Oauth2Filter.java index f5cf8a969da..f857bd43ecc 100644 --- a/appengine-java8/oauth2/src/main/java/com/example/appengine/Oauth2Filter.java +++ b/appengine-java8/oauth2/src/main/java/com/example/appengine/Oauth2Filter.java @@ -13,8 +13,6 @@ */ package com.example.appengine; -import static com.google.appengine.api.utils.SystemProperty.environment; - import com.google.appengine.api.oauth.OAuthRequestException; import com.google.appengine.api.oauth.OAuthService; import com.google.appengine.api.oauth.OAuthServiceFactory; @@ -31,6 +29,7 @@ import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; +import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletResponse; /** @@ -40,6 +39,7 @@ *

Note - this is to demonstrate the OAuth2 APIs, as it is possible to lockdown some * of your app's URL's using cloud console by adding service accounts to the project.

*/ +@WebFilter(urlPatterns = "/oauth2hello") public class Oauth2Filter implements Filter { private ServletContext context; @@ -65,7 +65,7 @@ public void doFilter( OAuthService oauth = OAuthServiceFactory.getOAuthService(); // Only check Oauth2 when in production, skip if run in development. - SystemProperty.Environment.Value env = environment.value(); + SystemProperty.Environment.Value env = SystemProperty.environment.value(); if (env == SystemProperty.Environment.Value.Production) { // APIs only work in Production try { String tokenAudience = oauth.getClientId(scope); diff --git a/appengine-java8/oauth2/src/main/webapp/WEB-INF/web.xml b/appengine-java8/oauth2/src/main/webapp/WEB-INF/web.xml index 4aa5ce5ec15..4efcce9a36c 100644 --- a/appengine-java8/oauth2/src/main/webapp/WEB-INF/web.xml +++ b/appengine-java8/oauth2/src/main/webapp/WEB-INF/web.xml @@ -19,25 +19,7 @@ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> - - Oauth2Filter - com.example.appengine.Oauth2Filter - - - Oauth2Filter - /hello - - - - hello - com.example.appengine.HelloServlet - - - hello - /hello - - - index.html + oauth2.html diff --git a/appengine-java8/oauth2/src/main/webapp/index.html b/appengine-java8/oauth2/src/main/webapp/oauth2.html similarity index 88% rename from appengine-java8/oauth2/src/main/webapp/index.html rename to appengine-java8/oauth2/src/main/webapp/oauth2.html index cb2401db6ab..40138a5c548 100644 --- a/appengine-java8/oauth2/src/main/webapp/index.html +++ b/appengine-java8/oauth2/src/main/webapp/oauth2.html @@ -45,9 +45,10 @@ -
- +
+ +

Hello World

diff --git a/appengine-java8/remote-server/src/main/java/com/example/appengine/remote/RemoteServlet.java b/appengine-java8/remote-server/src/main/java/com/example/appengine/remote/RemoteServlet.java index 31e2b06f823..f7077035dec 100644 --- a/appengine-java8/remote-server/src/main/java/com/example/appengine/remote/RemoteServlet.java +++ b/appengine-java8/remote-server/src/main/java/com/example/appengine/remote/RemoteServlet.java @@ -19,12 +19,15 @@ import java.io.IOException; import java.io.PrintWriter; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START example] @SuppressWarnings("serial") +@WebServlet(name = "remote", description = "Remote: yet another HelloWorld.", + urlPatterns = "/remote") public class RemoteServlet extends HttpServlet { @Override diff --git a/appengine-java8/remote-server/src/main/webapp/WEB-INF/web.xml b/appengine-java8/remote-server/src/main/webapp/WEB-INF/web.xml index 1e465028c5a..91eb9d473a3 100644 --- a/appengine-java8/remote-server/src/main/webapp/WEB-INF/web.xml +++ b/appengine-java8/remote-server/src/main/webapp/WEB-INF/web.xml @@ -31,13 +31,8 @@ /remote_api - - remote - com.example.appengine.remote.RemoteServlet - - - remote - / - - + + remote + + diff --git a/appengine-java8/requests/README.md b/appengine-java8/requests/README.md index a8f353d3838..208738a275b 100644 --- a/appengine-java8/requests/README.md +++ b/appengine-java8/requests/README.md @@ -17,9 +17,9 @@ To run this sample locally: mvn appengine:run -To see the results of the RequestsServlet, open `localhost:8080` in a WWW browser. +To see the results of the RequestsServlet, open `localhost:8080/requests` in a WWW browser. -To see the results of the LoggingServlet, open `localhost:8080/logs` in a WWW browser +To see the results of the LoggingServlet, open `localhost:8080/requests/log` in a browser and examine the logs to see the actual messages. ## Deploying diff --git a/appengine-java8/requests/pom.xml b/appengine-java8/requests/pom.xml index 9839855623c..a6e01f7675d 100644 --- a/appengine-java8/requests/pom.xml +++ b/appengine-java8/requests/pom.xml @@ -15,98 +15,106 @@ Copyright 2016 Google Inc. limitations under the License. --> - 4.0.0 - war - 1.0-SNAPSHOT - com.example.appengine - appengine-requests-j8 + 4.0.0 + war + 1.0-SNAPSHOT + com.example.appengine + appengine-requests-j8 - - - com.google.cloud - appengine-java8-samples - 1.0.0 - .. - + + + com.google.cloud + appengine-java8-samples + 1.0.0 + .. + - - - com.google.appengine - appengine-maven-plugin - ${appengine.sdk.version} - + + + com.google.appengine + appengine-maven-plugin + ${appengine.sdk.version} + - - javax.servlet - javax.servlet-api - 3.1.0 - jar - provided - + + javax.servlet + javax.servlet-api + 3.1.0 + jar + provided + - - com.google.guava - guava - 20.0 - + + com.google.guava + guava + 20.0 + - - org.json - json - 20160810 - - - - junit - junit - 4.12 - test - - - org.mockito - mockito-all - 1.10.19 - test - - - com.google.appengine - appengine-testing - ${appengine.sdk.version} - test - - - com.google.appengine - appengine-api-stubs - ${appengine.sdk.version} - test - - - com.google.appengine - appengine-tools-sdk - ${appengine.sdk.version} - test - - - com.google.truth - truth - 0.32 - test - + + org.json + json + 20160810 + + + + junit + junit + 4.12 + test + + + org.mockito + mockito-all + 1.10.19 + test + + + com.google.appengine + appengine-testing + ${appengine.sdk.version} + test + + + com.google.appengine + appengine-api-stubs + ${appengine.sdk.version} + test + + + com.google.appengine + appengine-tools-sdk + ${appengine.sdk.version} + test + + + com.google.truth + truth + 0.32 + test + - - - - ${project.build.directory}/${project.build.finalName}/WEB-INF/classes - - - com.google.cloud.tools - appengine-maven-plugin - 1.3.1 - - true - true - - - - + + + + ${project.build.directory}/${project.build.finalName}/WEB-INF/classes + + + + com.google.cloud.tools + appengine-maven-plugin + 1.3.1 + + true + true + + + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + + + diff --git a/appengine-java8/requests/src/main/java/com/example/appengine/requests/LoggingServlet.java b/appengine-java8/requests/src/main/java/com/example/appengine/requests/LoggingServlet.java index 213ab065aab..e41f2242360 100644 --- a/appengine-java8/requests/src/main/java/com/example/appengine/requests/LoggingServlet.java +++ b/appengine-java8/requests/src/main/java/com/example/appengine/requests/LoggingServlet.java @@ -17,11 +17,14 @@ import java.io.IOException; import java.util.logging.Logger; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START simple_logging_example] +@WebServlet(name = "RequestLogging", description = "Requests: Logging example", + urlPatterns = "/requests/log") public class LoggingServlet extends HttpServlet { private static final Logger log = Logger.getLogger(LoggingServlet.class.getName()); diff --git a/appengine-java8/requests/src/main/java/com/example/appengine/requests/RequestsServlet.java b/appengine-java8/requests/src/main/java/com/example/appengine/requests/RequestsServlet.java index 82c649e0eab..b4e64b88388 100644 --- a/appengine-java8/requests/src/main/java/com/example/appengine/requests/RequestsServlet.java +++ b/appengine-java8/requests/src/main/java/com/example/appengine/requests/RequestsServlet.java @@ -16,11 +16,14 @@ import java.io.IOException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START simple_request_example] +@WebServlet(name = "requests", description = "Requests: Trivial request", + urlPatterns = "/requests") public class RequestsServlet extends HttpServlet { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) diff --git a/appengine-java8/requests/src/main/webapp/WEB-INF/web.xml b/appengine-java8/requests/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 09f780f6a56..00000000000 --- a/appengine-java8/requests/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - requests - com.example.appengine.requests.RequestsServlet - - - logging - com.example.appengine.requests.LoggingServlet - - - requests - / - - - requests - /requests - - - logging - /logs - - diff --git a/appengine-java8/search/README.md b/appengine-java8/search/README.md index 34121fac71e..ee1c00203dc 100644 --- a/appengine-java8/search/README.md +++ b/appengine-java8/search/README.md @@ -8,13 +8,19 @@ detailed instructions. [search-api-docs]: https://cloud.google.com/appengine/docs/java/search/ ## Setup -1. Update the `` tag in `src/main/webapp/WEB-INF/appengine-web.xml` - with your project name. -1. Update the `` tag in `src/main/webapp/WEB-INF/appengine-web.xml` - with your version name. +* `gcloud init` ## Running locally - $ mvn appengine:devserver + $ mvn appengine:run ## Deploying - $ mvn appengine:update \ No newline at end of file + $ mvn appengine:deploy + +## URI's + +`/search` | Create a Search API Document +`/search/index` | Index a document +`/search/delete` | Delete a search document +`/search/option` | Search w/ query options +`/search/search` | Search for a document +`/search/schema` | Display the schema of a document diff --git a/appengine-java8/search/pom.xml b/appengine-java8/search/pom.xml index 98aa9fc5f6e..ec2a4c64f28 100644 --- a/appengine-java8/search/pom.xml +++ b/appengine-java8/search/pom.xml @@ -78,6 +78,7 @@ Copyright 2015 Google Inc. test + @@ -89,6 +90,12 @@ Copyright 2015 Google Inc. true + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + diff --git a/appengine-java8/search/src/main/java/com/example/appengine/search/DeleteServlet.java b/appengine-java8/search/src/main/java/com/example/appengine/search/DeleteServlet.java index da9fb6125d3..dbe869e263b 100644 --- a/appengine-java8/search/src/main/java/com/example/appengine/search/DeleteServlet.java +++ b/appengine-java8/search/src/main/java/com/example/appengine/search/DeleteServlet.java @@ -37,6 +37,8 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; + +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -45,6 +47,8 @@ * Code snippet for deleting documents from an Index. */ @SuppressWarnings("serial") +@WebServlet(name = "searchDelete", description = "Search: Delete a document from the index", + urlPatterns = "/search/delete") public class DeleteServlet extends HttpServlet { private static final Logger LOG = Logger.getLogger(DeleteServlet.class.getSimpleName()); diff --git a/appengine-java8/search/src/main/java/com/example/appengine/search/DocumentServlet.java b/appengine-java8/search/src/main/java/com/example/appengine/search/DocumentServlet.java index eaa26cd7388..8a3404a2439 100644 --- a/appengine-java8/search/src/main/java/com/example/appengine/search/DocumentServlet.java +++ b/appengine-java8/search/src/main/java/com/example/appengine/search/DocumentServlet.java @@ -26,6 +26,8 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.Date; + +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -34,6 +36,8 @@ * A servlet for creating Search API Document. */ @SuppressWarnings("serial") +@WebServlet(name = "searchCreate", description = "Search: Create the Search API document.", + urlPatterns = "/search") public class DocumentServlet extends HttpServlet { /** diff --git a/appengine-java8/search/src/main/java/com/example/appengine/search/IndexServlet.java b/appengine-java8/search/src/main/java/com/example/appengine/search/IndexServlet.java index 390b74c2d5e..8e53c150fa5 100644 --- a/appengine-java8/search/src/main/java/com/example/appengine/search/IndexServlet.java +++ b/appengine-java8/search/src/main/java/com/example/appengine/search/IndexServlet.java @@ -33,6 +33,8 @@ import java.io.IOException; import java.io.PrintWriter; + +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -42,6 +44,8 @@ * Code snippet for getting a document from Index. */ @SuppressWarnings("serial") +@WebServlet(name = "searchIndex", description = "Search: Index a new document", + urlPatterns = "/search/index") public class IndexServlet extends HttpServlet { private static final String INDEX = "testIndex"; diff --git a/appengine-java8/search/src/main/java/com/example/appengine/search/SchemaServlet.java b/appengine-java8/search/src/main/java/com/example/appengine/search/SchemaServlet.java index 4deda3e3cfa..a4487147aeb 100644 --- a/appengine-java8/search/src/main/java/com/example/appengine/search/SchemaServlet.java +++ b/appengine-java8/search/src/main/java/com/example/appengine/search/SchemaServlet.java @@ -35,12 +35,16 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.List; + +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") +@WebServlet(name = "searchSchema", description = "Search: List the schema for a document.", + urlPatterns = "/search/schema") public class SchemaServlet extends HttpServlet { private static final String SEARCH_INDEX = "schemaIndex"; diff --git a/appengine-java8/search/src/main/java/com/example/appengine/search/SearchOptionServlet.java b/appengine-java8/search/src/main/java/com/example/appengine/search/SearchOptionServlet.java index 83a63287fa5..15a8eb0a628 100644 --- a/appengine-java8/search/src/main/java/com/example/appengine/search/SearchOptionServlet.java +++ b/appengine-java8/search/src/main/java/com/example/appengine/search/SearchOptionServlet.java @@ -39,6 +39,8 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.logging.Logger; + +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -48,6 +50,8 @@ * Code snippet for searching with query options. */ @SuppressWarnings("serial") +@WebServlet(name = "searchOption", description = "Search: Get the Host Name", + urlPatterns = "/search/option") public class SearchOptionServlet extends HttpServlet { private static final Logger LOG = Logger.getLogger(SearchOptionServlet.class.getSimpleName()); diff --git a/appengine-java8/search/src/main/java/com/example/appengine/search/SearchServlet.java b/appengine-java8/search/src/main/java/com/example/appengine/search/SearchServlet.java index e92005b55a6..dd6197a0743 100644 --- a/appengine-java8/search/src/main/java/com/example/appengine/search/SearchServlet.java +++ b/appengine-java8/search/src/main/java/com/example/appengine/search/SearchServlet.java @@ -35,6 +35,8 @@ import java.io.IOException; import java.io.PrintWriter; + +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -42,6 +44,8 @@ @SuppressWarnings("serial") +@WebServlet(name = "search", description = "Search: Search for a document", + urlPatterns = "/search/search") public class SearchServlet extends HttpServlet { private static final String SEARCH_INDEX = "searchIndex"; diff --git a/appengine-java8/search/src/main/webapp/WEB-INF/web.xml b/appengine-java8/search/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 8138d03c480..00000000000 --- a/appengine-java8/search/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - document - com.example.appengine.search.DocumentServlet - - - document - / - - - index - com.example.appengine.search.IndexServlet - - - index - /index - - - search - com.example.appengine.search.SearchServlet - - - search - /search - - - search_option - com.example.appengine.search.SearchOptionServlet - - - search_option - /search_option - - - delete - com.example.appengine.search.DeleteServlet - - - delete - /delete - - - schema - com.example.appengine.search.SchemaServlet - - - schema - /schema - - diff --git a/appengine-java8/taskqueues-deferred/pom.xml b/appengine-java8/taskqueues-deferred/pom.xml index 1c69e62912e..c6e038235b7 100644 --- a/appengine-java8/taskqueues-deferred/pom.xml +++ b/appengine-java8/taskqueues-deferred/pom.xml @@ -92,6 +92,13 @@ true + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + diff --git a/appengine-java8/taskqueues-deferred/src/main/java/com/google/cloud/taskqueue/samples/DeferSampleServlet.java b/appengine-java8/taskqueues-deferred/src/main/java/com/google/cloud/taskqueue/samples/DeferSampleServlet.java index 82e9057f2da..23e0bae27d4 100644 --- a/appengine-java8/taskqueues-deferred/src/main/java/com/google/cloud/taskqueue/samples/DeferSampleServlet.java +++ b/appengine-java8/taskqueues-deferred/src/main/java/com/google/cloud/taskqueue/samples/DeferSampleServlet.java @@ -25,6 +25,8 @@ import com.google.appengine.api.taskqueue.TaskOptions; import java.io.IOException; + +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -34,6 +36,8 @@ * interface to background a task on the AppEngine task queues, * without needing to create a separate URL handler. */ +@WebServlet(name = "TasksDefer", description = "TaskQueues: Defer a task", + urlPatterns = "/taskqueues/defer") public class DeferSampleServlet extends HttpServlet { /** diff --git a/appengine-java8/taskqueues-deferred/src/main/webapp/WEB-INF/web.xml b/appengine-java8/taskqueues-deferred/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index aa47a37f557..00000000000 --- a/appengine-java8/taskqueues-deferred/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - defer-sample-servlet - com.google.cloud.taskqueue.samples.DeferSampleServlet - - - defer-sample-servlet - /defer - - diff --git a/appengine-java8/taskqueues-deferred/src/main/webapp/guestbook.jsp b/appengine-java8/taskqueues-deferred/src/main/webapp/guestbook.jsp deleted file mode 100644 index 52530b8fef0..00000000000 --- a/appengine-java8/taskqueues-deferred/src/main/webapp/guestbook.jsp +++ /dev/null @@ -1,110 +0,0 @@ -<%-- - Copyright 2015 Google Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---%> - -<%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ page import="com.google.appengine.api.datastore.DatastoreService" %> -<%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %> -<%@ page import="com.google.appengine.api.datastore.Entity" %> -<%@ page import="com.google.appengine.api.datastore.FetchOptions" %> -<%@ page import="com.google.appengine.api.datastore.Key" %> -<%@ page import="com.google.appengine.api.datastore.KeyFactory" %> -<%@ page import="com.google.appengine.api.datastore.Query" %> -<%@ page import="com.google.appengine.api.users.User" %> -<%@ page import="com.google.appengine.api.users.UserService" %> -<%@ page import="com.google.appengine.api.users.UserServiceFactory" %> -<%@ page import="java.util.List" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> - - - - - - - - -<% - String guestbookName = request.getParameter("guestbookName"); - if (guestbookName == null) { - guestbookName = "default"; - } - pageContext.setAttribute("guestbookName", guestbookName); - UserService userService = UserServiceFactory.getUserService(); - User user = userService.getCurrentUser(); - if (user != null) { - pageContext.setAttribute("user", user); -%> -

Hello, ${fn:escapeXml(user.nickname)}! (You can - sign out.)

-<% -} else { -%> -

Hello! - Sign in - to include your name with greetings you post.

-<% - } -%> - -<% - DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); - Key guestbookKey = KeyFactory.createKey("Guestbook", guestbookName); - // Run an ancestor query to ensure we see the most up-to-date - // view of the Greetings belonging to the selected Guestbook. - Query query = new Query("Greeting", guestbookKey).addSort("date", Query.SortDirection.DESCENDING); - List greetings = datastore.prepare(query).asList(FetchOptions.Builder.withLimit(5)); - if (greetings.isEmpty()) { -%> -

Guestbook '${fn:escapeXml(guestbookName)}' has no messages.

-<% -} else { -%> -

Messages in Guestbook '${fn:escapeXml(guestbookName)}'.

-<% - for (Entity greeting : greetings) { - pageContext.setAttribute("greeting_content", - greeting.getProperty("content")); - if (greeting.getProperty("user") == null) { -%> -

An anonymous person wrote:

-<% -} else { - pageContext.setAttribute("greeting_user", - greeting.getProperty("user")); -%> -

${fn:escapeXml(greeting_user.nickname)} wrote:

-<% - } -%> -
${fn:escapeXml(greeting_content)}
-<% - } - } -%> - -
-
-
- -
- -
-
-
-
- - - diff --git a/appengine-java8/taskqueues-pull/pom.xml b/appengine-java8/taskqueues-pull/pom.xml index a7b1b1a6f7c..71176488c4c 100644 --- a/appengine-java8/taskqueues-pull/pom.xml +++ b/appengine-java8/taskqueues-pull/pom.xml @@ -14,8 +14,9 @@ Copyright 2016 Google Inc. See the License for the specific language governing permissions and limitations under the License. --> - + 4.0.0 war 1.0-SNAPSHOT @@ -23,58 +24,67 @@ Copyright 2016 Google Inc. appengine-taskqueue-j8 - appengine-java8-samples - com.google.cloud - 1.0.0 - .. + appengine-java8-samples + com.google.cloud + 1.0.0 + .. - - com.google.appengine - appengine-api-1.0-sdk - ${appengine.sdk.version} - - - javax.servlet - javax.servlet-api - 3.1.0 - jar - provided - - - jstl - jstl - 1.2 - + + com.google.appengine + appengine-api-1.0-sdk + ${appengine.sdk.version} + + + javax.servlet + javax.servlet-api + 3.1.0 + jar + provided + + + jstl + jstl + 1.2 + - - - com.google.appengine - appengine-testing - ${appengine.sdk.version} - test - - - com.google.appengine - appengine-api-stubs - ${appengine.sdk.version} - test - + + + com.google.appengine + appengine-testing + ${appengine.sdk.version} + test + + + com.google.appengine + appengine-api-stubs + ${appengine.sdk.version} + test + + - - - ${project.build.directory}/${project.build.finalName}/WEB-INF/classes - - - com.google.cloud.tools - appengine-maven-plugin - 1.3.1 - - true - true - - - - + + + ${project.build.directory}/${project.build.finalName}/WEB-INF/classes + + + + com.google.cloud.tools + appengine-maven-plugin + 1.3.1 + + true + true + + + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + + + diff --git a/appengine-java8/taskqueues-pull/src/main/java/com/example/taskqueue/TaskqueueServlet.java b/appengine-java8/taskqueues-pull/src/main/java/com/example/taskqueue/TaskqueueServlet.java index 35c57ad4512..3f766c1ec14 100644 --- a/appengine-java8/taskqueues-pull/src/main/java/com/example/taskqueue/TaskqueueServlet.java +++ b/appengine-java8/taskqueues-pull/src/main/java/com/example/taskqueue/TaskqueueServlet.java @@ -26,14 +26,17 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Logger; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** - * Form Handling Servlet -- takes the form submission from /src/main/webapp/tasks.jsp to add and - * delete tasks. + * Form Handling Servlet -- takes the form submission from /src/main/webapp/taskqueues-pull.jsp to + * add and delete tasks. */ +@WebServlet(name = "TaskPull", description = "TaskQueues: Process some queues", + urlPatterns = "/taskqueues/queue") public class TaskqueueServlet extends HttpServlet { private static final Logger log = Logger.getLogger(TaskqueueServlet.class.getName()); private static final int numberOfTasksToAdd = 100; @@ -75,7 +78,7 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOEx try { message = "Added " + numberOfTasksToAdd + " tasks to the task queue."; req.setAttribute("message", message); - req.getRequestDispatcher("tasks.jsp").forward(req,resp); + req.getRequestDispatcher("taskqueues-pull.jsp").forward(req,resp); } catch (ServletException e) { throw new ServletException("ServletException error: ", e); } @@ -101,7 +104,7 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOEx message = processTasks(tasks, q); } req.setAttribute("message", message); - req.getRequestDispatcher("tasks.jsp").forward(req,resp); + req.getRequestDispatcher("taskqueues-pull.jsp").forward(req,resp); } else { resp.sendRedirect("/"); } diff --git a/appengine-java8/taskqueues-pull/src/main/webapp/WEB-INF/web.xml b/appengine-java8/taskqueues-pull/src/main/webapp/WEB-INF/web.xml index 87cd397fc0b..40405a03927 100644 --- a/appengine-java8/taskqueues-pull/src/main/webapp/WEB-INF/web.xml +++ b/appengine-java8/taskqueues-pull/src/main/webapp/WEB-INF/web.xml @@ -19,17 +19,7 @@ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> - - taskqueue - com.example.taskqueue.TaskqueueServlet - - - - taskqueue - /taskqueue - - - tasks.jsp + taskqueues-pull.jsp diff --git a/appengine-java8/taskqueues-pull/src/main/webapp/tasks.jsp b/appengine-java8/taskqueues-pull/src/main/webapp/taskqueues-pull.jsp similarity index 94% rename from appengine-java8/taskqueues-pull/src/main/webapp/tasks.jsp rename to appengine-java8/taskqueues-pull/src/main/webapp/taskqueues-pull.jsp index 02f12a901dc..c3112720998 100644 --- a/appengine-java8/taskqueues-pull/src/main/webapp/tasks.jsp +++ b/appengine-java8/taskqueues-pull/src/main/webapp/taskqueues-pull.jsp @@ -26,13 +26,13 @@ -
+

-
+

diff --git a/appengine-java8/taskqueues-push/pom.xml b/appengine-java8/taskqueues-push/pom.xml index fdbfa15702e..afa1ff74187 100644 --- a/appengine-java8/taskqueues-push/pom.xml +++ b/appengine-java8/taskqueues-push/pom.xml @@ -98,6 +98,13 @@ Copyright 2016 Google Inc. true + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + +
diff --git a/appengine-java8/taskqueues-push/src/main/java/com/example/appengine/taskqueue/push/Enqueue.java b/appengine-java8/taskqueues-push/src/main/java/com/example/appengine/taskqueue/push/Enqueue.java index e0fbeaac062..07681ea85a3 100644 --- a/appengine-java8/taskqueues-push/src/main/java/com/example/appengine/taskqueue/push/Enqueue.java +++ b/appengine-java8/taskqueues-push/src/main/java/com/example/appengine/taskqueue/push/Enqueue.java @@ -21,12 +21,15 @@ import java.io.IOException; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START enqueue] // The Enqueue servlet should be mapped to the "/enqueue" URL. +@WebServlet(name = "TaskEnque", description = "taskqueue: Enqueue a job with a key", + urlPatterns = "/taskqueues/enqueue") public class Enqueue extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { diff --git a/appengine-java8/taskqueues-push/src/main/java/com/example/appengine/taskqueue/push/Worker.java b/appengine-java8/taskqueues-push/src/main/java/com/example/appengine/taskqueue/push/Worker.java index 63c42af1d1d..76aa11f751a 100644 --- a/appengine-java8/taskqueues-push/src/main/java/com/example/appengine/taskqueue/push/Worker.java +++ b/appengine-java8/taskqueues-push/src/main/java/com/example/appengine/taskqueue/push/Worker.java @@ -18,12 +18,15 @@ import java.util.logging.Logger; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // [START worker] // The Worker servlet should be mapped to the "/worker" URL. +@WebServlet(name = "TaskWorker", description = "TaskQueues: worker", + urlPatterns = "/taskqueues/worker") public class Worker extends HttpServlet { private static final Logger log = Logger.getLogger(Worker.class.getName()); diff --git a/appengine-java8/taskqueues-push/src/main/webapp/WEB-INF/web.xml b/appengine-java8/taskqueues-push/src/main/webapp/WEB-INF/web.xml index 6f57f6b503d..1705c8bf279 100644 --- a/appengine-java8/taskqueues-push/src/main/webapp/WEB-INF/web.xml +++ b/appengine-java8/taskqueues-push/src/main/webapp/WEB-INF/web.xml @@ -20,22 +20,6 @@ http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> - index.html + taskqueue-push.html - - enqueue - com.example.appengine.taskqueue.push.Enqueue - - - worker - com.example.appengine.taskqueue.push.Worker - - - enqueue - /enqueue - - - worker - /worker - diff --git a/appengine-java8/taskqueues-push/src/main/webapp/index.html b/appengine-java8/taskqueues-push/src/main/webapp/taskqueue-push.html similarity index 87% rename from appengine-java8/taskqueues-push/src/main/webapp/index.html rename to appengine-java8/taskqueues-push/src/main/webapp/taskqueue-push.html index edec84176f0..2fda166e4c0 100644 --- a/appengine-java8/taskqueues-push/src/main/webapp/index.html +++ b/appengine-java8/taskqueues-push/src/main/webapp/taskqueue-push.html @@ -15,11 +15,11 @@ limitations under the License. --> - +

Enqueue a value, to be processed by a worker.

-
+