Commit 8789f4bd authored by Yann Garcia's avatar Yann Garcia
Browse files

Bug fixed in subscription V2xMessageSubscription

parent bcc3850a
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -2557,13 +2557,13 @@ func processProvChgUuUniSubscription(bodyBytes []byte, link *Links, subsIdStr st
		return "", err
	}

	// FIXME FSCOM Check filter values
	if provChgUuUniSubscription.FilterCriteria == nil {
		err = errors.New("Mandatory FilterCriteria parameter should be present")
		log.Error(err.Error())
		return "", err
	}

	// FIXME FSCOM Check filter values
	if provChgUuUniSubscription.WebsockNotifConfig == nil && provChgUuUniSubscription.CallbackReference == "" {
		err = errors.New("Mandatory CallbackReference parameter should be present")
		log.Error(err.Error())
@@ -2963,29 +2963,39 @@ func processV2xMsgSubscription(bodyBytes []byte, link *Links, subsIdStr string,
		return "", err
	}

	// Check filter values
	if v2xSubscription.FilterCriteria == nil {
		err = errors.New("Mandatory FilterCriteria parameter should be present")
		log.Error(err.Error())
		return "", err
	}

	if v2xSubscription.FilterCriteria.StdOrganization == "" {
		err = errors.New("Mandatory StdOrganization parameter should be present")
		log.Error(err.Error())
		return "", err
	}

	// FIXME FSCOM Check what to do with these lines
	// if v2xSubscription.WebsockNotifConfig != nil {
	// 	v2xSubscription.WebsockNotifConfig = subscriptionCommon.WebsockNotifConfig
	// }

	if !checkMsgTypeValue(v2xSubscription.FilterCriteria.MsgType) {
		err = errors.New("MsgType parameter should be between 1 and 13")
		log.Error(err.Error())
		return "", err
	}

	if v2xSubscription.WebsockNotifConfig == nil && v2xSubscription.CallbackReference == "" {
		err = errors.New("Mandatory CallbackReference parameter should be present")
		log.Error(err.Error())
		return "", err
	}
	if v2xSubscription.WebsockNotifConfig != nil {
		err = errors.New("WebsockNotifConfig not supported")
		log.Error(err.Error())
		return "", err
	}
	if v2xSubscription.CallbackReference == "" {
		err = errors.New("CallbackReference parameter should be present")
		log.Error(err.Error())
		return "", err
	}

	v2xSubscription.Links = link

	registerV2xMsgSubscription(v2xSubscription, subsIdStr)
@@ -3125,7 +3135,7 @@ func findMsgTypeId(list []string, item int32) bool {
}

func parseMsgTypeToInt(msgType string) int32 {
	switch msgType {
	switch strings.ToUpper(msgType) {
	case "DENM":
		return int32(DENM)
	case "CAM":