class MassUpdateCheck extends ActionHandler {

    @Override
    public ItemStatus execute(WorkerParameters param, HandlerIO handler) throws ProcessingException {
        try {
            List<String> internalKeyFields = getInternalActionKeyFields(handler.getJsonFromWorkspace("query.json"));
            if (!internalKeyFields.isEmpty()) {
                String message = String.format("Invalid DSL query: cannot contains '%s' internal field(s).", String.join(", ", internalKeyFields));
                return buildItemStatusWithMessage(PLUGIN_NAME, KO, message);
            }

            return buildItemStatus(PLUGIN_NAME, OK, EventDetails.of("Check OK."));
        } catch (Exception e) {
            LOGGER.error(e);
            return buildItemStatus(PLUGIN_NAME, KO, EventDetails.of("Check KO unexpected error."));
        }
    }

}