Changeset 14
- Timestamp:
- 04/28/20 12:56:46 (5 years ago)
- Files:
-
- 33 added
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
bidspace/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>bidspace</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 36 36 <groupId>geniusweb</groupId> 37 37 <artifactId>profile</artifactId> 38 <version>1. 3.1</version>38 <version>1.4.0</version> 39 39 </dependency> 40 40 -
events/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>events</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 43 43 <groupId>geniusweb</groupId> 44 44 <artifactId>issuevalue</artifactId> 45 <version>1. 3.1</version>45 <version>1.4.0</version> 46 46 </dependency> 47 47 <dependency> 48 48 <groupId>geniusweb</groupId> 49 49 <artifactId>references</artifactId> 50 <version>1. 3.1</version>50 <version>1.4.0</version> 51 51 </dependency> 52 52 -
exampleparties/anac2019/agentgg/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties.anac2019</groupId> 7 7 <artifactId>agentgg</artifactId> 8 <version>1. 3.1</version>8 <version>1.4,0</version> 9 9 <packaging>jar</packaging> 10 10 … … 32 32 <groupId>geniusweb</groupId> 33 33 <artifactId>issuevalue</artifactId> 34 <version>1. 3.1</version>34 <version>1.4.0</version> 35 35 </dependency> 36 36 … … 38 38 <groupId>geniusweb</groupId> 39 39 <artifactId>party</artifactId> 40 <version>1. 3.1</version>40 <version>1.4.0</version> 41 41 </dependency> 42 42 … … 44 44 <groupId>geniusweb</groupId> 45 45 <artifactId>bidspace</artifactId> 46 <version>1. 3.1</version>46 <version>1.4.0</version> 47 47 </dependency> 48 48 <dependency> 49 49 <groupId>geniusweb</groupId> 50 50 <artifactId>profileconnection</artifactId> 51 <version>1. 3.1</version>51 <version>1.4.0</version> 52 52 </dependency> 53 53 <dependency> -
exampleparties/anac2019/winkyagent/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties.anac2019</groupId> 7 7 <artifactId>winkyagent</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 32 32 <groupId>geniusweb</groupId> 33 33 <artifactId>issuevalue</artifactId> 34 <version>1. 3.1</version>34 <version>1.4.0</version> 35 35 </dependency> 36 36 … … 38 38 <groupId>geniusweb</groupId> 39 39 <artifactId>party</artifactId> 40 <version>1. 3.1</version>40 <version>1.4.0</version> 41 41 </dependency> 42 42 … … 44 44 <groupId>geniusweb</groupId> 45 45 <artifactId>bidspace</artifactId> 46 <version>1. 3.1</version>46 <version>1.4.0</version> 47 47 </dependency> 48 48 <dependency> 49 49 <groupId>geniusweb</groupId> 50 50 <artifactId>profileconnection</artifactId> 51 <version>1. 3.1</version>51 <version>1.4.0</version> 52 52 </dependency> 53 53 <dependency> -
exampleparties/boulware/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>boulware</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb.exampleparties</groupId> 34 34 <artifactId>timedependentparty</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 <dependency> -
exampleparties/comparebids/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>comparebids</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb</groupId> 34 34 <artifactId>party</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 … … 39 39 <groupId>geniusweb</groupId> 40 40 <artifactId>bidspace</artifactId> 41 <version>1. 3.1</version>41 <version>1.4.0</version> 42 42 </dependency> 43 43 <dependency> 44 44 <groupId>geniusweb</groupId> 45 45 <artifactId>profileconnection</artifactId> 46 <version>1. 3.1</version>46 <version>1.4.0</version> 47 47 </dependency> 48 48 <dependency> -
exampleparties/conceder/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>conceder</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb.exampleparties</groupId> 34 34 <artifactId>timedependentparty</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 <dependency> -
exampleparties/hardliner/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>hardliner</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb.exampleparties</groupId> 34 34 <artifactId>timedependentparty</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 <dependency> -
exampleparties/humangui/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>humangui</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb</groupId> 34 34 <artifactId>party</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 … … 39 39 <groupId>geniusweb</groupId> 40 40 <artifactId>bidspace</artifactId> 41 <version>1. 3.1</version>41 <version>1.4.0</version> 42 42 </dependency> 43 43 <dependency> 44 44 <groupId>geniusweb</groupId> 45 45 <artifactId>profileconnection</artifactId> 46 <version>1. 3.1</version>46 <version>1.4.0</version> 47 47 </dependency> 48 48 <dependency> -
exampleparties/linear/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>linear</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb.exampleparties</groupId> 34 34 <artifactId>timedependentparty</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 <dependency> -
exampleparties/randomparty/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>randomparty</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb</groupId> 34 34 <artifactId>party</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 … … 39 39 <groupId>geniusweb</groupId> 40 40 <artifactId>bidspace</artifactId> 41 <version>1. 3.1</version>41 <version>1.4.0</version> 42 42 </dependency> 43 43 <dependency> 44 44 <groupId>geniusweb</groupId> 45 45 <artifactId>profileconnection</artifactId> 46 <version>1. 3.1</version>46 <version>1.4.0</version> 47 47 </dependency> 48 48 <dependency> -
exampleparties/randompartypy/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>randompyparty</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 31 31 <groupId>geniusweb</groupId> 32 32 <artifactId>pythonadapter</artifactId> 33 <version>1. 3.1</version>33 <version>1.4.0</version> 34 34 </dependency> 35 35 … … 37 37 <groupId>geniusweb</groupId> 38 38 <artifactId>bidspace</artifactId> 39 <version>1. 3.1</version>39 <version>1.4.0</version> 40 40 </dependency> 41 41 <dependency> 42 42 <groupId>geniusweb</groupId> 43 43 <artifactId>profileconnection</artifactId> 44 <version>1. 3.1</version>44 <version>1.4.0</version> 45 45 </dependency> 46 46 <dependency> -
exampleparties/simpleshaop/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>simpleshaop</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb</groupId> 34 34 <artifactId>party</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 … … 39 39 <groupId>geniusweb</groupId> 40 40 <artifactId>bidspace</artifactId> 41 <version>1. 3.1</version>41 <version>1.4.0</version> 42 42 </dependency> 43 43 <dependency> 44 44 <groupId>geniusweb</groupId> 45 45 <artifactId>profileconnection</artifactId> 46 <version>1. 3.1</version>46 <version>1.4.0</version> 47 47 </dependency> 48 48 <dependency> -
exampleparties/timedependentparty/pom.xml
r13 r14 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>timedependentparty</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 33 33 <groupId>geniusweb</groupId> 34 34 <artifactId>party</artifactId> 35 <version>1. 3.1</version>35 <version>1.4.0</version> 36 36 </dependency> 37 37 … … 39 39 <groupId>geniusweb</groupId> 40 40 <artifactId>bidspace</artifactId> 41 <version>1. 3.1</version>41 <version>1.4.0</version> 42 42 </dependency> 43 43 <dependency> 44 44 <groupId>geniusweb</groupId> 45 45 <artifactId>profileconnection</artifactId> 46 <version>1. 3.1</version>46 <version>1.4.0</version> 47 47 </dependency> 48 48 <dependency> -
issuevalue/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>issuevalue</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 -
party/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>party</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 31 31 <groupId>geniusweb</groupId> 32 32 <artifactId>timeline</artifactId> 33 <version>1. 3.1</version>33 <version>1.4.0</version> 34 34 </dependency> 35 35 <dependency> 36 36 <groupId>geniusweb</groupId> 37 37 <artifactId>profile</artifactId> 38 <version>1. 3.1</version>38 <version>1.4.0</version> 39 39 </dependency> 40 40 <dependency> 41 41 <groupId>geniusweb</groupId> 42 42 <artifactId>events</artifactId> 43 <version>1. 3.1</version>43 <version>1.4.0</version> 44 44 </dependency> 45 45 <dependency> 46 46 <groupId>geniusweb</groupId> 47 47 <artifactId>references</artifactId> 48 <version>1. 3.1</version>48 <version>1.4.0</version> 49 49 </dependency> 50 50 <dependency> -
pom.xml
r9 r14 29 29 <module>exampleparties</module> 30 30 <module>simplerunner</module> 31 <module>opponentmodel</module> 31 32 </modules> 32 33 </project> -
profile/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>profile</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 31 31 <groupId>geniusweb</groupId> 32 32 <artifactId>issuevalue</artifactId> 33 <version>1. 3.1</version>33 <version>1.4.0</version> 34 34 </dependency> 35 35 <dependency> 36 36 <groupId>geniusweb</groupId> 37 37 <artifactId>references</artifactId> 38 <version>1. 3.1</version>38 <version>1.4.0</version> 39 39 </dependency> 40 40 -
profile/src/main/java/geniusweb/profile/utilityspace/LinearAdditiveUtilitySpace.java
r10 r14 84 84 if (utils.values().contains(null)) { 85 85 throw new NullPointerException( 86 "One of the ValueSetUtilities is null"); 86 "One of the ValueSetUtilities in issueUtilitiesis null:" 87 + utils); 87 88 } 88 89 if (weights.values().contains(null)) { -
profile/src/main/java/geniusweb/profile/utilityspace/NumberValueSetUtilities.java
r9 r14 51 51 if (lowValue == null || highValue == null || lowUtility == null 52 52 || highUtility == null) { 53 throw new NullPointerException("arguments must be non-null"); 53 throw new NullPointerException( 54 "arguments lowValue, lowUtility, highValue and highUtility must be non-null"); 54 55 } 55 56 if (!isInZeroOne(lowUtility)) { -
profileconnection/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>profileconnection</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 31 31 <groupId>geniusweb</groupId> 32 32 <artifactId>profile</artifactId> 33 <version>1. 3.1</version>33 <version>1.4.0</version> 34 34 </dependency> 35 35 -
protocol/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>protocol</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 31 31 <groupId>geniusweb</groupId> 32 32 <artifactId>profile</artifactId> 33 <version>1. 3.1</version>33 <version>1.4.0</version> 34 34 </dependency> 35 35 <dependency> 36 36 <groupId>geniusweb</groupId> 37 37 <artifactId>party</artifactId> 38 <version>1. 3.1</version>38 <version>1.4.0</version> 39 39 </dependency> 40 40 <dependency> 41 41 <groupId>geniusweb</groupId> 42 42 <artifactId>references</artifactId> 43 <version>1. 3.1</version>43 <version>1.4.0</version> 44 44 </dependency> 45 45 <dependency> 46 46 <groupId>geniusweb</groupId> 47 47 <artifactId>events</artifactId> 48 <version>1. 3.1</version>48 <version>1.4.0</version> 49 49 </dependency> 50 50 <dependency> -
protocol/src/main/java/geniusweb/protocol/tournament/TournamentState.java
r1 r14 7 7 8 8 /** 9 * The current state of the tournament. Must be serializabl;e so that it can be 10 * restarted if a crash occurs. 9 * The current state of the tournament. Must be implement Json serialization so 10 * that it can be used to log the state. State must contain all information to 11 * determine the relevant info of the negotiation. It may also be used to 12 * restart the nego if a crash occurs. 11 13 */ 12 14 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) -
protocol/src/main/java/geniusweb/protocol/tournament/allpermutations/AllPermutationsSettings.java
r11 r14 1 1 package geniusweb.protocol.tournament.allpermutations; 2 2 3 import java.net.URI;4 import java.net.URISyntaxException;5 3 import java.util.Collections; 6 4 import java.util.List; … … 9 7 import com.fasterxml.jackson.annotation.JsonProperty; 10 8 11 import geniusweb.profile.Profile;12 9 import geniusweb.protocol.session.SessionSettings; 13 10 import geniusweb.protocol.session.TeamOfPartiesAndProfiles; … … 18 15 import geniusweb.protocol.tournament.TournamentProtocol; 19 16 import geniusweb.protocol.tournament.TournamentSettings; 20 import geniusweb.references.Parameters;21 import geniusweb.references.PartyRef;22 import geniusweb.references.PartyWithParameters;23 17 import geniusweb.references.PartyWithProfile; 24 import geniusweb.references.ProfileRef;25 18 import tudelft.utilities.immutablelist.FixedList; 26 19 import tudelft.utilities.immutablelist.Function2; … … 68 61 69 62 public static final String COB_PARTY = "comparebids-1.2.0"; 70 private final List< PartyWithParameters> parties;71 private final List<Profile Ref> profiles;72 private final boolean reuse Parties;73 private final int partiesPerSession;63 private final List<Team> teams; 64 private final List<ProfileList> profileslists; 65 private final boolean reuseTeams; 66 private final int teamsPerSession; 74 67 private final SessionSettings sessionsettings; 75 68 76 69 /** 77 70 * 78 * @param parties a list of {@link PartyRef}s. Must contain at 79 * least <partiesPerSession> elements. 80 * @param reuseParties if true, we use PermutationsWithReturn, if false 81 * we use PermutationsWithoutReturn to create the 82 * parties. 83 * @param profiles list of available {@link Profile}s to be 84 * permutated over the parties 85 * @param partiesPerSession number of parties per session, must be at least 86 * 2. 87 * @param sesettings The generic {@link SessionSetting}. 88 * {@link SessionSettings#with(PartyWithProfile)} 89 * will be used to add the required 90 * {@link PartyWithProfile}s 71 * @param teams a list of {@link Team}s. Must contain at least 72 * <partiesPerSession> elements. The <teamsize> must 73 * match the protocol: (SAOP:1, SHAOP:2) 74 * @param reuseTeams if true, we use PermutationsWithReturn, if false 75 * we use PermutationsWithoutReturn to create the 76 * teams. 77 * @param plists list of available {@link ProfileList}s to be 78 * permutated over the teams. Each 79 * {@link ProfileList} must contain <teamsize> 80 * elements. 81 * @param teamsPerSession number of parties per session, must be at least 2. 82 * @param sesettings The generic {@link SessionSetting}. 83 * {@link SessionSettings#with(PartyWithProfile)} 84 * will be used to add the required 85 * {@link PartyWithProfile}s 91 86 */ 92 87 @JsonCreator 93 public AllPermutationsSettings( 94 @JsonProperty("parties") List<PartyWithParameters> parties, 95 @JsonProperty("reuseParties") boolean reuseParties, 96 @JsonProperty("profiles") List<ProfileRef> profiles, 97 @JsonProperty("partiesPerSession") int partiesPerSession, 88 public AllPermutationsSettings(@JsonProperty("teams") List<Team> teams, 89 @JsonProperty("profileslists") List<ProfileList> plists, 90 @JsonProperty("reuseTeams") boolean reuseTeams, 91 @JsonProperty("teamsPerSession") int teamsPerSession, 98 92 @JsonProperty("sessionsettings") SessionSettings sesettings) { 99 if (partiesPerSession < 2) 100 throw new IllegalArgumentException("partiesPerSession must be >=2"); 101 if (parties == null || parties.size() < partiesPerSession) 102 throw new IllegalArgumentException("parties must contain at least " 103 + partiesPerSession + " PartyRefs"); 104 if (profiles == null || profiles.size() < 2) 105 throw new IllegalArgumentException("profiles must contain at least " 106 + partiesPerSession + " ProfileRefs"); 107 this.partiesPerSession = partiesPerSession; 108 this.reuseParties = reuseParties; 109 this.parties = parties; 110 this.profiles = profiles; 93 if (teamsPerSession < 2) 94 throw new IllegalArgumentException("teamsPerSession must be >=2"); 95 if (teams == null || teams.size() < teamsPerSession) 96 throw new IllegalArgumentException("teams must contain at least " 97 + teamsPerSession + " teams"); 98 if (plists == null || plists.size() < 2) 99 throw new IllegalArgumentException( 100 "profileslist must contain at least " + teamsPerSession 101 + " ProfileList's"); 102 int teamsize; 103 if (sesettings instanceof SAOPSettings) 104 teamsize = 1; 105 else if (sesettings instanceof SHAOPSettings) 106 teamsize = 2; 107 else 108 throw new IllegalArgumentException( 109 "Unsupported protocol " + sesettings.getClass()); 110 111 for (Team team : teams) { 112 if (team.getParties().size() != teamsize) { 113 throw new IllegalArgumentException("All teams should have size " 114 + teamsize + " but found " + team.getParties().size()); 115 } 116 } 117 for (ProfileList profile : plists) { 118 if (profile.getProfiles().size() != teamsize) { 119 throw new IllegalArgumentException( 120 "All profiles should have size equal to the team size " 121 + teamsize + " but found " 122 + profile.getProfiles().size()); 123 124 } 125 } 126 this.teamsPerSession = teamsPerSession; 127 this.reuseTeams = reuseTeams; 128 this.teams = teams; 129 this.profileslists = plists; 111 130 this.sessionsettings = sesettings; 112 131 } … … 131 150 public ImmutableList<SessionSettings> permutations() { 132 151 ImmutableList<ImmutableList<TeamOfPartiesAndProfiles>> partylistlist; 133 ImmutableList<PartyWithParameters> partieslist = new FixedList<PartyWithParameters>( 134 parties); 135 ImmutableList<ProfileRef> profileslist = new FixedList<ProfileRef>( 136 profiles); 152 ImmutableList<Team> partieslist = new FixedList<Team>(teams); 153 ImmutableList<ProfileList> profileslist = new FixedList<ProfileList>( 154 profileslists); 137 155 partylistlist = getParticipants(partieslist, profileslist, 138 partiesPerSession, reuseParties);156 teamsPerSession, reuseTeams); 139 157 return new MapList<>(partyproflist -> createSetting(partyproflist), 140 158 partylistlist); … … 143 161 @Override 144 162 public String toString() { 145 return "AllPermutationsSettings[" + parties + "," + reuseParties + ","146 + profiles + "," + partiesPerSession + "," + sessionsettings163 return "AllPermutationsSettings[" + teams + "," + reuseTeams + "," 164 + profileslists + "," + teamsPerSession + "," + sessionsettings 147 165 + "]"; 148 166 } … … 152 170 final int prime = 31; 153 171 int result = 1; 154 result = prime * result + (( parties == null) ? 0 : parties.hashCode());155 result = prime * result + partiesPerSession;172 result = prime * result + ((teams == null) ? 0 : teams.hashCode()); 173 result = prime * result + teamsPerSession; 156 174 result = prime * result 157 + ((profiles == null) ? 0 : profiles.hashCode());158 result = prime * result + (reuse Parties ? 1231 : 1237);175 + ((profileslists == null) ? 0 : profileslists.hashCode()); 176 result = prime * result + (reuseTeams ? 1231 : 1237); 159 177 result = prime * result 160 178 + ((sessionsettings == null) ? 0 : sessionsettings.hashCode()); … … 171 189 return false; 172 190 AllPermutationsSettings other = (AllPermutationsSettings) obj; 173 if ( parties == null) {174 if (other. parties != null)191 if (teams == null) { 192 if (other.teams != null) 175 193 return false; 176 } else if (! parties.equals(other.parties))177 return false; 178 if ( partiesPerSession != other.partiesPerSession)179 return false; 180 if (profiles == null) {181 if (other.profiles != null)194 } else if (!teams.equals(other.teams)) 195 return false; 196 if (teamsPerSession != other.teamsPerSession) 197 return false; 198 if (profileslists == null) { 199 if (other.profileslists != null) 182 200 return false; 183 } else if (!profiles .equals(other.profiles))184 return false; 185 if (reuse Parties != other.reuseParties)201 } else if (!profileslists.equals(other.profileslists)) 202 return false; 203 if (reuseTeams != other.reuseTeams) 186 204 return false; 187 205 if (sessionsettings == null) { … … 219 237 */ 220 238 private ImmutableList<ImmutableList<TeamOfPartiesAndProfiles>> getParticipants( 221 ImmutableList<PartyWithParameters> parties, 222 ImmutableList<ProfileRef> profiles, int n, 223 boolean drawPartyWithPutback) { 224 225 Permutations<PartyWithParameters> partiesPermutations; 239 ImmutableList<Team> parties, ImmutableList<ProfileList> profiles, 240 int n, boolean drawPartyWithPutback) { 241 242 Permutations<Team> partiesPermutations; 226 243 if (drawPartyWithPutback) { 227 244 partiesPermutations = new PermutationsWithReturn<>(parties, n); … … 230 247 } 231 248 232 Permutations<Profile Ref> profilesPermutations = new PermutationsOrderedWithoutReturn<>(249 Permutations<ProfileList> profilesPermutations = new PermutationsOrderedWithoutReturn<>( 233 250 profiles, n); 234 251 235 // each tuple contains ses ion info: a list of partyrefand a list of236 // profileref's.237 Tuples<ImmutableList< PartyWithParameters>, ImmutableList<ProfileRef>> tuples = new Tuples<>(252 // each tuple contains session info: a list of Team and a list of 253 // ProfileList. 254 Tuples<ImmutableList<Team>, ImmutableList<ProfileList>> tuples = new Tuples<>( 238 255 partiesPermutations, profilesPermutations); 239 256 240 return new MapList<Tuple<ImmutableList< PartyWithParameters>, ImmutableList<ProfileRef>>, ImmutableList<TeamOfPartiesAndProfiles>>(257 return new MapList<Tuple<ImmutableList<Team>, ImmutableList<ProfileList>>, ImmutableList<TeamOfPartiesAndProfiles>>( 241 258 tuple -> teamlist(tuple), tuples); 242 259 } … … 244 261 /** 245 262 * 246 * @param tuple a tuple with (1) ImmutableList< PartyRef> (2)247 * ImmutableList<Profile Ref>263 * @param tuple a tuple with (1) ImmutableList<Team> (2) 264 * ImmutableList<Profiles> 248 265 * @return list of TeamOfPartiesAndProfiles, each picked from the two lists 249 266 * in order. 250 267 */ 251 268 private ImmutableList<TeamOfPartiesAndProfiles> teamlist( 252 Tuple<ImmutableList<PartyWithParameters>, ImmutableList<ProfileRef>> tuple) { 253 Function2<PartyWithParameters, ProfileRef, TeamOfPartiesAndProfiles> // 254 makeparty = new Function2<PartyWithParameters, ProfileRef, TeamOfPartiesAndProfiles>() { 269 Tuple<ImmutableList<Team>, ImmutableList<ProfileList>> tuple) { 270 Function2<Team, ProfileList, TeamOfPartiesAndProfiles> makeparty = new Function2<Team, ProfileList, TeamOfPartiesAndProfiles>() { 255 271 @Override 256 public TeamOfPartiesAndProfiles apply( PartyWithParameters party,257 Profile Ref profile) {272 public TeamOfPartiesAndProfiles apply(Team team, 273 ProfileList profilelist) { 258 274 if (sessionsettings instanceof SAOPSettings) 259 return new SaopPartyWithProfile(party, profile); 275 return new SaopPartyWithProfile(team.getParties().get(0), 276 profilelist.getProfiles().get(0)); 260 277 else if (sessionsettings instanceof SHAOPSettings) { 261 return new ShaopTeam(new PartyWithProfile(party, profile), 262 makeCob(party.getPartyRef(), profile)); 278 return new ShaopTeam( 279 new PartyWithProfile(team.getParties().get(0), 280 profilelist.getProfiles().get(0)), 281 new PartyWithProfile(team.getParties().get(1), 282 profilelist.getProfiles().get(1))); 263 283 } else 264 284 throw new IllegalArgumentException( … … 268 288 269 289 }; 270 return new MapThreadList<TeamOfPartiesAndProfiles, PartyWithParameters, ProfileRef>(290 return new MapThreadList<TeamOfPartiesAndProfiles, Team, ProfileList>( 271 291 makeparty, tuple.get1(), tuple.get2()); 272 292 } 273 293 274 /**275 * Extract the raw URL, without the part after the question mark276 *277 * @param party a party reference (for another party)278 * @param profile a profile that may have a filter like "?partial=XX"279 * @return profile without the filter and with a cob party on the same280 * machine. IT IS ASSUMED that there will the default281 * "comparebids-1.0.0" party on the same machine as where the other282 * party is283 */284 protected static PartyWithProfile makeCob(PartyRef party,285 ProfileRef profile) {286 try {287 URI profileuri = profile.getURI();288 URI partyuri = party.getURI();289 ProfileRef cobprof = new ProfileRef(profileuri.getScheme() + "://"290 + profileuri.getAuthority() + profileuri.getPath());291 String partypath = partyuri.getPath();292 partypath = partypath.substring(0, partypath.lastIndexOf('/'));293 PartyWithParameters cobparty = new PartyWithParameters(new PartyRef(294 partyuri.getScheme() + "://" + partyuri.getAuthority()295 + partypath + "/" + COB_PARTY),296 new Parameters());297 return new PartyWithProfile(cobparty, cobprof);298 299 } catch (URISyntaxException e) {300 throw new IllegalArgumentException(301 "Failed making cob party with profile " + profile, e);302 }303 }294 // /** 295 // * Extract the raw URL, without the part after the question mark 296 // * 297 // * @param party a party reference (for another party) 298 // * @param profile a profile that may have a filter like "?partial=XX" 299 // * @return profile without the filter and with a cob party on the same 300 // * machine. IT IS ASSUMED that there will the default 301 // * "comparebids-1.0.0" party on the same machine as where the other 302 // * party is 303 // */ 304 // protected static PartyWithProfile makeCob(PartyRef party, 305 // ProfileRef profile) { 306 // try { 307 // URI profileuri = profile.getURI(); 308 // URI partyuri = party.getURI(); 309 // ProfileRef cobprof = new ProfileRef(profileuri.getScheme() + "://" 310 // + profileuri.getAuthority() + profileuri.getPath()); 311 // String partypath = partyuri.getPath(); 312 // partypath = partypath.substring(0, partypath.lastIndexOf('/')); 313 // PartyWithParameters cobparty = new PartyWithParameters(new PartyRef( 314 // partyuri.getScheme() + "://" + partyuri.getAuthority() 315 // + partypath + "/" + COB_PARTY), 316 // new Parameters()); 317 // return new PartyWithProfile(cobparty, cobprof); 318 // 319 // } catch (URISyntaxException e) { 320 // throw new IllegalArgumentException( 321 // "Failed making cob party with profile " + profile, e); 322 // } 323 // } 304 324 305 325 } -
protocol/src/test/java/geniusweb/protocol/tournament/allpermutations/AllPermutationsSettingsTest.java
r11 r14 23 23 import geniusweb.references.PartyRef; 24 24 import geniusweb.references.PartyWithParameters; 25 import geniusweb.references.PartyWithProfile;26 25 import geniusweb.references.ProfileRef; 27 26 import tudelft.utilities.junit.GeneralTests; … … 33 32 private final ObjectMapper jackson = new ObjectMapper(); 34 33 35 private final String serialized = "{\"AllPermutationsSettings\":{\" parties\":[{\"partyref\":\"party1\",\"parameters\":{}},{\"partyref\":\"party2\",\"parameters\":{}}],\"reuseParties\":false,\"profiles\":[\"profile1\",\"profile2\",\"profile3\"],\"partiesPerSession\":2,\"sessionsettings\":{\"SAOPSettings\":{\"participants\":[],\"deadline\":{\"deadlinetime\":{\"durationms\":10000}}}}}}";34 private final String serialized = "{\"AllPermutationsSettings\":{\"teams\":[{\"Team\":[{\"partyref\":\"party1\",\"parameters\":{}}]},{\"Team\":[{\"partyref\":\"party2\",\"parameters\":{}}]}],\"profileslists\":[{\"ProfileList\":[\"profile1\"]},{\"ProfileList\":[\"profile2\"]},{\"ProfileList\":[\"profile3\"]}],\"reuseTeams\":false,\"teamsPerSession\":2,\"sessionsettings\":{\"SAOPSettings\":{\"participants\":[],\"deadline\":{\"deadlinetime\":{\"durationms\":10000}}}}}}"; 36 35 private AllPermutationsSettings settings, settings1a, settings2, settings3, 37 36 settings4; 38 37 38 // use directly because there is some hard coding currently. 39 39 private SAOPSettings saopsettings; 40 40 41 41 private ProfileRef profile1, profile2, profile3; 42 43 private List< PartyWithParameters> parties;42 private ProfileList profiles1, profiles2, profiles3; 43 private List<Team> parties; 44 44 45 45 @Before … … 53 53 Parameters params3 = new Parameters(); 54 54 55 PartyWithParameters partywithparams1 = new PartyWithParameters(56 partyref1, params1);57 PartyWithParameters partywithparams2 = new PartyWithParameters(58 partyref2, params2);59 PartyWithParameters partywithparams3 = new PartyWithParameters(60 partyref3, params3);55 Team partywithparams1 = new Team( 56 Arrays.asList(new PartyWithParameters(partyref1, params1))); 57 Team partywithparams2 = new Team( 58 Arrays.asList(new PartyWithParameters(partyref2, params2))); 59 Team partywithparams3 = new Team( 60 Arrays.asList(new PartyWithParameters(partyref3, params3))); 61 61 62 62 parties = Arrays.asList(partywithparams1, partywithparams2); … … 68 68 profile2 = new ProfileRef("profile2"); 69 69 profile3 = new ProfileRef("profile3"); 70 71 List<ProfileRef> profiles = Arrays.asList(profile1, profile2, profile3); 72 73 settings = new AllPermutationsSettings(parties, false, profiles, 2, 74 saopsettings); 75 76 settings1a = new AllPermutationsSettings(parties, false, profiles, 2, 70 ProfileList profiles1 = new ProfileList(Arrays.asList(profile1)); 71 ProfileList profiles2 = new ProfileList(Arrays.asList(profile2)); 72 ProfileList profiles3 = new ProfileList(Arrays.asList(profile3)); 73 74 List<ProfileList> profiles = Arrays.asList(profiles1, profiles2, 75 profiles3); 76 77 settings = new AllPermutationsSettings(parties, profiles, false, 2, 78 saopsettings); 79 80 settings1a = new AllPermutationsSettings(parties, profiles, false, 2, 77 81 saopsettings); 78 82 79 83 settings2 = new AllPermutationsSettings(Arrays.asList(partywithparams1, 80 partywithparams2, partywithparams3), false, profiles, 2,81 saopsettings); 82 83 settings3 = new AllPermutationsSettings(parties, true, profiles, 2,84 saopsettings); 85 86 settings4 = new AllPermutationsSettings(parties, false,87 Arrays.asList(profile 1, profile2, profile3, profile1), 2,88 saopsettings);84 partywithparams2, partywithparams3), profiles, false, 2, 85 saopsettings); 86 87 settings3 = new AllPermutationsSettings(parties, profiles, true, 2, 88 saopsettings); 89 90 settings4 = new AllPermutationsSettings(parties, 91 Arrays.asList(profiles1, profiles2, profiles3, profiles1), 92 false, 2, saopsettings); 89 93 90 94 } … … 131 135 @Test(expected = IllegalArgumentException.class) 132 136 public void testNullParties() { 133 new AllPermutationsSettings(null, true,134 Arrays.asList(profile 1, profile2, profile3, profile1), 2,135 saopsettings);137 new AllPermutationsSettings(null, 138 Arrays.asList(profiles1, profiles2, profiles3, profiles1), true, 139 2, saopsettings); 136 140 137 141 } … … 139 143 @Test(expected = IllegalArgumentException.class) 140 144 public void testNoParties() { 141 new AllPermutationsSettings(Collections.emptyList(), true,142 Arrays.asList(profile 1, profile2, profile3, profile1), 2,143 saopsettings);145 new AllPermutationsSettings(Collections.emptyList(), 146 Arrays.asList(profiles1, profiles2, profiles3, profiles1), true, 147 2, saopsettings); 144 148 145 149 } … … 147 151 @Test(expected = IllegalArgumentException.class) 148 152 public void testNullProfiles() { 149 new AllPermutationsSettings(parties, true, null, 2, saopsettings);153 new AllPermutationsSettings(parties, null, true, 2, saopsettings); 150 154 151 155 } … … 153 157 @Test(expected = IllegalArgumentException.class) 154 158 public void testInsufficientProfiles() { 155 new AllPermutationsSettings(parties, true,156 Arrays.asList(profile 1, profile2, profile3, profile1), 4,157 saopsettings);159 new AllPermutationsSettings(parties, 160 Arrays.asList(profiles1, profiles2, profiles3, profiles1), true, 161 4, saopsettings); 158 162 159 163 } … … 161 165 @Test(expected = IllegalArgumentException.class) 162 166 public void testNullSessionSettings() { 163 new AllPermutationsSettings(parties, true, 164 Arrays.asList(profile1, profile2, profile3, profile1), 4, null); 167 new AllPermutationsSettings(parties, 168 Arrays.asList(profiles1, profiles2, profiles3, profiles1), true, 169 4, null); 165 170 166 171 } … … 168 173 @Test(expected = IllegalArgumentException.class) 169 174 public void testOnePartyPerSession() { 170 new AllPermutationsSettings(parties, true,171 Arrays.asList(profile 1, profile2, profile3, profile1), 1,172 saopsettings);175 new AllPermutationsSettings(parties, 176 Arrays.asList(profiles1, profiles2, profiles3, profiles1), true, 177 1, saopsettings); 173 178 174 179 } … … 180 185 } 181 186 182 @Test183 public void makeCobTest() throws URISyntaxException {184 // Check that the cob party gets profile without the query part185 String profilebase = "ws://1.2.3.4:8080/profilesserver-a.b.c/websocket/get/someprofile";186 String partybase = "http://131.180.202.213:8080/partiesserver/run/";187 String query = "?a=2&partial=4";188 PartyWithProfile partyprofile = AllPermutationsSettings.makeCob(189 new PartyRef(partybase + AllPermutationsSettings.COB_PARTY),190 new ProfileRef(profilebase + query));191 assertEquals(profilebase,192 partyprofile.getProfile().getURI().toString());193 assertEquals(partybase + AllPermutationsSettings.COB_PARTY,194 partyprofile.getParty().getPartyRef().getURI().toString());195 }187 // @Test 188 // public void makeCobTest() throws URISyntaxException { 189 // // Check that the cob party gets profile without the query part 190 // String profilebase = "ws://1.2.3.4:8080/profilesserver-a.b.c/websocket/get/someprofile"; 191 // String partybase = "http://131.180.202.213:8080/partiesserver/run/"; 192 // String query = "?a=2&partial=4"; 193 // PartyWithProfile partyprofile = AllPermutationsSettings.makeCob( 194 // new PartyRef(partybase + AllPermutationsSettings.COB_PARTY), 195 // new ProfileRef(profilebase + query)); 196 // assertEquals(profilebase, 197 // partyprofile.getProfile().getURI().toString()); 198 // assertEquals(partybase + AllPermutationsSettings.COB_PARTY, 199 // partyprofile.getParty().getPartyRef().getURI().toString()); 200 // } 196 201 197 202 } -
pythonadapter/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>pythonadapter</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 31 31 <groupId>geniusweb</groupId> 32 32 <artifactId>party</artifactId> 33 <version>1. 3.1</version>33 <version>1.4.0</version> 34 34 </dependency> 35 35 -
references/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>references</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 -
simplerunner/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>simplerunner</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10 … … 31 31 <groupId>geniusweb</groupId> 32 32 <artifactId>protocol</artifactId> 33 <version>1. 3.1</version>33 <version>1.4.0</version> 34 34 </dependency> 35 35 <dependency> 36 36 <groupId>geniusweb</groupId> 37 37 <artifactId>party</artifactId> 38 <version>1. 3.1</version>38 <version>1.4.0</version> 39 39 </dependency> 40 40 <dependency> 41 41 <groupId>geniusweb.exampleparties</groupId> 42 42 <artifactId>randomparty</artifactId> 43 <version>1. 3.1</version>43 <version>1.4.0</version> 44 44 <scope>test</scope> 45 45 </dependency> … … 47 47 <groupId>geniusweb.exampleparties</groupId> 48 48 <artifactId>comparebids</artifactId> 49 <version>1. 3.1</version>49 <version>1.4.0</version> 50 50 <scope>test</scope> 51 51 </dependency> … … 53 53 <groupId>geniusweb.exampleparties</groupId> 54 54 <artifactId>simpleshaop</artifactId> 55 <version>1. 3.1</version>55 <version>1.4.0</version> 56 56 <scope>test</scope> 57 57 </dependency> -
simplerunner/src/test/resources/shaoptoursettings.json
r10 r14 1 1 { 2 2 "AllPermutationsSettings": { 3 " parties": [3 "teams": [ 4 4 { 5 "partyref": "classpath:geniusweb.exampleparties.simpleshaop.ShaopParty", 6 "parameters": { 7 } 5 "Team": [ 6 { 7 "partyref": "classpath:geniusweb.exampleparties.simpleshaop.ShaopParty", 8 "parameters": { 9 } 10 },{ 11 "partyref": "classpath:geniusweb.exampleparties.comparebids.CompareBids", 12 "parameters": { 13 } 14 } 15 16 ] 8 17 }, 9 18 { 10 "partyref": "classpath:geniusweb.exampleparties.randomparty.RandomParty", 11 "parameters": { 12 } 19 "Team": [ 20 { 21 "partyref": "classpath:geniusweb.exampleparties.randomparty.RandomParty", 22 "parameters": { 23 } 24 },{ 25 "partyref": "classpath:geniusweb.exampleparties.comparebids.CompareBids", 26 "parameters": { 27 } 28 } 29 ] 13 30 } 14 31 ], 15 "reuseParties": false, 16 "profiles": [ 17 "file:src/test/resources/jobs/jobs1partial.json?partial=10", 18 "file:src/test/resources/jobs/jobs2.json?partial=15" 32 "reuseTeams": false, 33 "profileslists": [ 34 { 35 "ProfileList": [ 36 "file:src/test/resources/jobs/jobs1partial.json?partial=10", 37 "file:src/test/resources/jobs/jobs1partial.json" 38 39 ] 40 }, 41 { 42 "ProfileList": [ 43 "file:src/test/resources/jobs/jobs2.json?partial=15", 44 "file:src/test/resources/jobs/jobs2.json" 45 46 ] 47 } 19 48 ], 20 " partiesPerSession": 2,49 "teamsPerSession": 2, 21 50 "sessionsettings": { 22 51 "SHAOPSettings": { -
timeline/pom.xml
r13 r14 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>timeline</artifactId> 8 <version>1. 3.1</version>8 <version>1.4.0</version> 9 9 <packaging>jar</packaging> 10 10
Note:
See TracChangeset
for help on using the changeset viewer.