#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.

from typing import Any, Mapping, Optional, Sequence


def agent_jolokia_arguments(
    params: Mapping[str, Any], hostname: str, ipaddress: Optional[str]
) -> Sequence[str]:
    arglist = ["--server", ipaddress or hostname]

    for param in ["port", "suburi", "instance", "protocol"]:
        if param in params:
            arglist += ["--%s" % param, "%s" % params[param]]

    for pair in zip(("--user", "--password", "--mode"), params.get("login", ())):
        arglist.extend(pair)

    return arglist


special_agent_info["jolokia"] = agent_jolokia_arguments
