// Copyright 2020 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.data;

import com.google.appengine.api.datastore.Entity;  
import com.google.sps.data.Meal;

public final class DataConverter {

    /**
     * Creates an entity for Datastore with properties of class Meal.
     * @param meal object of class Meal for which the entity is creating.
     * @return new Entity object with necessary properties.
     */
    public static Entity createMealEntity(Meal meal) {
        Entity mealEntity = new Entity("Meal");
        mealEntity.setProperty("id", meal.getId());
        mealEntity.setProperty("title", meal.getTitle());
        mealEntity.setProperty("description", meal.getDescription());
        mealEntity.setProperty("ingredients", meal.getIngredients());
        mealEntity.setProperty("type", meal.getType());

        return mealEntity;
    }
} 
@@ -686,21 +686,178 @@
 gle.
-sps.data.Meal
+appengine.api.datastore.PreparedQuery;%0Aimport com.google.appengine.api.datastore.Query;%0Aimport com.google.sps.data.Meal;%0Aimport java.util.ArrayList;%0Aimport java.util.List
 ;%0A%0Ap
@@ -1521,16 +1521,16 @@
 pe());%0A%0A
-
         
@@ -1553,11 +1553,982 @@
 y;%0A    %7D
+%0A%0A    public static List%3CMeal%3E getDataFromDatastore(PreparedQuery query) %7B%0A        List%3CMeal%3E result = new ArrayList%3C%3E();%0A        for (Entity entity : query.asIterable()) %7B%0A            try %7B%0A                Long id = (Long)entity.getProperty(%22id%22);%0A                String title = (String) entity.getProperty(%22title%22);%0A                String description = (String) entity.getProperty(%22description%22);%0A                ArrayList%3CString%3E ingredients = (ArrayList%3CString%3E) entity.getProperty(%22ingredients%22);%0A                String type = (String) entity.getProperty(%22type%22);%0A                if (id == null %7C%7C title.isEmpty() %7C%7C ingredients.isEmpty()) %7B%0A                    continue;%0A                %7D%0A                Meal meal = new Meal(id, title, description, ingredients, type);%0A                result.add(meal);%0A            %7D catch(ClassCastException e) %7B%0A                System.out.println(e);%0A                continue;%0A            %7D%0A        %7D%0A        return result;%0A    %7D
 %0A%7D 

Update DataConverter Class