Ignore:
Timestamp:
01/28/20 10:20:01 (5 years ago)
Author:
bart
Message:

Update 28 jan 2020

File:
1 edited

Legend:

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

    r7 r8  
    3030        <br />
    3131        <div id="box" class="box">
    32                 Session Protocol settings <br /> Session Protocol: <select>
     32                Session Protocol settings <br /> Session Protocol:
     33                <select id="protocolselection">
    3334                        <option value="SAOP">SAOP</option>
    34                 </select> <br /> Deadline: <input type="number" id="deadlinevalue"
     35                        <option value="SHAOP">SHAOP</option>
     36                </select>
     37               
     38                <br /> Deadline: <input type="number" id="deadlinevalue"
    3539                        name="deadline" min="1" max="10000" value="10" /> <select
    3640                        id="deadlinetype">
     41                        <option value="ROUNDS">rounds</option>
    3742                        <option value="TIME">seconds</option>
    38                         <option value="ROUNDS">rounds</option>
    3943                </select>
    4044        </div>
     
    5256                Profile: <select id="profileselection">
    5357                        <!-- <option>Waiting for partiesserver</option> -->
    54                 </select> <br /> <br />
     58                </select>
     59                 Filter: <input type="text" id="filter" value="" maxlength="40" />
     60               
     61                <br /> <br />
    5562
    5663                <table id="profiles">
     
    304311        function addProfile() {
    305312                var profilecombo = document.getElementById("profileselection");
    306                
     313
    307314                if (profilecombo.options.length==0) {
    308315                        alert("Please set domain/profile server and select a domain and a profile");
    309316                        return;
    310317                }
    311                 profiles.push(profilecombo.options[profilecombo.selectedIndex].value)
     318                var filteroptions = document.getElementById("filter").value;
     319                if (filteroptions!="") {
     320                        filteroptions="?"+filteroptions;
     321                }
     322
     323                profiles.push(profilecombo.options[profilecombo.selectedIndex].value + filteroptions)
    312324                updateProfileTable(); // what, MVC?
    313325        }
     
    327339        /**
    328340        start the tournament as currently set on this page.
    329         We need to send a TournamentSettings object to the server, which typically looks like this
    330         but is protocol dependent (currently we do SAOP)
    331        
     341        We need to send a TournamentSettings object to the server, which typically looks like this with SAOP
     342        <code>
    332343        {"AllPermutationsSettings":{"parties":["party1","party2"],
    333344                "profiles":["profile1","profile2","profile3"],
     
    335346                "partiesPerSession":2,
    336347                "sessionsettings":{"SAOPSettings":{"participants":[],"deadline":{"deadlinetime":{"durationms":10}}}}}}
    337        
     348        </code>
    338349        participants are already in the global partyprofiles dictionary
     350       
     351        With SHAOP, it looks like this
     352        <code>
     353        {
     354                "AllPermutationsSettings": {
     355                        "parties": [ { "partyref": "classpath:geniusweb.exampleparties.simpleshaop.ShaopParty", "parameters": { } },
     356                                { "partyref": "classpath:geniusweb.exampleparties.randomparty.RandomParty",     "parameters": { }}
     357                        ],
     358                        "reuseParties": false,
     359                        "profiles": [   "prof1?partial=10", "prof2?partial=15"],
     360                        "partiesPerSession": 2,
     361                        "sessionsettings": {    "SHAOPSettings": {
     362                                        "participants": [ ],
     363                                        "deadline": { "deadlinerounds": {       "rounds": 10, "durationms": 10000       } } } } } }
     364        </code>
    339365        */
    340366        function start() {
     
    380406                        deadline["deadlinerounds"] = {"rounds": value, "durationms": 10000};
    381407                }
    382                
    383408                var reuseParties  = document.getElementById("reuseparties").checked;
    384                 var sessionSettings = {"SAOPSettings":{"participants":[],"deadline":deadline}};
     409               
     410                var protocolcombobox = document.getElementById("protocolselection");
     411                var protocol = protocolcombobox.options[protocolcombobox.selectedIndex].value;
     412                var header=protocol+"Settings";
     413       
     414                // create S(H)AOPSettings. [header] is a weird ECMA script workaround for javascript issue.
     415                var sessionSettings = { [header]:{"participants":[],"deadline":deadline}};
    385416                return JSON.stringify({"AllPermutationsSettings":{"parties":parties,"profiles":profiles,"reuseParties":reuseParties,"partiesPerSession":2,"sessionsettings":sessionSettings}});
    386417        }
     
    390421        */
    391422        function init() {
    392                 document.getElementById("partiesserverurl").value =window.location.hostname+":8080/partiesserver-1.1.0"
    393                 document.getElementById("profilesserverurl").value =window.location.hostname+":8080/profilesserver-1.1.0"
     423                document.getElementById("partiesserverurl").value =window.location.hostname+":8080/partiesserver-1.1.0";
     424                document.getElementById("profilesserverurl").value =window.location.hostname+":8080/profilesserver-1.1.0";
    394425
    395426
Note: See TracChangeset for help on using the changeset viewer.