package cart;
import io.sphere.sdk.carts.Cart;
import io.sphere.sdk.carts.LineItem;
import play.Logger;
import play.mvc.Http.Session;
import java.util.Optional;
public class CartSessionUtils {
public static long getCartItemCount(final Session session) {
return readLong(CartSessionKeys.CART_ITEM_COUNT, session).orElse(0L);
}
private static Optional<Long> readLong(final String key, final Session session) {
try {
return Optional.of(Long.parseLong(session.get(key)));
} catch (Exception e) {
return Optional.empty();
}
}
public static void overwriteCartSessionData(final Cart cart, final Session session) {
final long itemCount = cart.getLineItems().stream().mapToLong(LineItem::getQuantity).sum();
session.put(CartSessionKeys.CART_ID, cart.getId());
session.put(CartSessionKeys.CART_ITEM_COUNT, String.valueOf(itemCount));
Logger.debug(session.toString());
}
}