Commit ef2d5a38 authored by Yann Garcia's avatar Yann Garcia
Browse files

End of validation of AtsMec_FederationEnablement

parent e1669949
Loading
Loading
Loading
Loading
+40 −7
Changes for go-apps/meep-federation/server/federation.go: 40 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -816,9 +816,13 @@ func systeminfoGET(w http.ResponseWriter, r *http.Request) {

	w.Header().Set("Content-Type", "application/json; charset=UTF-8")

	mutex.Lock()
	defer mutex.Unlock()

	// Validate query parameters
	u, _ := url.Parse(r.URL.String())
	q := u.Query()
	log.Debug("systeminfoGET: q: ", q)
	validParams := []string{"systemId", "systemName", "systemProvider"}
	err := validateQueryParams(q, validParams)
	if err != nil {
@@ -826,10 +830,10 @@ func systeminfoGET(w http.ResponseWriter, r *http.Request) {
		return
	}

	systemId := q.Get("systemId")
	systemName := q.Get("systemName")
	systemProvider := q.Get("systemProvider")
	noFilter := systemId == "" && systemName == "" && systemProvider == ""
	systemId := q["systemId"]
	systemName := q["systemName"]
	systemProvider := q["systemProvider"]
	noFilter := len(systemId) != 0 && len(systemName) != 0 && len(systemProvider) != 0
	log.Debug("systeminfoGET: systemId: ", systemId)
	log.Debug("systeminfoGET: systemName: ", systemName)
	log.Debug("systeminfoGET: systemProvider: ", systemProvider)
@@ -846,10 +850,35 @@ func systeminfoGET(w http.ResponseWriter, r *http.Request) {
			log.Debug("systeminfoGET: processing ", val)
			if noFilter {
				l = append(l, val)
			} else if systemId != "" && val.SystemId == systemId || systemName != "" && val.SystemName == systemName || systemProvider != "" && val.SystemProvider == systemProvider {
				log.Debug("systeminfoGET: Apply filter")
			} else {
				if len(systemId) != 0 {
					for _, v := range systemId {
						if v == val.SystemId {
							log.Debug("systeminfoGET: Apply filter on systemId")
							l = append(l, val)
							break
						}
					}
				}
				if len(systemName) != 0 {
					for _, v := range systemName {
						if v == val.SystemName {
							log.Debug("systeminfoGET: Apply filter on systemName")
							l = append(l, val)
							break
						}
					}
				}
				if len(systemProvider) != 0 {
					for _, v := range systemProvider {
						if v == val.SystemProvider {
							log.Debug("systeminfoGET: Apply filter on systemProvider")
							l = append(l, val)
			} // else skip this item
							break
						}
					}
				}
			}
		}
		if len(l) == 0 {
			err = errors.New("No systemInfo registered with applied filter")
@@ -1162,6 +1191,10 @@ func serviceGET(w http.ResponseWriter, r *http.Request) {
	log.Debug(">>> serviceGET: ", r)

	w.Header().Set("Content-Type", "application/json; charset=UTF-8")

	mutex.Lock()
	defer mutex.Unlock()

	vars := mux.Vars(r)
	log.Debug("serviceGET: vars: ", vars)