@@ -0,0 +1,1644 @@
+package com.google.tripmeout.frontend.storage;%0A %0Aimport com.google.tripmeout.frontend.TripModel;%0Aimport com.google.tripmeout.frontend.error.TripAlreadyExistsException;%0Aimport com.google.tripmeout.frontend.error.TripNotFoundException;%0Aimport java.util.List;%0Aimport com.google.appengine.api.datastore.DatastoreService;%0Aimport com.google.appengine.api.datastore.DatastoreServiceFactory;%0Aimport com.google.appengine.api.datastore.Entity;%0A %0Apublic class PersistentTripStorage implements TripStorage %7B%0A %0A   private static final String TRIP_ENTITY_NAME = %22trips%22;%0A   private static final String TRIP_ID_PROPERTY_NAME= %22tripId%22;%0A   private static final String USER_ID_PROPERTY_NAME= %22userId%22;%0A   private static final String NAME_PROPERTY_NAME= %22name%22;%0A   private static final String PLACE_API_ID_PROPERTY_NAME= %22placeId%22;%0A %0A public void addTrip(TripModel trip) throws TripAlreadyExistsException%7B%0A   DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();%0A    Entity taskEntity = new Entity(TRIP_ENTITY_NAME);%0A    taskEntity.setProperty(TRIP_ID_PROPERTY_NAME, trip.id());%0A    taskEntity.setProperty(USER_ID_PROPERTY_NAME, trip.userId());%0A    taskEntity.setProperty(NAME_PROPERTY_NAME, trip.name());%0A    taskEntity.setProperty(PLACE_API_ID_PROPERTY_NAME, trip.placesApiPlaceId());%0A    datastore.put(taskEntity);%0A %7D%0A public  void removeTrip(String tripId) throws TripNotFoundException%7B%0A     %0A %7D%0A %0A public void updateTripName(String tripId, String tripName) throws TripNotFoundException%7B%0A%0A %7D%0A %0A public TripModel getTrip(String tripId) throws TripNotFoundException%7B%0A%0A %7D%0A %0A public List%3CTripModel%3E getAllUserTrips(String userId)%7B%0A%0A %7D%0A  %0A%7D%0A

create Persistent storage class