Changeset 6


Ignore:
Timestamp:
09/30/19 15:37:07 (5 years ago)
Author:
bart
Message:

Added parameter support

Location:
src/main/webapp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/main/webapp/newsession.xhtml

    r5 r6  
    4646                        next party</b> <br /> Party: <select id="partyselection">
    4747                </select> <br /> Profile: <select id="profileselection">
    48                 </select> <br />
     48                </select> <br /> Parameters: { <input type="text" id="parameters"
     49                        onchange="updateParameters()" value="" maxlength="100" /> }  <br /> <br />
    4950
    5051                <button onclick="addParty()">Add</button>
     
    5556                        <thead>
    5657                                <th align="left" width='40%'>Party</th>
     58                                <th align="left" width='20%'>Parameters</th>
    5759                                <th align="left" width='40%'>Profile</th>
    5860                        </thead>
     
    7577        </div>
    7678        <div id="results" style="visibility: hidden">
    77                 Session completed. <a href="" id="logref">view the log
    78                         file</a> <br /> <a href="" id="plotref">render a utilities plot</a>.
     79                Session completed. <a href="" id="logref">view the log file</a> <br />
     80                <a href="" id="plotref">render a utilities plot</a>.
    7981        </div>
    8082
     
    8284
    8385<script type="application/javascript">
     86       
    8487       
    8588       
     
    9497        var domainwebsocket = null;
    9598        var partieswebsocket=null;
     99        // current setting of parameters
     100        var parameters = {};
     101
    96102        // currently known domains (and profiles) as coming from domainwebsocket.
    97103        // keys are domain names, values are list of profile names
    98104        var knowndomains={};
     105       
    99106       
    100107        /**
     
    231238   
    232239
    233 
     240    /**
     241    updates parameters field to match the given text.
     242    */
     243        function updateParameters() {
     244                var text="{"+document.getElementById("parameters").value+"}";
     245        try {
     246                        parameters=JSON.parse(text);
     247        } catch(e) {
     248                alert("Parameters can not be parsed. "+e);
     249                return;
     250        }
     251        }
    234252
    235253        /**
     
    269287                }
    270288                var newpartyprof = {};
    271                 newpartyprof["party"]=partycombo.options[partycombo.selectedIndex].value;
     289               
     290                newpartyprof["party"]={"partyref":partycombo.options[partycombo.selectedIndex].value,
     291                                "parameters":parameters };
    272292                newpartyprof["profile"]=profilecombo.options[profilecombo.selectedIndex].value;
    273293               
     
    284304                        var cell1 = row.insertCell(-1);
    285305                        var cell2 = row.insertCell(-1);
    286                         cell1.innerHTML = partyprofiles[pp]["party"];
    287                         cell2.innerHTML = partyprofiles[pp]["profile"];
     306                        var cell3 = row.insertCell(-1);
     307                        cell1.innerHTML = partyprofiles[pp]["party"]["partyref"];
     308                        cell2.innerHTML = JSON.stringify(partyprofiles[pp]["party"]["parameters"]);
     309                        cell3.innerHTML = partyprofiles[pp]["profile"];
    288310                }
    289311
     
    298320        {"SAOPSettings":
    299321          {"participants":[
    300                     {"party":"http://party1","profile":"ws://profile1"},
    301                     {"party":"http://party2","profile":"ws://profile2"}],
     322                    {"party":{"partyref":"http://party1","parameters":{}},"profile":"ws://profile1"},
     323                    {"party":{"partyref",}"http://party2","parameters":{}},"profile":"ws://profile2"}],
    302324                    "deadline":{"deadlinetime":{"durationms":100}}}}
    303325       
     
    384406
    385407
     408
    386409</script>
    387410
  • src/main/webapp/newtournament.xhtml

    r3 r6  
    2020        <br />
    2121        <br />
    22         <input type="number" id="partiespersession" name="tentacles" min="2" max="10" value="2"/>
    23         Number of parties in each session
    24         <br />
    25 
    26         <input type="checkbox" id="reuseparties"/> Pick
    27         parties with return when creating sessions
     22        <input type="number" id="partiespersession" name="tentacles" min="2"
     23                max="10" value="2" /> Number of parties in each session
     24        <br />
     25
     26        <input type="checkbox" id="reuseparties" /> Pick parties with return
     27        when creating sessions
    2828        <br />
    2929
    3030        <br />
    3131        <div id="box" class="box">
    32                 Session Protocol settings
    33                 <br />
    34                 Session Protocol: <select>
     32                Session Protocol settings <br /> Session Protocol: <select>
    3533                        <option value="SAOP">SAOP</option>
    36                 </select>
    37                 <br />
    38                 Deadline: <input type="number" id="deadlinevalue" name="deadline"
    39                         min="1" max="10000" value="10" /> <select id="deadlinetype">
     34                </select> <br /> Deadline: <input type="number" id="deadlinevalue"
     35                        name="deadline" min="1" max="10000" value="10" /> <select
     36                        id="deadlinetype">
    4037                        <option value="TIME">seconds</option>
    4138                        <option value="ROUNDS">rounds</option>
     
    4542
    4643        <div id="box" class="box">
    47                 <br />
    48                 Domain/Profile Server: <input type="url" name="url"
     44                <br /> Domain/Profile Server: <input type="url" name="url"
    4945                        id="profilesserverurl" value="localhost:8080/profilesserver-1.0.0"
    5046                        pattern=".*:[0-9]+/profilesserver" size="30"
    51                         onchange="connectDomain()"> </input>
    52                 <br />
    53                 Domain: <select id="domainselection" onchange="selectDomain()">
     47                        onchange="connectDomain()"> </input> <br /> Domain: <select
     48                        id="domainselection" onchange="selectDomain()">
    5449                        <!-- <option>Waiting for profiles server</option> -->
    55                 </select>
    56 
    57                 <br />
    58                 <br />
     50                </select> <br /> <br />
    5951                <button onclick="addProfile()">Add</button>
    6052                Profile: <select id="profileselection">
    6153                        <!-- <option>Waiting for partiesserver</option> -->
    62                 </select>
    63                 <br />
    64 
    65                 <br />
     54                </select> <br /> <br />
    6655
    6756                <table id="profiles">
     
    7968        <br />
    8069        <div id="box" class="box">
    81                 <br />
    82                 Parties Server: <input type="url" name="url" id="partiesserverurl"
    83                         value="localhost:8080/partiesserver-1.0.0"
     70                <br /> Parties Server: <input type="url" name="url"
     71                        id="partiesserverurl" value="localhost:8080/partiesserver-1.0.0"
    8472                        pattern=".*:[0-9]+/partiesserver" size="30"
    85                         onchange="connectParties()"> </input>
    86                 <br />
    87                 <br />
    88                 <button onclick="addParty()">Add</button>
     73                        onchange="connectParties()"> </input> <br /> <br />
    8974                Party: <select id="partyselection">
    9075                        <!-- <option>Waiting for partiesserver</option> -->
    91                 </select>
    92 
    93                 <br />
     76                </select> <br /> Parameters: { <input type="text" id="parameters"
     77                        onchange="updateParameters()" value="" maxlength="100" /> } <br />
     78                <button onclick="addParty()">Add</button>
     79                       
     80                <br /> <br />
    9481                <table>
    9582                        <thead>
    96                                 <th align="left">Selected Parties</th>
     83                                <th align="left">Party</th>
     84                                <th align="left">Parameters</th>
    9785                        </thead>
    9886                        <tbody id="partiesList">
     
    10694        <br />
    10795        <form>
    108                 <input id="startbutton" type="button" value="Start Tournament" onclick="start()" />
     96                <input id="startbutton" type="button" value="Start Tournament"
     97                        onclick="start()" />
    10998        </form>
    110         <div id="started" style="visibility:hidden">
    111         Your tournament started. Click <a href="" id="logref">here</a> to view the log file.
     99        <div id="started" style="visibility: hidden">
     100                Your tournament started. Click <a href="" id="logref">here</a> to view
     101                the log file.
    112102        </div>
    113103
     
    115105
    116106<script type="application/javascript">
     107       
    117108       
    118109       
     
    147138        var parties=[];
    148139        var profiles=[]
     140        // current setting of parameters
     141        var parameters = {};
    149142
    150143       
     
    245238
    246239
     240    /**
     241    updates parameters field to match the given text.
     242    */
     243        function updateParameters() {
     244                var text="{"+document.getElementById("parameters").value+"}";
     245        try {
     246                        parameters=JSON.parse(text);
     247        } catch(e) {
     248                alert("Parameters can not be parsed. "+e);
     249                return;
     250        }
     251        }
    247252
    248253        /**
     
    276281                        return;
    277282                }
    278                 parties.push(partycombo.options[partycombo.selectedIndex].value)
     283                parties.push({"partyref":partycombo.options[partycombo.selectedIndex].value, "parameters":parameters})
    279284                updatePartyTable();
    280285        }
     
    287292                        var row = table.insertRow(-1);
    288293                        var cell1 = row.insertCell(-1);
    289                         cell1.innerHTML = parties[party];
     294                        var cell2 = row.insertCell(-1);
     295                        cell1.innerHTML = parties[party]["partyref"];
     296                        cell2.innerHTML = JSON.stringify(parties[party]["parameters"]);
    290297                }
    291298
     
    397404
    398405
     406
    399407</script>
    400408
Note: See TracChangeset for help on using the changeset viewer.