Ignore:
Timestamp:
08/05/20 09:42:15 (4 years ago)
Author:
bart
Message:

Added BOA support, some bug fixes

Location:
protocol/src/main/java/geniusweb/protocol
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • protocol/src/main/java/geniusweb/protocol/session/SessionState.java

    r11 r20  
    6565         */
    6666        Bid getAgreement();
     67
     68        /**
     69         *
     70         * @return the {@link SessionResult}. Assumes {@link #isFinal(long)}. result
     71         *         may be undefined if not.
     72         */
     73        SessionResult getResult();
    6774}
  • protocol/src/main/java/geniusweb/protocol/session/saop/SAOPState.java

    r10 r20  
    1919import geniusweb.protocol.partyconnection.ProtocolToPartyConnections;
    2020import geniusweb.protocol.session.DefaultSessionState;
     21import geniusweb.protocol.session.SessionResult;
    2122import geniusweb.protocol.session.SessionSettings;
    2223import geniusweb.references.PartyWithProfile;
     
    248249        }
    249250
     251        @Override
     252        public SessionResult getResult() {
     253                List<Double> emptylist = new LinkedList<>();
     254                for (int n = 0; n < getConnections().size(); n++)
     255                        emptylist.add(0d);
     256                return new SessionResult(getSettings().getAllParties(), getAgreement(),
     257                                emptylist, getError());
     258        }
     259
    250260}
  • protocol/src/main/java/geniusweb/protocol/session/shaop/BareSHAOPState.java

    r18 r20  
    11package geniusweb.protocol.session.shaop;
    22
     3import java.util.Arrays;
    34import java.util.Collections;
    45import java.util.LinkedList;
     
    1314import geniusweb.protocol.ProtocolException;
    1415import geniusweb.protocol.partyconnection.ProtocolToPartyConnections;
     16import geniusweb.protocol.session.SessionResult;
    1517import geniusweb.protocol.session.SessionSettings;
    1618import geniusweb.protocol.session.SessionState;
     
    169171
    170172        @Override
     173        public SessionResult getResult() {
     174                Double[] penalties = new Double[partyNumbers.size()];
     175                for (PartyId party : partyNumbers.keySet()) {
     176                        Double spent = totalSpent.get(party);
     177                        if (spent == null) {
     178                                spent = 0d;
     179                        } else {
     180                                spent = Math.max(0, Math.min(1.0, spent));
     181                        }
     182                        penalties[partyNumbers.get(party)] = spent;
     183                }
     184                return new SessionResult(getSettings().getAllParties(), getAgreement(),
     185                                Arrays.asList(penalties), getError());
     186
     187        }
     188
     189        @Override
    171190        public int hashCode() {
    172191                final int prime = 31;
  • protocol/src/main/java/geniusweb/protocol/tournament/allpermutations/AllPermutationsProtocol.java

    r10 r20  
    66import geniusweb.events.TournamentStarted;
    77import geniusweb.protocol.CurrentNegoState;
    8 import geniusweb.protocol.SessionResult;
    98import geniusweb.protocol.partyconnection.ProtocolToPartyConnFactory;
    109import geniusweb.protocol.session.SessionProtocol;
     10import geniusweb.protocol.session.SessionResult;
    1111import geniusweb.protocol.session.SessionSettings;
    1212import geniusweb.protocol.session.SessionState;
     
    8383                                // List<TeamOfPartiesAndProfiles> participants =
    8484                                // sessionstate.getSettings().getParticipants()
    85                                 SessionResult result = new SessionResult(
    86                                                 sessionstate.getSettings().getAllParties(),
    87                                                 sessionstate.getAgreement(), sessionstate.getError());
     85                                SessionResult result = sessionstate.getResult();
    8886                                state = state.with(result);
    8987                                notifyListeners(new CurrentNegoState(state));
  • protocol/src/main/java/geniusweb/protocol/tournament/allpermutations/AllPermutationsState.java

    r10 r20  
    66
    77import geniusweb.protocol.ProtocolException;
    8 import geniusweb.protocol.SessionResult;
     8import geniusweb.protocol.session.SessionResult;
    99import geniusweb.protocol.session.SessionSettings;
    1010import geniusweb.protocol.tournament.TournamentState;
Note: See TracChangeset for help on using the changeset viewer.