computeStatusIconInfo: function()

in brooklyn-ui/src/main/webapp/assets/js/view/viewutils.js [493:557]


        computeStatusIconInfo: function(serviceUp, lifecycleState) {
            var result = {};
            
            if (lifecycleState != null)
                lifecycleState = lifecycleState.toLowerCase();
            
            if (serviceUp===false || serviceUp=="false") serviceUp=false;
            else if (serviceUp===true || serviceUp=="true") serviceUp=true;
            else {
                if (serviceUp!=null && serviceUp !== "" && serviceUp !== undefined && serviceUp.toLowerCase().indexOf("loading")<0) {
                    log("Unknown 'serviceUp' value:")
                    log(serviceUp)
                }
                serviceUp = null;
            }
            var mode = null;
            var imgext = "png";
            var problem = false;
            
            if (lifecycleState=="running") {
                if (serviceUp==false) {
                    mode = "running-onfire";
                    problem = true;
                } else {
                    mode = "running";
                }
            } else if (lifecycleState=="stopped" || lifecycleState=="created") {
                if (serviceUp==true) {
                    mode = "stopped-onfire";
                    problem = true;
                } else {
                    mode = "stopped";
                }
            } else if (lifecycleState=="starting") {
                mode = "starting";
                imgext = "gif";  //animated
            } else if (lifecycleState=="stopping") {
                mode = "stopping";
                imgext = "gif";  //animated
            } else if (lifecycleState=="on_fire" || /* just in case */ lifecycleState=="on-fire" || lifecycleState=="onfire") {
                mode = "onfire";
                problem = true;
            }
            
            if (mode==null) {
                // no lifecycle state, rely on serviceUp
                if (lifecycleState!=null && lifecycleState !== "" && lifecycleState !== undefined && lifecycleState.toLowerCase().indexOf("loading")<0) {
                    log("Unknown 'lifecycleState' value:")
                    log(lifecycleState)
                }
                if (serviceUp) mode = "running"; 
                else if (serviceUp===false) mode = "stopped";
            }

            result.word = mode;
            result.problem = problem;
            if (mode==null) {
                // no status info at all
                result.url = null;
            } else {
                result.url = "/assets/img/"+"icon-status-"+mode+"."+imgext;
            }
            
            return result;
        }