// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 package software.amazonaws.sample.resolver.handler; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import software.amazonaws.sample.resolver.entity.Comment; import software.amazonaws.sample.resolver.service.QueryService; import software.amazonaws.sample.resolver.util.DBInitializer; import software.amazonaws.sample.resolver.util.JsonConverter; import java.util.List; import java.util.Map; /** * Handler for requests to Lambda function. */ public class GetCommentsOnPostLambdaHandler implements RequestHandler, List> { private static final Logger logger = LogManager.getLogger(GetCommentsOnPostLambdaHandler.class); private final QueryService queryService; private final JsonConverter jsonConverter; private final DBInitializer dbInitializer; public GetCommentsOnPostLambdaHandler() { this.jsonConverter = new JsonConverter(); this.dbInitializer = new DBInitializer(); this.queryService = new QueryService(dbInitializer.getConnection(), jsonConverter); } public List handleRequest(final Map input, final Context context) { logger.info("Event :: " + jsonConverter.toJson(input)); Map arguments = (Map) input.get("arguments"); try { return queryService.getCommentsByPost(arguments); } catch (Exception e) { logger.error(e); throw new RuntimeException(e); } } }