extensions/net.sf.basedb.opengrid/trunk/resources/view-host.js

Code
Comments
Other
Rev Date Author Line
4315 23 Jan 17 nicklas 1 var Remote = function()
4315 23 Jan 17 nicklas 2 {
4315 23 Jan 17 nicklas 3   var remote = {};
4318 24 Jan 17 nicklas 4   var debug = 0;
4315 23 Jan 17 nicklas 5
4315 23 Jan 17 nicklas 6   remote.initPage = function()
4315 23 Jan 17 nicklas 7   {
4315 23 Jan 17 nicklas 8     var url = 'OpenGrid.servlet?ID='+App.getSessionId();
4317 23 Jan 17 nicklas 9     url += '&cmd=GetHostInfo&jobAgentDetails=1';
4315 23 Jan 17 nicklas 10     url += '&hostId='+encodeURIComponent(Data.get('page-data', 'host-id'));
4315 23 Jan 17 nicklas 11     
4315 23 Jan 17 nicklas 12     var request = Ajax.getXmlHttpRequest();
4315 23 Jan 17 nicklas 13     request.open("GET", url, true);
4315 23 Jan 17 nicklas 14     Ajax.setReadyStateHandler(request, remote.onHostInfoLoaded, remote.onHostInfoLoaded);
4315 23 Jan 17 nicklas 15     request.send(null);
4315 23 Jan 17 nicklas 16     
4315 23 Jan 17 nicklas 17     // All other initialization happens after info has been loaded
4315 23 Jan 17 nicklas 18   }
4315 23 Jan 17 nicklas 19   
4315 23 Jan 17 nicklas 20   remote.onHostInfoLoaded = function(request)
4315 23 Jan 17 nicklas 21   {
4315 23 Jan 17 nicklas 22     if (debug) App.debug(Strings.encodeTags(request.responseText));
4315 23 Jan 17 nicklas 23     var response;
4315 23 Jan 17 nicklas 24     var error = false;
4315 23 Jan 17 nicklas 25     try
4315 23 Jan 17 nicklas 26     {
4315 23 Jan 17 nicklas 27       response = JSON.parse(request.responseText);
4315 23 Jan 17 nicklas 28       if (response.status != 'ok')
4315 23 Jan 17 nicklas 29       {
4315 23 Jan 17 nicklas 30         error = response.message || response.stacktrace || 'Unexpected error';
4315 23 Jan 17 nicklas 31       }
4315 23 Jan 17 nicklas 32     }
4315 23 Jan 17 nicklas 33     catch (ex)
4315 23 Jan 17 nicklas 34     {
4315 23 Jan 17 nicklas 35       error = ex;
4315 23 Jan 17 nicklas 36     }
4315 23 Jan 17 nicklas 37     
4315 23 Jan 17 nicklas 38     if (error)
4315 23 Jan 17 nicklas 39     {
4315 23 Jan 17 nicklas 40       alert(error);
4315 23 Jan 17 nicklas 41       return;
4315 23 Jan 17 nicklas 42     }
4315 23 Jan 17 nicklas 43
4318 24 Jan 17 nicklas 44     var host = response.host;
4315 23 Jan 17 nicklas 45     var connectionInfo = host.connection;
4315 23 Jan 17 nicklas 46     var hostInfo = host.clusterInfo.hostInfo;
4315 23 Jan 17 nicklas 47     var openGridInfo = host.clusterInfo.openGridInfo;
4315 23 Jan 17 nicklas 48     var config = host.config;
4315 23 Jan 17 nicklas 49     
4315 23 Jan 17 nicklas 50     Doc.element('host-name').innerHTML = Strings.encodeTags(connectionInfo.name);
4315 23 Jan 17 nicklas 51     Doc.element('host-address').innerHTML = Strings.encodeTags(connectionInfo.address+':'+connectionInfo.port);
4315 23 Jan 17 nicklas 52     Doc.element('username').innerHTML = Strings.encodeTags(connectionInfo.user);
4315 23 Jan 17 nicklas 53     Doc.element('fingerprint').innerHTML = Strings.encodeTags(connectionInfo.fingerprint);
4315 23 Jan 17 nicklas 54     
5986 10 Jul 20 nicklas 55     Doc.element('ogs-type').innerHTML = Strings.encodeTags(config.type);
4318 24 Jan 17 nicklas 56     Doc.element('cluster-info-cmd').innerHTML = Strings.encodeTags('> ' + hostInfo.cmd);
4315 23 Jan 17 nicklas 57     Doc.element('cluster-info-result').innerHTML = remote.getCmdResultString(hostInfo);
4318 24 Jan 17 nicklas 58     Doc.element('ogs-info-cmd').innerHTML = Strings.encodeTags('> ' + openGridInfo.cmd);
4315 23 Jan 17 nicklas 59     Doc.element('ogs-info-result').innerHTML = remote.getCmdResultString(openGridInfo);
4315 23 Jan 17 nicklas 60     
4318 24 Jan 17 nicklas 61     Doc.element('time-cmd').innerHTML = Strings.encodeTags('> ' + config.dateCommand);
4315 23 Jan 17 nicklas 62     Doc.element('time-diff').innerHTML = host.clusterInfo.timeAdjustment + ' seconds';
4315 23 Jan 17 nicklas 63
4317 23 Jan 17 nicklas 64     Doc.element('job-agent').innerHTML = remote.getJobAgentString(config.jobAgent);
4315 23 Jan 17 nicklas 65     Doc.element('job-folder').innerHTML = Strings.encodeTags(config.jobFolder);
4315 23 Jan 17 nicklas 66     Doc.element('tmp-folder').innerHTML = Strings.encodeTags(config.tmpFolder);
4315 23 Jan 17 nicklas 67     Doc.element('tmp-folder-debug').innerHTML = Strings.encodeTags(config.tmpFolderDebug);
4315 23 Jan 17 nicklas 68     
4315 23 Jan 17 nicklas 69     var nodes = '';
4315 23 Jan 17 nicklas 70     if (config.nodes.length > 0)
4315 23 Jan 17 nicklas 71     {
4315 23 Jan 17 nicklas 72       nodes = '<ul>';
4315 23 Jan 17 nicklas 73       for (var i = 0; i < config.nodes.length; i++)
4315 23 Jan 17 nicklas 74       {
4315 23 Jan 17 nicklas 75         nodes += '<li>'+Strings.encodeTags(config.nodes[i].name);
4315 23 Jan 17 nicklas 76       }
4315 23 Jan 17 nicklas 77       nodes += '</ul>';
4315 23 Jan 17 nicklas 78     }
4315 23 Jan 17 nicklas 79     else
4315 23 Jan 17 nicklas 80     {
4315 23 Jan 17 nicklas 81       nodes = '<i>Not configured</i>';
4315 23 Jan 17 nicklas 82     }
4315 23 Jan 17 nicklas 83     Doc.element('nodes').innerHTML = nodes;
4317 23 Jan 17 nicklas 84     
4317 23 Jan 17 nicklas 85     var linkedItems = document.getElementsByClassName('linked-item');
4317 23 Jan 17 nicklas 86     for (var itemNo = 0; itemNo < linkedItems.length; itemNo++)
4317 23 Jan 17 nicklas 87     {
4317 23 Jan 17 nicklas 88       Events.addEventHandler(linkedItems[itemNo], 'click', Items.itemOnClick);
4317 23 Jan 17 nicklas 89     }
4317 23 Jan 17 nicklas 90     
4317 23 Jan 17 nicklas 91     var sharedItems = document.getElementsByClassName('shared-item');
4317 23 Jan 17 nicklas 92     for (var itemNo = 0; itemNo < sharedItems.length; itemNo++)
4317 23 Jan 17 nicklas 93     {
4317 23 Jan 17 nicklas 94       Events.addEventHandler(sharedItems[itemNo], 'click', Buttons.shareItem);
4317 23 Jan 17 nicklas 95     }
4315 23 Jan 17 nicklas 96   }
4315 23 Jan 17 nicklas 97   
4315 23 Jan 17 nicklas 98   remote.getCmdResultString = function(cmdData)
4315 23 Jan 17 nicklas 99   {
4315 23 Jan 17 nicklas 100     var r = '';
4315 23 Jan 17 nicklas 101     if (cmdData.exitStatus != 0)
4315 23 Jan 17 nicklas 102     {
4315 23 Jan 17 nicklas 103       r += '<div class="stderr">['+cmdData.exitStatus+'] ';
4315 23 Jan 17 nicklas 104       r += Strings.encodeTags(cmdData.stderr);
4315 23 Jan 17 nicklas 105       r += '</div>';
4315 23 Jan 17 nicklas 106     }
4315 23 Jan 17 nicklas 107     else
4315 23 Jan 17 nicklas 108     {
4315 23 Jan 17 nicklas 109       r += '<div class="stdout">';
4315 23 Jan 17 nicklas 110       r += Strings.encodeTags(cmdData.stdout);
4315 23 Jan 17 nicklas 111       r += '</div>';
4315 23 Jan 17 nicklas 112     }
4315 23 Jan 17 nicklas 113     return r;
4315 23 Jan 17 nicklas 114   }
4315 23 Jan 17 nicklas 115   
4317 23 Jan 17 nicklas 116   remote.getJobAgentString = function(jobAgent)
4317 23 Jan 17 nicklas 117   {
4317 23 Jan 17 nicklas 118     var html = '';
4317 23 Jan 17 nicklas 119     if (!jobAgent)
4317 23 Jan 17 nicklas 120     {
4317 23 Jan 17 nicklas 121       html = '<i>Not connected</i>';
4317 23 Jan 17 nicklas 122     }
4317 23 Jan 17 nicklas 123     else if (jobAgent.exception)
4317 23 Jan 17 nicklas 124     {
4317 23 Jan 17 nicklas 125       html = Strings.encodeTags(jobAgent.externalId + ' [' + jobAgent.exception + ']');
4317 23 Jan 17 nicklas 126     }
4317 23 Jan 17 nicklas 127     else
4317 23 Jan 17 nicklas 128     {
4317 23 Jan 17 nicklas 129       if (jobAgent.isShared)
4317 23 Jan 17 nicklas 130       {
4317 23 Jan 17 nicklas 131         html += '<span class="icon link shared-item" title="Set access permissions" data-item-type="JOBAGENT" data-item-id="'+jobAgent.id+'">';
4317 23 Jan 17 nicklas 132         html += '<img src="../../images/shared.png"></span> ';
4317 23 Jan 17 nicklas 133       }
4317 23 Jan 17 nicklas 134       html += '<span class="link linked-item" title="View/edit this job agent" data-item-type="JOBAGENT" data-item-id="'+jobAgent.id+'">';
4317 23 Jan 17 nicklas 135       html += Strings.encodeTags(jobAgent.externalId)+'</span>';
4317 23 Jan 17 nicklas 136     }
4317 23 Jan 17 nicklas 137     return html;
4317 23 Jan 17 nicklas 138   }
4317 23 Jan 17 nicklas 139   
4315 23 Jan 17 nicklas 140   return remote;
4315 23 Jan 17 nicklas 141 }();
4315 23 Jan 17 nicklas 142
4315 23 Jan 17 nicklas 143 Doc.onLoad(Remote.initPage);