[VOL-3880] Correctly reporting software image status in OMCI Get
[VOL-3900] OMCI ONU Software Image Download

Change-Id: I8d91be832f3a89404d0af0dd98e6b53359e6a738
diff --git a/internal/bbsim/responders/sadis/sadis.go b/internal/bbsim/responders/sadis/sadis.go
index 5b71a94..4b9ccb3 100644
--- a/internal/bbsim/responders/sadis/sadis.go
+++ b/internal/bbsim/responders/sadis/sadis.go
@@ -20,7 +20,6 @@
 	"encoding/json"
 	"net/http"
 	"strings"
-	"sync"
 
 	"github.com/gorilla/mux"
 	"github.com/opencord/bbsim/internal/bbsim/devices"
@@ -32,8 +31,8 @@
 	"module": "SADIS",
 })
 
-type sadisServer struct {
-	olt *devices.OltDevice
+type SadisServer struct {
+	Olt *devices.OltDevice
 }
 
 // bandwidthProfiles contains some dummy profiles
@@ -228,7 +227,7 @@
 	return bwp
 }
 
-func (s *sadisServer) ServeBaseConfig(w http.ResponseWriter, r *http.Request) {
+func (s *SadisServer) ServeBaseConfig(w http.ResponseWriter, r *http.Request) {
 	w.Header().Set("Content-Type", "application/json")
 	w.WriteHeader(http.StatusOK)
 	vars := mux.Vars(r)
@@ -239,7 +238,7 @@
 		return
 	}
 
-	sadisConf := GetSadisConfig(s.olt, vars["version"])
+	sadisConf := GetSadisConfig(s.Olt, vars["version"])
 
 	sadisJSON, _ := json.Marshal(sadisConf)
 
@@ -247,17 +246,17 @@
 
 }
 
-func (s *sadisServer) ServeStaticConfig(w http.ResponseWriter, r *http.Request) {
+func (s *SadisServer) ServeStaticConfig(w http.ResponseWriter, r *http.Request) {
 	w.Header().Set("Content-Type", "application/json")
 	w.WriteHeader(http.StatusOK)
 	vars := mux.Vars(r)
-	sadisConf := GetSadisConfig(s.olt, vars["version"])
+	sadisConf := GetSadisConfig(s.Olt, vars["version"])
 
 	sadisConf.Sadis.Integration.URL = ""
-	for i := range s.olt.Pons {
-		for _, onu := range s.olt.Pons[i].Onus {
+	for i := range s.Olt.Pons {
+		for _, onu := range s.Olt.Pons[i].Onus {
 			if vars["version"] == "v2" {
-				sonuV2, _ := GetOnuEntryV2(s.olt, onu, "1")
+				sonuV2, _ := GetOnuEntryV2(s.Olt, onu, "1")
 				sadisConf.Sadis.Entries = append(sadisConf.Sadis.Entries, sonuV2)
 			}
 		}
@@ -273,17 +272,17 @@
 
 }
 
-func (s *sadisServer) ServeEntry(w http.ResponseWriter, r *http.Request) {
+func (s *SadisServer) ServeEntry(w http.ResponseWriter, r *http.Request) {
 	w.Header().Set("Content-Type", "application/json")
 	vars := mux.Vars(r)
 
 	// check if the requested ID is for the OLT
-	if s.olt.SerialNumber == vars["ID"] {
+	if s.Olt.SerialNumber == vars["ID"] {
 		sadisLogger.WithFields(log.Fields{
-			"OltSn": s.olt.SerialNumber,
+			"OltSn": s.Olt.SerialNumber,
 		}).Debug("Received SADIS OLT request")
 
-		sadisConf, _ := GetOltEntry(s.olt)
+		sadisConf, _ := GetOltEntry(s.Olt)
 
 		w.WriteHeader(http.StatusOK)
 		_ = json.NewEncoder(w).Encode(sadisConf)
@@ -299,7 +298,7 @@
 	}
 	sn, uni := i[0], i[len(i)-1]
 
-	onu, err := s.olt.FindOnuBySn(sn)
+	onu, err := s.Olt.FindOnuBySn(sn)
 	if err != nil {
 		w.WriteHeader(http.StatusNotFound)
 		_, _ = w.Write([]byte("{}"))
@@ -322,13 +321,13 @@
 		_ = json.NewEncoder(w).Encode("Sadis v1 is not supported anymore, please go back to an earlier BBSim version")
 	} else if vars["version"] == "v2" {
 		w.WriteHeader(http.StatusOK)
-		sadisConf, _ := GetOnuEntryV2(s.olt, onu, uni)
+		sadisConf, _ := GetOnuEntryV2(s.Olt, onu, uni)
 		_ = json.NewEncoder(w).Encode(sadisConf)
 	}
 
 }
 
-func (s *sadisServer) ServeBWPEntry(w http.ResponseWriter, r *http.Request) {
+func (s *SadisServer) ServeBWPEntry(w http.ResponseWriter, r *http.Request) {
 	w.Header().Set("Content-Type", "application/json")
 	vars := mux.Vars(r)
 	id := vars["ID"]
@@ -352,22 +351,3 @@
 	w.WriteHeader(http.StatusNotFound)
 	_, _ = w.Write([]byte("{}"))
 }
-
-// StartRestServer starts REST server which returns a SADIS configuration for the currently simulated OLT
-func StartRestServer(olt *devices.OltDevice, wg *sync.WaitGroup) {
-	addr := common.Config.BBSim.SadisRestAddress
-	sadisLogger.Infof("SADIS server listening on %s", addr)
-	s := &sadisServer{
-		olt: olt,
-	}
-
-	router := mux.NewRouter().StrictSlash(true)
-	router.HandleFunc("/{version}/cfg", s.ServeBaseConfig)
-	router.HandleFunc("/{version}/static", s.ServeStaticConfig)
-	router.HandleFunc("/{version}/subscribers/{ID}", s.ServeEntry)
-	router.HandleFunc("/{version}/bandwidthprofiles/{ID}", s.ServeBWPEntry)
-
-	log.Fatal(http.ListenAndServe(addr, router))
-
-	wg.Done()
-}