func ParsePropertiesFormat(properties string) map[string]string {
	config := map[string]string{}
	splitProps := strings.Split(properties, "\n")
	for _, line := range splitProps {
		if equal := strings.Index(line, "="); equal >= 0 {
			if key := strings.TrimSpace(line[:equal]); len(key) > 0 {
				value := ""
				if len(line) > equal {
					value = strings.TrimSpace(line[equal+1:])
				}
				config[key] = value
			}
		}
	}
	return config
}
ParsePropertiesFormat parses the properties format configuration into map[string]string
package util
import (
	"crypto/sha1"
	"reflect"
	"strconv"
	"strings"
	"github.com/Orange-OpenSource/nifikop/api/v1alpha1"
	"emperror.dev/errors"
	"github.com/imdario/mergo"
	"k8s.io/apimachinery/pkg/util/intstr"
)
func IntstrPointer(i int) *intstr.IntOrString {
	is := intstr.FromInt(i)
	return &is
}
func Int64Pointer(i int64) *int64 {
	return &i
}
func Int32Pointer(i int32) *int32 {
	return &i
}
func BoolPointer(b bool) *bool {
	return &b
}
func IntPointer(i int) *int {
	return &i
}
func StringPointer(s string) *string {
	return &s
}
func MapStringStringPointer(in map[string]string) (out map[string]*string) {
	out = make(map[string]*string, 0)
	for k, v := range in {
		out[k] = StringPointer(v)
	}
	return
}
func MergeLabels(l ...map[string]string) map[string]string {
	res := make(map[string]string)
	for _, v := range l {
		for lKey, lValue := range v {
			res[lKey] = lValue
		}
	}
	return res
}
func MonitoringAnnotations(port int) map[string]string {
	return map[string]string{
		"prometheus.io/scrape": "true",
		"prometheus.io/port":   strconv.Itoa(port),
	}
}
func MergeAnnotations(annotations ...map[string]string) map[string]string {
	rtn := make(map[string]string)
	for _, a := range annotations {
		for k, v := range a {
			rtn[k] = v
		}
	}
	return rtn
}
func ConvertStringToInt32(s string) int32 {
	i, err := strconv.ParseInt(s, 10, 32)
	if err != nil {
		return -1
	}
	return int32(i)
}
func IsSSLEnabledForInternalCommunication(l []v1alpha1.InternalListenerConfig) (enabled bool) {
	for _, listener := range l {
		if strings.ToLower(listener.Type) == "ssl" {
			enabled = true
			break
		}
	}
	return enabled
}
func ConvertMapStringToMapStringPointer(inputMap map[string]string) map[string]*string {
	result := map[string]*string{}
	for key, value := range inputMap {
		result[key] = StringPointer(value)
	}
	return result
}
func StringSliceContains(list []string, s string) bool {
	for _, v := range list {
		if v == s {
			return true
		}
	}
	return false
}
func StringSliceRemove(list []string, s string) []string {
	for i, v := range list {
		if v == s {
			list = append(list[:i], list[i+1:]...)
		}
	}
	return list
}