public GetDatabasesResponse handleRequest()

in hms-lambda-handler/src/main/java/com/amazonaws/athena/hms/handler/GetDatabasesHandler.java [70:94]


  public GetDatabasesResponse handleRequest(GetDatabasesRequest request, Context context)
  {
    HiveMetaStoreConf conf = getConf();
    try {
      context.getLogger().log("Connecting to embedded HMS client");
      HiveMetaStoreClient client = getClient();
      context.getLogger().log("Fetching all database objects with filter: " + request.getFilter());
      List<Database> databases = getDatabases(request.getFilter(), client);
      context.getLogger().log("Fetched databases: " + (databases == null || databases.isEmpty() ? 0 : databases.size()));
      GetDatabasesResponse response = new GetDatabasesResponse();
      if (databases != null && !databases.isEmpty()) {
        TSerializer serializer = new TSerializer(getTProtocolFactory());
        List<String> jsonDatabaseList = new ArrayList<>();
        for (Database database : databases) {
          jsonDatabaseList.add(serializer.toString(database, StandardCharsets.UTF_8.name()));
        }
        response.setDatabaseObjects(jsonDatabaseList);
      }
      return response;
    }
    catch (Exception e) {
      context.getLogger().log("Exception: " + e.getMessage());
      throw new RuntimeException(e);
    }
  }