// Copyright 2019 Google LLC
//
// 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
//
//     https://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.

package com.google.sps.servlets;

import java.io.IOException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/** Servlet that takes in audio stream and retrieves 
 ** user input string to display. */

@WebServlet("/textinput")
public class TextInputServlet extends HttpServlet {

  @Override
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    response.setContentType("text/html;");
    response.getWriter().println("<h1>Hello world!</h1>");
  }
}

@@ -644,16 +644,83 @@
 eption;%0A
+import java.io.BufferedReader;%0Aimport java.util.stream.Collectors;%0A
 import j
@@ -886,16 +886,157 @@
 esponse;
+%0Aimport com.google.cloud.dialogflow.v2.QueryInput;%0Aimport com.google.cloud.dialogflow.v2.QueryResult;%0A%0Aimport com.google.sps.utils.TextUtils;
 %0A%0A/** Se
@@ -1059,20 +1059,23 @@
  in 
-audio stream
+user text input
  and
@@ -1090,20 +1090,43 @@
 es %0A ** 
-user
+QueryResult from Dialogflow
  input s
@@ -1165,16 +1165,17 @@
 t(%22/text
+-
 input%22)%0A
@@ -1259,10 +1259,11 @@
 d do
-Ge
+Pos
 t(Ht
@@ -1347,103 +1347,230 @@
     
-response.setContentType(%22text/html;%22);%0A    response.getWriter().println(%22%3Ch1%3EHello world!%3C/h1%3E%22
+String userQuestion = request.getParameter(%22request-input%22);%0A    QueryResult result = TextUtils.detectIntentStream(userQuestion);%0A    String agentResponse = result.getFulfillmentText();%0A    System.out.println(agentResponse
 );%0A 

Add servlet to handle text request submissions and send to Dialogflow