@@ -0,0 +1,2832 @@
+// Copyright 2020 Google LLC%0A//%0A// Licensed under the Apache License, Version 2.0 (the %22License%22);%0A// you may not use this file except in compliance with the License.%0A// You may obtain a copy of the License at%0A//%0A//     https://www.apache.org/licenses/LICENSE-2.0%0A//%0A// Unless required by applicable law or agreed to in writing, software%0A// distributed under the License is distributed on an %22AS IS%22 BASIS,%0A// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A// See the License for the specific language governing permissions and%0A// limitations under the License.%0A%0Apackage com.google.sps.wikiimport;%0A%0Aimport com.google.appengine.api.datastore.DatastoreService;%0Aimport com.google.appengine.api.datastore.DatastoreServiceFactory;%0Aimport com.google.appengine.api.datastore.KeyFactory;%0Aimport com.google.appengine.api.datastore.Key;%0Aimport com.google.appengine.api.datastore.Entity;%0Aimport java.io.IOException;  %0Aimport java.net.URLDecoder;  %0Aimport java.util.ArrayList;%0Aimport java.util.Arrays;%0Aimport java.util.Collection;%0Aimport java.util.List;%0Aimport java.util.stream.Collectors;%0Aimport javax.servlet.annotation.WebServlet;%0Aimport javax.servlet.http.HttpServlet;%0Aimport javax.servlet.http.HttpServletRequest;%0Aimport javax.servlet.http.HttpServletResponse;%0Aimport com.google.gson.Gson;%0Aimport com.google.sps.data.Meal;%0A%0A@WebServlet(%22/import%22)%0Apublic class WikiImportServlet extends HttpServlet %7B%0A%0A    @Override%0A    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException%7B%0A        String json = request.getQueryString().replaceAll(%22input=%22, %22%22);%0A        try %7B%0A            json = URLDecoder.decode(json);%0A        %7D catch (Exception e) %7B  %0A            System.out.println(%22Issue while decoding%22 +e.getMessage());%0A            return;  %0A        %7D %0A        // Checking if JSON String is correct.%0A        System.out.println(json);%0A        Meal meal = new Gson().fromJson(json, Meal.class);%0A        System.out.println(meal.getTitle());%0A%0A        // Put new Meal Entity to Datastore.%0A        DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();%0A        datastore.put(createMealEntity(meal));%0A    %7D%0A%0A    /**%0A     * Creates an entity for Datastore with properties of class Meal.%0A     * @param meal object of class Meal for which the entity is creating.%0A     * @return new Entity object with necessary properties.%0A     */%0A    private Entity createMealEntity(Meal meal) %7B%0A        Entity mealEntity = new Entity(%22Meal%22);%0A        mealEntity.setProperty(%22id%22, meal.getId());%0A        mealEntity.setProperty(%22title%22, meal.getTitle());%0A        mealEntity.setProperty(%22description%22, meal.getDescription());%0A        mealEntity.setProperty(%22ingredients%22, meal.getIngredients());%0A        mealEntity.setProperty(%22type%22, meal.getType());%0A %0A        return mealEntity;%0A    %7D%0A%7D

Create servlet to process data