func (newContext *ServiceSecurity) PrepareNewSecurityContext(services []publishserviceapi.ServiceAPIDescription) error {
securityMethods = []publishserviceapi.SecurityMethod{}
for i, securityInfo := range newContext.SecurityInfo {
-
if securityInfo.InterfaceDetails != nil {
addSecurityMethodsFromInterfaceDetails(securityInfo.InterfaceDetails.SecurityMethods, &securityInfo.PrefSecurityMethods)
checkNil := securityInfo.ApiId != nil && securityInfo.AefId != nil
if checkNil {
service := getServiceByApiId(&services, securityInfo.ApiId)
- afpProfile := service.GetAefProfileById(securityInfo.AefId)
+ if service != nil {
+ afpProfile := service.GetAefProfileById(securityInfo.AefId)
+ addSecurityMethodsFromAefProfile(afpProfile)
+ }
- addSecurityMethodsFromAefProfile(afpProfile)
}
}
}
func addSecurityMethodsFromInterfaceDetails(methodsFromInterface *[]publishserviceapi.SecurityMethod, prefMethods *[]publishserviceapi.SecurityMethod) {
-
if methodsFromInterface != nil {
securityMethods = append(securityMethods, *methodsFromInterface...)
}
}
}
-func addSecurityMethodsFromAefProfile(afpProfile *publishserviceapi.AefProfile) {
- if afpProfile.SecurityMethods != nil {
- securityMethods = append(securityMethods, *afpProfile.SecurityMethods...)
+func addSecurityMethodsFromAefProfile(aefProfile *publishserviceapi.AefProfile) {
+ if aefProfile.SecurityMethods != nil {
+ securityMethods = append(securityMethods, *aefProfile.SecurityMethods...)
}
}