private boolean putEvent()

in src/main/java/com/amazonaws/partners/saasfactory/metering/billing/ProcessBillingEvent.java [81:115]


    private boolean putEvent(BillingEvent billingEvent) {
        HashMap<String,AttributeValue> item= new HashMap<>();

        AttributeValue primaryKeyValue = AttributeValue.builder()
                .s(formatTenantEntry(billingEvent.getTenantID()))
                .build();

        AttributeValue sortKeyValue = AttributeValue.builder()
                .s(formatEventEntry(billingEvent.getEventTime()))
                .build();

        AttributeValue quantityAttributeValue = AttributeValue.builder()
                .n(billingEvent.getQuantity().toString())
                .build();

        item.put(PRIMARY_KEY_NAME, primaryKeyValue);
        item.put(SORT_KEY_NAME, sortKeyValue);
        item.put(QUANTITY_ATTRIBUTE_NAME, quantityAttributeValue);

        PutItemRequest request = PutItemRequest.builder()
                .tableName(this.tableConfig.getTableName())
                .item(item)
                .build();

        try {
            this.ddb.putItem(request);
        } catch (ResourceNotFoundException e) {
            this.logger.error("Table {} does not exist", this.tableConfig.getTableName());
            return false;
        } catch (InternalServerErrorException e) {
            this.logger.error(e.getMessage());
            return false;
        }
        return true;
    }