Changeset 53
- Timestamp:
- 12/18/24 13:28:59 (4 days ago)
- Files:
-
- 12 added
- 66 edited
Legend:
- Unmodified
- Added
- Removed
-
bidspace/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>bidspace</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 43 43 <groupId>tudelft.utilities</groupId> 44 44 <artifactId>utilities</artifactId> 45 <version>1. 2.1</version>45 <version>1.3.1</version> 46 46 </dependency> 47 47 … … 113 113 <scope>test</scope> 114 114 </dependency> 115 115 <dependency> 116 <groupId>org.apache.commons</groupId> 117 <artifactId>commons-math</artifactId> 118 <version>2.2</version> 119 <scope>test</scope> 120 </dependency> 116 121 </dependencies> 117 122 -
bidspace/src/main/java/geniusweb/bidspace/BidsWithUtility.java
r52 r53 3 3 import java.math.BigDecimal; 4 4 import java.math.BigInteger; 5 import java.util.Arrays; 5 6 import java.util.Collections; 6 7 import java.util.HashMap; … … 39 40 */ 40 41 private final Map<Tuple<Integer, Interval>, ImmutableList<Bid>> cache = new HashMap<>(); 41 private ImmutableList<Bid> emptylist = new FixedList<>(); 42 private ImmutableList<Bid> emptylist = new FixedList<>( 43 Collections.emptyList()); 42 44 43 45 /** … … 176 178 goal = goal.intersect(getRange(n)); 177 179 if (goal.isEmpty()) { 178 return new FixedList<>( );180 return new FixedList<>(Collections.emptyList()); 179 181 } 180 182 … … 220 222 pbid -> pbid.merge(new Bid(issue, val)), partialbids); 221 223 if (!fullbids.size().equals(BigInteger.ZERO)) 222 fulllist = new JoinedList<Bid>(fullbids, fulllist); 224 fulllist = new JoinedList<Bid>( 225 Arrays.asList(fullbids, fulllist)); 223 226 } 224 227 return fulllist; -
bidspace/src/main/java/geniusweb/bidspace/PartialSpaceFromUtility.java
r52 r53 3 3 import java.math.BigInteger; 4 4 import java.security.SecureRandom; 5 import java.util.Collections; 5 6 import java.util.HashMap; 6 7 import java.util.HashSet; … … 24 25 public class PartialSpaceFromUtility extends DefaultPartialOrdering { 25 26 public PartialSpaceFromUtility(UtilitySpace space, int nRankings) { 26 super(space.getName() + "_" + nRankings, space.getDomain(), space.getReservationBid(),27 pickBetter(space, nRankings));27 super(space.getName() + "_" + nRankings, space.getDomain(), 28 space.getReservationBid(), pickBetter(space, nRankings)); 28 29 } 29 30 30 31 /** 31 * Pick subset of static isbetter rankings. Notice, ShuffledList currently can't 32 * handle really large lists which also limits this. This has to be fixed. 32 * Pick subset of static isbetter rankings. Notice, ShuffledList currently 33 * can't handle really large lists which also limits this. This has to be 34 * fixed. 33 35 * 34 36 * @param space the space to sample from 35 * @param nRankings the number of rankings to be placed in the PartialOrdering. 37 * @param nRankings the number of rankings to be placed in the 38 * PartialOrdering. 36 39 * @return a subset creating a partial profile of the geiven UtilitySpace 37 40 */ 38 private static Map<Bid, Set<Bid>> pickBetter(UtilitySpace space, int nRankings) { 41 private static Map<Bid, Set<Bid>> pickBetter(UtilitySpace space, 42 int nRankings) { 39 43 Map<Bid, Set<Bid>> eqOrBetter = new HashMap<>(); 40 44 41 45 AllBidsList allbids = new AllBidsList(space.getDomain()); 42 ListWithRemove<Tuple<Bid, Bid>> available = new ListWithRemove<>(new Tuples<Bid, Bid>(allbids, allbids)); 46 ListWithRemove<Tuple<Bid, Bid>> available = new ListWithRemove<>( 47 new Tuples<Bid, Bid>(allbids, allbids), Collections.emptySet()); 43 48 for (int n = 0; n < nRankings; n++) { 44 49 BigInteger sel = rnd(available.size()); … … 79 84 80 85 /** 81 * Bit simplistic way to generate random in [0,n>. Simplistic because the mod()82 * operator that we use causes bias in the random numbers.86 * Bit simplistic way to generate random in [0,n>. Simplistic because the 87 * mod() operator that we use causes bias in the random numbers. 83 88 * 84 89 * @param n the maximum value for the random number -
boa/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>boa</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
collectparties.sh
r52 r53 7 7 rm -rf collectedparties 8 8 mkdir collectedparties 9 VERSION=2. 1.69 VERSION=2.2.1 10 10 11 11 cp "exampleparties/anac2019/agentgg/target/agentgg-${VERSION}-jar-with-dependencies.jar" collectedparties -
domaineditor/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>domaineditor</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 53 53 <groupId>tudelft.utilities</groupId> 54 54 <artifactId>utilities</artifactId> 55 <version>1. 2.1</version>55 <version>1.3.1</version> 56 56 </dependency> 57 57 <dependency> 58 58 <groupId>tudelft.utilities</groupId> 59 59 <artifactId>logging</artifactId> 60 <version>1.0. 1</version>60 <version>1.0.2</version> 61 61 </dependency> 62 62 <dependency> 63 63 <groupId>tudelft.utilities</groupId> 64 64 <artifactId>mvc</artifactId> 65 <version> 1.1.0</version>65 <version>2.0.5</version> 66 66 </dependency> 67 67 -
domaineditor/src/main/java/geniusweb/domaineditor/ProfileEditor.java
r52 r53 15 15 import geniusweb.domaineditor.panels.profile.ProfileEditorPanel; 16 16 import tudelft.utilities.logging.Reporter; 17 import tudelft.utilities.mvc.model.ModelTime; 18 import tudelft.utilities.mvc.model.NoModelTime; 17 19 import tudelft.utilities.mvc.panels.PopupReporter; 18 20 … … 24 26 @SuppressWarnings("serial") 25 27 public class ProfileEditor extends JFrame { 28 public static ModelTime TIME = new NoModelTime(); 29 26 30 private final Reporter log; 27 31 private final LinearAdditiveUtilitySpaceModel model; -
domaineditor/src/main/java/geniusweb/domaineditor/model/BidModel.java
r52 r53 7 7 import java.util.logging.Level; 8 8 9 import geniusweb.domaineditor.ProfileEditor; 9 10 import geniusweb.issuevalue.Bid; 10 11 import geniusweb.issuevalue.DiscreteValue; 11 12 import geniusweb.issuevalue.NumberValue; 12 13 import geniusweb.issuevalue.Value; 13 import tudelft.utilities.listener.DefaultListenable; 14 import tudelft.utilities.listener.DefaultThrowingListenable; 15 import tudelft.utilities.listener.Unacceptable; 14 16 import tudelft.utilities.logging.Reporter; 15 17 import tudelft.utilities.mvc.model.BasicModel; … … 18 20 import tudelft.utilities.mvc.model.MapFromKeys; 19 21 import tudelft.utilities.mvc.model.MapModel; 22 import tudelft.utilities.mvc.model.Model; 23 import tudelft.utilities.mvc.model.ModelTime; 20 24 import tudelft.utilities.mvc.model.SelectionModel; 21 25 import tudelft.utilities.mvc.model.StringModel; 22 import tudelft.utilities.mvc.model.TypedModel;23 26 import tudelft.utilities.mvc.model.events.Added; 24 27 import tudelft.utilities.mvc.model.events.Changed; … … 38 41 * 39 42 */ 40 public class BidModel extends Default Listenable<Event> implements41 MapModel<StringModel, SelectionModel<BasicModel>>, TypedModel<Bid>{43 public class BidModel extends DefaultThrowingListenable<Event> 44 implements MapModel<StringModel, SelectionModel<BasicModel>>, Model { 42 45 private final MapModel<StringModel, ValueSetModel> issuevalues; 43 46 private final Map<StringModel, SelectionModel<BasicModel>> selections = new HashMap<>(); … … 66 69 67 70 private void add(StringModel key, ListModel value) { 68 selections.put(key, new DefaultSelectionModel(value ));71 selections.put(key, new DefaultSelectionModel(value, log, true)); 69 72 } 70 73 71 74 /** 72 75 * Domain change occured. Handle it. 76 * 77 * @throws Unacceptable 73 78 */ 74 private void handleChange(Event e) {79 private void handleChange(Event e) throws Unacceptable { 75 80 // we only handle add/remove of issues. If a value is removed, 76 81 // this should automatically reflect into the selectionmodel. 77 if (!(e instanceof Changed)) { 78 System.out.println("Unexpected event " + e); 79 return; 80 } 82 if (!(e instanceof Changed)) 83 throw new Unacceptable("Unexpected event " + e); 81 84 e = e.getChildEvent(); 82 85 if (e instanceof Removed) { … … 101 104 } 102 105 103 @Override104 106 public void remove(StringModel key) { 105 107 throw new UnsupportedOperationException(); … … 121 123 } 122 124 123 @Override124 125 public Bid getCurrentValue() throws IllegalStateException { 125 126 Map<String, Value> selectionmap = new HashMap<>(); … … 134 135 } 135 136 136 @Override137 137 public void setCurrentValue(Bid bid) throws IllegalArgumentException { 138 138 ListModel<StringModel> issues = issuevalues.getKeys(); … … 186 186 } 187 187 188 @Override 189 public ModelTime getTime() { 190 return ProfileEditor.TIME; 191 } 192 188 193 } -
domaineditor/src/main/java/geniusweb/domaineditor/model/DiscreteValueSetModel.java
r52 r53 7 7 import java.util.logging.Level; 8 8 9 import geniusweb.domaineditor.ProfileEditor; 9 10 import geniusweb.issuevalue.DiscreteValue; 10 11 import geniusweb.issuevalue.DiscreteValueSet; … … 25 26 26 27 public DiscreteValueSetModel(List<StringModel> values, Reporter log) { 27 super(values, log );28 super(values, log, ProfileEditor.TIME); 28 29 } 29 30 30 31 public DiscreteValueSetModel(Reporter log) { 31 super(Arrays.asList(new StringModel("value", log)), log); 32 super(Arrays.asList(new StringModel("value", log, ProfileEditor.TIME)), 33 log, ProfileEditor.TIME); 32 34 } 33 35 … … 78 80 // first add the new vals because minimum size. 79 81 for (DiscreteValue val : valset.getValues()) { 80 add(new StringModel(val.getValue(), log ));82 add(new StringModel(val.getValue(), log, ProfileEditor.TIME)); 81 83 } 82 84 for (StringModel old : oldvals) { -
domaineditor/src/main/java/geniusweb/domaineditor/model/DomainModel.java
r52 r53 16 16 import geniusweb.issuevalue.Domain; 17 17 import geniusweb.issuevalue.ValueSet; 18 import tudelft.utilities.listener.Default Listenable;18 import tudelft.utilities.listener.DefaultThrowingListenable; 19 19 import tudelft.utilities.logging.Reporter; 20 20 import tudelft.utilities.mvc.model.DefaultMapModel; 21 21 import tudelft.utilities.mvc.model.MapModel; 22 22 import tudelft.utilities.mvc.model.Model; 23 import tudelft.utilities.mvc.model.ModelTime; 23 24 import tudelft.utilities.mvc.model.StringModel; 24 import tudelft.utilities.mvc.model.TypedModel;25 25 import tudelft.utilities.mvc.model.events.Changed; 26 26 import tudelft.utilities.mvc.model.events.Event; … … 33 33 * 34 34 */ 35 public class DomainModel extends Default Listenable<Event>36 implements TypedModel<Domain> {35 public class DomainModel extends DefaultThrowingListenable<Event> 36 implements Model { // model<Domain> 37 37 private static final ObjectMapper jackson = new ObjectMapper(); 38 38 private final StringModel domainname; … … 57 57 this(new SimpleStringModel("domainname", log), 58 58 new DefaultMapModel<StringModel, ValueSetModel>( 59 Collections.singletonMap(new StringModel("issue", log), 59 Collections.singletonMap( 60 new StringModel("issue", log, 61 ProfileEditor.TIME), 60 62 new DiscreteValueSetModel(log)), 61 log ) {63 log, ProfileEditor.TIME) { 62 64 @Override 63 65 public int getMinimumSize() { … … 88 90 Domain domain = jackson.readValue(file, Domain.class); 89 91 // FIXME 90 return new DomainModel(new StringModel(domain.getName(), log), null, 91 log); 92 return new DomainModel( 93 new StringModel(domain.getName(), log, ProfileEditor.TIME), 94 null, log); 92 95 } 93 96 … … 112 115 * @return the {@link Domain} contained in this model. 113 116 */ 114 @Override115 117 public Domain getCurrentValue() throws IllegalStateException { 116 118 Map<String, ValueSet> issues = new HashMap<>(); … … 131 133 * {@link Model}s are created where needed. 132 134 */ 133 @Override134 135 public void setCurrentValue(Domain dom) throws IllegalArgumentException { 135 136 domainname.setValue(dom.getName()); … … 145 146 ValueSetModelType.fromModel(dom.getValues(iss)), log); 146 147 valsetmodel.setCurrentValue(dom.getValues(iss)); 147 issuesmodel.put(new StringModel(iss, log), valsetmodel); 148 issuesmodel.put(new StringModel(iss, log, ProfileEditor.TIME), 149 valsetmodel); 148 150 } 149 151 // remove the old issues 150 152 for (StringModel iss : oldissues) 151 issuesmodel.remove(iss); 153 issuesmodel.getKeys().remove(iss); 154 } 155 156 @Override 157 public ModelTime getTime() { 158 return ProfileEditor.TIME; 152 159 } 153 160 } -
domaineditor/src/main/java/geniusweb/domaineditor/model/NumberValueSetModel.java
r52 r53 5 5 import java.util.Map; 6 6 7 import geniusweb.domaineditor.ProfileEditor; 7 8 import geniusweb.issuevalue.NumberValueSet; 8 9 import geniusweb.issuevalue.ValueSet; 9 10 import tudelft.utilities.immutablelist.Range; 10 import tudelft.utilities.listener.DefaultListenable; 11 import tudelft.utilities.listener.DefaultThrowingListenable; 12 import tudelft.utilities.listener.Unacceptable; 11 13 import tudelft.utilities.logging.Reporter; 12 14 import tudelft.utilities.mvc.model.BasicModel; 13 15 import tudelft.utilities.mvc.model.ListModel; 16 import tudelft.utilities.mvc.model.ModelTime; 14 17 import tudelft.utilities.mvc.model.NumberModel; 15 18 import tudelft.utilities.mvc.model.events.Changed; … … 20 23 * 21 24 */ 22 public class NumberValueSetModel extends Default Listenable<Event>25 public class NumberValueSetModel extends DefaultThrowingListenable<Event> 23 26 implements ValueSetModel { 24 27 … … 27 30 28 31 public NumberValueSetModel(NumberModel lowv, NumberModel highv, 29 NumberModel stepv, Reporter log) {32 NumberModel stepv, Reporter log) throws Unacceptable { 30 33 this.low = lowv; 31 34 this.high = highv; … … 41 44 } 42 45 43 private void check() throws IllegalStateException{46 private void check() throws Unacceptable { 44 47 if (low.getValue().compareTo(high.getValue()) > 0) 45 throw new IllegalStateException("low must be <= high");48 throw new Unacceptable("low must be <= high"); 46 49 if (step.getValue().compareTo(BigDecimal.ZERO) <= 0) 47 throw new IllegalStateException("step must be >0");50 throw new Unacceptable("step must be >0"); 48 51 notifyListeners(new Changed(this, null)); 49 52 } … … 51 54 /* 52 55 * Default, bit arbitrary values. 56 * 57 * @throws something that should never happen 53 58 */ 54 public NumberValueSetModel(Reporter log) {55 this(new NumberModel(BigDecimal.ZERO, log ),56 new NumberModel(BigDecimal.TEN, log ),57 new NumberModel(BigDecimal.ONE, log ), log);59 public NumberValueSetModel(Reporter log) throws Unacceptable { 60 this(new NumberModel(BigDecimal.ZERO, log, ProfileEditor.TIME), 61 new NumberModel(BigDecimal.TEN, log, ProfileEditor.TIME), 62 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 58 63 } 59 64 … … 116 121 } 117 122 123 @Override 124 public ModelTime getTime() { 125 return ProfileEditor.TIME; 126 } 127 118 128 } 119 129 … … 122 132 * 123 133 */ 124 class MyListModel extends Default Listenable<Event>134 class MyListModel extends DefaultThrowingListenable<Event> 125 135 implements ListModel<NumberModel> { 126 136 … … 143 153 BigDecimal val = numvalset.getCurrentValue().getRange().get(n); 144 154 if (!itemsCache.containsKey(val)) 145 itemsCache.put(val, new NumberModel(val, numvalset.log)); 155 itemsCache.put(val, 156 new NumberModel(val, numvalset.log, ProfileEditor.TIME)); 146 157 return itemsCache.get(val); 147 158 } … … 168 179 } 169 180 181 @Override 182 public ModelTime getTime() { 183 return ProfileEditor.TIME; 184 } 185 170 186 } -
domaineditor/src/main/java/geniusweb/domaineditor/model/SimpleStringModel.java
r52 r53 1 1 package geniusweb.domaineditor.model; 2 2 3 import geniusweb.domaineditor.ProfileEditor; 4 import tudelft.utilities.listener.Unacceptable; 3 5 import tudelft.utilities.logging.Reporter; 4 6 import tudelft.utilities.mvc.model.StringModel; … … 10 12 11 13 public SimpleStringModel(String val, Reporter log) { 12 super(val, log );14 super(val, log, ProfileEditor.TIME); 13 15 } 14 16 15 17 @Override 16 protected void check() throws IllegalStateException{18 protected void check() throws Unacceptable { 17 19 if (!(getValue().matches("[a-zA-Z0-9]+"))) 18 throw new IllegalStateException(20 throw new Unacceptable( 19 21 "Only lower and upper case letters and numbers are allowed"); 20 22 super.check(); -
domaineditor/src/main/java/geniusweb/domaineditor/model/ValueSetModel.java
r52 r53 4 4 import tudelft.utilities.mvc.model.BasicModel; 5 5 import tudelft.utilities.mvc.model.ListModel; 6 import tudelft.utilities.mvc.model. TypedModel;6 import tudelft.utilities.mvc.model.Model; 7 7 8 8 /** … … 11 11 * 12 12 */ 13 public interface ValueSetModel extends TypedModel<ValueSet>{13 public interface ValueSetModel extends Model { 14 14 /** 15 15 * … … 25 25 public ListModel<? extends BasicModel> getList(); 26 26 27 /** 28 * 29 * @return the currently contained value in the model. We do NOT specify the 30 * type of the returned object because it would have to be a type 31 * parameter added to Model, which leads to all kinds of issues with 32 * excessive parameterization and issues when a class extends eg a 33 * MapModel. NOTE: also derived classes like ListModel should not 34 * specify that they return {@link List} or so: further subclassing 35 * of eg a ListModel might be eg a ValueSet which would not return a 36 * List again. 37 * @throws IllegalStateException if the model is not correctly filled in at 38 * this moment. 39 */ 40 public ValueSet getCurrentValue() throws IllegalStateException; 41 42 /** 43 * Sets the current value based on the proviced obj 44 * 45 * @param obj the object to load the model with. Mirror of 46 * {@link #getCurrentValue()} and the Object is the same type. 47 * @throws IllegalArgumentException if the object is not the expected object 48 * type 49 */ 50 public void setCurrentValue(ValueSet obj) throws IllegalArgumentException; 51 27 52 } -
domaineditor/src/main/java/geniusweb/domaineditor/model/ValueSetModelType.java
r52 r53 4 4 import geniusweb.issuevalue.NumberValueSet; 5 5 import geniusweb.issuevalue.ValueSet; 6 import tudelft.utilities.listener.Unacceptable; 6 7 import tudelft.utilities.logging.Reporter; 7 8 … … 57 58 return new DiscreteValueSetModel(log); 58 59 case NUMBER: 59 return new NumberValueSetModel(log); 60 try { 61 return new NumberValueSetModel(log); 62 } catch (Unacceptable e) { 63 throw new RuntimeException(e);// shouldn't happen 64 } 60 65 } 61 66 return null; // unreachable code -
domaineditor/src/main/java/geniusweb/domaineditor/model/profile/DiscreteValueSetUtilitiesModel.java
r52 r53 5 5 import java.util.Map; 6 6 7 import geniusweb.domaineditor.ProfileEditor; 7 8 import geniusweb.domaineditor.model.DiscreteValueSetModel; 8 9 import geniusweb.issuevalue.DiscreteValue; 9 10 import geniusweb.profile.utilityspace.DiscreteValueSetUtilities; 10 11 import geniusweb.profile.utilityspace.ValueSetUtilities; 11 import tudelft.utilities.listener.DefaultListenable; 12 import tudelft.utilities.listener.DefaultThrowingListenable; 13 import tudelft.utilities.listener.Unacceptable; 12 14 import tudelft.utilities.logging.Reporter; 13 15 import tudelft.utilities.mvc.model.ListModel; 14 16 import tudelft.utilities.mvc.model.MapModel; 17 import tudelft.utilities.mvc.model.ModelTime; 15 18 import tudelft.utilities.mvc.model.NumberModel; 16 19 import tudelft.utilities.mvc.model.RestrictedNumberModel; … … 26 29 * 27 30 */ 28 public class DiscreteValueSetUtilitiesModel extends DefaultListenable<Event> 29 implements MapModel<StringModel, RestrictedNumberModel>, 30 ValueSetUtilitiesModel { 31 public class DiscreteValueSetUtilitiesModel 32 extends DefaultThrowingListenable<Event> implements 33 MapModel<StringModel, RestrictedNumberModel>, ValueSetUtilitiesModel { 34 31 35 private final ListModel<StringModel> values; 32 36 private final Map<StringModel, RestrictedNumberModel> utilities = new HashMap<>(); … … 37 41 private final static Reporter dummylog = new PopupReporter(null); 38 42 private final static NumberModel LOW = new NumberModel(BigDecimal.ZERO, 39 dummylog );43 dummylog, ProfileEditor.TIME); 40 44 private final static NumberModel HIGH = new NumberModel(BigDecimal.ONE, 41 dummylog );45 dummylog, ProfileEditor.TIME); 42 46 43 47 public DiscreteValueSetUtilitiesModel(DiscreteValueSetModel values, … … 50 54 public RestrictedNumberModel getValue(StringModel key) { 51 55 if (!utilities.containsKey(key)) { 52 utilities.put(key, 53 new RestrictedNumberModel(DEFAULT, LOW, HIGH, log)); 56 try { 57 utilities.put(key, new RestrictedNumberModel(DEFAULT, LOW, HIGH, 58 log, ProfileEditor.TIME)); 59 } catch (Unacceptable e) { 60 throw new RuntimeException(e);// this should not happen 61 } 54 62 } 55 63 return utilities.get(key); … … 61 69 } 62 70 63 @Override64 71 public void remove(StringModel key) { 65 72 throw new UnsupportedOperationException(); … … 113 120 } 114 121 122 @Override 123 public ModelTime getTime() { 124 return ProfileEditor.TIME; 125 } 126 115 127 } -
domaineditor/src/main/java/geniusweb/domaineditor/model/profile/LinearAdditiveUtilitySpaceModel.java
r52 r53 8 8 import java.util.stream.Collectors; 9 9 10 import geniusweb.domaineditor.ProfileEditor; 10 11 import geniusweb.domaineditor.model.BidModel; 11 12 import geniusweb.domaineditor.model.DiscreteValueSetModel; … … 16 17 import geniusweb.profile.utilityspace.LinearAdditiveUtilitySpace; 17 18 import geniusweb.profile.utilityspace.ValueSetUtilities; 18 import tudelft.utilities.listener.DefaultListenable; 19 import tudelft.utilities.listener.DefaultThrowingListenable; 20 import tudelft.utilities.listener.Unacceptable; 19 21 import tudelft.utilities.logging.Reporter; 20 22 import tudelft.utilities.mvc.model.ListModel; 21 23 import tudelft.utilities.mvc.model.MapFromKeys; 22 24 import tudelft.utilities.mvc.model.MapModel; 25 import tudelft.utilities.mvc.model.Model; 26 import tudelft.utilities.mvc.model.ModelTime; 23 27 import tudelft.utilities.mvc.model.NumberModel; 24 28 import tudelft.utilities.mvc.model.RestrictedNumberModel; 25 29 import tudelft.utilities.mvc.model.StringModel; 26 import tudelft.utilities.mvc.model.TypedModel;27 30 import tudelft.utilities.mvc.model.events.Event; 28 31 import tudelft.utilities.mvc.panels.PopupReporter; … … 31 34 * Model containing a {@link LinearAdditiveUtilitySpace} 32 35 */ 33 public class LinearAdditiveUtilitySpaceModel extends DefaultListenable<Event>34 implements ProfileModel, TypedModel<LinearAdditiveUtilitySpace> {36 public class LinearAdditiveUtilitySpaceModel extends 37 DefaultThrowingListenable<Event> implements ProfileModel, Model { // Model<<LinearAdditiveUtilitySpace>> 35 38 private final SimpleStringModel name; 36 39 /** … … 87 90 // we should never allow editing of these constants. 88 91 protected static final NumberModel CONSTANT0 = new NumberModel( 89 BigDecimal.ZERO, dummylog );92 BigDecimal.ZERO, dummylog, ProfileEditor.TIME); 90 93 protected static final NumberModel CONSTANT1 = new NumberModel( 91 BigDecimal.ONE, dummylog );94 BigDecimal.ONE, dummylog, ProfileEditor.TIME); 92 95 93 96 public LinearAdditiveUtilitySpaceModel(DomainModel domain, … … 108 111 final DomainModel domain2, final Reporter log) { 109 112 return new MapFromKeys<StringModel, RestrictedNumberModel>( 110 domain2.getIssues().getKeys(), log, true ) {113 domain2.getIssues().getKeys(), log, true, ProfileEditor.TIME) { 111 114 112 115 @Override 113 116 public RestrictedNumberModel create(StringModel key) { 114 return new RestrictedNumberModel(N05, CONSTANT0, CONSTANT1, 115 log); 117 try { 118 return new RestrictedNumberModel(N05, CONSTANT0, CONSTANT1, 119 log, ProfileEditor.TIME); 120 } catch (Unacceptable e) { 121 throw new RuntimeException(e); // shouldn't happen 122 } 116 123 } 117 124 … … 129 136 // different type 130 137 return new MapFromKeys<StringModel, ValueSetUtilitiesModel>( 131 domain2.getIssues().getKeys(), log, false ) {138 domain2.getIssues().getKeys(), log, false, ProfileEditor.TIME) { 132 139 @Override 133 140 public ValueSetUtilitiesModel create(StringModel key) { … … 137 144 (DiscreteValueSetModel) val, log); 138 145 if (val instanceof NumberValueSetModel) 139 return new NumberValueSetUtilitiesModel( 140 (NumberValueSetModel) val, log); 146 try { 147 return new NumberValueSetUtilitiesModel( 148 (NumberValueSetModel) val, log); 149 } catch (Unacceptable e) { 150 throw new RuntimeException(e); // shouldn't happen 151 } 141 152 throw new RuntimeException( 142 153 "Unsupported type " + val + "for key" + key); … … 190 201 } 191 202 192 @Override193 203 public LinearAdditiveUtilitySpace getCurrentValue() 194 204 throws IllegalStateException { … … 212 222 } 213 223 214 @Override215 224 public void setCurrentValue(LinearAdditiveUtilitySpace obj) 216 225 throws IllegalArgumentException { … … 258 267 } 259 268 269 @Override 270 public ModelTime getTime() { 271 return ProfileEditor.TIME; 272 } 273 260 274 } -
domaineditor/src/main/java/geniusweb/domaineditor/model/profile/NumberValueSetUtilitiesModel.java
r52 r53 3 3 import java.math.BigDecimal; 4 4 5 import geniusweb.domaineditor.ProfileEditor; 5 6 import geniusweb.domaineditor.model.NumberValueSetModel; 6 7 import geniusweb.profile.utilityspace.NumberValueSetUtilities; 7 8 import geniusweb.profile.utilityspace.ValueSetUtilities; 8 import tudelft.utilities.listener.DefaultListenable; 9 import tudelft.utilities.listener.DefaultThrowingListenable; 10 import tudelft.utilities.listener.Unacceptable; 9 11 import tudelft.utilities.logging.Reporter; 12 import tudelft.utilities.mvc.model.ModelTime; 10 13 import tudelft.utilities.mvc.model.NumberModel; 11 14 import tudelft.utilities.mvc.model.RestrictedNumberModel; … … 17 20 * 18 21 */ 19 public class NumberValueSetUtilitiesModel extends DefaultListenable<Event>20 implements ValueSetUtilitiesModel {22 public class NumberValueSetUtilitiesModel extends 23 DefaultThrowingListenable<Event> implements ValueSetUtilitiesModel { 21 24 22 25 private static final BigDecimal DEFAULT = new BigDecimal("0.5"); … … 25 28 private final static Reporter dummylog = new PopupReporter(null); 26 29 private final static NumberModel LOW = new NumberModel(BigDecimal.ZERO, 27 dummylog );30 dummylog, ProfileEditor.TIME); 28 31 private final static NumberModel HIGH = new NumberModel(BigDecimal.ONE, 29 dummylog );32 dummylog, ProfileEditor.TIME); 30 33 private final NumberModel lowValue; 31 34 private final RestrictedNumberModel lowUtility; … … 49 52 } 50 53 51 NumberValueSetUtilitiesModel(NumberValueSetModel valuesmodel, 52 Reporter log){54 NumberValueSetUtilitiesModel(NumberValueSetModel valuesmodel, Reporter log) 55 throws Unacceptable { 53 56 this(valuesmodel.getLow(), 54 new RestrictedNumberModel(DEFAULT, LOW, HIGH, log), 55 valuesmodel.getHigh(), 56 new RestrictedNumberModel(DEFAULT, LOW, HIGH, log)); 57 new RestrictedNumberModel(DEFAULT, LOW, HIGH, log, 58 ProfileEditor.TIME), 59 valuesmodel.getHigh(), new RestrictedNumberModel(DEFAULT, LOW, 60 HIGH, log, ProfileEditor.TIME)); 57 61 } 58 62 … … 95 99 highUtility.setValue(utils.getHighUtility()); 96 100 } 101 102 @Override 103 public ModelTime getTime() { 104 return ProfileEditor.TIME; 105 } 97 106 }; -
domaineditor/src/main/java/geniusweb/domaineditor/model/profile/ValueSetUtilitiesModel.java
r52 r53 2 2 3 3 import geniusweb.profile.utilityspace.ValueSetUtilities; 4 import tudelft.utilities.mvc.model. TypedModel;4 import tudelft.utilities.mvc.model.Model; 5 5 6 6 /** … … 8 8 * 9 9 */ 10 public interface ValueSetUtilitiesModel extends TypedModel<ValueSetUtilities> { 10 public interface ValueSetUtilitiesModel extends Model { 11 12 void setCurrentValue(ValueSetUtilities valueSetUtilities); 13 14 ValueSetUtilities getCurrentValue(); 11 15 12 16 } -
domaineditor/src/main/java/geniusweb/domaineditor/panels/DiscreteValueSetPanel.java
r52 r53 5 5 import javax.swing.JPanel; 6 6 7 import geniusweb.domaineditor.ProfileEditor; 7 8 import geniusweb.domaineditor.model.DiscreteValueSetModel; 8 9 import tudelft.utilities.logging.Reporter; … … 24 25 setLayout(new BorderLayout()); 25 26 add(new EditableListViewPanel(model.getList()) { 27 26 28 @Override 27 29 protected void addItem() { 28 model.add(new StringModel("value " + (n++), log)); 30 model.add(new StringModel("value " + (n++), log, 31 ProfileEditor.TIME)); 29 32 30 33 } -
domaineditor/src/main/java/geniusweb/domaineditor/panels/DomainEditorPanel.java
r52 r53 9 9 import javax.swing.JPanel; 10 10 11 import geniusweb.domaineditor.ProfileEditor; 11 12 import geniusweb.domaineditor.model.DiscreteValueSetModel; 12 13 import geniusweb.domaineditor.model.DomainModel; 13 14 import geniusweb.domaineditor.model.NumberValueSetModel; 14 15 import geniusweb.domaineditor.model.ValueSetModel; 16 import tudelft.utilities.listener.Unacceptable; 15 17 import tudelft.utilities.logging.Reporter; 16 18 import tudelft.utilities.mvc.model.MapModel; … … 39 41 40 42 add(new LabeledPanel("domain name ", 41 new StringPanel(domainmodel.getName())), 42 BorderLayout.NORTH); 43 new StringPanel(domainmodel.getName())), BorderLayout.NORTH); 43 44 add(new IssuesMapEditor(domainmodel.getIssues(), log), 44 45 BorderLayout.CENTER); … … 82 83 panel.add(combo, BorderLayout.CENTER); 83 84 JOptionPane.showMessageDialog(this, panel); 84 StringModel issuename = new StringModel("issue " + (n++), logger); 85 StringModel issuename = new StringModel("issue " + (n++), logger, 86 ProfileEditor.TIME); 85 87 ValueSetModel valuesetmodel; 86 88 if (combo.getSelectedItem().equals("discrete")) 87 89 valuesetmodel = new DiscreteValueSetModel(logger); 88 90 else 89 valuesetmodel = new NumberValueSetModel(logger); 91 try { 92 valuesetmodel = new NumberValueSetModel(logger); 93 } catch (Unacceptable e) { 94 throw new RuntimeException(e);// shouldn't happen 95 } 90 96 getModel().put(issuename, valuesetmodel); 91 97 -
domaineditor/src/test/java/geniusweb/domaineditor/DomainEditorPanelTest.java
r52 r53 12 12 import geniusweb.domaineditor.model.ValueSetModel; 13 13 import geniusweb.domaineditor.panels.DomainEditorPanel; 14 import tudelft.utilities.listener. Listener;14 import tudelft.utilities.listener.ThrowingListener; 15 15 import tudelft.utilities.logging.Reporter; 16 16 import tudelft.utilities.mvc.model.DefaultMapModel; … … 28 28 f.setLayout(new BorderLayout()); 29 29 30 StringModel namemodel = new StringModel("issue1", log); 30 StringModel namemodel = new StringModel("issue1", log, 31 ProfileEditor.TIME); 31 32 ValueSetModel valuesmmodel = new DiscreteValueSetModel(log); 32 33 DefaultMapModel<StringModel, ValueSetModel> issuesmodel = new DefaultMapModel<StringModel, ValueSetModel>( 33 Collections.singletonMap(namemodel, valuesmmodel), log) { 34 Collections.singletonMap(namemodel, valuesmmodel), log, 35 ProfileEditor.TIME) { 34 36 35 37 @Override … … 50 52 51 53 }; 52 DomainModel model = new DomainModel(new StringModel("testdomain", log), 54 DomainModel model = new DomainModel( 55 new StringModel("testdomain", log, ProfileEditor.TIME), 53 56 issuesmodel, log); 54 model.addListener(new Listener<Event>() {57 model.addListener(new ThrowingListener<Event>() { 55 58 56 59 @Override -
domaineditor/src/test/java/geniusweb/model/NumberValueSetModelTest.java
r52 r53 11 11 import org.junit.Test; 12 12 13 import geniusweb.domaineditor.ProfileEditor; 13 14 import geniusweb.domaineditor.model.NumberValueSetModel; 14 15 import geniusweb.issuevalue.NumberValueSet; 15 16 import geniusweb.issuevalue.ValueSet; 16 17 import tudelft.utilities.immutablelist.Range; 18 import tudelft.utilities.listener.Unacceptable; 17 19 import tudelft.utilities.logging.Reporter; 18 20 import tudelft.utilities.mvc.model.NumberModel; … … 22 24 23 25 @Test 24 public void smoke() {26 public void smoke() throws Unacceptable { 25 27 new NumberValueSetModel(log); 26 28 } 27 29 28 30 @Test 29 public void testSomeGoodValues() {31 public void testSomeGoodValues() throws Unacceptable { 30 32 NumberValueSetModel model = new NumberValueSetModel(log); 31 33 assertEquals(11, model.getList().getSize()); // default is 0...10 … … 33 35 assertEquals(9, model.getList().getSize()); // 2..10 34 36 model.getHigh().setValue(new BigDecimal("3")); 37 assertEquals(2, model.getLow().getValue().intValue()); 38 assertEquals(3, model.getHigh().getValue().intValue()); 35 39 assertEquals(2, model.getList().getSize()); // 2..3 36 40 model.getStep().setValue(new BigDecimal("0.1")); … … 38 42 } 39 43 40 @Test(expected = IllegalStateException.class) 41 public void testIllegal1() { 42 new NumberValueSetModel(new NumberModel(BigDecimal.TEN, log), 43 new NumberModel(BigDecimal.ONE, log), 44 new NumberModel(BigDecimal.ONE, log), log); 44 @Test(expected = Unacceptable.class) 45 public void testIllegal1() throws Unacceptable { 46 new NumberValueSetModel( 47 new NumberModel(BigDecimal.TEN, log, ProfileEditor.TIME), 48 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), 49 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 45 50 } 46 51 47 52 @Test 48 public void testIllegal12() {53 public void testIllegal12() throws Unacceptable { 49 54 NumberValueSetModel n = new NumberValueSetModel(log); 50 55 // change low above high must log problem … … 53 58 } 54 59 55 @Test(expected = IllegalStateException.class)56 public void testIllegal3() {60 @Test(expected = Unacceptable.class) 61 public void testIllegal3() throws Unacceptable { 57 62 NumberValueSetModel model = new NumberValueSetModel( 58 new NumberModel(BigDecimal.TEN, log ),59 new NumberModel(BigDecimal.ONE, log ),60 new NumberModel(BigDecimal.ONE, log ), log);63 new NumberModel(BigDecimal.TEN, log, ProfileEditor.TIME), 64 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), 65 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 61 66 model.getLow().setValue(BigDecimal.valueOf(20)); 62 67 } 63 68 64 69 @Test 65 public void testLowIncrease() {70 public void testLowIncrease() throws Unacceptable { 66 71 NumberValueSetModel set = new NumberValueSetModel( 67 new NumberModel(BigDecimal.ZERO, log ),68 new NumberModel(BigDecimal.TEN, log ),69 new NumberModel(BigDecimal.ONE, log ), log);72 new NumberModel(BigDecimal.ZERO, log, ProfileEditor.TIME), 73 new NumberModel(BigDecimal.TEN, log, ProfileEditor.TIME), 74 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 70 75 ValueSet v = new NumberValueSet( 71 76 new Range(BigDecimal.ONE, BigDecimal.TEN, BigDecimal.ONE)); … … 75 80 76 81 @Test 77 public void testHighDecrease() {82 public void testHighDecrease() throws Unacceptable { 78 83 NumberValueSetModel set = new NumberValueSetModel( 79 new NumberModel(BigDecimal.ZERO, log ),80 new NumberModel(BigDecimal.TEN, log ),81 new NumberModel(BigDecimal.ONE, log ), log);84 new NumberModel(BigDecimal.ZERO, log, ProfileEditor.TIME), 85 new NumberModel(BigDecimal.TEN, log, ProfileEditor.TIME), 86 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 82 87 ValueSet v = new NumberValueSet( 83 88 new Range(BigDecimal.ZERO, BigDecimal.ONE, BigDecimal.ONE)); … … 87 92 88 93 @Test 89 public void testIncreaseBoth() {94 public void testIncreaseBoth() throws Unacceptable { 90 95 NumberValueSetModel set = new NumberValueSetModel( 91 new NumberModel(BigDecimal.ZERO, log ),92 new NumberModel(BigDecimal.ONE, log ),93 new NumberModel(BigDecimal.ONE, log ), log);96 new NumberModel(BigDecimal.ZERO, log, ProfileEditor.TIME), 97 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), 98 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 94 99 ValueSet v = new NumberValueSet( 95 100 new Range(BigDecimal.ONE, BigDecimal.TEN, BigDecimal.ONE)); … … 98 103 99 104 @Test 100 public void testIncreaseBothMuch() {105 public void testIncreaseBothMuch() throws Unacceptable { 101 106 NumberValueSetModel set = new NumberValueSetModel( 102 new NumberModel(BigDecimal.ZERO, log ),103 new NumberModel(BigDecimal.ONE, log ),104 new NumberModel(BigDecimal.ONE, log ), log);107 new NumberModel(BigDecimal.ZERO, log, ProfileEditor.TIME), 108 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), 109 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 105 110 ValueSet v = new NumberValueSet(new Range(new BigDecimal("20"), 106 111 new BigDecimal("80"), BigDecimal.ONE)); … … 109 114 110 115 @Test 111 public void testDecreaseBoth() {116 public void testDecreaseBoth() throws Unacceptable { 112 117 NumberValueSetModel set = new NumberValueSetModel( 113 new NumberModel(BigDecimal.ONE, log ),114 new NumberModel(BigDecimal.TEN, log ),115 new NumberModel(BigDecimal.ONE, log ), log);118 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), 119 new NumberModel(BigDecimal.TEN, log, ProfileEditor.TIME), 120 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 116 121 ValueSet v = new NumberValueSet( 117 122 new Range(BigDecimal.ZERO, BigDecimal.ONE, BigDecimal.ONE)); … … 120 125 121 126 @Test 122 public void testDecreaseBothMuch() {127 public void testDecreaseBothMuch() throws Unacceptable { 123 128 NumberValueSetModel set = new NumberValueSetModel( 124 new NumberModel(new BigDecimal("20"), log ),125 new NumberModel(new BigDecimal("80"), log ),126 new NumberModel(BigDecimal.ONE, log ), log);129 new NumberModel(new BigDecimal("20"), log, ProfileEditor.TIME), 130 new NumberModel(new BigDecimal("80"), log, ProfileEditor.TIME), 131 new NumberModel(BigDecimal.ONE, log, ProfileEditor.TIME), log); 127 132 ValueSet v = new NumberValueSet( 128 133 new Range(BigDecimal.ZERO, BigDecimal.ONE, BigDecimal.ONE)); -
domaineditor/src/test/java/geniusweb/panels/ComboBoxTest.java
r52 r53 14 14 import org.junit.Test; 15 15 16 import geniusweb.domaineditor.ProfileEditor; 16 17 import geniusweb.domaineditor.model.DiscreteValueSetModel; 17 18 import geniusweb.domaineditor.model.DomainModel; … … 32 33 public void GuiTest() throws InterruptedException { 33 34 34 StringModel a = new StringModel("apples", log );35 StringModel b = new StringModel("bears", log );36 StringModel c = new StringModel("carrots", log );35 StringModel a = new StringModel("apples", log, ProfileEditor.TIME); 36 StringModel b = new StringModel("bears", log, ProfileEditor.TIME); 37 StringModel c = new StringModel("carrots", log, ProfileEditor.TIME); 37 38 38 39 JFrame f = new JFrame(); … … 40 41 f.getContentPane().add(panel); 41 42 DefaultListModel<StringModel> model = new DefaultListModel( 42 Arrays.asList(a, b, c), log) { 43 44 }; 43 Arrays.asList(a, b, c), log, ProfileEditor.TIME); 45 44 DefaultSelectionModel<StringModel> selectionmodel1 = new DefaultSelectionModel( 46 model );45 model, log, true); 47 46 panel.add(new ComboBox<StringModel>(selectionmodel1), 48 47 BorderLayout.NORTH); … … 60 59 public void testEqualsDeep() { 61 60 62 StringModel redvalue = new StringModel("red", log); 63 StringModel greenvalue = new StringModel("green", log); 61 StringModel redvalue = new StringModel("red", log, ProfileEditor.TIME); 62 StringModel greenvalue = new StringModel("green", log, 63 ProfileEditor.TIME); 64 64 DiscreteValueSetModel issue1values = new DiscreteValueSetModel( 65 65 Arrays.asList(redvalue, greenvalue), log); 66 66 67 StringModel issue1 = new StringModel("issue", log );67 StringModel issue1 = new StringModel("issue", log, ProfileEditor.TIME); 68 68 69 SelectionModel issue1valuessel = new DefaultSelectionModel( 70 issue1values);69 SelectionModel issue1valuessel = new DefaultSelectionModel(issue1values, 70 log, true); 71 71 Map<StringModel, SelectionModel> a = Collections.singletonMap(issue1, 72 72 issue1valuessel); 73 73 DefaultMapModel<StringModel, SelectionModel> issuevalues = new DefaultMapModel<StringModel, SelectionModel>( 74 a, log ) {74 a, log, ProfileEditor.TIME) { 75 75 76 76 @Override … … 92 92 93 93 MapModel<StringModel, ValueSetModel> issuevaluesmodel = new DefaultMapModel<StringModel, ValueSetModel>( 94 Collections.singletonMap(issue1, issue1values), log) { 94 Collections.singletonMap(issue1, issue1values), log, 95 ProfileEditor.TIME) { 95 96 96 97 @Override … … 110 111 111 112 }; 112 DomainModel domain = new DomainModel(new StringModel("testdomain", log), 113 DomainModel domain = new DomainModel( 114 new StringModel("testdomain", log, ProfileEditor.TIME), 113 115 issuevaluesmodel, log); 114 116 -
events/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>events</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
exampleparties/anac2019/agentgg/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties.anac2019</groupId> 7 7 <artifactId>agentgg</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 60 60 <groupId>tudelft.utilities</groupId> 61 61 <artifactId>utilities</artifactId> 62 <version>1. 2.1</version>62 <version>1.3.1</version> 63 63 </dependency> 64 64 -
exampleparties/anac2019/agentgg/src/test/resources/jobs1partial20.json
r52 r53 1 1 { 2 "DefaultPartialOrdering": { 3 "name": "jobs1-partial-20", 4 "domain": { 5 "name": "jobs", 6 "issuesValues": { 7 "lease car": { 8 "values": [ 9 "yes", 10 "no" 11 ] 12 }, 13 "permanent contract": { 14 "values": [ 15 "yes", 16 "no" 17 ] 18 }, 19 "career development opportunities": { 20 "values": [ 21 "low", 22 "medium", 23 "high" 24 ] 25 }, 26 "fte": { 27 "values": [ 28 "0.6", 29 "0.8", 30 "1.0" 31 ] 32 }, 33 "salary": { 34 "values": [ 35 "2000", 36 "2500", 37 "3000", 38 "3500", 39 "4000" 40 ] 41 }, 42 "work from home": { 43 "values": [ 44 "0", 45 "1", 46 "2" 47 ] 48 } 49 } 50 }, 51 "reservationBid": { 52 "issuevalues": { 53 "lease car": "no", 54 "permanent contract": "no", 55 "career development opportunities": "medium", 56 "fte": "0.8", 57 "salary": "3000", 58 "work from home": "0" 59 } 60 }, 61 "bids": [ 62 { 63 "issuevalues": { 64 "lease car": "no", 65 "permanent contract": "no", 66 "career development opportunities": "low", 67 "fte": "1.0", 68 "salary": "3000", 69 "work from home": "1" 70 } 71 }, 72 { 73 "issuevalues": { 74 "lease car": "yes", 75 "permanent contract": "no", 76 "career development opportunities": "high", 77 "fte": "0.6", 78 "salary": "3500", 79 "work from home": "0" 80 } 81 }, 82 { 83 "issuevalues": { 84 "lease car": "no", 85 "permanent contract": "no", 86 "career development opportunities": "high", 87 "fte": "0.8", 88 "salary": "3000", 89 "work from home": "0" 90 } 91 }, 92 { 93 "issuevalues": { 94 "lease car": "yes", 95 "permanent contract": "no", 96 "career development opportunities": "low", 97 "fte": "0.6", 98 "salary": "3500", 99 "work from home": "0" 100 } 101 }, 102 { 103 "issuevalues": { 104 "lease car": "no", 105 "permanent contract": "yes", 106 "career development opportunities": "low", 107 "fte": "0.6", 108 "salary": "3000", 109 "work from home": "1" 110 } 111 }, 112 { 113 "issuevalues": { 114 "lease car": "yes", 115 "permanent contract": "yes", 116 "career development opportunities": "low", 117 "fte": "1.0", 118 "salary": "2000", 119 "work from home": "2" 120 } 121 }, 122 { 123 "issuevalues": { 124 "lease car": "no", 125 "permanent contract": "yes", 126 "career development opportunities": "low", 127 "fte": "0.8", 128 "salary": "2500", 129 "work from home": "1" 130 } 131 }, 132 { 133 "issuevalues": { 134 "lease car": "no", 135 "permanent contract": "yes", 136 "career development opportunities": "low", 137 "fte": "0.6", 138 "salary": "2000", 139 "work from home": "2" 140 } 141 }, 142 { 143 "issuevalues": { 144 "lease car": "yes", 145 "permanent contract": "no", 146 "career development opportunities": "medium", 147 "fte": "0.6", 148 "salary": "3500", 149 "work from home": "1" 150 } 151 }, 152 { 153 "issuevalues": { 154 "lease car": "yes", 155 "permanent contract": "yes", 156 "career development opportunities": "low", 157 "fte": "0.6", 158 "salary": "2000", 159 "work from home": "2" 160 } 161 }, 162 { 163 "issuevalues": { 164 "lease car": "yes", 165 "permanent contract": "yes", 166 "career development opportunities": "medium", 167 "fte": "0.6", 168 "salary": "2000", 169 "work from home": "0" 170 } 171 }, 172 { 173 "issuevalues": { 174 "lease car": "yes", 175 "permanent contract": "yes", 176 "career development opportunities": "medium", 177 "fte": "0.8", 178 "salary": "3500", 179 "work from home": "2" 180 } 181 }, 182 { 183 "issuevalues": { 184 "lease car": "no", 185 "permanent contract": "no", 186 "career development opportunities": "low", 187 "fte": "0.6", 188 "salary": "2000", 189 "work from home": "0" 190 } 191 }, 192 { 193 "issuevalues": { 194 "lease car": "no", 195 "permanent contract": "no", 196 "career development opportunities": "high", 197 "fte": "1.0", 198 "salary": "4000", 199 "work from home": "2" 200 } 201 }, 202 { 203 "issuevalues": { 204 "lease car": "yes", 205 "permanent contract": "yes", 206 "career development opportunities": "low", 207 "fte": "0.8", 208 "salary": "4000", 209 "work from home": "2" 210 } 211 }, 212 { 213 "issuevalues": { 214 "lease car": "yes", 215 "permanent contract": "no", 216 "career development opportunities": "medium", 217 "fte": "1.0", 218 "salary": "3500", 219 "work from home": "2" 220 } 221 }, 222 { 223 "issuevalues": { 224 "lease car": "no", 225 "permanent contract": "yes", 226 "career development opportunities": "high", 227 "fte": "0.8", 228 "salary": "2000", 229 "work from home": "1" 230 } 231 }, 232 { 233 "issuevalues": { 234 "lease car": "yes", 235 "permanent contract": "yes", 236 "career development opportunities": "low", 237 "fte": "1.0", 238 "salary": "2500", 239 "work from home": "1" 240 } 241 }, 242 { 243 "issuevalues": { 244 "lease car": "yes", 245 "permanent contract": "yes", 246 "career development opportunities": "high", 247 "fte": "1.0", 248 "salary": "4000", 249 "work from home": "2" 250 } 251 }, 252 { 253 "issuevalues": { 254 "lease car": "no", 255 "permanent contract": "yes", 256 "career development opportunities": "medium", 257 "fte": "0.8", 258 "salary": "2500", 259 "work from home": "1" 260 } 261 } 262 ], 263 "better": [ 264 [ 265 0, 266 12 267 ], 268 [ 269 0, 270 2 271 ], 272 [ 273 0, 274 3 275 ], 276 [ 277 0, 278 7 279 ], 280 [ 281 0, 282 10 283 ], 284 [ 285 1, 286 0 287 ], 288 [ 289 1, 290 12 291 ], 292 [ 293 1, 294 2 295 ], 296 [ 297 1, 298 3 299 ], 300 [ 301 1, 302 4 303 ], 304 [ 305 1, 306 7 307 ], 308 [ 309 1, 310 10 311 ], 312 [ 313 2, 314 12 315 ], 316 [ 317 3, 318 12 319 ], 320 [ 321 3, 322 2 323 ], 324 [ 325 3, 326 7 327 ], 328 [ 329 4, 330 12 331 ], 332 [ 333 4, 334 2 335 ], 336 [ 337 4, 338 3 339 ], 340 [ 341 4, 342 7 343 ], 344 [ 345 4, 346 10 347 ], 348 [ 349 5, 350 0 351 ], 352 [ 353 5, 354 1 355 ], 356 [ 357 5, 358 2 359 ], 360 [ 361 5, 362 3 363 ], 364 [ 365 5, 366 4 367 ], 368 [ 369 5, 370 6 371 ], 372 [ 373 5, 374 7 375 ], 376 [ 377 5, 378 8 379 ], 380 [ 381 5, 382 9 383 ], 384 [ 385 5, 386 10 387 ], 388 [ 389 5, 390 12 391 ], 392 [ 393 5, 394 16 395 ], 396 [ 397 5, 398 19 399 ], 400 [ 401 6, 402 0 403 ], 404 [ 405 6, 406 1 407 ], 408 [ 409 6, 410 12 411 ], 412 [ 413 6, 414 2 415 ], 416 [ 417 6, 418 3 419 ], 420 [ 421 6, 422 4 423 ], 424 [ 425 6, 426 16 427 ], 428 [ 429 6, 430 7 431 ], 432 [ 433 6, 434 8 435 ], 436 [ 437 6, 438 9 439 ], 440 [ 441 6, 442 10 443 ], 444 [ 445 7, 446 12 447 ], 448 [ 449 7, 450 2 451 ], 452 [ 453 8, 454 0 455 ], 456 [ 457 8, 458 1 459 ], 460 [ 461 8, 462 12 463 ], 464 [ 465 8, 466 2 467 ], 468 [ 469 8, 470 3 471 ], 472 [ 473 8, 474 4 475 ], 476 [ 477 8, 478 7 479 ], 480 [ 481 8, 482 9 483 ], 484 [ 485 8, 486 10 487 ], 488 [ 489 9, 490 0 491 ], 492 [ 493 9, 494 1 495 ], 496 [ 497 9, 498 12 499 ], 500 [ 501 9, 502 2 503 ], 504 [ 505 9, 506 3 507 ], 508 [ 509 9, 510 4 511 ], 512 [ 513 9, 514 7 515 ], 516 [ 517 9, 518 10 519 ], 520 [ 521 10, 522 12 523 ], 524 [ 525 10, 526 2 527 ], 528 [ 529 10, 530 7 531 ], 532 [ 533 11, 534 0 535 ], 536 [ 537 11, 538 1 539 ], 540 [ 541 11, 542 2 543 ], 544 [ 545 11, 546 3 547 ], 548 [ 549 11, 550 5 551 ], 552 [ 553 11, 554 4 555 ], 556 [ 557 11, 558 6 559 ], 560 [ 561 11, 562 7 563 ], 564 [ 565 11, 566 8 567 ], 568 [ 569 11, 570 9 571 ], 572 [ 573 11, 574 10 575 ], 576 [ 577 11, 578 12 579 ], 580 [ 581 11, 582 13 583 ], 584 [ 585 11, 586 15 587 ], 588 [ 589 11, 590 16 591 ], 592 [ 593 11, 594 17 595 ], 596 [ 597 11, 598 19 599 ], 600 [ 601 13, 602 0 603 ], 604 [ 605 13, 606 1 607 ], 608 [ 609 13, 610 2 611 ], 612 [ 613 13, 614 3 615 ], 616 [ 617 13, 618 5 619 ], 620 [ 621 13, 622 4 623 ], 624 [ 625 13, 626 6 627 ], 628 [ 629 13, 630 7 631 ], 632 [ 633 13, 634 8 635 ], 636 [ 637 13, 638 9 639 ], 640 [ 641 13, 642 10 643 ], 644 [ 645 13, 646 12 647 ], 648 [ 649 13, 650 15 651 ], 652 [ 653 13, 654 16 655 ], 656 [ 657 13, 658 17 659 ], 660 [ 661 13, 662 19 663 ], 664 [ 665 14, 666 0 667 ], 668 [ 669 14, 670 1 671 ], 672 [ 673 14, 674 2 675 ], 676 [ 677 14, 678 3 679 ], 680 [ 681 14, 682 5 683 ], 684 [ 685 14, 686 4 687 ], 688 [ 689 14, 690 6 691 ], 692 [ 693 14, 694 7 695 ], 696 [ 697 14, 698 8 699 ], 700 [ 701 14, 702 9 703 ], 704 [ 705 14, 706 10 707 ], 708 [ 709 14, 710 11 711 ], 712 [ 713 14, 714 12 715 ], 716 [ 717 14, 718 13 719 ], 720 [ 721 14, 722 15 723 ], 724 [ 725 14, 726 16 727 ], 728 [ 729 14, 730 17 731 ], 732 [ 733 14, 734 19 735 ], 736 [ 737 15, 738 0 739 ], 740 [ 741 15, 742 1 743 ], 744 [ 745 15, 746 2 747 ], 748 [ 749 15, 750 3 751 ], 752 [ 753 15, 754 5 755 ], 756 [ 757 15, 758 4 759 ], 760 [ 761 15, 762 6 763 ], 764 [ 765 15, 766 7 767 ], 768 [ 769 15, 770 8 771 ], 772 [ 773 15, 774 9 775 ], 776 [ 777 15, 778 10 779 ], 780 [ 781 15, 782 12 783 ], 784 [ 785 15, 786 16 787 ], 788 [ 789 15, 790 17 791 ], 792 [ 793 15, 794 19 795 ], 796 [ 797 16, 798 0 799 ], 800 [ 801 16, 802 1 803 ], 804 [ 805 16, 806 12 807 ], 808 [ 809 16, 810 2 811 ], 812 [ 813 16, 814 3 815 ], 816 [ 817 16, 818 4 819 ], 820 [ 821 16, 822 7 823 ], 824 [ 825 16, 826 8 827 ], 828 [ 829 16, 830 9 831 ], 832 [ 833 16, 834 10 835 ], 836 [ 837 17, 838 0 839 ], 840 [ 841 17, 842 1 843 ], 844 [ 845 17, 846 2 847 ], 848 [ 849 17, 850 3 851 ], 852 [ 853 17, 854 5 855 ], 856 [ 857 17, 858 4 859 ], 860 [ 861 17, 862 6 863 ], 864 [ 865 17, 866 7 867 ], 868 [ 869 17, 870 8 871 ], 872 [ 873 17, 874 9 875 ], 876 [ 877 17, 878 10 879 ], 880 [ 881 17, 882 12 883 ], 884 [ 885 17, 886 16 887 ], 888 [ 889 17, 890 19 891 ], 892 [ 893 18, 894 0 895 ], 896 [ 897 18, 898 1 899 ], 900 [ 901 18, 902 2 903 ], 904 [ 905 18, 906 3 907 ], 908 [ 909 18, 910 5 911 ], 912 [ 913 18, 914 4 915 ], 916 [ 917 18, 918 6 919 ], 920 [ 921 18, 922 7 923 ], 924 [ 925 18, 926 8 927 ], 928 [ 929 18, 930 9 931 ], 932 [ 933 18, 934 10 935 ], 936 [ 937 18, 938 11 939 ], 940 [ 941 18, 942 12 943 ], 944 [ 945 18, 946 13 947 ], 948 [ 949 18, 950 14 951 ], 952 [ 953 18, 954 15 955 ], 956 [ 957 18, 958 16 959 ], 960 [ 961 18, 962 17 963 ], 964 [ 965 18, 966 19 967 ], 968 [ 969 19, 970 0 971 ], 972 [ 973 19, 974 1 975 ], 976 [ 977 19, 978 12 979 ], 980 [ 981 19, 982 2 983 ], 984 [ 985 19, 986 3 987 ], 988 [ 989 19, 990 4 991 ], 992 [ 993 19, 994 6 995 ], 996 [ 997 19, 998 16 999 ], 1000 [ 1001 19, 1002 7 1003 ], 1004 [ 1005 19, 1006 8 1007 ], 1008 [ 1009 19, 1010 9 1011 ], 1012 [ 1013 19, 1014 10 1015 ] 1016 ] 1017 } 2 "DefaultPartialOrdering" : { 3 "name" : "jobs1-partial-20", 4 "domain" : { 5 "name" : "jobs", 6 "issuesValues" : { 7 "lease car" : { 8 "values" : [ "yes", "no" ] 9 }, 10 "permanent contract" : { 11 "values" : [ "yes", "no" ] 12 }, 13 "career development opportunities" : { 14 "values" : [ "low", "medium", "high" ] 15 }, 16 "fte" : { 17 "values" : [ "0.6", "0.8", "1.0" ] 18 }, 19 "salary" : { 20 "values" : [ "2000", "2500", "3000", "3500", "4000" ] 21 }, 22 "work from home" : { 23 "values" : [ "0", "1", "2" ] 24 } 25 } 26 }, 27 "better" : { 28 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"2000\",\"work from home\":\"2\"}}" : [ { 29 "issuevalues" : { 30 "lease car" : "no", 31 "permanent contract" : "no", 32 "career development opportunities" : "low", 33 "fte" : "0.6", 34 "salary" : "2000", 35 "work from home" : "0" 36 } 37 }, { 38 "issuevalues" : { 39 "lease car" : "yes", 40 "permanent contract" : "no", 41 "career development opportunities" : "low", 42 "fte" : "0.6", 43 "salary" : "3500", 44 "work from home" : "0" 45 } 46 }, { 47 "issuevalues" : { 48 "lease car" : "no", 49 "permanent contract" : "no", 50 "career development opportunities" : "high", 51 "fte" : "0.6", 52 "salary" : "3500", 53 "work from home" : "1" 54 } 55 }, { 56 "issuevalues" : { 57 "lease car" : "no", 58 "permanent contract" : "no", 59 "career development opportunities" : "low", 60 "fte" : "1.0", 61 "salary" : "2000", 62 "work from home" : "1" 63 } 64 }, { 65 "issuevalues" : { 66 "lease car" : "no", 67 "permanent contract" : "no", 68 "career development opportunities" : "high", 69 "fte" : "1.0", 70 "salary" : "3000", 71 "work from home" : "0" 72 } 73 }, { 74 "issuevalues" : { 75 "lease car" : "yes", 76 "permanent contract" : "yes", 77 "career development opportunities" : "medium", 78 "fte" : "0.8", 79 "salary" : "2500", 80 "work from home" : "1" 81 } 82 }, { 83 "issuevalues" : { 84 "lease car" : "no", 85 "permanent contract" : "no", 86 "career development opportunities" : "low", 87 "fte" : "0.6", 88 "salary" : "2000", 89 "work from home" : "1" 90 } 91 }, { 92 "issuevalues" : { 93 "lease car" : "yes", 94 "permanent contract" : "no", 95 "career development opportunities" : "high", 96 "fte" : "1.0", 97 "salary" : "3000", 98 "work from home" : "1" 99 } 100 }, { 101 "issuevalues" : { 102 "lease car" : "yes", 103 "permanent contract" : "no", 104 "career development opportunities" : "high", 105 "fte" : "0.8", 106 "salary" : "3500", 107 "work from home" : "1" 108 } 109 }, { 110 "issuevalues" : { 111 "lease car" : "no", 112 "permanent contract" : "no", 113 "career development opportunities" : "medium", 114 "fte" : "0.8", 115 "salary" : "2000", 116 "work from home" : "1" 117 } 118 }, { 119 "issuevalues" : { 120 "lease car" : "yes", 121 "permanent contract" : "yes", 122 "career development opportunities" : "high", 123 "fte" : "0.6", 124 "salary" : "2000", 125 "work from home" : "1" 126 } 127 } ], 128 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"3500\",\"work from home\":\"0\"}}" : [ { 129 "issuevalues" : { 130 "lease car" : "no", 131 "permanent contract" : "no", 132 "career development opportunities" : "low", 133 "fte" : "0.6", 134 "salary" : "2000", 135 "work from home" : "0" 136 } 137 }, { 138 "issuevalues" : { 139 "lease car" : "no", 140 "permanent contract" : "no", 141 "career development opportunities" : "low", 142 "fte" : "1.0", 143 "salary" : "2000", 144 "work from home" : "1" 145 } 146 }, { 147 "issuevalues" : { 148 "lease car" : "no", 149 "permanent contract" : "no", 150 "career development opportunities" : "low", 151 "fte" : "0.6", 152 "salary" : "2000", 153 "work from home" : "1" 154 } 155 }, { 156 "issuevalues" : { 157 "lease car" : "no", 158 "permanent contract" : "no", 159 "career development opportunities" : "medium", 160 "fte" : "0.8", 161 "salary" : "2000", 162 "work from home" : "1" 163 } 164 } ], 165 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"1.0\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 166 "issuevalues" : { 167 "lease car" : "no", 168 "permanent contract" : "no", 169 "career development opportunities" : "low", 170 "fte" : "0.6", 171 "salary" : "2000", 172 "work from home" : "0" 173 } 174 }, { 175 "issuevalues" : { 176 "lease car" : "no", 177 "permanent contract" : "no", 178 "career development opportunities" : "low", 179 "fte" : "0.6", 180 "salary" : "2000", 181 "work from home" : "1" 182 } 183 }, { 184 "issuevalues" : { 185 "lease car" : "no", 186 "permanent contract" : "no", 187 "career development opportunities" : "medium", 188 "fte" : "0.8", 189 "salary" : "2000", 190 "work from home" : "1" 191 } 192 } ], 193 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"medium\",\"fte\":\"1.0\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 194 "issuevalues" : { 195 "lease car" : "no", 196 "permanent contract" : "yes", 197 "career development opportunities" : "high", 198 "fte" : "1.0", 199 "salary" : "2000", 200 "work from home" : "2" 201 } 202 }, { 203 "issuevalues" : { 204 "lease car" : "yes", 205 "permanent contract" : "no", 206 "career development opportunities" : "low", 207 "fte" : "0.6", 208 "salary" : "3500", 209 "work from home" : "0" 210 } 211 }, { 212 "issuevalues" : { 213 "lease car" : "no", 214 "permanent contract" : "no", 215 "career development opportunities" : "low", 216 "fte" : "1.0", 217 "salary" : "2000", 218 "work from home" : "1" 219 } 220 }, { 221 "issuevalues" : { 222 "lease car" : "no", 223 "permanent contract" : "no", 224 "career development opportunities" : "high", 225 "fte" : "1.0", 226 "salary" : "3000", 227 "work from home" : "0" 228 } 229 }, { 230 "issuevalues" : { 231 "lease car" : "no", 232 "permanent contract" : "no", 233 "career development opportunities" : "low", 234 "fte" : "0.6", 235 "salary" : "2000", 236 "work from home" : "1" 237 } 238 }, { 239 "issuevalues" : { 240 "lease car" : "yes", 241 "permanent contract" : "no", 242 "career development opportunities" : "high", 243 "fte" : "1.0", 244 "salary" : "3000", 245 "work from home" : "1" 246 } 247 }, { 248 "issuevalues" : { 249 "lease car" : "yes", 250 "permanent contract" : "no", 251 "career development opportunities" : "high", 252 "fte" : "0.8", 253 "salary" : "3500", 254 "work from home" : "1" 255 } 256 }, { 257 "issuevalues" : { 258 "lease car" : "no", 259 "permanent contract" : "no", 260 "career development opportunities" : "medium", 261 "fte" : "0.8", 262 "salary" : "2000", 263 "work from home" : "1" 264 } 265 }, { 266 "issuevalues" : { 267 "lease car" : "yes", 268 "permanent contract" : "yes", 269 "career development opportunities" : "high", 270 "fte" : "0.6", 271 "salary" : "2000", 272 "work from home" : "1" 273 } 274 }, { 275 "issuevalues" : { 276 "lease car" : "no", 277 "permanent contract" : "no", 278 "career development opportunities" : "low", 279 "fte" : "0.6", 280 "salary" : "2000", 281 "work from home" : "0" 282 } 283 }, { 284 "issuevalues" : { 285 "lease car" : "yes", 286 "permanent contract" : "no", 287 "career development opportunities" : "low", 288 "fte" : "0.8", 289 "salary" : "4000", 290 "work from home" : "2" 291 } 292 }, { 293 "issuevalues" : { 294 "lease car" : "no", 295 "permanent contract" : "no", 296 "career development opportunities" : "high", 297 "fte" : "0.6", 298 "salary" : "3500", 299 "work from home" : "1" 300 } 301 }, { 302 "issuevalues" : { 303 "lease car" : "yes", 304 "permanent contract" : "yes", 305 "career development opportunities" : "medium", 306 "fte" : "0.8", 307 "salary" : "2500", 308 "work from home" : "1" 309 } 310 }, { 311 "issuevalues" : { 312 "lease car" : "yes", 313 "permanent contract" : "yes", 314 "career development opportunities" : "medium", 315 "fte" : "0.8", 316 "salary" : "2500", 317 "work from home" : "2" 318 } 319 } ], 320 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"3000\",\"work from home\":\"0\"}}" : [ { 321 "issuevalues" : { 322 "lease car" : "no", 323 "permanent contract" : "no", 324 "career development opportunities" : "low", 325 "fte" : "0.6", 326 "salary" : "2000", 327 "work from home" : "0" 328 } 329 }, { 330 "issuevalues" : { 331 "lease car" : "yes", 332 "permanent contract" : "no", 333 "career development opportunities" : "low", 334 "fte" : "0.6", 335 "salary" : "3500", 336 "work from home" : "0" 337 } 338 }, { 339 "issuevalues" : { 340 "lease car" : "no", 341 "permanent contract" : "no", 342 "career development opportunities" : "high", 343 "fte" : "0.6", 344 "salary" : "3500", 345 "work from home" : "1" 346 } 347 }, { 348 "issuevalues" : { 349 "lease car" : "no", 350 "permanent contract" : "no", 351 "career development opportunities" : "low", 352 "fte" : "1.0", 353 "salary" : "2000", 354 "work from home" : "1" 355 } 356 }, { 357 "issuevalues" : { 358 "lease car" : "no", 359 "permanent contract" : "no", 360 "career development opportunities" : "low", 361 "fte" : "0.6", 362 "salary" : "2000", 363 "work from home" : "1" 364 } 365 }, { 366 "issuevalues" : { 367 "lease car" : "no", 368 "permanent contract" : "no", 369 "career development opportunities" : "medium", 370 "fte" : "0.8", 371 "salary" : "2000", 372 "work from home" : "1" 373 } 374 } ], 375 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"1.0\",\"salary\":\"2500\",\"work from home\":\"2\"}}" : [ { 376 "issuevalues" : { 377 "lease car" : "no", 378 "permanent contract" : "yes", 379 "career development opportunities" : "high", 380 "fte" : "1.0", 381 "salary" : "2000", 382 "work from home" : "2" 383 } 384 }, { 385 "issuevalues" : { 386 "lease car" : "yes", 387 "permanent contract" : "no", 388 "career development opportunities" : "low", 389 "fte" : "0.6", 390 "salary" : "3500", 391 "work from home" : "0" 392 } 393 }, { 394 "issuevalues" : { 395 "lease car" : "no", 396 "permanent contract" : "no", 397 "career development opportunities" : "low", 398 "fte" : "1.0", 399 "salary" : "2000", 400 "work from home" : "1" 401 } 402 }, { 403 "issuevalues" : { 404 "lease car" : "yes", 405 "permanent contract" : "no", 406 "career development opportunities" : "medium", 407 "fte" : "1.0", 408 "salary" : "3500", 409 "work from home" : "1" 410 } 411 }, { 412 "issuevalues" : { 413 "lease car" : "no", 414 "permanent contract" : "no", 415 "career development opportunities" : "high", 416 "fte" : "1.0", 417 "salary" : "3000", 418 "work from home" : "0" 419 } 420 }, { 421 "issuevalues" : { 422 "lease car" : "no", 423 "permanent contract" : "no", 424 "career development opportunities" : "low", 425 "fte" : "0.6", 426 "salary" : "2000", 427 "work from home" : "1" 428 } 429 }, { 430 "issuevalues" : { 431 "lease car" : "yes", 432 "permanent contract" : "no", 433 "career development opportunities" : "high", 434 "fte" : "1.0", 435 "salary" : "3000", 436 "work from home" : "1" 437 } 438 }, { 439 "issuevalues" : { 440 "lease car" : "yes", 441 "permanent contract" : "no", 442 "career development opportunities" : "high", 443 "fte" : "0.8", 444 "salary" : "3500", 445 "work from home" : "1" 446 } 447 }, { 448 "issuevalues" : { 449 "lease car" : "no", 450 "permanent contract" : "no", 451 "career development opportunities" : "medium", 452 "fte" : "0.8", 453 "salary" : "2000", 454 "work from home" : "1" 455 } 456 }, { 457 "issuevalues" : { 458 "lease car" : "yes", 459 "permanent contract" : "yes", 460 "career development opportunities" : "high", 461 "fte" : "0.6", 462 "salary" : "2000", 463 "work from home" : "1" 464 } 465 }, { 466 "issuevalues" : { 467 "lease car" : "no", 468 "permanent contract" : "no", 469 "career development opportunities" : "low", 470 "fte" : "0.6", 471 "salary" : "2000", 472 "work from home" : "0" 473 } 474 }, { 475 "issuevalues" : { 476 "lease car" : "yes", 477 "permanent contract" : "no", 478 "career development opportunities" : "low", 479 "fte" : "0.8", 480 "salary" : "4000", 481 "work from home" : "2" 482 } 483 }, { 484 "issuevalues" : { 485 "lease car" : "no", 486 "permanent contract" : "no", 487 "career development opportunities" : "high", 488 "fte" : "0.6", 489 "salary" : "3500", 490 "work from home" : "1" 491 } 492 }, { 493 "issuevalues" : { 494 "lease car" : "yes", 495 "permanent contract" : "yes", 496 "career development opportunities" : "medium", 497 "fte" : "0.8", 498 "salary" : "2500", 499 "work from home" : "1" 500 } 501 }, { 502 "issuevalues" : { 503 "lease car" : "yes", 504 "permanent contract" : "yes", 505 "career development opportunities" : "medium", 506 "fte" : "0.8", 507 "salary" : "2500", 508 "work from home" : "2" 509 } 510 }, { 511 "issuevalues" : { 512 "lease car" : "no", 513 "permanent contract" : "yes", 514 "career development opportunities" : "low", 515 "fte" : "1.0", 516 "salary" : "3500", 517 "work from home" : "0" 518 } 519 } ], 520 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 521 "issuevalues" : { 522 "lease car" : "no", 523 "permanent contract" : "no", 524 "career development opportunities" : "low", 525 "fte" : "0.6", 526 "salary" : "2000", 527 "work from home" : "0" 528 } 529 } ], 530 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"3000\",\"work from home\":\"1\"}}" : [ { 531 "issuevalues" : { 532 "lease car" : "no", 533 "permanent contract" : "no", 534 "career development opportunities" : "low", 535 "fte" : "0.6", 536 "salary" : "2000", 537 "work from home" : "0" 538 } 539 }, { 540 "issuevalues" : { 541 "lease car" : "yes", 542 "permanent contract" : "no", 543 "career development opportunities" : "low", 544 "fte" : "0.6", 545 "salary" : "3500", 546 "work from home" : "0" 547 } 548 }, { 549 "issuevalues" : { 550 "lease car" : "no", 551 "permanent contract" : "no", 552 "career development opportunities" : "high", 553 "fte" : "0.6", 554 "salary" : "3500", 555 "work from home" : "1" 556 } 557 }, { 558 "issuevalues" : { 559 "lease car" : "no", 560 "permanent contract" : "no", 561 "career development opportunities" : "low", 562 "fte" : "1.0", 563 "salary" : "2000", 564 "work from home" : "1" 565 } 566 }, { 567 "issuevalues" : { 568 "lease car" : "no", 569 "permanent contract" : "no", 570 "career development opportunities" : "high", 571 "fte" : "1.0", 572 "salary" : "3000", 573 "work from home" : "0" 574 } 575 }, { 576 "issuevalues" : { 577 "lease car" : "no", 578 "permanent contract" : "no", 579 "career development opportunities" : "low", 580 "fte" : "0.6", 581 "salary" : "2000", 582 "work from home" : "1" 583 } 584 }, { 585 "issuevalues" : { 586 "lease car" : "no", 587 "permanent contract" : "no", 588 "career development opportunities" : "medium", 589 "fte" : "0.8", 590 "salary" : "2000", 591 "work from home" : "1" 592 } 593 }, { 594 "issuevalues" : { 595 "lease car" : "yes", 596 "permanent contract" : "yes", 597 "career development opportunities" : "high", 598 "fte" : "0.6", 599 "salary" : "2000", 600 "work from home" : "1" 601 } 602 } ], 603 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"0.8\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 604 "issuevalues" : { 605 "lease car" : "no", 606 "permanent contract" : "no", 607 "career development opportunities" : "low", 608 "fte" : "0.6", 609 "salary" : "2000", 610 "work from home" : "0" 611 } 612 }, { 613 "issuevalues" : { 614 "lease car" : "yes", 615 "permanent contract" : "no", 616 "career development opportunities" : "low", 617 "fte" : "0.6", 618 "salary" : "3500", 619 "work from home" : "0" 620 } 621 }, { 622 "issuevalues" : { 623 "lease car" : "no", 624 "permanent contract" : "no", 625 "career development opportunities" : "high", 626 "fte" : "0.6", 627 "salary" : "3500", 628 "work from home" : "1" 629 } 630 }, { 631 "issuevalues" : { 632 "lease car" : "no", 633 "permanent contract" : "no", 634 "career development opportunities" : "low", 635 "fte" : "1.0", 636 "salary" : "2000", 637 "work from home" : "1" 638 } 639 }, { 640 "issuevalues" : { 641 "lease car" : "no", 642 "permanent contract" : "no", 643 "career development opportunities" : "high", 644 "fte" : "1.0", 645 "salary" : "3000", 646 "work from home" : "0" 647 } 648 }, { 649 "issuevalues" : { 650 "lease car" : "no", 651 "permanent contract" : "no", 652 "career development opportunities" : "low", 653 "fte" : "0.6", 654 "salary" : "2000", 655 "work from home" : "1" 656 } 657 }, { 658 "issuevalues" : { 659 "lease car" : "yes", 660 "permanent contract" : "no", 661 "career development opportunities" : "high", 662 "fte" : "1.0", 663 "salary" : "3000", 664 "work from home" : "1" 665 } 666 }, { 667 "issuevalues" : { 668 "lease car" : "no", 669 "permanent contract" : "no", 670 "career development opportunities" : "medium", 671 "fte" : "0.8", 672 "salary" : "2000", 673 "work from home" : "1" 674 } 675 }, { 676 "issuevalues" : { 677 "lease car" : "yes", 678 "permanent contract" : "yes", 679 "career development opportunities" : "high", 680 "fte" : "0.6", 681 "salary" : "2000", 682 "work from home" : "1" 683 } 684 } ], 685 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 686 "issuevalues" : { 687 "lease car" : "no", 688 "permanent contract" : "no", 689 "career development opportunities" : "low", 690 "fte" : "0.6", 691 "salary" : "2000", 692 "work from home" : "0" 693 } 694 }, { 695 "issuevalues" : { 696 "lease car" : "no", 697 "permanent contract" : "no", 698 "career development opportunities" : "low", 699 "fte" : "0.6", 700 "salary" : "2000", 701 "work from home" : "1" 702 } 703 } ], 704 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 705 "issuevalues" : { 706 "lease car" : "no", 707 "permanent contract" : "no", 708 "career development opportunities" : "low", 709 "fte" : "0.6", 710 "salary" : "2000", 711 "work from home" : "0" 712 } 713 }, { 714 "issuevalues" : { 715 "lease car" : "yes", 716 "permanent contract" : "no", 717 "career development opportunities" : "low", 718 "fte" : "0.6", 719 "salary" : "3500", 720 "work from home" : "0" 721 } 722 }, { 723 "issuevalues" : { 724 "lease car" : "no", 725 "permanent contract" : "no", 726 "career development opportunities" : "high", 727 "fte" : "0.6", 728 "salary" : "3500", 729 "work from home" : "1" 730 } 731 }, { 732 "issuevalues" : { 733 "lease car" : "no", 734 "permanent contract" : "no", 735 "career development opportunities" : "low", 736 "fte" : "1.0", 737 "salary" : "2000", 738 "work from home" : "1" 739 } 740 }, { 741 "issuevalues" : { 742 "lease car" : "no", 743 "permanent contract" : "no", 744 "career development opportunities" : "high", 745 "fte" : "1.0", 746 "salary" : "3000", 747 "work from home" : "0" 748 } 749 }, { 750 "issuevalues" : { 751 "lease car" : "no", 752 "permanent contract" : "no", 753 "career development opportunities" : "low", 754 "fte" : "0.6", 755 "salary" : "2000", 756 "work from home" : "1" 757 } 758 }, { 759 "issuevalues" : { 760 "lease car" : "no", 761 "permanent contract" : "no", 762 "career development opportunities" : "medium", 763 "fte" : "0.8", 764 "salary" : "2000", 765 "work from home" : "1" 766 } 767 } ], 768 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"0\"}}" : [ ], 769 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"low\",\"fte\":\"0.8\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 770 "issuevalues" : { 771 "lease car" : "no", 772 "permanent contract" : "yes", 773 "career development opportunities" : "high", 774 "fte" : "1.0", 775 "salary" : "2000", 776 "work from home" : "2" 777 } 778 }, { 779 "issuevalues" : { 780 "lease car" : "yes", 781 "permanent contract" : "no", 782 "career development opportunities" : "low", 783 "fte" : "0.6", 784 "salary" : "3500", 785 "work from home" : "0" 786 } 787 }, { 788 "issuevalues" : { 789 "lease car" : "no", 790 "permanent contract" : "no", 791 "career development opportunities" : "low", 792 "fte" : "1.0", 793 "salary" : "2000", 794 "work from home" : "1" 795 } 796 }, { 797 "issuevalues" : { 798 "lease car" : "yes", 799 "permanent contract" : "no", 800 "career development opportunities" : "medium", 801 "fte" : "1.0", 802 "salary" : "3500", 803 "work from home" : "1" 804 } 805 }, { 806 "issuevalues" : { 807 "lease car" : "no", 808 "permanent contract" : "no", 809 "career development opportunities" : "high", 810 "fte" : "1.0", 811 "salary" : "3000", 812 "work from home" : "0" 813 } 814 }, { 815 "issuevalues" : { 816 "lease car" : "yes", 817 "permanent contract" : "yes", 818 "career development opportunities" : "medium", 819 "fte" : "1.0", 820 "salary" : "2500", 821 "work from home" : "2" 822 } 823 }, { 824 "issuevalues" : { 825 "lease car" : "no", 826 "permanent contract" : "no", 827 "career development opportunities" : "low", 828 "fte" : "0.6", 829 "salary" : "2000", 830 "work from home" : "1" 831 } 832 }, { 833 "issuevalues" : { 834 "lease car" : "yes", 835 "permanent contract" : "no", 836 "career development opportunities" : "high", 837 "fte" : "1.0", 838 "salary" : "3000", 839 "work from home" : "1" 840 } 841 }, { 842 "issuevalues" : { 843 "lease car" : "yes", 844 "permanent contract" : "no", 845 "career development opportunities" : "high", 846 "fte" : "0.8", 847 "salary" : "3500", 848 "work from home" : "1" 849 } 850 }, { 851 "issuevalues" : { 852 "lease car" : "no", 853 "permanent contract" : "no", 854 "career development opportunities" : "medium", 855 "fte" : "0.8", 856 "salary" : "2000", 857 "work from home" : "1" 858 } 859 }, { 860 "issuevalues" : { 861 "lease car" : "yes", 862 "permanent contract" : "yes", 863 "career development opportunities" : "high", 864 "fte" : "0.6", 865 "salary" : "2000", 866 "work from home" : "1" 867 } 868 }, { 869 "issuevalues" : { 870 "lease car" : "no", 871 "permanent contract" : "no", 872 "career development opportunities" : "low", 873 "fte" : "0.6", 874 "salary" : "2000", 875 "work from home" : "0" 876 } 877 }, { 878 "issuevalues" : { 879 "lease car" : "yes", 880 "permanent contract" : "no", 881 "career development opportunities" : "low", 882 "fte" : "0.8", 883 "salary" : "4000", 884 "work from home" : "2" 885 } 886 }, { 887 "issuevalues" : { 888 "lease car" : "no", 889 "permanent contract" : "no", 890 "career development opportunities" : "high", 891 "fte" : "0.6", 892 "salary" : "3500", 893 "work from home" : "1" 894 } 895 }, { 896 "issuevalues" : { 897 "lease car" : "yes", 898 "permanent contract" : "no", 899 "career development opportunities" : "high", 900 "fte" : "1.0", 901 "salary" : "4000", 902 "work from home" : "2" 903 } 904 }, { 905 "issuevalues" : { 906 "lease car" : "yes", 907 "permanent contract" : "yes", 908 "career development opportunities" : "medium", 909 "fte" : "0.8", 910 "salary" : "2500", 911 "work from home" : "1" 912 } 913 }, { 914 "issuevalues" : { 915 "lease car" : "yes", 916 "permanent contract" : "yes", 917 "career development opportunities" : "medium", 918 "fte" : "0.8", 919 "salary" : "2500", 920 "work from home" : "2" 921 } 922 }, { 923 "issuevalues" : { 924 "lease car" : "no", 925 "permanent contract" : "yes", 926 "career development opportunities" : "low", 927 "fte" : "1.0", 928 "salary" : "3500", 929 "work from home" : "0" 930 } 931 } ], 932 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.8\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 933 "issuevalues" : { 934 "lease car" : "no", 935 "permanent contract" : "yes", 936 "career development opportunities" : "high", 937 "fte" : "1.0", 938 "salary" : "2000", 939 "work from home" : "2" 940 } 941 }, { 942 "issuevalues" : { 943 "lease car" : "no", 944 "permanent contract" : "no", 945 "career development opportunities" : "low", 946 "fte" : "0.6", 947 "salary" : "2000", 948 "work from home" : "0" 949 } 950 }, { 951 "issuevalues" : { 952 "lease car" : "yes", 953 "permanent contract" : "no", 954 "career development opportunities" : "low", 955 "fte" : "0.6", 956 "salary" : "3500", 957 "work from home" : "0" 958 } 959 }, { 960 "issuevalues" : { 961 "lease car" : "no", 962 "permanent contract" : "no", 963 "career development opportunities" : "high", 964 "fte" : "0.6", 965 "salary" : "3500", 966 "work from home" : "1" 967 } 968 }, { 969 "issuevalues" : { 970 "lease car" : "no", 971 "permanent contract" : "no", 972 "career development opportunities" : "low", 973 "fte" : "1.0", 974 "salary" : "2000", 975 "work from home" : "1" 976 } 977 }, { 978 "issuevalues" : { 979 "lease car" : "no", 980 "permanent contract" : "no", 981 "career development opportunities" : "high", 982 "fte" : "1.0", 983 "salary" : "3000", 984 "work from home" : "0" 985 } 986 }, { 987 "issuevalues" : { 988 "lease car" : "yes", 989 "permanent contract" : "yes", 990 "career development opportunities" : "medium", 991 "fte" : "0.8", 992 "salary" : "2500", 993 "work from home" : "1" 994 } 995 }, { 996 "issuevalues" : { 997 "lease car" : "no", 998 "permanent contract" : "no", 999 "career development opportunities" : "low", 1000 "fte" : "0.6", 1001 "salary" : "2000", 1002 "work from home" : "1" 1003 } 1004 }, { 1005 "issuevalues" : { 1006 "lease car" : "yes", 1007 "permanent contract" : "no", 1008 "career development opportunities" : "high", 1009 "fte" : "1.0", 1010 "salary" : "3000", 1011 "work from home" : "1" 1012 } 1013 }, { 1014 "issuevalues" : { 1015 "lease car" : "yes", 1016 "permanent contract" : "no", 1017 "career development opportunities" : "high", 1018 "fte" : "0.8", 1019 "salary" : "3500", 1020 "work from home" : "1" 1021 } 1022 }, { 1023 "issuevalues" : { 1024 "lease car" : "no", 1025 "permanent contract" : "no", 1026 "career development opportunities" : "medium", 1027 "fte" : "0.8", 1028 "salary" : "2000", 1029 "work from home" : "1" 1030 } 1031 }, { 1032 "issuevalues" : { 1033 "lease car" : "yes", 1034 "permanent contract" : "yes", 1035 "career development opportunities" : "high", 1036 "fte" : "0.6", 1037 "salary" : "2000", 1038 "work from home" : "1" 1039 } 1040 } ], 1041 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"0.6\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 1042 "issuevalues" : { 1043 "lease car" : "no", 1044 "permanent contract" : "no", 1045 "career development opportunities" : "low", 1046 "fte" : "0.6", 1047 "salary" : "2000", 1048 "work from home" : "0" 1049 } 1050 }, { 1051 "issuevalues" : { 1052 "lease car" : "yes", 1053 "permanent contract" : "no", 1054 "career development opportunities" : "low", 1055 "fte" : "0.6", 1056 "salary" : "3500", 1057 "work from home" : "0" 1058 } 1059 }, { 1060 "issuevalues" : { 1061 "lease car" : "no", 1062 "permanent contract" : "no", 1063 "career development opportunities" : "low", 1064 "fte" : "1.0", 1065 "salary" : "2000", 1066 "work from home" : "1" 1067 } 1068 }, { 1069 "issuevalues" : { 1070 "lease car" : "no", 1071 "permanent contract" : "no", 1072 "career development opportunities" : "low", 1073 "fte" : "0.6", 1074 "salary" : "2000", 1075 "work from home" : "1" 1076 } 1077 }, { 1078 "issuevalues" : { 1079 "lease car" : "no", 1080 "permanent contract" : "no", 1081 "career development opportunities" : "medium", 1082 "fte" : "0.8", 1083 "salary" : "2000", 1084 "work from home" : "1" 1085 } 1086 } ], 1087 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 1088 "issuevalues" : { 1089 "lease car" : "no", 1090 "permanent contract" : "yes", 1091 "career development opportunities" : "high", 1092 "fte" : "1.0", 1093 "salary" : "2000", 1094 "work from home" : "2" 1095 } 1096 }, { 1097 "issuevalues" : { 1098 "lease car" : "yes", 1099 "permanent contract" : "no", 1100 "career development opportunities" : "low", 1101 "fte" : "0.6", 1102 "salary" : "3500", 1103 "work from home" : "0" 1104 } 1105 }, { 1106 "issuevalues" : { 1107 "lease car" : "no", 1108 "permanent contract" : "no", 1109 "career development opportunities" : "low", 1110 "fte" : "1.0", 1111 "salary" : "2000", 1112 "work from home" : "1" 1113 } 1114 }, { 1115 "issuevalues" : { 1116 "lease car" : "yes", 1117 "permanent contract" : "no", 1118 "career development opportunities" : "medium", 1119 "fte" : "1.0", 1120 "salary" : "3500", 1121 "work from home" : "1" 1122 } 1123 }, { 1124 "issuevalues" : { 1125 "lease car" : "no", 1126 "permanent contract" : "no", 1127 "career development opportunities" : "high", 1128 "fte" : "1.0", 1129 "salary" : "3000", 1130 "work from home" : "0" 1131 } 1132 }, { 1133 "issuevalues" : { 1134 "lease car" : "yes", 1135 "permanent contract" : "yes", 1136 "career development opportunities" : "medium", 1137 "fte" : "1.0", 1138 "salary" : "2500", 1139 "work from home" : "2" 1140 } 1141 }, { 1142 "issuevalues" : { 1143 "lease car" : "no", 1144 "permanent contract" : "no", 1145 "career development opportunities" : "low", 1146 "fte" : "0.6", 1147 "salary" : "2000", 1148 "work from home" : "1" 1149 } 1150 }, { 1151 "issuevalues" : { 1152 "lease car" : "yes", 1153 "permanent contract" : "no", 1154 "career development opportunities" : "high", 1155 "fte" : "1.0", 1156 "salary" : "3000", 1157 "work from home" : "1" 1158 } 1159 }, { 1160 "issuevalues" : { 1161 "lease car" : "yes", 1162 "permanent contract" : "no", 1163 "career development opportunities" : "high", 1164 "fte" : "0.8", 1165 "salary" : "3500", 1166 "work from home" : "1" 1167 } 1168 }, { 1169 "issuevalues" : { 1170 "lease car" : "no", 1171 "permanent contract" : "no", 1172 "career development opportunities" : "medium", 1173 "fte" : "0.8", 1174 "salary" : "2000", 1175 "work from home" : "1" 1176 } 1177 }, { 1178 "issuevalues" : { 1179 "lease car" : "yes", 1180 "permanent contract" : "yes", 1181 "career development opportunities" : "high", 1182 "fte" : "0.6", 1183 "salary" : "2000", 1184 "work from home" : "1" 1185 } 1186 }, { 1187 "issuevalues" : { 1188 "lease car" : "no", 1189 "permanent contract" : "no", 1190 "career development opportunities" : "low", 1191 "fte" : "0.6", 1192 "salary" : "2000", 1193 "work from home" : "0" 1194 } 1195 }, { 1196 "issuevalues" : { 1197 "lease car" : "yes", 1198 "permanent contract" : "yes", 1199 "career development opportunities" : "low", 1200 "fte" : "0.8", 1201 "salary" : "4000", 1202 "work from home" : "2" 1203 } 1204 }, { 1205 "issuevalues" : { 1206 "lease car" : "yes", 1207 "permanent contract" : "no", 1208 "career development opportunities" : "low", 1209 "fte" : "0.8", 1210 "salary" : "4000", 1211 "work from home" : "2" 1212 } 1213 }, { 1214 "issuevalues" : { 1215 "lease car" : "no", 1216 "permanent contract" : "no", 1217 "career development opportunities" : "high", 1218 "fte" : "0.6", 1219 "salary" : "3500", 1220 "work from home" : "1" 1221 } 1222 }, { 1223 "issuevalues" : { 1224 "lease car" : "yes", 1225 "permanent contract" : "no", 1226 "career development opportunities" : "high", 1227 "fte" : "1.0", 1228 "salary" : "4000", 1229 "work from home" : "2" 1230 } 1231 }, { 1232 "issuevalues" : { 1233 "lease car" : "yes", 1234 "permanent contract" : "yes", 1235 "career development opportunities" : "medium", 1236 "fte" : "0.8", 1237 "salary" : "2500", 1238 "work from home" : "1" 1239 } 1240 }, { 1241 "issuevalues" : { 1242 "lease car" : "yes", 1243 "permanent contract" : "yes", 1244 "career development opportunities" : "medium", 1245 "fte" : "0.8", 1246 "salary" : "2500", 1247 "work from home" : "2" 1248 } 1249 }, { 1250 "issuevalues" : { 1251 "lease car" : "no", 1252 "permanent contract" : "yes", 1253 "career development opportunities" : "low", 1254 "fte" : "1.0", 1255 "salary" : "3500", 1256 "work from home" : "0" 1257 } 1258 } ], 1259 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 1260 "issuevalues" : { 1261 "lease car" : "no", 1262 "permanent contract" : "yes", 1263 "career development opportunities" : "high", 1264 "fte" : "1.0", 1265 "salary" : "2000", 1266 "work from home" : "2" 1267 } 1268 }, { 1269 "issuevalues" : { 1270 "lease car" : "yes", 1271 "permanent contract" : "no", 1272 "career development opportunities" : "low", 1273 "fte" : "0.6", 1274 "salary" : "3500", 1275 "work from home" : "0" 1276 } 1277 }, { 1278 "issuevalues" : { 1279 "lease car" : "no", 1280 "permanent contract" : "no", 1281 "career development opportunities" : "low", 1282 "fte" : "1.0", 1283 "salary" : "2000", 1284 "work from home" : "1" 1285 } 1286 }, { 1287 "issuevalues" : { 1288 "lease car" : "yes", 1289 "permanent contract" : "no", 1290 "career development opportunities" : "medium", 1291 "fte" : "1.0", 1292 "salary" : "3500", 1293 "work from home" : "1" 1294 } 1295 }, { 1296 "issuevalues" : { 1297 "lease car" : "no", 1298 "permanent contract" : "no", 1299 "career development opportunities" : "high", 1300 "fte" : "1.0", 1301 "salary" : "3000", 1302 "work from home" : "0" 1303 } 1304 }, { 1305 "issuevalues" : { 1306 "lease car" : "yes", 1307 "permanent contract" : "yes", 1308 "career development opportunities" : "medium", 1309 "fte" : "1.0", 1310 "salary" : "2500", 1311 "work from home" : "2" 1312 } 1313 }, { 1314 "issuevalues" : { 1315 "lease car" : "no", 1316 "permanent contract" : "no", 1317 "career development opportunities" : "low", 1318 "fte" : "0.6", 1319 "salary" : "2000", 1320 "work from home" : "1" 1321 } 1322 }, { 1323 "issuevalues" : { 1324 "lease car" : "yes", 1325 "permanent contract" : "no", 1326 "career development opportunities" : "high", 1327 "fte" : "1.0", 1328 "salary" : "3000", 1329 "work from home" : "1" 1330 } 1331 }, { 1332 "issuevalues" : { 1333 "lease car" : "yes", 1334 "permanent contract" : "no", 1335 "career development opportunities" : "high", 1336 "fte" : "0.8", 1337 "salary" : "3500", 1338 "work from home" : "1" 1339 } 1340 }, { 1341 "issuevalues" : { 1342 "lease car" : "no", 1343 "permanent contract" : "no", 1344 "career development opportunities" : "medium", 1345 "fte" : "0.8", 1346 "salary" : "2000", 1347 "work from home" : "1" 1348 } 1349 }, { 1350 "issuevalues" : { 1351 "lease car" : "yes", 1352 "permanent contract" : "yes", 1353 "career development opportunities" : "high", 1354 "fte" : "0.6", 1355 "salary" : "2000", 1356 "work from home" : "1" 1357 } 1358 }, { 1359 "issuevalues" : { 1360 "lease car" : "no", 1361 "permanent contract" : "no", 1362 "career development opportunities" : "low", 1363 "fte" : "0.6", 1364 "salary" : "2000", 1365 "work from home" : "0" 1366 } 1367 }, { 1368 "issuevalues" : { 1369 "lease car" : "yes", 1370 "permanent contract" : "no", 1371 "career development opportunities" : "low", 1372 "fte" : "0.8", 1373 "salary" : "4000", 1374 "work from home" : "2" 1375 } 1376 }, { 1377 "issuevalues" : { 1378 "lease car" : "no", 1379 "permanent contract" : "no", 1380 "career development opportunities" : "high", 1381 "fte" : "0.6", 1382 "salary" : "3500", 1383 "work from home" : "1" 1384 } 1385 }, { 1386 "issuevalues" : { 1387 "lease car" : "yes", 1388 "permanent contract" : "yes", 1389 "career development opportunities" : "medium", 1390 "fte" : "0.8", 1391 "salary" : "2500", 1392 "work from home" : "1" 1393 } 1394 }, { 1395 "issuevalues" : { 1396 "lease car" : "yes", 1397 "permanent contract" : "yes", 1398 "career development opportunities" : "medium", 1399 "fte" : "0.8", 1400 "salary" : "2500", 1401 "work from home" : "2" 1402 } 1403 }, { 1404 "issuevalues" : { 1405 "lease car" : "no", 1406 "permanent contract" : "yes", 1407 "career development opportunities" : "low", 1408 "fte" : "1.0", 1409 "salary" : "3500", 1410 "work from home" : "0" 1411 } 1412 } ], 1413 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2500\",\"work from home\":\"1\"}}" : [ { 1414 "issuevalues" : { 1415 "lease car" : "no", 1416 "permanent contract" : "no", 1417 "career development opportunities" : "low", 1418 "fte" : "0.6", 1419 "salary" : "2000", 1420 "work from home" : "0" 1421 } 1422 }, { 1423 "issuevalues" : { 1424 "lease car" : "yes", 1425 "permanent contract" : "no", 1426 "career development opportunities" : "low", 1427 "fte" : "0.6", 1428 "salary" : "3500", 1429 "work from home" : "0" 1430 } 1431 }, { 1432 "issuevalues" : { 1433 "lease car" : "no", 1434 "permanent contract" : "no", 1435 "career development opportunities" : "high", 1436 "fte" : "0.6", 1437 "salary" : "3500", 1438 "work from home" : "1" 1439 } 1440 }, { 1441 "issuevalues" : { 1442 "lease car" : "no", 1443 "permanent contract" : "no", 1444 "career development opportunities" : "low", 1445 "fte" : "1.0", 1446 "salary" : "2000", 1447 "work from home" : "1" 1448 } 1449 }, { 1450 "issuevalues" : { 1451 "lease car" : "no", 1452 "permanent contract" : "no", 1453 "career development opportunities" : "high", 1454 "fte" : "1.0", 1455 "salary" : "3000", 1456 "work from home" : "0" 1457 } 1458 }, { 1459 "issuevalues" : { 1460 "lease car" : "no", 1461 "permanent contract" : "no", 1462 "career development opportunities" : "low", 1463 "fte" : "0.6", 1464 "salary" : "2000", 1465 "work from home" : "1" 1466 } 1467 }, { 1468 "issuevalues" : { 1469 "lease car" : "yes", 1470 "permanent contract" : "no", 1471 "career development opportunities" : "high", 1472 "fte" : "1.0", 1473 "salary" : "3000", 1474 "work from home" : "1" 1475 } 1476 }, { 1477 "issuevalues" : { 1478 "lease car" : "yes", 1479 "permanent contract" : "no", 1480 "career development opportunities" : "high", 1481 "fte" : "0.8", 1482 "salary" : "3500", 1483 "work from home" : "1" 1484 } 1485 }, { 1486 "issuevalues" : { 1487 "lease car" : "no", 1488 "permanent contract" : "no", 1489 "career development opportunities" : "medium", 1490 "fte" : "0.8", 1491 "salary" : "2000", 1492 "work from home" : "1" 1493 } 1494 }, { 1495 "issuevalues" : { 1496 "lease car" : "yes", 1497 "permanent contract" : "yes", 1498 "career development opportunities" : "high", 1499 "fte" : "0.6", 1500 "salary" : "2000", 1501 "work from home" : "1" 1502 } 1503 } ], 1504 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2500\",\"work from home\":\"2\"}}" : [ { 1505 "issuevalues" : { 1506 "lease car" : "no", 1507 "permanent contract" : "yes", 1508 "career development opportunities" : "high", 1509 "fte" : "1.0", 1510 "salary" : "2000", 1511 "work from home" : "2" 1512 } 1513 }, { 1514 "issuevalues" : { 1515 "lease car" : "no", 1516 "permanent contract" : "no", 1517 "career development opportunities" : "low", 1518 "fte" : "0.6", 1519 "salary" : "2000", 1520 "work from home" : "0" 1521 } 1522 }, { 1523 "issuevalues" : { 1524 "lease car" : "yes", 1525 "permanent contract" : "no", 1526 "career development opportunities" : "low", 1527 "fte" : "0.6", 1528 "salary" : "3500", 1529 "work from home" : "0" 1530 } 1531 }, { 1532 "issuevalues" : { 1533 "lease car" : "no", 1534 "permanent contract" : "no", 1535 "career development opportunities" : "high", 1536 "fte" : "0.6", 1537 "salary" : "3500", 1538 "work from home" : "1" 1539 } 1540 }, { 1541 "issuevalues" : { 1542 "lease car" : "no", 1543 "permanent contract" : "no", 1544 "career development opportunities" : "low", 1545 "fte" : "1.0", 1546 "salary" : "2000", 1547 "work from home" : "1" 1548 } 1549 }, { 1550 "issuevalues" : { 1551 "lease car" : "no", 1552 "permanent contract" : "no", 1553 "career development opportunities" : "high", 1554 "fte" : "1.0", 1555 "salary" : "3000", 1556 "work from home" : "0" 1557 } 1558 }, { 1559 "issuevalues" : { 1560 "lease car" : "yes", 1561 "permanent contract" : "yes", 1562 "career development opportunities" : "medium", 1563 "fte" : "0.8", 1564 "salary" : "2500", 1565 "work from home" : "1" 1566 } 1567 }, { 1568 "issuevalues" : { 1569 "lease car" : "no", 1570 "permanent contract" : "no", 1571 "career development opportunities" : "low", 1572 "fte" : "0.6", 1573 "salary" : "2000", 1574 "work from home" : "1" 1575 } 1576 }, { 1577 "issuevalues" : { 1578 "lease car" : "yes", 1579 "permanent contract" : "no", 1580 "career development opportunities" : "high", 1581 "fte" : "1.0", 1582 "salary" : "3000", 1583 "work from home" : "1" 1584 } 1585 }, { 1586 "issuevalues" : { 1587 "lease car" : "yes", 1588 "permanent contract" : "no", 1589 "career development opportunities" : "high", 1590 "fte" : "0.8", 1591 "salary" : "3500", 1592 "work from home" : "1" 1593 } 1594 }, { 1595 "issuevalues" : { 1596 "lease car" : "no", 1597 "permanent contract" : "no", 1598 "career development opportunities" : "medium", 1599 "fte" : "0.8", 1600 "salary" : "2000", 1601 "work from home" : "1" 1602 } 1603 }, { 1604 "issuevalues" : { 1605 "lease car" : "yes", 1606 "permanent contract" : "yes", 1607 "career development opportunities" : "high", 1608 "fte" : "0.6", 1609 "salary" : "2000", 1610 "work from home" : "1" 1611 } 1612 } ], 1613 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"yes\",\"career development opportunities\":\"low\",\"fte\":\"1.0\",\"salary\":\"3500\",\"work from home\":\"0\"}}" : [ { 1614 "issuevalues" : { 1615 "lease car" : "no", 1616 "permanent contract" : "yes", 1617 "career development opportunities" : "high", 1618 "fte" : "1.0", 1619 "salary" : "2000", 1620 "work from home" : "2" 1621 } 1622 }, { 1623 "issuevalues" : { 1624 "lease car" : "yes", 1625 "permanent contract" : "no", 1626 "career development opportunities" : "low", 1627 "fte" : "0.6", 1628 "salary" : "3500", 1629 "work from home" : "0" 1630 } 1631 }, { 1632 "issuevalues" : { 1633 "lease car" : "no", 1634 "permanent contract" : "no", 1635 "career development opportunities" : "low", 1636 "fte" : "1.0", 1637 "salary" : "2000", 1638 "work from home" : "1" 1639 } 1640 }, { 1641 "issuevalues" : { 1642 "lease car" : "yes", 1643 "permanent contract" : "no", 1644 "career development opportunities" : "medium", 1645 "fte" : "1.0", 1646 "salary" : "3500", 1647 "work from home" : "1" 1648 } 1649 }, { 1650 "issuevalues" : { 1651 "lease car" : "no", 1652 "permanent contract" : "no", 1653 "career development opportunities" : "high", 1654 "fte" : "1.0", 1655 "salary" : "3000", 1656 "work from home" : "0" 1657 } 1658 }, { 1659 "issuevalues" : { 1660 "lease car" : "no", 1661 "permanent contract" : "no", 1662 "career development opportunities" : "low", 1663 "fte" : "0.6", 1664 "salary" : "2000", 1665 "work from home" : "1" 1666 } 1667 }, { 1668 "issuevalues" : { 1669 "lease car" : "yes", 1670 "permanent contract" : "no", 1671 "career development opportunities" : "high", 1672 "fte" : "1.0", 1673 "salary" : "3000", 1674 "work from home" : "1" 1675 } 1676 }, { 1677 "issuevalues" : { 1678 "lease car" : "yes", 1679 "permanent contract" : "no", 1680 "career development opportunities" : "high", 1681 "fte" : "0.8", 1682 "salary" : "3500", 1683 "work from home" : "1" 1684 } 1685 }, { 1686 "issuevalues" : { 1687 "lease car" : "no", 1688 "permanent contract" : "no", 1689 "career development opportunities" : "medium", 1690 "fte" : "0.8", 1691 "salary" : "2000", 1692 "work from home" : "1" 1693 } 1694 }, { 1695 "issuevalues" : { 1696 "lease car" : "yes", 1697 "permanent contract" : "yes", 1698 "career development opportunities" : "high", 1699 "fte" : "0.6", 1700 "salary" : "2000", 1701 "work from home" : "1" 1702 } 1703 }, { 1704 "issuevalues" : { 1705 "lease car" : "no", 1706 "permanent contract" : "no", 1707 "career development opportunities" : "low", 1708 "fte" : "0.6", 1709 "salary" : "2000", 1710 "work from home" : "0" 1711 } 1712 }, { 1713 "issuevalues" : { 1714 "lease car" : "yes", 1715 "permanent contract" : "no", 1716 "career development opportunities" : "low", 1717 "fte" : "0.8", 1718 "salary" : "4000", 1719 "work from home" : "2" 1720 } 1721 }, { 1722 "issuevalues" : { 1723 "lease car" : "no", 1724 "permanent contract" : "no", 1725 "career development opportunities" : "high", 1726 "fte" : "0.6", 1727 "salary" : "3500", 1728 "work from home" : "1" 1729 } 1730 }, { 1731 "issuevalues" : { 1732 "lease car" : "yes", 1733 "permanent contract" : "yes", 1734 "career development opportunities" : "medium", 1735 "fte" : "0.8", 1736 "salary" : "2500", 1737 "work from home" : "1" 1738 } 1739 }, { 1740 "issuevalues" : { 1741 "lease car" : "yes", 1742 "permanent contract" : "yes", 1743 "career development opportunities" : "medium", 1744 "fte" : "0.8", 1745 "salary" : "2500", 1746 "work from home" : "2" 1747 } 1748 } ] 1749 }, 1750 "reservationbid" : { 1751 "issuevalues" : { 1752 "lease car" : "no", 1753 "permanent contract" : "yes", 1754 "career development opportunities" : "medium", 1755 "fte" : "0.8", 1756 "salary" : "3500", 1757 "work from home" : "1" 1758 } 1759 } 1760 } 1018 1761 } -
exampleparties/anac2019/winkyagent/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties.anac2019</groupId> 7 7 <artifactId>winkyagent</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 60 60 <groupId>tudelft.utilities</groupId> 61 61 <artifactId>utilities</artifactId> 62 <version>1. 2.1</version>62 <version>1.3.1</version> 63 63 </dependency> 64 64 -
exampleparties/anac2019/winkyagent/src/test/resources/jobs1partial20.json
r52 r53 1 1 { 2 "DefaultPartialOrdering": { 3 "name": "jobs1-partial-20", 4 "domain": { 5 "name": "jobs", 6 "issuesValues": { 7 "lease car": { 8 "values": [ 9 "yes", 10 "no" 11 ] 12 }, 13 "permanent contract": { 14 "values": [ 15 "yes", 16 "no" 17 ] 18 }, 19 "career development opportunities": { 20 "values": [ 21 "low", 22 "medium", 23 "high" 24 ] 25 }, 26 "fte": { 27 "values": [ 28 "0.6", 29 "0.8", 30 "1.0" 31 ] 32 }, 33 "salary": { 34 "values": [ 35 "2000", 36 "2500", 37 "3000", 38 "3500", 39 "4000" 40 ] 41 }, 42 "work from home": { 43 "values": [ 44 "0", 45 "1", 46 "2" 47 ] 48 } 49 } 50 }, 51 "reservationBid": { 52 "issuevalues": { 53 "lease car": "no", 54 "permanent contract": "no", 55 "career development opportunities": "medium", 56 "fte": "0.8", 57 "salary": "3000", 58 "work from home": "0" 59 } 60 }, 61 "bids": [ 62 { 63 "issuevalues": { 64 "lease car": "no", 65 "permanent contract": "no", 66 "career development opportunities": "low", 67 "fte": "1.0", 68 "salary": "3000", 69 "work from home": "1" 70 } 71 }, 72 { 73 "issuevalues": { 74 "lease car": "yes", 75 "permanent contract": "no", 76 "career development opportunities": "high", 77 "fte": "0.6", 78 "salary": "3500", 79 "work from home": "0" 80 } 81 }, 82 { 83 "issuevalues": { 84 "lease car": "no", 85 "permanent contract": "no", 86 "career development opportunities": "high", 87 "fte": "0.8", 88 "salary": "3000", 89 "work from home": "0" 90 } 91 }, 92 { 93 "issuevalues": { 94 "lease car": "yes", 95 "permanent contract": "no", 96 "career development opportunities": "low", 97 "fte": "0.6", 98 "salary": "3500", 99 "work from home": "0" 100 } 101 }, 102 { 103 "issuevalues": { 104 "lease car": "no", 105 "permanent contract": "yes", 106 "career development opportunities": "low", 107 "fte": "0.6", 108 "salary": "3000", 109 "work from home": "1" 110 } 111 }, 112 { 113 "issuevalues": { 114 "lease car": "yes", 115 "permanent contract": "yes", 116 "career development opportunities": "low", 117 "fte": "1.0", 118 "salary": "2000", 119 "work from home": "2" 120 } 121 }, 122 { 123 "issuevalues": { 124 "lease car": "no", 125 "permanent contract": "yes", 126 "career development opportunities": "low", 127 "fte": "0.8", 128 "salary": "2500", 129 "work from home": "1" 130 } 131 }, 132 { 133 "issuevalues": { 134 "lease car": "no", 135 "permanent contract": "yes", 136 "career development opportunities": "low", 137 "fte": "0.6", 138 "salary": "2000", 139 "work from home": "2" 140 } 141 }, 142 { 143 "issuevalues": { 144 "lease car": "yes", 145 "permanent contract": "no", 146 "career development opportunities": "medium", 147 "fte": "0.6", 148 "salary": "3500", 149 "work from home": "1" 150 } 151 }, 152 { 153 "issuevalues": { 154 "lease car": "yes", 155 "permanent contract": "yes", 156 "career development opportunities": "low", 157 "fte": "0.6", 158 "salary": "2000", 159 "work from home": "2" 160 } 161 }, 162 { 163 "issuevalues": { 164 "lease car": "yes", 165 "permanent contract": "yes", 166 "career development opportunities": "medium", 167 "fte": "0.6", 168 "salary": "2000", 169 "work from home": "0" 170 } 171 }, 172 { 173 "issuevalues": { 174 "lease car": "yes", 175 "permanent contract": "yes", 176 "career development opportunities": "medium", 177 "fte": "0.8", 178 "salary": "3500", 179 "work from home": "2" 180 } 181 }, 182 { 183 "issuevalues": { 184 "lease car": "no", 185 "permanent contract": "no", 186 "career development opportunities": "low", 187 "fte": "0.6", 188 "salary": "2000", 189 "work from home": "0" 190 } 191 }, 192 { 193 "issuevalues": { 194 "lease car": "no", 195 "permanent contract": "no", 196 "career development opportunities": "high", 197 "fte": "1.0", 198 "salary": "4000", 199 "work from home": "2" 200 } 201 }, 202 { 203 "issuevalues": { 204 "lease car": "yes", 205 "permanent contract": "yes", 206 "career development opportunities": "low", 207 "fte": "0.8", 208 "salary": "4000", 209 "work from home": "2" 210 } 211 }, 212 { 213 "issuevalues": { 214 "lease car": "yes", 215 "permanent contract": "no", 216 "career development opportunities": "medium", 217 "fte": "1.0", 218 "salary": "3500", 219 "work from home": "2" 220 } 221 }, 222 { 223 "issuevalues": { 224 "lease car": "no", 225 "permanent contract": "yes", 226 "career development opportunities": "high", 227 "fte": "0.8", 228 "salary": "2000", 229 "work from home": "1" 230 } 231 }, 232 { 233 "issuevalues": { 234 "lease car": "yes", 235 "permanent contract": "yes", 236 "career development opportunities": "low", 237 "fte": "1.0", 238 "salary": "2500", 239 "work from home": "1" 240 } 241 }, 242 { 243 "issuevalues": { 244 "lease car": "yes", 245 "permanent contract": "yes", 246 "career development opportunities": "high", 247 "fte": "1.0", 248 "salary": "4000", 249 "work from home": "2" 250 } 251 }, 252 { 253 "issuevalues": { 254 "lease car": "no", 255 "permanent contract": "yes", 256 "career development opportunities": "medium", 257 "fte": "0.8", 258 "salary": "2500", 259 "work from home": "1" 260 } 261 } 262 ], 263 "better": [ 264 [ 265 0, 266 12 267 ], 268 [ 269 0, 270 2 271 ], 272 [ 273 0, 274 3 275 ], 276 [ 277 0, 278 7 279 ], 280 [ 281 0, 282 10 283 ], 284 [ 285 1, 286 0 287 ], 288 [ 289 1, 290 12 291 ], 292 [ 293 1, 294 2 295 ], 296 [ 297 1, 298 3 299 ], 300 [ 301 1, 302 4 303 ], 304 [ 305 1, 306 7 307 ], 308 [ 309 1, 310 10 311 ], 312 [ 313 2, 314 12 315 ], 316 [ 317 3, 318 12 319 ], 320 [ 321 3, 322 2 323 ], 324 [ 325 3, 326 7 327 ], 328 [ 329 4, 330 12 331 ], 332 [ 333 4, 334 2 335 ], 336 [ 337 4, 338 3 339 ], 340 [ 341 4, 342 7 343 ], 344 [ 345 4, 346 10 347 ], 348 [ 349 5, 350 0 351 ], 352 [ 353 5, 354 1 355 ], 356 [ 357 5, 358 2 359 ], 360 [ 361 5, 362 3 363 ], 364 [ 365 5, 366 4 367 ], 368 [ 369 5, 370 6 371 ], 372 [ 373 5, 374 7 375 ], 376 [ 377 5, 378 8 379 ], 380 [ 381 5, 382 9 383 ], 384 [ 385 5, 386 10 387 ], 388 [ 389 5, 390 12 391 ], 392 [ 393 5, 394 16 395 ], 396 [ 397 5, 398 19 399 ], 400 [ 401 6, 402 0 403 ], 404 [ 405 6, 406 1 407 ], 408 [ 409 6, 410 12 411 ], 412 [ 413 6, 414 2 415 ], 416 [ 417 6, 418 3 419 ], 420 [ 421 6, 422 4 423 ], 424 [ 425 6, 426 16 427 ], 428 [ 429 6, 430 7 431 ], 432 [ 433 6, 434 8 435 ], 436 [ 437 6, 438 9 439 ], 440 [ 441 6, 442 10 443 ], 444 [ 445 7, 446 12 447 ], 448 [ 449 7, 450 2 451 ], 452 [ 453 8, 454 0 455 ], 456 [ 457 8, 458 1 459 ], 460 [ 461 8, 462 12 463 ], 464 [ 465 8, 466 2 467 ], 468 [ 469 8, 470 3 471 ], 472 [ 473 8, 474 4 475 ], 476 [ 477 8, 478 7 479 ], 480 [ 481 8, 482 9 483 ], 484 [ 485 8, 486 10 487 ], 488 [ 489 9, 490 0 491 ], 492 [ 493 9, 494 1 495 ], 496 [ 497 9, 498 12 499 ], 500 [ 501 9, 502 2 503 ], 504 [ 505 9, 506 3 507 ], 508 [ 509 9, 510 4 511 ], 512 [ 513 9, 514 7 515 ], 516 [ 517 9, 518 10 519 ], 520 [ 521 10, 522 12 523 ], 524 [ 525 10, 526 2 527 ], 528 [ 529 10, 530 7 531 ], 532 [ 533 11, 534 0 535 ], 536 [ 537 11, 538 1 539 ], 540 [ 541 11, 542 2 543 ], 544 [ 545 11, 546 3 547 ], 548 [ 549 11, 550 5 551 ], 552 [ 553 11, 554 4 555 ], 556 [ 557 11, 558 6 559 ], 560 [ 561 11, 562 7 563 ], 564 [ 565 11, 566 8 567 ], 568 [ 569 11, 570 9 571 ], 572 [ 573 11, 574 10 575 ], 576 [ 577 11, 578 12 579 ], 580 [ 581 11, 582 13 583 ], 584 [ 585 11, 586 15 587 ], 588 [ 589 11, 590 16 591 ], 592 [ 593 11, 594 17 595 ], 596 [ 597 11, 598 19 599 ], 600 [ 601 13, 602 0 603 ], 604 [ 605 13, 606 1 607 ], 608 [ 609 13, 610 2 611 ], 612 [ 613 13, 614 3 615 ], 616 [ 617 13, 618 5 619 ], 620 [ 621 13, 622 4 623 ], 624 [ 625 13, 626 6 627 ], 628 [ 629 13, 630 7 631 ], 632 [ 633 13, 634 8 635 ], 636 [ 637 13, 638 9 639 ], 640 [ 641 13, 642 10 643 ], 644 [ 645 13, 646 12 647 ], 648 [ 649 13, 650 15 651 ], 652 [ 653 13, 654 16 655 ], 656 [ 657 13, 658 17 659 ], 660 [ 661 13, 662 19 663 ], 664 [ 665 14, 666 0 667 ], 668 [ 669 14, 670 1 671 ], 672 [ 673 14, 674 2 675 ], 676 [ 677 14, 678 3 679 ], 680 [ 681 14, 682 5 683 ], 684 [ 685 14, 686 4 687 ], 688 [ 689 14, 690 6 691 ], 692 [ 693 14, 694 7 695 ], 696 [ 697 14, 698 8 699 ], 700 [ 701 14, 702 9 703 ], 704 [ 705 14, 706 10 707 ], 708 [ 709 14, 710 11 711 ], 712 [ 713 14, 714 12 715 ], 716 [ 717 14, 718 13 719 ], 720 [ 721 14, 722 15 723 ], 724 [ 725 14, 726 16 727 ], 728 [ 729 14, 730 17 731 ], 732 [ 733 14, 734 19 735 ], 736 [ 737 15, 738 0 739 ], 740 [ 741 15, 742 1 743 ], 744 [ 745 15, 746 2 747 ], 748 [ 749 15, 750 3 751 ], 752 [ 753 15, 754 5 755 ], 756 [ 757 15, 758 4 759 ], 760 [ 761 15, 762 6 763 ], 764 [ 765 15, 766 7 767 ], 768 [ 769 15, 770 8 771 ], 772 [ 773 15, 774 9 775 ], 776 [ 777 15, 778 10 779 ], 780 [ 781 15, 782 12 783 ], 784 [ 785 15, 786 16 787 ], 788 [ 789 15, 790 17 791 ], 792 [ 793 15, 794 19 795 ], 796 [ 797 16, 798 0 799 ], 800 [ 801 16, 802 1 803 ], 804 [ 805 16, 806 12 807 ], 808 [ 809 16, 810 2 811 ], 812 [ 813 16, 814 3 815 ], 816 [ 817 16, 818 4 819 ], 820 [ 821 16, 822 7 823 ], 824 [ 825 16, 826 8 827 ], 828 [ 829 16, 830 9 831 ], 832 [ 833 16, 834 10 835 ], 836 [ 837 17, 838 0 839 ], 840 [ 841 17, 842 1 843 ], 844 [ 845 17, 846 2 847 ], 848 [ 849 17, 850 3 851 ], 852 [ 853 17, 854 5 855 ], 856 [ 857 17, 858 4 859 ], 860 [ 861 17, 862 6 863 ], 864 [ 865 17, 866 7 867 ], 868 [ 869 17, 870 8 871 ], 872 [ 873 17, 874 9 875 ], 876 [ 877 17, 878 10 879 ], 880 [ 881 17, 882 12 883 ], 884 [ 885 17, 886 16 887 ], 888 [ 889 17, 890 19 891 ], 892 [ 893 18, 894 0 895 ], 896 [ 897 18, 898 1 899 ], 900 [ 901 18, 902 2 903 ], 904 [ 905 18, 906 3 907 ], 908 [ 909 18, 910 5 911 ], 912 [ 913 18, 914 4 915 ], 916 [ 917 18, 918 6 919 ], 920 [ 921 18, 922 7 923 ], 924 [ 925 18, 926 8 927 ], 928 [ 929 18, 930 9 931 ], 932 [ 933 18, 934 10 935 ], 936 [ 937 18, 938 11 939 ], 940 [ 941 18, 942 12 943 ], 944 [ 945 18, 946 13 947 ], 948 [ 949 18, 950 14 951 ], 952 [ 953 18, 954 15 955 ], 956 [ 957 18, 958 16 959 ], 960 [ 961 18, 962 17 963 ], 964 [ 965 18, 966 19 967 ], 968 [ 969 19, 970 0 971 ], 972 [ 973 19, 974 1 975 ], 976 [ 977 19, 978 12 979 ], 980 [ 981 19, 982 2 983 ], 984 [ 985 19, 986 3 987 ], 988 [ 989 19, 990 4 991 ], 992 [ 993 19, 994 6 995 ], 996 [ 997 19, 998 16 999 ], 1000 [ 1001 19, 1002 7 1003 ], 1004 [ 1005 19, 1006 8 1007 ], 1008 [ 1009 19, 1010 9 1011 ], 1012 [ 1013 19, 1014 10 1015 ] 1016 ] 1017 } 2 "DefaultPartialOrdering" : { 3 "name" : "jobs1-partial-20", 4 "domain" : { 5 "name" : "jobs", 6 "issuesValues" : { 7 "lease car" : { 8 "values" : [ "yes", "no" ] 9 }, 10 "permanent contract" : { 11 "values" : [ "yes", "no" ] 12 }, 13 "career development opportunities" : { 14 "values" : [ "low", "medium", "high" ] 15 }, 16 "fte" : { 17 "values" : [ "0.6", "0.8", "1.0" ] 18 }, 19 "salary" : { 20 "values" : [ "2000", "2500", "3000", "3500", "4000" ] 21 }, 22 "work from home" : { 23 "values" : [ "0", "1", "2" ] 24 } 25 } 26 }, 27 "better" : { 28 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"2000\",\"work from home\":\"2\"}}" : [ { 29 "issuevalues" : { 30 "lease car" : "no", 31 "permanent contract" : "no", 32 "career development opportunities" : "low", 33 "fte" : "0.6", 34 "salary" : "2000", 35 "work from home" : "0" 36 } 37 }, { 38 "issuevalues" : { 39 "lease car" : "yes", 40 "permanent contract" : "no", 41 "career development opportunities" : "low", 42 "fte" : "0.6", 43 "salary" : "3500", 44 "work from home" : "0" 45 } 46 }, { 47 "issuevalues" : { 48 "lease car" : "no", 49 "permanent contract" : "no", 50 "career development opportunities" : "high", 51 "fte" : "0.6", 52 "salary" : "3500", 53 "work from home" : "1" 54 } 55 }, { 56 "issuevalues" : { 57 "lease car" : "no", 58 "permanent contract" : "no", 59 "career development opportunities" : "low", 60 "fte" : "1.0", 61 "salary" : "2000", 62 "work from home" : "1" 63 } 64 }, { 65 "issuevalues" : { 66 "lease car" : "no", 67 "permanent contract" : "no", 68 "career development opportunities" : "high", 69 "fte" : "1.0", 70 "salary" : "3000", 71 "work from home" : "0" 72 } 73 }, { 74 "issuevalues" : { 75 "lease car" : "yes", 76 "permanent contract" : "yes", 77 "career development opportunities" : "medium", 78 "fte" : "0.8", 79 "salary" : "2500", 80 "work from home" : "1" 81 } 82 }, { 83 "issuevalues" : { 84 "lease car" : "no", 85 "permanent contract" : "no", 86 "career development opportunities" : "low", 87 "fte" : "0.6", 88 "salary" : "2000", 89 "work from home" : "1" 90 } 91 }, { 92 "issuevalues" : { 93 "lease car" : "yes", 94 "permanent contract" : "no", 95 "career development opportunities" : "high", 96 "fte" : "1.0", 97 "salary" : "3000", 98 "work from home" : "1" 99 } 100 }, { 101 "issuevalues" : { 102 "lease car" : "yes", 103 "permanent contract" : "no", 104 "career development opportunities" : "high", 105 "fte" : "0.8", 106 "salary" : "3500", 107 "work from home" : "1" 108 } 109 }, { 110 "issuevalues" : { 111 "lease car" : "no", 112 "permanent contract" : "no", 113 "career development opportunities" : "medium", 114 "fte" : "0.8", 115 "salary" : "2000", 116 "work from home" : "1" 117 } 118 }, { 119 "issuevalues" : { 120 "lease car" : "yes", 121 "permanent contract" : "yes", 122 "career development opportunities" : "high", 123 "fte" : "0.6", 124 "salary" : "2000", 125 "work from home" : "1" 126 } 127 } ], 128 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"3500\",\"work from home\":\"0\"}}" : [ { 129 "issuevalues" : { 130 "lease car" : "no", 131 "permanent contract" : "no", 132 "career development opportunities" : "low", 133 "fte" : "0.6", 134 "salary" : "2000", 135 "work from home" : "0" 136 } 137 }, { 138 "issuevalues" : { 139 "lease car" : "no", 140 "permanent contract" : "no", 141 "career development opportunities" : "low", 142 "fte" : "1.0", 143 "salary" : "2000", 144 "work from home" : "1" 145 } 146 }, { 147 "issuevalues" : { 148 "lease car" : "no", 149 "permanent contract" : "no", 150 "career development opportunities" : "low", 151 "fte" : "0.6", 152 "salary" : "2000", 153 "work from home" : "1" 154 } 155 }, { 156 "issuevalues" : { 157 "lease car" : "no", 158 "permanent contract" : "no", 159 "career development opportunities" : "medium", 160 "fte" : "0.8", 161 "salary" : "2000", 162 "work from home" : "1" 163 } 164 } ], 165 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"1.0\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 166 "issuevalues" : { 167 "lease car" : "no", 168 "permanent contract" : "no", 169 "career development opportunities" : "low", 170 "fte" : "0.6", 171 "salary" : "2000", 172 "work from home" : "0" 173 } 174 }, { 175 "issuevalues" : { 176 "lease car" : "no", 177 "permanent contract" : "no", 178 "career development opportunities" : "low", 179 "fte" : "0.6", 180 "salary" : "2000", 181 "work from home" : "1" 182 } 183 }, { 184 "issuevalues" : { 185 "lease car" : "no", 186 "permanent contract" : "no", 187 "career development opportunities" : "medium", 188 "fte" : "0.8", 189 "salary" : "2000", 190 "work from home" : "1" 191 } 192 } ], 193 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"medium\",\"fte\":\"1.0\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 194 "issuevalues" : { 195 "lease car" : "no", 196 "permanent contract" : "yes", 197 "career development opportunities" : "high", 198 "fte" : "1.0", 199 "salary" : "2000", 200 "work from home" : "2" 201 } 202 }, { 203 "issuevalues" : { 204 "lease car" : "yes", 205 "permanent contract" : "no", 206 "career development opportunities" : "low", 207 "fte" : "0.6", 208 "salary" : "3500", 209 "work from home" : "0" 210 } 211 }, { 212 "issuevalues" : { 213 "lease car" : "no", 214 "permanent contract" : "no", 215 "career development opportunities" : "low", 216 "fte" : "1.0", 217 "salary" : "2000", 218 "work from home" : "1" 219 } 220 }, { 221 "issuevalues" : { 222 "lease car" : "no", 223 "permanent contract" : "no", 224 "career development opportunities" : "high", 225 "fte" : "1.0", 226 "salary" : "3000", 227 "work from home" : "0" 228 } 229 }, { 230 "issuevalues" : { 231 "lease car" : "no", 232 "permanent contract" : "no", 233 "career development opportunities" : "low", 234 "fte" : "0.6", 235 "salary" : "2000", 236 "work from home" : "1" 237 } 238 }, { 239 "issuevalues" : { 240 "lease car" : "yes", 241 "permanent contract" : "no", 242 "career development opportunities" : "high", 243 "fte" : "1.0", 244 "salary" : "3000", 245 "work from home" : "1" 246 } 247 }, { 248 "issuevalues" : { 249 "lease car" : "yes", 250 "permanent contract" : "no", 251 "career development opportunities" : "high", 252 "fte" : "0.8", 253 "salary" : "3500", 254 "work from home" : "1" 255 } 256 }, { 257 "issuevalues" : { 258 "lease car" : "no", 259 "permanent contract" : "no", 260 "career development opportunities" : "medium", 261 "fte" : "0.8", 262 "salary" : "2000", 263 "work from home" : "1" 264 } 265 }, { 266 "issuevalues" : { 267 "lease car" : "yes", 268 "permanent contract" : "yes", 269 "career development opportunities" : "high", 270 "fte" : "0.6", 271 "salary" : "2000", 272 "work from home" : "1" 273 } 274 }, { 275 "issuevalues" : { 276 "lease car" : "no", 277 "permanent contract" : "no", 278 "career development opportunities" : "low", 279 "fte" : "0.6", 280 "salary" : "2000", 281 "work from home" : "0" 282 } 283 }, { 284 "issuevalues" : { 285 "lease car" : "yes", 286 "permanent contract" : "no", 287 "career development opportunities" : "low", 288 "fte" : "0.8", 289 "salary" : "4000", 290 "work from home" : "2" 291 } 292 }, { 293 "issuevalues" : { 294 "lease car" : "no", 295 "permanent contract" : "no", 296 "career development opportunities" : "high", 297 "fte" : "0.6", 298 "salary" : "3500", 299 "work from home" : "1" 300 } 301 }, { 302 "issuevalues" : { 303 "lease car" : "yes", 304 "permanent contract" : "yes", 305 "career development opportunities" : "medium", 306 "fte" : "0.8", 307 "salary" : "2500", 308 "work from home" : "1" 309 } 310 }, { 311 "issuevalues" : { 312 "lease car" : "yes", 313 "permanent contract" : "yes", 314 "career development opportunities" : "medium", 315 "fte" : "0.8", 316 "salary" : "2500", 317 "work from home" : "2" 318 } 319 } ], 320 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"3000\",\"work from home\":\"0\"}}" : [ { 321 "issuevalues" : { 322 "lease car" : "no", 323 "permanent contract" : "no", 324 "career development opportunities" : "low", 325 "fte" : "0.6", 326 "salary" : "2000", 327 "work from home" : "0" 328 } 329 }, { 330 "issuevalues" : { 331 "lease car" : "yes", 332 "permanent contract" : "no", 333 "career development opportunities" : "low", 334 "fte" : "0.6", 335 "salary" : "3500", 336 "work from home" : "0" 337 } 338 }, { 339 "issuevalues" : { 340 "lease car" : "no", 341 "permanent contract" : "no", 342 "career development opportunities" : "high", 343 "fte" : "0.6", 344 "salary" : "3500", 345 "work from home" : "1" 346 } 347 }, { 348 "issuevalues" : { 349 "lease car" : "no", 350 "permanent contract" : "no", 351 "career development opportunities" : "low", 352 "fte" : "1.0", 353 "salary" : "2000", 354 "work from home" : "1" 355 } 356 }, { 357 "issuevalues" : { 358 "lease car" : "no", 359 "permanent contract" : "no", 360 "career development opportunities" : "low", 361 "fte" : "0.6", 362 "salary" : "2000", 363 "work from home" : "1" 364 } 365 }, { 366 "issuevalues" : { 367 "lease car" : "no", 368 "permanent contract" : "no", 369 "career development opportunities" : "medium", 370 "fte" : "0.8", 371 "salary" : "2000", 372 "work from home" : "1" 373 } 374 } ], 375 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"1.0\",\"salary\":\"2500\",\"work from home\":\"2\"}}" : [ { 376 "issuevalues" : { 377 "lease car" : "no", 378 "permanent contract" : "yes", 379 "career development opportunities" : "high", 380 "fte" : "1.0", 381 "salary" : "2000", 382 "work from home" : "2" 383 } 384 }, { 385 "issuevalues" : { 386 "lease car" : "yes", 387 "permanent contract" : "no", 388 "career development opportunities" : "low", 389 "fte" : "0.6", 390 "salary" : "3500", 391 "work from home" : "0" 392 } 393 }, { 394 "issuevalues" : { 395 "lease car" : "no", 396 "permanent contract" : "no", 397 "career development opportunities" : "low", 398 "fte" : "1.0", 399 "salary" : "2000", 400 "work from home" : "1" 401 } 402 }, { 403 "issuevalues" : { 404 "lease car" : "yes", 405 "permanent contract" : "no", 406 "career development opportunities" : "medium", 407 "fte" : "1.0", 408 "salary" : "3500", 409 "work from home" : "1" 410 } 411 }, { 412 "issuevalues" : { 413 "lease car" : "no", 414 "permanent contract" : "no", 415 "career development opportunities" : "high", 416 "fte" : "1.0", 417 "salary" : "3000", 418 "work from home" : "0" 419 } 420 }, { 421 "issuevalues" : { 422 "lease car" : "no", 423 "permanent contract" : "no", 424 "career development opportunities" : "low", 425 "fte" : "0.6", 426 "salary" : "2000", 427 "work from home" : "1" 428 } 429 }, { 430 "issuevalues" : { 431 "lease car" : "yes", 432 "permanent contract" : "no", 433 "career development opportunities" : "high", 434 "fte" : "1.0", 435 "salary" : "3000", 436 "work from home" : "1" 437 } 438 }, { 439 "issuevalues" : { 440 "lease car" : "yes", 441 "permanent contract" : "no", 442 "career development opportunities" : "high", 443 "fte" : "0.8", 444 "salary" : "3500", 445 "work from home" : "1" 446 } 447 }, { 448 "issuevalues" : { 449 "lease car" : "no", 450 "permanent contract" : "no", 451 "career development opportunities" : "medium", 452 "fte" : "0.8", 453 "salary" : "2000", 454 "work from home" : "1" 455 } 456 }, { 457 "issuevalues" : { 458 "lease car" : "yes", 459 "permanent contract" : "yes", 460 "career development opportunities" : "high", 461 "fte" : "0.6", 462 "salary" : "2000", 463 "work from home" : "1" 464 } 465 }, { 466 "issuevalues" : { 467 "lease car" : "no", 468 "permanent contract" : "no", 469 "career development opportunities" : "low", 470 "fte" : "0.6", 471 "salary" : "2000", 472 "work from home" : "0" 473 } 474 }, { 475 "issuevalues" : { 476 "lease car" : "yes", 477 "permanent contract" : "no", 478 "career development opportunities" : "low", 479 "fte" : "0.8", 480 "salary" : "4000", 481 "work from home" : "2" 482 } 483 }, { 484 "issuevalues" : { 485 "lease car" : "no", 486 "permanent contract" : "no", 487 "career development opportunities" : "high", 488 "fte" : "0.6", 489 "salary" : "3500", 490 "work from home" : "1" 491 } 492 }, { 493 "issuevalues" : { 494 "lease car" : "yes", 495 "permanent contract" : "yes", 496 "career development opportunities" : "medium", 497 "fte" : "0.8", 498 "salary" : "2500", 499 "work from home" : "1" 500 } 501 }, { 502 "issuevalues" : { 503 "lease car" : "yes", 504 "permanent contract" : "yes", 505 "career development opportunities" : "medium", 506 "fte" : "0.8", 507 "salary" : "2500", 508 "work from home" : "2" 509 } 510 }, { 511 "issuevalues" : { 512 "lease car" : "no", 513 "permanent contract" : "yes", 514 "career development opportunities" : "low", 515 "fte" : "1.0", 516 "salary" : "3500", 517 "work from home" : "0" 518 } 519 } ], 520 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 521 "issuevalues" : { 522 "lease car" : "no", 523 "permanent contract" : "no", 524 "career development opportunities" : "low", 525 "fte" : "0.6", 526 "salary" : "2000", 527 "work from home" : "0" 528 } 529 } ], 530 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"3000\",\"work from home\":\"1\"}}" : [ { 531 "issuevalues" : { 532 "lease car" : "no", 533 "permanent contract" : "no", 534 "career development opportunities" : "low", 535 "fte" : "0.6", 536 "salary" : "2000", 537 "work from home" : "0" 538 } 539 }, { 540 "issuevalues" : { 541 "lease car" : "yes", 542 "permanent contract" : "no", 543 "career development opportunities" : "low", 544 "fte" : "0.6", 545 "salary" : "3500", 546 "work from home" : "0" 547 } 548 }, { 549 "issuevalues" : { 550 "lease car" : "no", 551 "permanent contract" : "no", 552 "career development opportunities" : "high", 553 "fte" : "0.6", 554 "salary" : "3500", 555 "work from home" : "1" 556 } 557 }, { 558 "issuevalues" : { 559 "lease car" : "no", 560 "permanent contract" : "no", 561 "career development opportunities" : "low", 562 "fte" : "1.0", 563 "salary" : "2000", 564 "work from home" : "1" 565 } 566 }, { 567 "issuevalues" : { 568 "lease car" : "no", 569 "permanent contract" : "no", 570 "career development opportunities" : "high", 571 "fte" : "1.0", 572 "salary" : "3000", 573 "work from home" : "0" 574 } 575 }, { 576 "issuevalues" : { 577 "lease car" : "no", 578 "permanent contract" : "no", 579 "career development opportunities" : "low", 580 "fte" : "0.6", 581 "salary" : "2000", 582 "work from home" : "1" 583 } 584 }, { 585 "issuevalues" : { 586 "lease car" : "no", 587 "permanent contract" : "no", 588 "career development opportunities" : "medium", 589 "fte" : "0.8", 590 "salary" : "2000", 591 "work from home" : "1" 592 } 593 }, { 594 "issuevalues" : { 595 "lease car" : "yes", 596 "permanent contract" : "yes", 597 "career development opportunities" : "high", 598 "fte" : "0.6", 599 "salary" : "2000", 600 "work from home" : "1" 601 } 602 } ], 603 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"0.8\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 604 "issuevalues" : { 605 "lease car" : "no", 606 "permanent contract" : "no", 607 "career development opportunities" : "low", 608 "fte" : "0.6", 609 "salary" : "2000", 610 "work from home" : "0" 611 } 612 }, { 613 "issuevalues" : { 614 "lease car" : "yes", 615 "permanent contract" : "no", 616 "career development opportunities" : "low", 617 "fte" : "0.6", 618 "salary" : "3500", 619 "work from home" : "0" 620 } 621 }, { 622 "issuevalues" : { 623 "lease car" : "no", 624 "permanent contract" : "no", 625 "career development opportunities" : "high", 626 "fte" : "0.6", 627 "salary" : "3500", 628 "work from home" : "1" 629 } 630 }, { 631 "issuevalues" : { 632 "lease car" : "no", 633 "permanent contract" : "no", 634 "career development opportunities" : "low", 635 "fte" : "1.0", 636 "salary" : "2000", 637 "work from home" : "1" 638 } 639 }, { 640 "issuevalues" : { 641 "lease car" : "no", 642 "permanent contract" : "no", 643 "career development opportunities" : "high", 644 "fte" : "1.0", 645 "salary" : "3000", 646 "work from home" : "0" 647 } 648 }, { 649 "issuevalues" : { 650 "lease car" : "no", 651 "permanent contract" : "no", 652 "career development opportunities" : "low", 653 "fte" : "0.6", 654 "salary" : "2000", 655 "work from home" : "1" 656 } 657 }, { 658 "issuevalues" : { 659 "lease car" : "yes", 660 "permanent contract" : "no", 661 "career development opportunities" : "high", 662 "fte" : "1.0", 663 "salary" : "3000", 664 "work from home" : "1" 665 } 666 }, { 667 "issuevalues" : { 668 "lease car" : "no", 669 "permanent contract" : "no", 670 "career development opportunities" : "medium", 671 "fte" : "0.8", 672 "salary" : "2000", 673 "work from home" : "1" 674 } 675 }, { 676 "issuevalues" : { 677 "lease car" : "yes", 678 "permanent contract" : "yes", 679 "career development opportunities" : "high", 680 "fte" : "0.6", 681 "salary" : "2000", 682 "work from home" : "1" 683 } 684 } ], 685 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 686 "issuevalues" : { 687 "lease car" : "no", 688 "permanent contract" : "no", 689 "career development opportunities" : "low", 690 "fte" : "0.6", 691 "salary" : "2000", 692 "work from home" : "0" 693 } 694 }, { 695 "issuevalues" : { 696 "lease car" : "no", 697 "permanent contract" : "no", 698 "career development opportunities" : "low", 699 "fte" : "0.6", 700 "salary" : "2000", 701 "work from home" : "1" 702 } 703 } ], 704 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 705 "issuevalues" : { 706 "lease car" : "no", 707 "permanent contract" : "no", 708 "career development opportunities" : "low", 709 "fte" : "0.6", 710 "salary" : "2000", 711 "work from home" : "0" 712 } 713 }, { 714 "issuevalues" : { 715 "lease car" : "yes", 716 "permanent contract" : "no", 717 "career development opportunities" : "low", 718 "fte" : "0.6", 719 "salary" : "3500", 720 "work from home" : "0" 721 } 722 }, { 723 "issuevalues" : { 724 "lease car" : "no", 725 "permanent contract" : "no", 726 "career development opportunities" : "high", 727 "fte" : "0.6", 728 "salary" : "3500", 729 "work from home" : "1" 730 } 731 }, { 732 "issuevalues" : { 733 "lease car" : "no", 734 "permanent contract" : "no", 735 "career development opportunities" : "low", 736 "fte" : "1.0", 737 "salary" : "2000", 738 "work from home" : "1" 739 } 740 }, { 741 "issuevalues" : { 742 "lease car" : "no", 743 "permanent contract" : "no", 744 "career development opportunities" : "high", 745 "fte" : "1.0", 746 "salary" : "3000", 747 "work from home" : "0" 748 } 749 }, { 750 "issuevalues" : { 751 "lease car" : "no", 752 "permanent contract" : "no", 753 "career development opportunities" : "low", 754 "fte" : "0.6", 755 "salary" : "2000", 756 "work from home" : "1" 757 } 758 }, { 759 "issuevalues" : { 760 "lease car" : "no", 761 "permanent contract" : "no", 762 "career development opportunities" : "medium", 763 "fte" : "0.8", 764 "salary" : "2000", 765 "work from home" : "1" 766 } 767 } ], 768 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"0\"}}" : [ ], 769 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"low\",\"fte\":\"0.8\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 770 "issuevalues" : { 771 "lease car" : "no", 772 "permanent contract" : "yes", 773 "career development opportunities" : "high", 774 "fte" : "1.0", 775 "salary" : "2000", 776 "work from home" : "2" 777 } 778 }, { 779 "issuevalues" : { 780 "lease car" : "yes", 781 "permanent contract" : "no", 782 "career development opportunities" : "low", 783 "fte" : "0.6", 784 "salary" : "3500", 785 "work from home" : "0" 786 } 787 }, { 788 "issuevalues" : { 789 "lease car" : "no", 790 "permanent contract" : "no", 791 "career development opportunities" : "low", 792 "fte" : "1.0", 793 "salary" : "2000", 794 "work from home" : "1" 795 } 796 }, { 797 "issuevalues" : { 798 "lease car" : "yes", 799 "permanent contract" : "no", 800 "career development opportunities" : "medium", 801 "fte" : "1.0", 802 "salary" : "3500", 803 "work from home" : "1" 804 } 805 }, { 806 "issuevalues" : { 807 "lease car" : "no", 808 "permanent contract" : "no", 809 "career development opportunities" : "high", 810 "fte" : "1.0", 811 "salary" : "3000", 812 "work from home" : "0" 813 } 814 }, { 815 "issuevalues" : { 816 "lease car" : "yes", 817 "permanent contract" : "yes", 818 "career development opportunities" : "medium", 819 "fte" : "1.0", 820 "salary" : "2500", 821 "work from home" : "2" 822 } 823 }, { 824 "issuevalues" : { 825 "lease car" : "no", 826 "permanent contract" : "no", 827 "career development opportunities" : "low", 828 "fte" : "0.6", 829 "salary" : "2000", 830 "work from home" : "1" 831 } 832 }, { 833 "issuevalues" : { 834 "lease car" : "yes", 835 "permanent contract" : "no", 836 "career development opportunities" : "high", 837 "fte" : "1.0", 838 "salary" : "3000", 839 "work from home" : "1" 840 } 841 }, { 842 "issuevalues" : { 843 "lease car" : "yes", 844 "permanent contract" : "no", 845 "career development opportunities" : "high", 846 "fte" : "0.8", 847 "salary" : "3500", 848 "work from home" : "1" 849 } 850 }, { 851 "issuevalues" : { 852 "lease car" : "no", 853 "permanent contract" : "no", 854 "career development opportunities" : "medium", 855 "fte" : "0.8", 856 "salary" : "2000", 857 "work from home" : "1" 858 } 859 }, { 860 "issuevalues" : { 861 "lease car" : "yes", 862 "permanent contract" : "yes", 863 "career development opportunities" : "high", 864 "fte" : "0.6", 865 "salary" : "2000", 866 "work from home" : "1" 867 } 868 }, { 869 "issuevalues" : { 870 "lease car" : "no", 871 "permanent contract" : "no", 872 "career development opportunities" : "low", 873 "fte" : "0.6", 874 "salary" : "2000", 875 "work from home" : "0" 876 } 877 }, { 878 "issuevalues" : { 879 "lease car" : "yes", 880 "permanent contract" : "no", 881 "career development opportunities" : "low", 882 "fte" : "0.8", 883 "salary" : "4000", 884 "work from home" : "2" 885 } 886 }, { 887 "issuevalues" : { 888 "lease car" : "no", 889 "permanent contract" : "no", 890 "career development opportunities" : "high", 891 "fte" : "0.6", 892 "salary" : "3500", 893 "work from home" : "1" 894 } 895 }, { 896 "issuevalues" : { 897 "lease car" : "yes", 898 "permanent contract" : "no", 899 "career development opportunities" : "high", 900 "fte" : "1.0", 901 "salary" : "4000", 902 "work from home" : "2" 903 } 904 }, { 905 "issuevalues" : { 906 "lease car" : "yes", 907 "permanent contract" : "yes", 908 "career development opportunities" : "medium", 909 "fte" : "0.8", 910 "salary" : "2500", 911 "work from home" : "1" 912 } 913 }, { 914 "issuevalues" : { 915 "lease car" : "yes", 916 "permanent contract" : "yes", 917 "career development opportunities" : "medium", 918 "fte" : "0.8", 919 "salary" : "2500", 920 "work from home" : "2" 921 } 922 }, { 923 "issuevalues" : { 924 "lease car" : "no", 925 "permanent contract" : "yes", 926 "career development opportunities" : "low", 927 "fte" : "1.0", 928 "salary" : "3500", 929 "work from home" : "0" 930 } 931 } ], 932 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.8\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 933 "issuevalues" : { 934 "lease car" : "no", 935 "permanent contract" : "yes", 936 "career development opportunities" : "high", 937 "fte" : "1.0", 938 "salary" : "2000", 939 "work from home" : "2" 940 } 941 }, { 942 "issuevalues" : { 943 "lease car" : "no", 944 "permanent contract" : "no", 945 "career development opportunities" : "low", 946 "fte" : "0.6", 947 "salary" : "2000", 948 "work from home" : "0" 949 } 950 }, { 951 "issuevalues" : { 952 "lease car" : "yes", 953 "permanent contract" : "no", 954 "career development opportunities" : "low", 955 "fte" : "0.6", 956 "salary" : "3500", 957 "work from home" : "0" 958 } 959 }, { 960 "issuevalues" : { 961 "lease car" : "no", 962 "permanent contract" : "no", 963 "career development opportunities" : "high", 964 "fte" : "0.6", 965 "salary" : "3500", 966 "work from home" : "1" 967 } 968 }, { 969 "issuevalues" : { 970 "lease car" : "no", 971 "permanent contract" : "no", 972 "career development opportunities" : "low", 973 "fte" : "1.0", 974 "salary" : "2000", 975 "work from home" : "1" 976 } 977 }, { 978 "issuevalues" : { 979 "lease car" : "no", 980 "permanent contract" : "no", 981 "career development opportunities" : "high", 982 "fte" : "1.0", 983 "salary" : "3000", 984 "work from home" : "0" 985 } 986 }, { 987 "issuevalues" : { 988 "lease car" : "yes", 989 "permanent contract" : "yes", 990 "career development opportunities" : "medium", 991 "fte" : "0.8", 992 "salary" : "2500", 993 "work from home" : "1" 994 } 995 }, { 996 "issuevalues" : { 997 "lease car" : "no", 998 "permanent contract" : "no", 999 "career development opportunities" : "low", 1000 "fte" : "0.6", 1001 "salary" : "2000", 1002 "work from home" : "1" 1003 } 1004 }, { 1005 "issuevalues" : { 1006 "lease car" : "yes", 1007 "permanent contract" : "no", 1008 "career development opportunities" : "high", 1009 "fte" : "1.0", 1010 "salary" : "3000", 1011 "work from home" : "1" 1012 } 1013 }, { 1014 "issuevalues" : { 1015 "lease car" : "yes", 1016 "permanent contract" : "no", 1017 "career development opportunities" : "high", 1018 "fte" : "0.8", 1019 "salary" : "3500", 1020 "work from home" : "1" 1021 } 1022 }, { 1023 "issuevalues" : { 1024 "lease car" : "no", 1025 "permanent contract" : "no", 1026 "career development opportunities" : "medium", 1027 "fte" : "0.8", 1028 "salary" : "2000", 1029 "work from home" : "1" 1030 } 1031 }, { 1032 "issuevalues" : { 1033 "lease car" : "yes", 1034 "permanent contract" : "yes", 1035 "career development opportunities" : "high", 1036 "fte" : "0.6", 1037 "salary" : "2000", 1038 "work from home" : "1" 1039 } 1040 } ], 1041 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"0.6\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 1042 "issuevalues" : { 1043 "lease car" : "no", 1044 "permanent contract" : "no", 1045 "career development opportunities" : "low", 1046 "fte" : "0.6", 1047 "salary" : "2000", 1048 "work from home" : "0" 1049 } 1050 }, { 1051 "issuevalues" : { 1052 "lease car" : "yes", 1053 "permanent contract" : "no", 1054 "career development opportunities" : "low", 1055 "fte" : "0.6", 1056 "salary" : "3500", 1057 "work from home" : "0" 1058 } 1059 }, { 1060 "issuevalues" : { 1061 "lease car" : "no", 1062 "permanent contract" : "no", 1063 "career development opportunities" : "low", 1064 "fte" : "1.0", 1065 "salary" : "2000", 1066 "work from home" : "1" 1067 } 1068 }, { 1069 "issuevalues" : { 1070 "lease car" : "no", 1071 "permanent contract" : "no", 1072 "career development opportunities" : "low", 1073 "fte" : "0.6", 1074 "salary" : "2000", 1075 "work from home" : "1" 1076 } 1077 }, { 1078 "issuevalues" : { 1079 "lease car" : "no", 1080 "permanent contract" : "no", 1081 "career development opportunities" : "medium", 1082 "fte" : "0.8", 1083 "salary" : "2000", 1084 "work from home" : "1" 1085 } 1086 } ], 1087 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 1088 "issuevalues" : { 1089 "lease car" : "no", 1090 "permanent contract" : "yes", 1091 "career development opportunities" : "high", 1092 "fte" : "1.0", 1093 "salary" : "2000", 1094 "work from home" : "2" 1095 } 1096 }, { 1097 "issuevalues" : { 1098 "lease car" : "yes", 1099 "permanent contract" : "no", 1100 "career development opportunities" : "low", 1101 "fte" : "0.6", 1102 "salary" : "3500", 1103 "work from home" : "0" 1104 } 1105 }, { 1106 "issuevalues" : { 1107 "lease car" : "no", 1108 "permanent contract" : "no", 1109 "career development opportunities" : "low", 1110 "fte" : "1.0", 1111 "salary" : "2000", 1112 "work from home" : "1" 1113 } 1114 }, { 1115 "issuevalues" : { 1116 "lease car" : "yes", 1117 "permanent contract" : "no", 1118 "career development opportunities" : "medium", 1119 "fte" : "1.0", 1120 "salary" : "3500", 1121 "work from home" : "1" 1122 } 1123 }, { 1124 "issuevalues" : { 1125 "lease car" : "no", 1126 "permanent contract" : "no", 1127 "career development opportunities" : "high", 1128 "fte" : "1.0", 1129 "salary" : "3000", 1130 "work from home" : "0" 1131 } 1132 }, { 1133 "issuevalues" : { 1134 "lease car" : "yes", 1135 "permanent contract" : "yes", 1136 "career development opportunities" : "medium", 1137 "fte" : "1.0", 1138 "salary" : "2500", 1139 "work from home" : "2" 1140 } 1141 }, { 1142 "issuevalues" : { 1143 "lease car" : "no", 1144 "permanent contract" : "no", 1145 "career development opportunities" : "low", 1146 "fte" : "0.6", 1147 "salary" : "2000", 1148 "work from home" : "1" 1149 } 1150 }, { 1151 "issuevalues" : { 1152 "lease car" : "yes", 1153 "permanent contract" : "no", 1154 "career development opportunities" : "high", 1155 "fte" : "1.0", 1156 "salary" : "3000", 1157 "work from home" : "1" 1158 } 1159 }, { 1160 "issuevalues" : { 1161 "lease car" : "yes", 1162 "permanent contract" : "no", 1163 "career development opportunities" : "high", 1164 "fte" : "0.8", 1165 "salary" : "3500", 1166 "work from home" : "1" 1167 } 1168 }, { 1169 "issuevalues" : { 1170 "lease car" : "no", 1171 "permanent contract" : "no", 1172 "career development opportunities" : "medium", 1173 "fte" : "0.8", 1174 "salary" : "2000", 1175 "work from home" : "1" 1176 } 1177 }, { 1178 "issuevalues" : { 1179 "lease car" : "yes", 1180 "permanent contract" : "yes", 1181 "career development opportunities" : "high", 1182 "fte" : "0.6", 1183 "salary" : "2000", 1184 "work from home" : "1" 1185 } 1186 }, { 1187 "issuevalues" : { 1188 "lease car" : "no", 1189 "permanent contract" : "no", 1190 "career development opportunities" : "low", 1191 "fte" : "0.6", 1192 "salary" : "2000", 1193 "work from home" : "0" 1194 } 1195 }, { 1196 "issuevalues" : { 1197 "lease car" : "yes", 1198 "permanent contract" : "yes", 1199 "career development opportunities" : "low", 1200 "fte" : "0.8", 1201 "salary" : "4000", 1202 "work from home" : "2" 1203 } 1204 }, { 1205 "issuevalues" : { 1206 "lease car" : "yes", 1207 "permanent contract" : "no", 1208 "career development opportunities" : "low", 1209 "fte" : "0.8", 1210 "salary" : "4000", 1211 "work from home" : "2" 1212 } 1213 }, { 1214 "issuevalues" : { 1215 "lease car" : "no", 1216 "permanent contract" : "no", 1217 "career development opportunities" : "high", 1218 "fte" : "0.6", 1219 "salary" : "3500", 1220 "work from home" : "1" 1221 } 1222 }, { 1223 "issuevalues" : { 1224 "lease car" : "yes", 1225 "permanent contract" : "no", 1226 "career development opportunities" : "high", 1227 "fte" : "1.0", 1228 "salary" : "4000", 1229 "work from home" : "2" 1230 } 1231 }, { 1232 "issuevalues" : { 1233 "lease car" : "yes", 1234 "permanent contract" : "yes", 1235 "career development opportunities" : "medium", 1236 "fte" : "0.8", 1237 "salary" : "2500", 1238 "work from home" : "1" 1239 } 1240 }, { 1241 "issuevalues" : { 1242 "lease car" : "yes", 1243 "permanent contract" : "yes", 1244 "career development opportunities" : "medium", 1245 "fte" : "0.8", 1246 "salary" : "2500", 1247 "work from home" : "2" 1248 } 1249 }, { 1250 "issuevalues" : { 1251 "lease car" : "no", 1252 "permanent contract" : "yes", 1253 "career development opportunities" : "low", 1254 "fte" : "1.0", 1255 "salary" : "3500", 1256 "work from home" : "0" 1257 } 1258 } ], 1259 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 1260 "issuevalues" : { 1261 "lease car" : "no", 1262 "permanent contract" : "yes", 1263 "career development opportunities" : "high", 1264 "fte" : "1.0", 1265 "salary" : "2000", 1266 "work from home" : "2" 1267 } 1268 }, { 1269 "issuevalues" : { 1270 "lease car" : "yes", 1271 "permanent contract" : "no", 1272 "career development opportunities" : "low", 1273 "fte" : "0.6", 1274 "salary" : "3500", 1275 "work from home" : "0" 1276 } 1277 }, { 1278 "issuevalues" : { 1279 "lease car" : "no", 1280 "permanent contract" : "no", 1281 "career development opportunities" : "low", 1282 "fte" : "1.0", 1283 "salary" : "2000", 1284 "work from home" : "1" 1285 } 1286 }, { 1287 "issuevalues" : { 1288 "lease car" : "yes", 1289 "permanent contract" : "no", 1290 "career development opportunities" : "medium", 1291 "fte" : "1.0", 1292 "salary" : "3500", 1293 "work from home" : "1" 1294 } 1295 }, { 1296 "issuevalues" : { 1297 "lease car" : "no", 1298 "permanent contract" : "no", 1299 "career development opportunities" : "high", 1300 "fte" : "1.0", 1301 "salary" : "3000", 1302 "work from home" : "0" 1303 } 1304 }, { 1305 "issuevalues" : { 1306 "lease car" : "yes", 1307 "permanent contract" : "yes", 1308 "career development opportunities" : "medium", 1309 "fte" : "1.0", 1310 "salary" : "2500", 1311 "work from home" : "2" 1312 } 1313 }, { 1314 "issuevalues" : { 1315 "lease car" : "no", 1316 "permanent contract" : "no", 1317 "career development opportunities" : "low", 1318 "fte" : "0.6", 1319 "salary" : "2000", 1320 "work from home" : "1" 1321 } 1322 }, { 1323 "issuevalues" : { 1324 "lease car" : "yes", 1325 "permanent contract" : "no", 1326 "career development opportunities" : "high", 1327 "fte" : "1.0", 1328 "salary" : "3000", 1329 "work from home" : "1" 1330 } 1331 }, { 1332 "issuevalues" : { 1333 "lease car" : "yes", 1334 "permanent contract" : "no", 1335 "career development opportunities" : "high", 1336 "fte" : "0.8", 1337 "salary" : "3500", 1338 "work from home" : "1" 1339 } 1340 }, { 1341 "issuevalues" : { 1342 "lease car" : "no", 1343 "permanent contract" : "no", 1344 "career development opportunities" : "medium", 1345 "fte" : "0.8", 1346 "salary" : "2000", 1347 "work from home" : "1" 1348 } 1349 }, { 1350 "issuevalues" : { 1351 "lease car" : "yes", 1352 "permanent contract" : "yes", 1353 "career development opportunities" : "high", 1354 "fte" : "0.6", 1355 "salary" : "2000", 1356 "work from home" : "1" 1357 } 1358 }, { 1359 "issuevalues" : { 1360 "lease car" : "no", 1361 "permanent contract" : "no", 1362 "career development opportunities" : "low", 1363 "fte" : "0.6", 1364 "salary" : "2000", 1365 "work from home" : "0" 1366 } 1367 }, { 1368 "issuevalues" : { 1369 "lease car" : "yes", 1370 "permanent contract" : "no", 1371 "career development opportunities" : "low", 1372 "fte" : "0.8", 1373 "salary" : "4000", 1374 "work from home" : "2" 1375 } 1376 }, { 1377 "issuevalues" : { 1378 "lease car" : "no", 1379 "permanent contract" : "no", 1380 "career development opportunities" : "high", 1381 "fte" : "0.6", 1382 "salary" : "3500", 1383 "work from home" : "1" 1384 } 1385 }, { 1386 "issuevalues" : { 1387 "lease car" : "yes", 1388 "permanent contract" : "yes", 1389 "career development opportunities" : "medium", 1390 "fte" : "0.8", 1391 "salary" : "2500", 1392 "work from home" : "1" 1393 } 1394 }, { 1395 "issuevalues" : { 1396 "lease car" : "yes", 1397 "permanent contract" : "yes", 1398 "career development opportunities" : "medium", 1399 "fte" : "0.8", 1400 "salary" : "2500", 1401 "work from home" : "2" 1402 } 1403 }, { 1404 "issuevalues" : { 1405 "lease car" : "no", 1406 "permanent contract" : "yes", 1407 "career development opportunities" : "low", 1408 "fte" : "1.0", 1409 "salary" : "3500", 1410 "work from home" : "0" 1411 } 1412 } ], 1413 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2500\",\"work from home\":\"1\"}}" : [ { 1414 "issuevalues" : { 1415 "lease car" : "no", 1416 "permanent contract" : "no", 1417 "career development opportunities" : "low", 1418 "fte" : "0.6", 1419 "salary" : "2000", 1420 "work from home" : "0" 1421 } 1422 }, { 1423 "issuevalues" : { 1424 "lease car" : "yes", 1425 "permanent contract" : "no", 1426 "career development opportunities" : "low", 1427 "fte" : "0.6", 1428 "salary" : "3500", 1429 "work from home" : "0" 1430 } 1431 }, { 1432 "issuevalues" : { 1433 "lease car" : "no", 1434 "permanent contract" : "no", 1435 "career development opportunities" : "high", 1436 "fte" : "0.6", 1437 "salary" : "3500", 1438 "work from home" : "1" 1439 } 1440 }, { 1441 "issuevalues" : { 1442 "lease car" : "no", 1443 "permanent contract" : "no", 1444 "career development opportunities" : "low", 1445 "fte" : "1.0", 1446 "salary" : "2000", 1447 "work from home" : "1" 1448 } 1449 }, { 1450 "issuevalues" : { 1451 "lease car" : "no", 1452 "permanent contract" : "no", 1453 "career development opportunities" : "high", 1454 "fte" : "1.0", 1455 "salary" : "3000", 1456 "work from home" : "0" 1457 } 1458 }, { 1459 "issuevalues" : { 1460 "lease car" : "no", 1461 "permanent contract" : "no", 1462 "career development opportunities" : "low", 1463 "fte" : "0.6", 1464 "salary" : "2000", 1465 "work from home" : "1" 1466 } 1467 }, { 1468 "issuevalues" : { 1469 "lease car" : "yes", 1470 "permanent contract" : "no", 1471 "career development opportunities" : "high", 1472 "fte" : "1.0", 1473 "salary" : "3000", 1474 "work from home" : "1" 1475 } 1476 }, { 1477 "issuevalues" : { 1478 "lease car" : "yes", 1479 "permanent contract" : "no", 1480 "career development opportunities" : "high", 1481 "fte" : "0.8", 1482 "salary" : "3500", 1483 "work from home" : "1" 1484 } 1485 }, { 1486 "issuevalues" : { 1487 "lease car" : "no", 1488 "permanent contract" : "no", 1489 "career development opportunities" : "medium", 1490 "fte" : "0.8", 1491 "salary" : "2000", 1492 "work from home" : "1" 1493 } 1494 }, { 1495 "issuevalues" : { 1496 "lease car" : "yes", 1497 "permanent contract" : "yes", 1498 "career development opportunities" : "high", 1499 "fte" : "0.6", 1500 "salary" : "2000", 1501 "work from home" : "1" 1502 } 1503 } ], 1504 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2500\",\"work from home\":\"2\"}}" : [ { 1505 "issuevalues" : { 1506 "lease car" : "no", 1507 "permanent contract" : "yes", 1508 "career development opportunities" : "high", 1509 "fte" : "1.0", 1510 "salary" : "2000", 1511 "work from home" : "2" 1512 } 1513 }, { 1514 "issuevalues" : { 1515 "lease car" : "no", 1516 "permanent contract" : "no", 1517 "career development opportunities" : "low", 1518 "fte" : "0.6", 1519 "salary" : "2000", 1520 "work from home" : "0" 1521 } 1522 }, { 1523 "issuevalues" : { 1524 "lease car" : "yes", 1525 "permanent contract" : "no", 1526 "career development opportunities" : "low", 1527 "fte" : "0.6", 1528 "salary" : "3500", 1529 "work from home" : "0" 1530 } 1531 }, { 1532 "issuevalues" : { 1533 "lease car" : "no", 1534 "permanent contract" : "no", 1535 "career development opportunities" : "high", 1536 "fte" : "0.6", 1537 "salary" : "3500", 1538 "work from home" : "1" 1539 } 1540 }, { 1541 "issuevalues" : { 1542 "lease car" : "no", 1543 "permanent contract" : "no", 1544 "career development opportunities" : "low", 1545 "fte" : "1.0", 1546 "salary" : "2000", 1547 "work from home" : "1" 1548 } 1549 }, { 1550 "issuevalues" : { 1551 "lease car" : "no", 1552 "permanent contract" : "no", 1553 "career development opportunities" : "high", 1554 "fte" : "1.0", 1555 "salary" : "3000", 1556 "work from home" : "0" 1557 } 1558 }, { 1559 "issuevalues" : { 1560 "lease car" : "yes", 1561 "permanent contract" : "yes", 1562 "career development opportunities" : "medium", 1563 "fte" : "0.8", 1564 "salary" : "2500", 1565 "work from home" : "1" 1566 } 1567 }, { 1568 "issuevalues" : { 1569 "lease car" : "no", 1570 "permanent contract" : "no", 1571 "career development opportunities" : "low", 1572 "fte" : "0.6", 1573 "salary" : "2000", 1574 "work from home" : "1" 1575 } 1576 }, { 1577 "issuevalues" : { 1578 "lease car" : "yes", 1579 "permanent contract" : "no", 1580 "career development opportunities" : "high", 1581 "fte" : "1.0", 1582 "salary" : "3000", 1583 "work from home" : "1" 1584 } 1585 }, { 1586 "issuevalues" : { 1587 "lease car" : "yes", 1588 "permanent contract" : "no", 1589 "career development opportunities" : "high", 1590 "fte" : "0.8", 1591 "salary" : "3500", 1592 "work from home" : "1" 1593 } 1594 }, { 1595 "issuevalues" : { 1596 "lease car" : "no", 1597 "permanent contract" : "no", 1598 "career development opportunities" : "medium", 1599 "fte" : "0.8", 1600 "salary" : "2000", 1601 "work from home" : "1" 1602 } 1603 }, { 1604 "issuevalues" : { 1605 "lease car" : "yes", 1606 "permanent contract" : "yes", 1607 "career development opportunities" : "high", 1608 "fte" : "0.6", 1609 "salary" : "2000", 1610 "work from home" : "1" 1611 } 1612 } ], 1613 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"yes\",\"career development opportunities\":\"low\",\"fte\":\"1.0\",\"salary\":\"3500\",\"work from home\":\"0\"}}" : [ { 1614 "issuevalues" : { 1615 "lease car" : "no", 1616 "permanent contract" : "yes", 1617 "career development opportunities" : "high", 1618 "fte" : "1.0", 1619 "salary" : "2000", 1620 "work from home" : "2" 1621 } 1622 }, { 1623 "issuevalues" : { 1624 "lease car" : "yes", 1625 "permanent contract" : "no", 1626 "career development opportunities" : "low", 1627 "fte" : "0.6", 1628 "salary" : "3500", 1629 "work from home" : "0" 1630 } 1631 }, { 1632 "issuevalues" : { 1633 "lease car" : "no", 1634 "permanent contract" : "no", 1635 "career development opportunities" : "low", 1636 "fte" : "1.0", 1637 "salary" : "2000", 1638 "work from home" : "1" 1639 } 1640 }, { 1641 "issuevalues" : { 1642 "lease car" : "yes", 1643 "permanent contract" : "no", 1644 "career development opportunities" : "medium", 1645 "fte" : "1.0", 1646 "salary" : "3500", 1647 "work from home" : "1" 1648 } 1649 }, { 1650 "issuevalues" : { 1651 "lease car" : "no", 1652 "permanent contract" : "no", 1653 "career development opportunities" : "high", 1654 "fte" : "1.0", 1655 "salary" : "3000", 1656 "work from home" : "0" 1657 } 1658 }, { 1659 "issuevalues" : { 1660 "lease car" : "no", 1661 "permanent contract" : "no", 1662 "career development opportunities" : "low", 1663 "fte" : "0.6", 1664 "salary" : "2000", 1665 "work from home" : "1" 1666 } 1667 }, { 1668 "issuevalues" : { 1669 "lease car" : "yes", 1670 "permanent contract" : "no", 1671 "career development opportunities" : "high", 1672 "fte" : "1.0", 1673 "salary" : "3000", 1674 "work from home" : "1" 1675 } 1676 }, { 1677 "issuevalues" : { 1678 "lease car" : "yes", 1679 "permanent contract" : "no", 1680 "career development opportunities" : "high", 1681 "fte" : "0.8", 1682 "salary" : "3500", 1683 "work from home" : "1" 1684 } 1685 }, { 1686 "issuevalues" : { 1687 "lease car" : "no", 1688 "permanent contract" : "no", 1689 "career development opportunities" : "medium", 1690 "fte" : "0.8", 1691 "salary" : "2000", 1692 "work from home" : "1" 1693 } 1694 }, { 1695 "issuevalues" : { 1696 "lease car" : "yes", 1697 "permanent contract" : "yes", 1698 "career development opportunities" : "high", 1699 "fte" : "0.6", 1700 "salary" : "2000", 1701 "work from home" : "1" 1702 } 1703 }, { 1704 "issuevalues" : { 1705 "lease car" : "no", 1706 "permanent contract" : "no", 1707 "career development opportunities" : "low", 1708 "fte" : "0.6", 1709 "salary" : "2000", 1710 "work from home" : "0" 1711 } 1712 }, { 1713 "issuevalues" : { 1714 "lease car" : "yes", 1715 "permanent contract" : "no", 1716 "career development opportunities" : "low", 1717 "fte" : "0.8", 1718 "salary" : "4000", 1719 "work from home" : "2" 1720 } 1721 }, { 1722 "issuevalues" : { 1723 "lease car" : "no", 1724 "permanent contract" : "no", 1725 "career development opportunities" : "high", 1726 "fte" : "0.6", 1727 "salary" : "3500", 1728 "work from home" : "1" 1729 } 1730 }, { 1731 "issuevalues" : { 1732 "lease car" : "yes", 1733 "permanent contract" : "yes", 1734 "career development opportunities" : "medium", 1735 "fte" : "0.8", 1736 "salary" : "2500", 1737 "work from home" : "1" 1738 } 1739 }, { 1740 "issuevalues" : { 1741 "lease car" : "yes", 1742 "permanent contract" : "yes", 1743 "career development opportunities" : "medium", 1744 "fte" : "0.8", 1745 "salary" : "2500", 1746 "work from home" : "2" 1747 } 1748 } ] 1749 }, 1750 "reservationbid" : { 1751 "issuevalues" : { 1752 "lease car" : "no", 1753 "permanent contract" : "yes", 1754 "career development opportunities" : "medium", 1755 "fte" : "0.8", 1756 "salary" : "3500", 1757 "work from home" : "1" 1758 } 1759 } 1760 } 1018 1761 } -
exampleparties/boulware/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>boulware</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
exampleparties/comparebids/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>comparebids</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 53 53 <groupId>tudelft.utilities</groupId> 54 54 <artifactId>utilities</artifactId> 55 <version>1. 2.1</version>55 <version>1.3.1</version> 56 56 </dependency> 57 57 -
exampleparties/conceder/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>conceder</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
exampleparties/hardliner/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>hardliner</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
exampleparties/humangui/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>humangui</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
exampleparties/linear/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>linear</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
exampleparties/randomparty/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>randomparty</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 55 55 <groupId>tudelft.utilities</groupId> 56 56 <artifactId>utilities</artifactId> 57 <version>1. 2.1</version>57 <version>1.3.1</version> 58 58 </dependency> 59 59 -
exampleparties/randompartypy/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>randompyparty</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
exampleparties/simpleboa/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>simpleboaparty</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
exampleparties/simpleshaop/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>simpleshaop</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 53 53 <groupId>tudelft.utilities</groupId> 54 54 <artifactId>utilities</artifactId> 55 <version>1. 2.1</version>55 <version>1.3.1</version> 56 56 </dependency> 57 57 -
exampleparties/simpleshaop/src/test/resources/testprofile.json
r52 r53 29 29 } 30 30 }, 31 "bids": [ 32 { 33 "issuevalues": { 34 "iss1": "1", 35 "iss2": "1" 31 "better": { 32 "{\"issuevalues\": { \"iss1\": \"1\",\"iss2\": \"1\"}}": [ 33 { 34 "issuevalues": { 35 "iss1": "2", 36 "iss2": "1" 37 } 36 38 } 37 }, 38 { 39 "issuevalues": { 40 "iss1": "2", 41 "iss2": "1" 39 ], 40 "{\"issuevalues\": {\"iss1\": \"2\",\"iss2\": \"1\"}}": [ 41 { 42 "issuevalues": { 43 "iss1": "3", 44 "iss2": "1" 45 } 42 46 } 43 }, 44 { 45 "issuevalues": { 46 "iss1": "3", 47 "iss2": "1" 47 ], 48 "{\"issuevalues\": {\"iss1\": \"3\",\"iss2\": \"1\"}}": [ 49 { 50 "issuevalues": { 51 "iss1": "4", 52 "iss2": "1" 53 } 48 54 } 49 }, 50 { 51 "issuevalues": { 52 "iss1": "4", 53 "iss2": "1" 55 ], 56 "{\"issuevalues\": {\"iss1\": \"4\",\"iss2\": \"1\"}}": [ 57 { 58 "issuevalues": { 59 "iss1": "1", 60 "iss2": "2" 61 } 54 62 } 55 }, 56 { 57 "issuevalues": { 58 "iss1": "1", 59 "iss2": "2" 63 ], 64 "{\"issuevalues\": {\"iss1\": \"1\",\"iss2\": \"2\"}}": [ 65 { 66 "issuevalues": { 67 "iss1": "2", 68 "iss2": "2" 69 } 60 70 } 61 }, 62 { 63 "issuevalues": { 64 "iss1": "2", 65 "iss2": "2" 71 ], 72 "{\"issuevalues\": {\"iss1\": \"2\",\"iss2\": \"2\"}}": [ 73 { 74 "issuevalues": { 75 "iss1": "3", 76 "iss2": "2" 77 } 66 78 } 67 }, 68 { 69 "issuevalues": { 70 "iss1": "3", 71 "iss2": "2" 79 ], 80 "{\"issuevalues\": { \"iss1\": \"4\",\"iss2\": \"2\"}}": [ 81 { 82 "issuevalues": { 83 "iss1": "1", 84 "iss2": "3" 85 } 72 86 } 73 }, 74 { 75 "issuevalues": { 76 "iss1": "4", 77 "iss2": "2" 87 ], 88 "{\"issuevalues\": {\"iss1\": \"1\", \"iss2\": \"3\"}}": [ 89 { 90 "issuevalues": { 91 "iss1": "2", 92 "iss2": "3" 93 } 78 94 } 79 }, 80 { 81 "issuevalues": { 82 "iss1": "1", 83 "iss2": "3" 95 ], 96 "{\"issuevalues\": { \"iss1\": \"2\",\"iss2\": \"3\" }}": [ 97 { 98 "issuevalues": { 99 "iss1": "4", 100 "iss2": "3" 101 } 84 102 } 85 }, 86 { 87 "issuevalues": { 88 "iss1": "2", 89 "iss2": "3" 103 ], 104 "{\"issuevalues\": {\"iss1\": \"4\", \"iss2\": \"3\"}}": [ 105 { 106 "issuevalues": { 107 "iss1": "1", 108 "iss2": "4" 109 } 90 110 } 91 }, 92 { 93 "issuevalues": { 94 "iss1": "4", 95 "iss2": "3" 111 ], 112 "{\"issuevalues\": { \"iss1\": \"1\",\"iss2\": \"4\" }}": [ 113 { 114 "issuevalues": { 115 "iss1": "2", 116 "iss2": "4" 117 } 96 118 } 97 }, 98 { 99 "issuevalues": { 100 "iss1": "1", 101 "iss2": "4" 119 ], 120 "{\"issuevalues\": { \"iss1\": \"2\", \"iss2\": \"4\"}}": [ 121 { 122 "issuevalues": { 123 "iss1": "3", 124 "iss2": "4" 125 } 102 126 } 103 }, 104 { 105 "issuevalues": { 106 "iss1": "2", 107 "iss2": "4" 127 ], 128 "{\"issuevalues\": { \"iss1\": \"3\",\"iss2\": \"4\"}}": [ 129 { 130 "issuevalues": { 131 "iss1": "4", 132 "iss2": "4" 133 } 108 134 } 109 },110 {111 "issuevalues": {112 "iss1": "3",113 "iss2": "4"114 }115 },116 {117 "issuevalues": {118 "iss1": "4",119 "iss2": "4"120 }121 }122 ],123 "better": [124 [125 0,126 1127 ],128 [129 1,130 2131 ],132 [133 2,134 3135 ],136 [137 3,138 4139 ],140 [141 4,142 5143 ],144 [145 5,146 6147 ],148 [149 6,150 7151 ],152 [153 7,154 8155 ],156 [157 8,158 9159 ],160 [161 9,162 10163 ],164 [165 10,166 11167 ],168 [169 11,170 12171 ],172 [173 12,174 13175 ],176 [177 13,178 14179 135 ] 180 ]136 } 181 137 } 182 138 } -
exampleparties/timedependentparty/pom.xml
r52 r53 6 6 <groupId>geniusweb.exampleparties</groupId> 7 7 <artifactId>timedependentparty</artifactId> 8 <version>2. 1.6</version> <!-- equals the geniusweb version -->8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 53 53 <groupId>tudelft.utilities</groupId> 54 54 <artifactId>utilities</artifactId> 55 <version>1. 2.1</version>55 <version>1.3.1</version> 56 56 </dependency> 57 57 -
exampleparties/timedependentparty/src/main/java/geniusweb/exampleparties/timedependentparty/ExtendedUtilSpace.java
r52 r53 9 9 import geniusweb.bidspace.Interval; 10 10 import geniusweb.bidspace.IssueInfo; 11 import geniusweb.bidspace.SumOfGroupsLinAdditiveAdapter; 11 12 import geniusweb.issuevalue.Bid; 12 13 import geniusweb.issuevalue.Value; 13 14 import geniusweb.profile.utilityspace.LinearAdditive; 15 import geniusweb.profile.utilityspace.SumOfGroupsUtilitySpace; 16 import geniusweb.profile.utilityspace.UtilitySpace; 14 17 import tudelft.utilities.immutablelist.ImmutableList; 18 import tudelft.utilities.immutablelist.MapList; 15 19 16 20 /** 17 * Inner class for TimeDependentParty, made public for testing purposes. This 18 * class may change in the future, use at your own risk. 21 * Inner class for TimeDependentParty, Handles mechanisms for searching the bid 22 * space, and using adapters to handle the nonlinear 23 * {@link SumOfGroupsUtilitySpace}. 24 * 25 * This class is public for testing purposes. This class may change in the 26 * future, use at your own risk. 19 27 * 20 28 */ 21 29 public class ExtendedUtilSpace { 22 private LinearAdditive utilspace; 30 private UtilitySpace utilspace; 31 // linear approximation of utilspace (possibly utilspace itself) 32 // thsi may have different utilityes issues and values than utilspace. 33 private LinearAdditive linapprox; 34 35 // bidutils tolerance minUtil maxUtil all work on linapprox 36 private BidsWithUtility bidutils; 23 37 /** 24 38 * The tolerance for a utility. Generally utilities can be this amount … … 26 40 */ 27 41 private BigDecimal tolerance; 28 private BidsWithUtility bidutils;29 42 // min and max achievable utility 30 43 private BigDecimal minUtil; 31 44 private BigDecimal maxUtil; 32 45 33 public ExtendedUtilSpace( LinearAdditive space) {46 public ExtendedUtilSpace(UtilitySpace space) { 34 47 this.utilspace = space; 35 bidutils = new BidsWithUtility(utilspace); 48 if (space instanceof LinearAdditive) 49 linapprox = (LinearAdditive) space; 50 else 51 linapprox = SumOfGroupsLinAdditiveAdapter 52 .create((SumOfGroupsUtilitySpace) space); 53 bidutils = new BidsWithUtility(linapprox); 36 54 computeMinMax(); 37 55 this.tolerance = computeTolerance(); 38 39 56 } 40 57 … … 52 69 this.maxUtil = range.getMax(); 53 70 54 Bid rvbid = utilspace.getReservationBid();71 Bid rvbid = linapprox.getReservationBid(); 55 72 if (rvbid != null) { 56 BigDecimal rv = utilspace.getUtility(rvbid);73 BigDecimal rv = linapprox.getUtility(rvbid); 57 74 if (rv.compareTo(minUtil) > 0) 58 75 minUtil = rv; … … 65 82 * best and one-but-best utility. 66 83 * 67 * @return the minimum tolerance required , which is the minimum difference68 * between the weighted utility of the best and one-but-best issue69 * value.84 * @return the minimum tolerance required in the {@link #linapprox} space, 85 * which is the minimum difference between the weighted utility of 86 * the best and one-but-best issue value. 70 87 */ 71 88 protected BigDecimal computeTolerance() { … … 87 104 } 88 105 106 /** 107 * @return the minimum utility in the {@link #linapprox} space 108 */ 89 109 public BigDecimal getMin() { 90 110 return minUtil; 91 111 } 92 112 113 /** 114 * @return the maximum utility in the {@link #linapprox} space 115 */ 93 116 public BigDecimal getMax() { 94 117 return maxUtil; … … 96 119 97 120 /** 98 * @param utilityGoal the requested utility 121 * @param utilityGoal the requested utility in the {@link #linapprox} space 99 122 * @return bids with utility inside [utilitygoal-{@link #tolerance}, 100 * utilitygoal] 123 * utilitygoal], converted back to bids in the utilspace 101 124 */ 102 125 public ImmutableList<Bid> getBids(BigDecimal utilityGoal) { 103 returnbidutils.getBids(126 ImmutableList<Bid> bidslist = bidutils.getBids( 104 127 new Interval(utilityGoal.subtract(tolerance), utilityGoal)); 128 return new MapList<>((Bid b) -> realBid(b), bidslist); 129 } 130 131 /** 132 * @param b a bid in the linapprox space 133 * @return a bid in the original space 134 */ 135 private Bid realBid(Bid b) { 136 if (linapprox instanceof SumOfGroupsLinAdditiveAdapter) 137 return ((SumOfGroupsLinAdditiveAdapter) linapprox).toGroupBid(b); 138 return b; 105 139 } 106 140 -
exampleparties/timedependentparty/src/main/java/geniusweb/exampleparties/timedependentparty/TimeDependentParty.java
r52 r53 74 74 * </table> 75 75 * <p> 76 * TimeDependentParty requires a {@link UtilitySpace}76 * TimeDependentParty requires a {@link LinearAdditive} utilityspace. 77 77 */ 78 78 public class TimeDependentParty extends DefaultParty { 79 79 80 80 private ProfileInterface profileint = null; 81 private LinearAdditive utilspace = null; // last received space81 private UtilitySpace utilspace = null; // last received space 82 82 private PartyId me; 83 83 private Progress progress; … … 238 238 } 239 239 240 private LinearAdditive updateUtilSpace() throws IOException {240 private UtilitySpace updateUtilSpace() throws IOException { 241 241 Profile newutilspace = profileint.getProfile(); 242 242 if (!newutilspace.equals(utilspace)) { 243 utilspace = ( LinearAdditive) newutilspace;243 utilspace = (UtilitySpace) newutilspace; 244 244 extendedspace = new ExtendedUtilSpace(utilspace); 245 245 } -
exampleparties/timedependentparty/src/test/java/geniusweb/exampleparties/timedependentparty/ExtendedUtilSpaceTest.java
r52 r53 1 1 package geniusweb.exampleparties.timedependentparty; 2 2 3 import static org.junit.Assert.assert True;3 import static org.junit.Assert.assertEquals; 4 4 5 5 import java.io.IOException; 6 import java.math.BigDecimal;7 6 import java.nio.file.Files; 8 7 import java.nio.file.Paths; … … 19 18 20 19 import geniusweb.profile.Profile; 21 import geniusweb.profile.utilityspace. LinearAdditiveUtilitySpace;20 import geniusweb.profile.utilityspace.UtilitySpace; 22 21 23 22 @RunWith(Parameterized.class) 24 23 public class ExtendedUtilSpaceTest { 25 24 private final static ObjectMapper jackson = new ObjectMapper(); 26 private final static BigDecimal SMALL = new BigDecimal("0.0001");25 private final static double SMALL = 0.0001; 27 26 28 27 @Parameters … … 31 30 { "src/test/resources/jobs/jobs1.json", 0.02 }, 32 31 { "src/test/resources/7issues/7issues1.json", 0.0055 }, 33 { "src/test/resources/9issues/9issues1.json", 0.0013 } }); 32 { "src/test/resources/9issues/9issues1.json", 0.0013 }, 33 // tolerance in computerbuy is quite small because approximation 34 // scales the space 35 { "src/test/resources/computer/computerbuy.json", 0.0016 } }); 34 36 } 35 37 36 38 private String filename; 37 private BigDecimalexpectedTolerance;39 private double expectedTolerance; 38 40 private ExtendedUtilSpace space; 39 41 40 42 public ExtendedUtilSpaceTest(String filename, double expectedTolerance) { 41 43 this.filename = filename; 42 this.expectedTolerance = BigDecimal.valueOf(expectedTolerance);44 this.expectedTolerance = expectedTolerance; 43 45 } 44 46 … … 46 48 public void before() throws IOException { 47 49 String file = new String(Files.readAllBytes(Paths.get(filename))); 48 LinearAdditiveUtilitySpace profile = (LinearAdditiveUtilitySpace) jackson49 .readValue(file,Profile.class);50 UtilitySpace profile = (UtilitySpace) jackson.readValue(file, 51 Profile.class); 50 52 space = new ExtendedUtilSpace(profile); 51 53 } … … 58 60 @Test 59 61 public void testTolerance() { 60 assert True(space.computeTolerance().subtract(expectedTolerance).abs()61 .compareTo(SMALL) < 0);62 assertEquals(expectedTolerance, space.computeTolerance().doubleValue(), 63 SMALL); 62 64 } 63 65 } -
ip/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>ip</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
issuevalue/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>issuevalue</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 93 93 <groupId>tudelft.utilities</groupId> 94 94 <artifactId>utilities</artifactId> 95 <version>1. 2.1</version>95 <version>1.3.1</version> 96 96 </dependency> 97 97 -
logconverter/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>logconverter</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
opponentmodel/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>opponentmodel</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
party/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>party</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 52 52 <groupId>tudelft.utilities</groupId> 53 53 <artifactId>utilities</artifactId> 54 <version>1. 2.1</version>54 <version>1.3.1</version> 55 55 </dependency> 56 56 <dependency> -
profile/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>profile</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 42 42 <groupId>tudelft.utilities</groupId> 43 43 <artifactId>utilities</artifactId> 44 <version>1. 2.1</version>44 <version>1.3.1</version> 45 45 </dependency> 46 46 -
profile/src/main/java/geniusweb/profile/DefaultPartialOrdering.java
r52 r53 1 1 package geniusweb.profile; 2 2 3 import java.io.IOException; 3 4 import java.util.ArrayList; 4 5 import java.util.Arrays; 5 import java.util.HashMap;6 6 import java.util.HashSet; 7 7 import java.util.LinkedList; … … 10 10 import java.util.Set; 11 11 12 import com.fasterxml.jackson.annotation.JsonAutoDetect; 13 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; 12 14 import com.fasterxml.jackson.annotation.JsonCreator; 13 import com.fasterxml.jackson.annotation.JsonGetter;14 15 import com.fasterxml.jackson.annotation.JsonProperty; 16 import com.fasterxml.jackson.core.JsonGenerator; 17 import com.fasterxml.jackson.databind.DeserializationContext; 18 import com.fasterxml.jackson.databind.JsonSerializer; 19 import com.fasterxml.jackson.databind.KeyDeserializer; 20 import com.fasterxml.jackson.databind.ObjectMapper; 21 import com.fasterxml.jackson.databind.SerializerProvider; 22 import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 23 import com.fasterxml.jackson.databind.annotation.JsonSerialize; 15 24 16 25 import geniusweb.issuevalue.Bid; 17 26 import geniusweb.issuevalue.Domain; 27 28 /** 29 * Strange that we need to do this. Bid is completely standard. The complication 30 * that this solves is that the keys are places as STRING in the json code 31 * because json allows only strings as key. 32 */ 33 @SuppressWarnings("serial") 34 class BidDeserializer extends KeyDeserializer { 35 private ObjectMapper jackson = new ObjectMapper(); 36 37 @Override 38 public Bid deserializeKey(String key, DeserializationContext ctxt) 39 throws IOException { 40 return jackson.readValue(key, Bid.class); 41 } 42 43 } 44 45 /** 46 * Serializes a Bid to string. Unfortunately by default jackson uses 47 * key.toString() for serializing (rather than 48 * {@link ObjectMapper#writeValueAsString(Object)}). 49 * 50 */ 51 class BidSerializer extends JsonSerializer<Bid> { 52 private ObjectMapper jackson = new ObjectMapper(); 53 54 @Override 55 public void serialize(Bid bid, JsonGenerator gen, 56 SerializerProvider serializers) throws IOException { 57 gen.writeFieldName(jackson.writeValueAsString(bid)); 58 } 59 60 } 18 61 19 62 /** … … 26 69 * limited anyway. 27 70 */ 71 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE) 28 72 public class DefaultPartialOrdering extends DefaultProfile 29 73 implements PartialOrdering { … … 33 77 * other bid. 34 78 */ 35 private final Map<Bid, Set<Bid>> isBetter; 79 @JsonDeserialize(keyUsing = BidDeserializer.class) 80 @JsonSerialize(keyUsing = BidSerializer.class) 81 private final Map<Bid, Set<Bid>> better; 36 82 37 83 /** 38 * 39 * @param name name of the profile 40 * @param domain the {@link Domain} 41 * @param reservationbid the reservation bid, this is the minimum acceptable 42 * bid 43 * @param bids a list of bids that this ordering contains 44 * comparisons for 45 * @param isbetterList a list of tuples [bid1index, bid2index]. It 46 * indicates that bids[bid1index] isbetterthan 47 * bids[bid2index]. 84 * @param name the name for the profile 85 * @param domain the {@link Domain} description 86 * @param reservationbid the reservation {@link Bid} 87 * @param better a map with keys = a better bid and value=a less 88 * good bid. 48 89 */ 49 90 @JsonCreator … … 51 92 @JsonProperty("domain") Domain domain, 52 93 @JsonProperty("reservationBid") Bid reservationbid, 53 @JsonProperty("bids") List<Bid> bids, 54 @JsonProperty("better") List<List<Integer>> isbetterList) { 55 this(name, domain, reservationbid, makeBidMap(bids, isbetterList)); 56 } 57 58 /** 59 * @param name the name for the profile 60 * @param domain the {@link Domain} description 61 * @param reservationbid the reservation {@link Bid} 62 * @param isBetterMap a map with keys = a better bid and value=a less 63 * good bid. 64 */ 65 public DefaultPartialOrdering(String name, Domain domain, 66 Bid reservationbid, Map<Bid, Set<Bid>> isBetterMap) { 94 @JsonProperty("better") Map<Bid, Set<Bid>> better) { 67 95 super(name, domain, reservationbid); 68 this. isBetter = isBetterMap;96 this.better = better; 69 97 } 70 98 71 99 @Override 72 100 public boolean isPreferredOrEqual(Bid bid1, Bid bid2) { 73 if (! isBetter.containsKey(bid1))101 if (!better.containsKey(bid1)) 74 102 return false; 75 return isBetter.get(bid1).contains(bid2);103 return better.get(bid1).contains(bid2); 76 104 } 77 105 … … 81 109 * or as worse than another bid 82 110 */ 83 @JsonGetter84 111 public List<Bid> getBids() { 85 112 // FIXME the iteration order may not be guaranteed! 86 113 Set<Bid> bids = new HashSet<>(); 87 for (Bid bid : isBetter.keySet()) {114 for (Bid bid : better.keySet()) { 88 115 bids.add(bid); 89 bids.addAll( isBetter.get(bid));116 bids.addAll(better.get(bid)); 90 117 } 91 118 return new ArrayList<Bid>(bids); 92 119 } 93 120 94 @JsonGetter95 121 /** 96 122 * … … 103 129 104 130 for (Bid bid : bidslist) { 105 if ( isBetter.containsKey(bid)) {106 for (Bid worsebid : isBetter.get(bid)) {131 if (better.containsKey(bid)) { 132 for (Bid worsebid : better.get(bid)) { 107 133 betterlist.add(Arrays.asList(bidslist.indexOf(bid), 108 134 bidslist.indexOf(worsebid))); … … 116 142 @Override 117 143 public String toString() { 118 return "DefaultPartialOrdering[" + getValuesString() + "," + isBetter144 return "DefaultPartialOrdering[" + getValuesString() + "," + better 119 145 + "]"; 120 }121 122 private static Map<Bid, Set<Bid>> makeBidMap(List<Bid> bids,123 List<List<Integer>> isBetterList) {124 Map<Bid, Set<Bid>> betterMap = new HashMap<>();125 126 for (List<Integer> tuple : isBetterList) {127 if (tuple.size() != 2) {128 throw new IllegalArgumentException("Expected tuple but found "129 + tuple + "in " + isBetterList);130 }131 Bid betterbid = bids.get(tuple.get(0));132 Set<Bid> map = betterMap.get(betterbid);133 if (map == null) {134 map = new HashSet<>();135 betterMap.put(betterbid, map);136 }137 map.add(bids.get(tuple.get(1)));138 }139 140 return betterMap;141 146 } 142 147 … … 145 150 final int prime = 31; 146 151 int result = super.hashCode(); 147 result = prime * result 148 + ((isBetter == null) ? 0 : isBetter.hashCode()); 152 result = prime * result + ((better == null) ? 0 : better.hashCode()); 149 153 return result; 150 154 } … … 159 163 return false; 160 164 DefaultPartialOrdering other = (DefaultPartialOrdering) obj; 161 if ( isBetter == null) {162 if (other. isBetter != null)165 if (better == null) { 166 if (other.better != null) 163 167 return false; 164 } else if (! isBetter.equals(other.isBetter))168 } else if (!better.equals(other.better)) 165 169 return false; 166 170 return true; -
profile/src/main/java/geniusweb/profile/utilityspace/LinearAdditiveUtilitySpace.java
r52 r53 49 49 * @param domain the {@link Domain} in which this profile is defined. 50 50 * @param name the name of this profile. Must be simple name (a-Z, 0-9) 51 * @param utils a map with key: issue names (String) and value: the values51 * @param issueUtilities a map with key: issue names (String) and value: the values 52 52 * for that issue. There MUST NOT be a null issue. All values 53 53 * MUST NOT be null. 54 * @param weights the weight of each issue in the computation of the54 * @param issueWeights the weight of each issue in the computation of the 55 55 * weighted sum. The issues must be the same as those in the 56 56 * utils map. All weights MUST NOT be null. The weights MUST 57 57 * sum to 1. 58 * @param res Bid the reservation bid. Only bids that are58 * @param reservationBid the reservation bid. Only bids that are 59 59 * {@link #isPreferredOrEqual(Bid, Bid)} should be accepted. 60 60 * Can be null, meaning that there is no reservation bid and … … 66 66 public LinearAdditiveUtilitySpace(@JsonProperty("domain") Domain domain, 67 67 @JsonProperty("name") String name, 68 @JsonProperty("issueUtilities") Map<String, ValueSetUtilities> utils, 69 @JsonProperty("issueWeights") Map<String, BigDecimal> weights, 70 @JsonProperty("reservationBid") Bid resBid) { 71 this.domain = domain; 72 this.name = name; 73 this.reservationBid = resBid; 74 this.issueUtilities.putAll(utils); 75 this.issueWeights.putAll(weights); 68 @JsonProperty("issueUtilities") Map<String, ValueSetUtilities> issueUtilities, 69 @JsonProperty("issueWeights") Map<String, BigDecimal> issueWeights, 70 @JsonProperty("reservationBid") Bid reservationBid) { 76 71 77 72 if (domain == null) { 78 73 throw new NullPointerException("domain=null"); 79 74 } 80 if ( utils == null) {75 if (issueUtilities == null) { 81 76 throw new NullPointerException("utils=null"); 82 77 } 83 if ( weights == null) {78 if (issueWeights == null) { 84 79 throw new NullPointerException("weights=null"); 85 80 } 86 if ( utils.values().contains(null)) {81 if (issueUtilities.values().contains(null)) { 87 82 throw new NullPointerException( 88 83 "One of the ValueSetUtilities in issueUtilitiesis null:" 89 + utils);90 } 91 if ( weights.values().contains(null)) {84 + issueUtilities); 85 } 86 if (issueWeights.values().contains(null)) { 92 87 throw new NullPointerException("One of the weights is null"); 93 88 } 94 if ( utils.keySet().contains(null)) {89 if (issueUtilities.keySet().contains(null)) { 95 90 throw new NullPointerException("One of the issue names is null"); 96 91 } … … 99 94 "Name must be simple (a-Z, 0-9) but got " + name); 100 95 } 101 if (!( utils.keySet().equals(domain.getIssues()))) {96 if (!(issueUtilities.keySet().equals(domain.getIssues()))) { 102 97 throw new IllegalArgumentException( 103 98 "The issues in utilityspace and domain do not match: utilityspace has issues " 104 + utils.keySet() + " but domain contains "99 + issueUtilities.keySet() + " but domain contains " 105 100 + domain.getIssues()); 106 101 } 107 if (!( weights.keySet().equals(domain.getIssues()))) {102 if (!(issueWeights.keySet().equals(domain.getIssues()))) { 108 103 throw new IllegalArgumentException( 109 104 "The issues in weights and domain do not match: weights has " 110 + weights.keySet() + " but domain contains "105 + issueWeights.keySet() + " but domain contains " 111 106 + domain.getIssues()); 112 107 } … … 118 113 } 119 114 120 BigDecimal sum = weights.values().stream().reduce(BigDecimal.ZERO,115 BigDecimal sum = issueWeights.values().stream().reduce(BigDecimal.ZERO, 121 116 BigDecimal::add); 122 117 if (BigDecimal.ONE.compareTo(sum) != 0) { // equals does NOT work for 123 118 // comparing BigDecimals!! 124 119 throw new IllegalArgumentException("The sum of the weights (" 125 + weights.values() + ") must be 1");126 } 127 if (res Bid != null) {128 String message = domain.isFitting(res Bid);120 + issueWeights.values() + ") must be 1"); 121 } 122 if (reservationBid != null) { 123 String message = domain.isFitting(reservationBid); 129 124 if (message != null) 130 125 throw new IllegalArgumentException( 131 126 "reservationbid is not fitting domain: " + message); 132 127 } 128 129 this.domain = domain; 130 this.name = name; 131 this.reservationBid = reservationBid; 132 this.issueUtilities.putAll(issueUtilities); 133 this.issueWeights.putAll(issueWeights); 134 133 135 } 134 136 -
profile/src/main/java/geniusweb/profile/utilityspace/PartsUtilities.java
r52 r53 7 7 import java.util.List; 8 8 import java.util.Map; 9 import java.util.stream.Collectors; 9 10 10 11 import com.fasterxml.jackson.annotation.JsonAutoDetect; … … 13 14 import com.fasterxml.jackson.annotation.JsonProperty; 14 15 16 import geniusweb.issuevalue.Domain; 15 17 import geniusweb.issuevalue.Value; 16 18 import geniusweb.issuevalue.ValueSet; 19 import tudelft.utilities.immutablelist.ImmutableList; 20 import tudelft.utilities.immutablelist.Outer; 17 21 18 22 /** … … 41 45 * 42 46 * @param issues list of issues 43 * @param utils with keys: list of values and value: utility value for that 44 * list of values. All list-of-values missing from the map are 45 * assumed to have utility 0. This includes partial bids where 46 * list-of-values contain null objects. 47 * @param utils with keys: list of values, one for each issue in issues (in 48 * the order of the list of issues) and value: utility value 49 * for that list of values. All list-of-values missing from 50 * the map are assumed to have utility 0. This includes 51 * partial bids where list-of-values contain null objects. 47 52 */ 48 53 public PartsUtilities(List<String> issues, 49 54 Map<ProductOfValue, BigDecimal> utils) { 50 if (issues == null || utils == null ) {55 if (issues == null || utils == null || issues.isEmpty()) { 51 56 throw new IllegalArgumentException( 52 "issues and utils must be not null ");57 "issues and utils must be not null or empty"); 53 58 } 54 59 … … 149 154 } 150 155 156 /** 157 * Check that all needed values have been set to a utility. 158 * 159 * @param domain the domain for which this should be parts. We need this to 160 * check that the values used are actually from the dmoain 161 * @throws IllegalArgumentException if a problem is found 162 */ 163 public void checkComplete(Domain domain) { 164 165 final List<ImmutableList<Value>> valuesofissues = issues.stream() 166 .map(iss -> domain.getValues(iss)).collect(Collectors.toList()); 167 168 // check that all possible value combinations are handled 169 for (ImmutableList<Value> vals : new Outer<Value>(valuesofissues)) { 170 ProductOfValue expected = ProductOfValue.create(vals); 171 if (!utilities.containsKey(expected)) 172 throw new IllegalArgumentException( 173 "Values " + vals + " must be assigned a utility"); 174 } 175 } 176 151 177 @Override 152 178 public boolean equals(Object obj) { … … 176 202 } 177 203 204 /** 205 * Check that the set of utilities is complete and no weird utility values 206 * were used 207 * 208 */ 178 209 private void checkUtilities() { 179 if (utilities.values().stream()180 .anyMatch(v -> v == null || v.compareTo(BigDecimal.ZERO) < 0181 || v.compareTo(BigDecimal.ONE) > 0)) {182 throw new IllegalArgumentException(183 "part weights must all be in [0,1]");210 for (BigDecimal value : utilities.values()) { 211 if (value == null || value.compareTo(BigDecimal.ZERO) < 0 212 || value.compareTo(BigDecimal.ONE) > 0) 213 throw new IllegalArgumentException( 214 "part weights must all be in [0,1] but found " + value); 184 215 } 185 216 } … … 196 227 197 228 /** 198 *199 229 * @return the max utility of all values contained here. 200 230 */ -
profile/src/main/java/geniusweb/profile/utilityspace/ProductOfValue.java
r52 r53 2 2 3 3 import java.util.ArrayList; 4 import java.util.LinkedList; 4 5 import java.util.List; 5 6 … … 10 11 11 12 import geniusweb.issuevalue.Value; 13 import tudelft.utilities.immutablelist.ImmutableList; 12 14 13 15 /** 14 * A {@link Value} that is the product of some existing values16 * A {@link Value} that is a list of a number of values in the space 15 17 */ 16 18 @JsonDeserialize(using = JsonDeserializer.None.class) … … 24 26 public ProductOfValue(List<Value> newvals) { 25 27 values.addAll(newvals); 28 } 29 30 public static ProductOfValue create(ImmutableList<Value> vals) { 31 List<Value> list = new LinkedList<>(); 32 for (Value val : vals) { 33 list.add(val); 34 } 35 return new ProductOfValue(list); 26 36 } 27 37 -
profile/src/main/java/geniusweb/profile/utilityspace/SumOfGroupsUtilitySpace.java
r52 r53 3 3 import java.math.BigDecimal; 4 4 import java.util.Arrays; 5 import java.util.Collections; 5 6 import java.util.HashMap; 6 7 import java.util.HashSet; … … 51 52 * @param partutils a map with key: part names (String) and value: the 52 53 * {@link PartsUtilities} for that part. There MUST NOT be 53 * a null part name. All values MUST NOT be null. The 54 * PartsUtilities must match the 54 * a null part name. The PartsUtilities must be complete: 55 * all possible combinations of all parts must cover all 56 * combinations of issue values and assign a proper utility 57 * in [0,1]. 55 58 * @param resBid the reservation bid. Only bids that are 56 59 * {@link #isPreferredOrEqual(Bid, Bid)} should be 57 60 * accepted. Can be null, meaning that there is no 58 61 * reservation bid and any agreement is better than no 59 * agreement. 62 * agreement. Read the note about partial bids in 63 * {@link #getUtility(Bid)}. 60 64 * @throws NullPointerException if values are incorrectly null. 61 65 * @throws IllegalArgumentException if preconditions not met. … … 69 73 this.partUtilities.putAll(partutils); 70 74 71 String err = checkParts(); 72 if (err != null) { 73 throw new IllegalArgumentException(err); 74 } 75 } 76 77 /** 78 * Copy settings in las. This will have the exact same utilities as the las 79 * but this then gives you the power to change it into a non-linear space by 80 * grouping. 75 checkParts(); 76 } 77 78 /** 79 * Copy settings in las. This will have the exact same utilities as the 80 * {@link LinearAdditive} space but this then gives you the power to change 81 * it into a non-linear space by grouping. 81 82 * 82 83 * @param las the {@link LinearAdditive} to be converted/copied. 83 84 * 84 85 */ 85 public SumOfGroupsUtilitySpace(LinearAdditive las) { 86 this(las.getDomain(), las.getName(), las2parts(las), 87 las.getReservationBid()); 88 } 89 86 public static SumOfGroupsUtilitySpace create(LinearAdditive las) { 87 return new SumOfGroupsUtilitySpace(las.getDomain(), las.getName(), 88 las2parts(las), las.getReservationBid()); 89 } 90 91 /** 92 * 93 * @return all partsutilities 94 */ 95 public Map<String, PartsUtilities> getPartsUtilities() { 96 return Collections.unmodifiableMap(partUtilities); 97 } 98 99 /** 100 * 101 * Note: If bid is partial for a group, the utility of that group can not be 102 * evaluated and is set to 0. 103 * 104 */ 90 105 @Override 91 106 public BigDecimal getUtility(Bid bid) { 92 return partUtilities.keySet().stream() 93 .map(partname -> util(partname, bid)) 94 .reduce(BigDecimal.ZERO, BigDecimal::add); 107 BigDecimal sum = BigDecimal.ZERO; 108 for (String partname : partUtilities.keySet()) { 109 sum = sum.add(util(partname, bid)); 110 } 111 return sum; 95 112 } 96 113 97 114 @Override 98 115 public String toString() { 99 return " PartialAdditive[" + partUtilities + "," + getReservationBid()100 + " ]";116 return "SumOfGroupsUtilitySpace[" + getName() + "," + partUtilities 117 + "," + getReservationBid() + "]"; 101 118 } 102 119 … … 235 252 * @return error string, or null if no error (all parts seem fine) 236 253 */ 237 private String checkParts(){254 private void checkParts() throws IllegalArgumentException { 238 255 239 256 Set<String> collectedIssues = new HashSet<>(); … … 241 258 PartsUtilities part = partUtilities.get(partname); 242 259 if (part == null) { 243 return "partUtilities " + partname + " contains null value"; 260 throw new IllegalArgumentException( 261 "partUtilities " + partname + " contains null value"); 244 262 } 245 263 List<String> issues = part.getIssues(); … … 247 265 intersection.retainAll(issues); 248 266 if (!intersection.isEmpty()) { 249 return "issues " + intersection + " occur multiple times"; 250 } 267 throw new IllegalArgumentException( 268 "issues " + intersection + " occur multiple times"); 269 } 270 part.checkComplete(getDomain()); 251 271 collectedIssues.addAll(issues); 252 272 } 253 273 254 274 if (!collectedIssues.equals(getDomain().getIssues())) { 255 return "parts must cover the domain issues " 256 + getDomain().getIssues() + " but cover " + collectedIssues; 275 throw new IllegalArgumentException( 276 "parts must cover the domain issues " 277 + getDomain().getIssues() + " but cover " 278 + collectedIssues); 257 279 } 258 280 if (getMaxUtility().compareTo(BigDecimal.ONE) > 0) { 259 return "Max utility of the space exceedds 1";260 }261 return null;281 throw new IllegalArgumentException( 282 "Max utility of the space exceedds 1"); 283 } 262 284 263 285 } -
profile/src/test/java/geniusweb/profile/DefaultPartialOrderingTest.java
r52 r53 27 27 import tudelft.utilities.junit.GeneralTests; 28 28 29 public class DefaultPartialOrderingTest extends GeneralTests<DefaultPartialOrdering> { 29 public class DefaultPartialOrderingTest 30 extends GeneralTests<DefaultPartialOrdering> { 30 31 31 private final String serialized = "{\"DefaultPartialOrdering\":{" + "\"name\":\"ordering1\"," 32 private final String serialized = "{\"DefaultPartialOrdering\":{" 33 + "\"name\":\"ordering1\"," 32 34 + "\"domain\":{\"name\":\"dom1\",\"issuesValues\":{\"iss1\":{\"values\":[\"1\",\"2\",\"3\"]}}}," 33 + "\"reservationBid\":{\"issuevalues\":{\"iss1\":\"1\"}}," 34 + "\"bids\":[{\"issuevalues\":{\"iss1\":\"1\"}},{\"issuevalues\":{\"iss1\":\"3\"}},{\"issuevalues\":{\"iss1\":\"2\"}}]," 35 + "\"better\":[[0,2],[1,2]]}}"; 35 + "\"better\":{\"{\\\"issuevalues\\\":{\\\"iss1\\\":\\\"1\\\"}}\":[{\"issuevalues\":{\"iss1\":\"2\"}}],\"{\\\"issuevalues\\\":{\\\"iss1\\\":\\\"3\\\"}}\":[{\"issuevalues\":{\"iss1\":\"2\"}}]}," 36 + "\"reservationbid\":{\"issuevalues\":{\"iss1\":\"1\"}}}}"; 36 37 37 38 // we need real (not mock) values otherwise serializer crashes.. 38 39 private String issue1 = "iss1"; 39 private DefaultPartialOrdering ordering1, ordering1b, ordering2, ordering3, ordering4, ordering5; 40 private DefaultPartialOrdering ordering1, ordering1b, ordering2, ordering3, 41 ordering4, ordering5; 40 42 41 43 private Bid bid1, bid2, bid3; … … 47 49 DiscreteValue val2 = new DiscreteValue("2"); 48 50 DiscreteValue val3 = new DiscreteValue("3"); 49 issues.put(issue1, new DiscreteValueSet(new HashSet<>(Arrays.asList(val1, val2, val3)))); 51 issues.put(issue1, new DiscreteValueSet( 52 new HashSet<>(Arrays.asList(val1, val2, val3)))); 50 53 Domain domain1 = new Domain("dom1", issues); 51 54 Domain domain2 = new Domain("dom2", issues); … … 62 65 map2.put(bid3, new HashSet<Bid>(Arrays.asList(bid1))); 63 66 64 ordering1 = new DefaultPartialOrdering("ordering1", domain1, bid1, map1); 65 ordering1b = new DefaultPartialOrdering("ordering1", domain1, bid1, map1); 66 ordering2 = new DefaultPartialOrdering("ordering2", domain1, bid1, map1); 67 ordering3 = new DefaultPartialOrdering("ordering1", domain2, bid1, map1); 68 ordering4 = new DefaultPartialOrdering("ordering1", domain1, bid2, map1); 69 ordering5 = new DefaultPartialOrdering("ordering1", domain1, bid1, map2); 67 ordering1 = new DefaultPartialOrdering("ordering1", domain1, bid1, 68 map1); 69 ordering1b = new DefaultPartialOrdering("ordering1", domain1, bid1, 70 map1); 71 ordering2 = new DefaultPartialOrdering("ordering2", domain1, bid1, 72 map1); 73 ordering3 = new DefaultPartialOrdering("ordering1", domain2, bid1, 74 map1); 75 ordering4 = new DefaultPartialOrdering("ordering1", domain1, bid2, 76 map1); 77 ordering5 = new DefaultPartialOrdering("ordering1", domain1, bid1, 78 map2); 70 79 71 80 } … … 73 82 @Override 74 83 public List<List<DefaultPartialOrdering>> getGeneralTestData() { 75 return Arrays.asList(Arrays.asList(ordering1, ordering1b), Arrays.asList(ordering2), Arrays.asList(ordering3), 84 return Arrays.asList(Arrays.asList(ordering1, ordering1b), 85 Arrays.asList(ordering2), Arrays.asList(ordering3), 76 86 Arrays.asList(ordering4), Arrays.asList(ordering5)); 77 87 } … … 79 89 @Override 80 90 public List<String> getGeneralTestStrings() { 81 return Arrays.asList("DefaultPartialOrdering.*", "DefaultPartialOrdering.*", "DefaultPartialOrdering.*", 91 return Arrays.asList("DefaultPartialOrdering.*", 92 "DefaultPartialOrdering.*", "DefaultPartialOrdering.*", 82 93 "DefaultPartialOrdering.*", "DefaultPartialOrdering.*"); 83 94 } -
profile/src/test/java/geniusweb/profile/utilityspace/LinearAdditiveTest.java
r52 r53 22 22 23 23 import com.fasterxml.jackson.databind.ObjectMapper; 24 import com.fasterxml.jackson.databind.exc.ValueInstantiationException; 24 25 25 26 import geniusweb.issuevalue.Bid; … … 309 310 } 310 311 312 /** 313 * This should throw because computersell-domainmismatch has a mismatch: it 314 * has "high 32G" as graphics option, but the utilities have no value for 315 * that. Instead it talks about "high 24G" 316 */ 317 @Test(expected = ValueInstantiationException.class) 318 public void testIsFitting() throws IOException { 319 String profile = new String( 320 Files.readAllBytes(Paths.get( 321 "src/test/resources/computersell-domainmismatch.json")), 322 StandardCharsets.UTF_8); 323 UtilitySpace space = jackson.readValue(profile, UtilitySpace.class); 324 325 } 326 311 327 } -
profile/src/test/java/geniusweb/profile/utilityspace/SumOfGroupsUtilitySpaceTest.java
r52 r53 21 21 import org.junit.Test; 22 22 23 import com.fasterxml.jackson.core.JsonParseException; 23 24 import com.fasterxml.jackson.core.JsonProcessingException; 25 import com.fasterxml.jackson.databind.JsonMappingException; 24 26 import com.fasterxml.jackson.databind.ObjectMapper; 27 import com.fasterxml.jackson.databind.exc.ValueInstantiationException; 25 28 26 29 import geniusweb.issuevalue.Bid; … … 34 37 import tudelft.utilities.immutablelist.ImmutableList; 35 38 import tudelft.utilities.immutablelist.Outer; 36 37 public class SumOfGroupsUtilitySpaceTest { 39 import tudelft.utilities.junit.GeneralTests; 40 41 public class SumOfGroupsUtilitySpaceTest 42 extends GeneralTests<SumOfGroupsUtilitySpace> { 38 43 private final ObjectMapper jackson = new ObjectMapper(); 39 44 private SumOfGroupsUtilitySpace pa1; … … 49 54 50 55 private Domain domain; 51 private PartsUtilities putils12, putils3 ;56 private PartsUtilities putils12, putils3, putils3b; 52 57 private String serialized = "{\"SumOfGroupsUtilitySpace\":{\"domain\":{\"name\":\"domain\",\"issuesValues\":{\"issue3\":{\"values\":[\"low\",\"high\"]},\"issue2\":{\"values\":[\"low\",\"high\"]},\"issue1\":{\"values\":[\"low\",\"high\"]}}},\"name\":\"testspace\",\"partUtilities\":{\"1and2\":{\"PartsUtilities\":{\"issues\":[\"issue1\",\"issue2\"],\"utilslist\":[{\"values\":[\"low\",\"low\"],\"util\":0.16},{\"values\":[\"high\",\"high\"],\"util\":0.72},{\"values\":[\"low\",\"high\"],\"util\":0.16},{\"values\":[\"high\",\"low\"],\"util\":0.16}]}},\"3\":{\"PartsUtilities\":{\"issues\":[\"issue3\"],\"utilslist\":[{\"values\":[\"low\"],\"util\":0.16},{\"values\":[\"high\"],\"util\":0.14}]}}},\"reservationbid\":{\"issuevalues\":{\"issue1\":\"high\"}}}}"; 58 private SumOfGroupsUtilitySpace sog1, sog1a, sog2, sog3; 53 59 54 60 @Before … … 78 84 putils3 = new PartsUtilities(Arrays.asList(iss3), utils3); 79 85 86 Map<ProductOfValue, BigDecimal> utils3b = new HashMap<>(); 87 utils3b.put(new ProductOfValue(Arrays.asList(lo)), N07.multiply(N02)); 88 utils3b.put(new ProductOfValue(Arrays.asList(hi)), N08.multiply(N02)); 89 putils3b = new PartsUtilities(Arrays.asList(iss3), utils3b); 90 91 HashMap<String, PartsUtilities> partutils = new HashMap<>(); 92 partutils.put("1and2", putils12); 93 partutils.put("3", putils3); 94 95 sog1 = new SumOfGroupsUtilitySpace(domain, "testspace", partutils, 96 resBid); 97 sog1a = new SumOfGroupsUtilitySpace(domain, "testspace", partutils, 98 resBid); 99 sog2 = new SumOfGroupsUtilitySpace(domain, "testspace2", partutils, 100 resBid); 101 102 // reuse partutils. Also checks that the values have been copied 103 partutils = new HashMap<>(); 104 partutils.put("1and2", putils12); 105 partutils.put("3", putils3b); 106 sog3 = new SumOfGroupsUtilitySpace(domain, "testspace", partutils, 107 resBid); 108 109 } 110 111 @Override 112 public List<List<SumOfGroupsUtilitySpace>> getGeneralTestData() { 113 return Arrays.asList(Arrays.asList(sog1, sog1a), Arrays.asList(sog2), 114 Arrays.asList(sog3)); 115 } 116 117 @Override 118 public List<String> getGeneralTestStrings() { 119 return Arrays.asList( 120 "SumOfGroupsUtilitySpace.*testspace.*1and2.*PartsUtilities.*issue1.*issue2.*3.*PartsUtilities.*Bid.*issue1.*high.*", 121 "SumOfGroupsUtilitySpace.*testspace2.*1and2.*PartsUtilities.*issue1.*issue2.*3.*PartsUtilities.*Bid.*issue1.*high.*", 122 "SumOfGroupsUtilitySpace.*testspace.*1and2.*PartsUtilities.*issue1.*issue2.*3.*PartsUtilities.*Bid.*issue1.*high.*"); 80 123 } 81 124 … … 161 204 LinearAdditiveUtilitySpace las = jackson.readValue(profile, 162 205 LinearAdditiveUtilitySpace.class); 163 SumOfGroupsUtilitySpace pas = new SumOfGroupsUtilitySpace(las);206 SumOfGroupsUtilitySpace pas = SumOfGroupsUtilitySpace.create(las); 164 207 checkUtilitiesAllEqual(las, pas); 165 208 System.out.println("Generated partial profile:\n" + pas); … … 178 221 LinearAdditiveUtilitySpace las = jackson.readValue(profile, 179 222 LinearAdditiveUtilitySpace.class); 180 SumOfGroupsUtilitySpace pas = new SumOfGroupsUtilitySpace(las);223 SumOfGroupsUtilitySpace pas = SumOfGroupsUtilitySpace.create(las); 181 224 pas = pas.group(Arrays.asList("Food", "Drinks"), "food&drinks"); 182 225 checkUtilitiesAllEqual(las, pas); … … 235 278 } 236 279 280 @Test 281 public void loadComputerBuy() throws IOException { 282 UtilitySpace space = jackson.readValue( 283 getClass().getResourceAsStream("/computerbuy.json"), 284 UtilitySpace.class); 285 assertTrue(space instanceof SumOfGroupsUtilitySpace); 286 287 } 288 289 @Test 290 public void loadComputerSell() throws IOException { 291 UtilitySpace space = jackson.readValue( 292 getClass().getResourceAsStream("/computersell.json"), 293 UtilitySpace.class); 294 assertTrue(space instanceof LinearAdditiveUtilitySpace); 295 296 } 297 298 @Test(expected = ValueInstantiationException.class) 299 public void loadComputerBuyIncomplete() throws IOException { 300 UtilitySpace space = jackson.readValue( 301 getClass().getResourceAsStream("/computerbuyincomplete.json"), 302 UtilitySpace.class); 303 assertTrue(space instanceof LinearAdditiveUtilitySpace); 304 305 } 306 307 @Test 308 public void loadComputerBuyNumbers() throws IOException { 309 UtilitySpace space = jackson.readValue( 310 getClass().getResourceAsStream("/computerbuynumbers.json"), 311 UtilitySpace.class); 312 assertTrue(space instanceof SumOfGroupsUtilitySpace); 313 314 } 315 316 @Test 317 public void testComputerBuyUtility() 318 throws JsonParseException, JsonMappingException, IOException { 319 SumOfGroupsUtilitySpace space = jackson.readValue( 320 getClass().getResourceAsStream("/computerbuy.json"), 321 SumOfGroupsUtilitySpace.class); 322 Bid bid = space.getReservationBid(); 323 assertEquals(new BigDecimal("0.625"), space.getUtility(bid)); 324 } 325 237 326 /************************ PRIVATE FUNCTIONS *******************/ 238 327 -
profileconnection/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>profileconnection</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
profileconnection/src/test/resources/jobs1_20.json
r52 r53 1 1 { 2 "DefaultPartialOrdering": { 3 "name": "jobs1_20", 4 "domain": { 5 "name": "jobs", 6 "issuesValues": { 7 "lease car": { 8 "values": ["yes", "no"] 9 }, 10 "permanent contract": { 11 "values": ["yes", "no"] 12 }, 13 "career development opportunities": { 14 "values": ["low", "medium", "high"] 15 }, 16 "fte": { 17 "values": ["0.6", "0.8", "1.0"] 18 }, 19 "salary": { 20 "values": ["2000", "2500", "3000", "3500", "4000"] 21 }, 22 "work from home": { 23 "values": ["0", "1", "2"] 24 } 25 } 26 }, 27 "better": [ 28 [0, 34], 29 [2, 9], 30 [3, 5], 31 [6, 23], 32 [12, 18], 33 [13, 27], 34 [14, 28], 35 [15, 37], 36 [17, 28], 37 [19, 1], 38 [20, 29], 39 [21, 24], 40 [22, 8], 41 [25, 10], 42 [26, 16], 43 [30, 24], 44 [31, 32], 45 [33, 7], 46 [35, 4], 47 [36, 11] 48 ], 49 "bids": [{ 50 "issuevalues": { 51 "lease car": "yes", 52 "permanent contract": "yes", 53 "career development opportunities": "low", 54 "fte": "0.8", 55 "salary": "4000", 56 "work from home": "0" 57 } 58 }, { 59 "issuevalues": { 60 "lease car": "no", 61 "permanent contract": "no", 62 "career development opportunities": "high", 63 "fte": "0.6", 64 "salary": "2000", 65 "work from home": "1" 66 } 67 }, { 68 "issuevalues": { 69 "lease car": "yes", 70 "permanent contract": "no", 71 "career development opportunities": "low", 72 "fte": "0.8", 73 "salary": "2000", 74 "work from home": "0" 75 } 76 }, { 77 "issuevalues": { 78 "lease car": "no", 79 "permanent contract": "yes", 80 "career development opportunities": "high", 81 "fte": "0.8", 82 "salary": "2500", 83 "work from home": "2" 84 } 85 }, { 86 "issuevalues": { 87 "lease car": "no", 88 "permanent contract": "yes", 89 "career development opportunities": "low", 90 "fte": "0.6", 91 "salary": "2000", 92 "work from home": "2" 93 } 94 }, { 95 "issuevalues": { 96 "lease car": "no", 97 "permanent contract": "no", 98 "career development opportunities": "high", 99 "fte": "0.6", 100 "salary": "2500", 101 "work from home": "2" 102 } 103 }, { 104 "issuevalues": { 105 "lease car": "no", 106 "permanent contract": "yes", 107 "career development opportunities": "low", 108 "fte": "1.0", 109 "salary": "3500", 110 "work from home": "2" 111 } 112 }, { 113 "issuevalues": { 114 "lease car": "no", 115 "permanent contract": "yes", 116 "career development opportunities": "medium", 117 "fte": "1.0", 118 "salary": "3000", 119 "work from home": "0" 120 } 121 }, { 122 "issuevalues": { 123 "lease car": "no", 124 "permanent contract": "yes", 125 "career development opportunities": "high", 126 "fte": "0.6", 127 "salary": "3500", 128 "work from home": "1" 129 } 130 }, { 131 "issuevalues": { 132 "lease car": "no", 133 "permanent contract": "no", 134 "career development opportunities": "medium", 135 "fte": "0.6", 136 "salary": "2000", 137 "work from home": "1" 138 } 139 }, { 140 "issuevalues": { 141 "lease car": "yes", 142 "permanent contract": "no", 143 "career development opportunities": "high", 144 "fte": "0.6", 145 "salary": "2000", 146 "work from home": "0" 147 } 148 }, { 149 "issuevalues": { 150 "lease car": "no", 151 "permanent contract": "no", 152 "career development opportunities": "medium", 153 "fte": "0.8", 154 "salary": "3500", 155 "work from home": "2" 156 } 157 }, { 158 "issuevalues": { 159 "lease car": "yes", 160 "permanent contract": "yes", 161 "career development opportunities": "high", 162 "fte": "0.6", 163 "salary": "2500", 164 "work from home": "2" 165 } 166 }, { 167 "issuevalues": { 168 "lease car": "no", 169 "permanent contract": "yes", 170 "career development opportunities": "low", 171 "fte": "0.8", 172 "salary": "3000", 173 "work from home": "1" 174 } 175 }, { 176 "issuevalues": { 177 "lease car": "yes", 178 "permanent contract": "yes", 179 "career development opportunities": "high", 180 "fte": "0.8", 181 "salary": "2000", 182 "work from home": "2" 183 } 184 }, { 185 "issuevalues": { 186 "lease car": "no", 187 "permanent contract": "yes", 188 "career development opportunities": "high", 189 "fte": "1.0", 190 "salary": "3500", 191 "work from home": "0" 192 } 193 }, { 194 "issuevalues": { 195 "lease car": "no", 196 "permanent contract": "yes", 197 "career development opportunities": "medium", 198 "fte": "0.8", 199 "salary": "4000", 200 "work from home": "0" 201 } 202 }, { 203 "issuevalues": { 204 "lease car": "yes", 205 "permanent contract": "no", 206 "career development opportunities": "medium", 207 "fte": "0.8", 208 "salary": "3000", 209 "work from home": "1" 210 } 211 }, { 212 "issuevalues": { 213 "lease car": "no", 214 "permanent contract": "yes", 215 "career development opportunities": "high", 216 "fte": "0.8", 217 "salary": "2000", 218 "work from home": "0" 219 } 220 }, { 221 "issuevalues": { 222 "lease car": "no", 223 "permanent contract": "yes", 224 "career development opportunities": "low", 225 "fte": "1.0", 226 "salary": "3000", 227 "work from home": "2" 228 } 229 }, { 230 "issuevalues": { 231 "lease car": "yes", 232 "permanent contract": "no", 233 "career development opportunities": "medium", 234 "fte": "1.0", 235 "salary": "4000", 236 "work from home": "1" 237 } 238 }, { 239 "issuevalues": { 240 "lease car": "no", 241 "permanent contract": "no", 242 "career development opportunities": "low", 243 "fte": "1.0", 244 "salary": "3500", 245 "work from home": "2" 246 } 247 }, { 248 "issuevalues": { 249 "lease car": "yes", 250 "permanent contract": "yes", 251 "career development opportunities": "medium", 252 "fte": "1.0", 253 "salary": "2500", 254 "work from home": "2" 255 } 256 }, { 257 "issuevalues": { 258 "lease car": "yes", 259 "permanent contract": "no", 260 "career development opportunities": "low", 261 "fte": "1.0", 262 "salary": "3000", 263 "work from home": "2" 264 } 265 }, { 266 "issuevalues": { 267 "lease car": "no", 268 "permanent contract": "yes", 269 "career development opportunities": "medium", 270 "fte": "0.8", 271 "salary": "3000", 272 "work from home": "2" 273 } 274 }, { 275 "issuevalues": { 276 "lease car": "no", 277 "permanent contract": "no", 278 "career development opportunities": "medium", 279 "fte": "0.8", 280 "salary": "2000", 281 "work from home": "1" 282 } 283 }, { 284 "issuevalues": { 285 "lease car": "yes", 286 "permanent contract": "yes", 287 "career development opportunities": "low", 288 "fte": "0.8", 289 "salary": "3500", 290 "work from home": "2" 291 } 292 }, { 293 "issuevalues": { 294 "lease car": "yes", 295 "permanent contract": "no", 296 "career development opportunities": "medium", 297 "fte": "0.6", 298 "salary": "4000", 299 "work from home": "0" 300 } 301 }, { 302 "issuevalues": { 303 "lease car": "no", 304 "permanent contract": "no", 305 "career development opportunities": "low", 306 "fte": "0.6", 307 "salary": "2000", 308 "work from home": "0" 309 } 310 }, { 311 "issuevalues": { 312 "lease car": "no", 313 "permanent contract": "no", 314 "career development opportunities": "low", 315 "fte": "0.6", 316 "salary": "3500", 317 "work from home": "1" 318 } 319 }, { 320 "issuevalues": { 321 "lease car": "yes", 322 "permanent contract": "no", 323 "career development opportunities": "high", 324 "fte": "0.8", 325 "salary": "4000", 326 "work from home": "1" 327 } 328 }, { 329 "issuevalues": { 330 "lease car": "no", 331 "permanent contract": "yes", 332 "career development opportunities": "low", 333 "fte": "0.8", 334 "salary": "4000", 335 "work from home": "1" 336 } 337 }, { 338 "issuevalues": { 339 "lease car": "no", 340 "permanent contract": "yes", 341 "career development opportunities": "high", 342 "fte": "0.8", 343 "salary": "2500", 344 "work from home": "0" 345 } 346 }, { 347 "issuevalues": { 348 "lease car": "no", 349 "permanent contract": "yes", 350 "career development opportunities": "medium", 351 "fte": "1.0", 352 "salary": "4000", 353 "work from home": "0" 354 } 355 }, { 356 "issuevalues": { 357 "lease car": "yes", 358 "permanent contract": "no", 359 "career development opportunities": "high", 360 "fte": "0.6", 361 "salary": "2500", 362 "work from home": "2" 363 } 364 }, { 365 "issuevalues": { 366 "lease car": "yes", 367 "permanent contract": "yes", 368 "career development opportunities": "low", 369 "fte": "0.8", 370 "salary": "3500", 371 "work from home": "0" 372 } 373 }, { 374 "issuevalues": { 375 "lease car": "yes", 376 "permanent contract": "no", 377 "career development opportunities": "high", 378 "fte": "1.0", 379 "salary": "4000", 380 "work from home": "1" 381 } 382 }, { 383 "issuevalues": { 384 "lease car": "yes", 385 "permanent contract": "no", 386 "career development opportunities": "medium", 387 "fte": "0.8", 388 "salary": "3500", 389 "work from home": "2" 390 } 391 }], 392 "reservationBid": { 393 "issuevalues": { 394 "lease car": "no", 395 "permanent contract": "no", 396 "career development opportunities": "low", 397 "fte": "0.6", 398 "salary": "3500", 399 "work from home": "1" 400 } 401 } 402 } 2 "DefaultPartialOrdering" : { 3 "name" : "jobs1_20", 4 "domain" : { 5 "name" : "jobs", 6 "issuesValues" : { 7 "lease car" : { 8 "values" : [ "yes", "no" ] 9 }, 10 "permanent contract" : { 11 "values" : [ "yes", "no" ] 12 }, 13 "career development opportunities" : { 14 "values" : [ "low", "medium", "high" ] 15 }, 16 "fte" : { 17 "values" : [ "0.6", "0.8", "1.0" ] 18 }, 19 "salary" : { 20 "values" : [ "2000", "2500", "3000", "3500", "4000" ] 21 }, 22 "work from home" : { 23 "values" : [ "0", "1", "2" ] 24 } 25 } 26 }, 27 "better" : { 28 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"2000\",\"work from home\":\"2\"}}" : [ { 29 "issuevalues" : { 30 "lease car" : "no", 31 "permanent contract" : "no", 32 "career development opportunities" : "low", 33 "fte" : "0.6", 34 "salary" : "2000", 35 "work from home" : "0" 36 } 37 }, { 38 "issuevalues" : { 39 "lease car" : "yes", 40 "permanent contract" : "no", 41 "career development opportunities" : "low", 42 "fte" : "0.6", 43 "salary" : "3500", 44 "work from home" : "0" 45 } 46 }, { 47 "issuevalues" : { 48 "lease car" : "no", 49 "permanent contract" : "no", 50 "career development opportunities" : "high", 51 "fte" : "0.6", 52 "salary" : "3500", 53 "work from home" : "1" 54 } 55 }, { 56 "issuevalues" : { 57 "lease car" : "no", 58 "permanent contract" : "no", 59 "career development opportunities" : "low", 60 "fte" : "1.0", 61 "salary" : "2000", 62 "work from home" : "1" 63 } 64 }, { 65 "issuevalues" : { 66 "lease car" : "no", 67 "permanent contract" : "no", 68 "career development opportunities" : "high", 69 "fte" : "1.0", 70 "salary" : "3000", 71 "work from home" : "0" 72 } 73 }, { 74 "issuevalues" : { 75 "lease car" : "yes", 76 "permanent contract" : "yes", 77 "career development opportunities" : "medium", 78 "fte" : "0.8", 79 "salary" : "2500", 80 "work from home" : "1" 81 } 82 }, { 83 "issuevalues" : { 84 "lease car" : "no", 85 "permanent contract" : "no", 86 "career development opportunities" : "low", 87 "fte" : "0.6", 88 "salary" : "2000", 89 "work from home" : "1" 90 } 91 }, { 92 "issuevalues" : { 93 "lease car" : "yes", 94 "permanent contract" : "no", 95 "career development opportunities" : "high", 96 "fte" : "1.0", 97 "salary" : "3000", 98 "work from home" : "1" 99 } 100 }, { 101 "issuevalues" : { 102 "lease car" : "yes", 103 "permanent contract" : "no", 104 "career development opportunities" : "high", 105 "fte" : "0.8", 106 "salary" : "3500", 107 "work from home" : "1" 108 } 109 }, { 110 "issuevalues" : { 111 "lease car" : "no", 112 "permanent contract" : "no", 113 "career development opportunities" : "medium", 114 "fte" : "0.8", 115 "salary" : "2000", 116 "work from home" : "1" 117 } 118 }, { 119 "issuevalues" : { 120 "lease car" : "yes", 121 "permanent contract" : "yes", 122 "career development opportunities" : "high", 123 "fte" : "0.6", 124 "salary" : "2000", 125 "work from home" : "1" 126 } 127 } ], 128 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"3500\",\"work from home\":\"0\"}}" : [ { 129 "issuevalues" : { 130 "lease car" : "no", 131 "permanent contract" : "no", 132 "career development opportunities" : "low", 133 "fte" : "0.6", 134 "salary" : "2000", 135 "work from home" : "0" 136 } 137 }, { 138 "issuevalues" : { 139 "lease car" : "no", 140 "permanent contract" : "no", 141 "career development opportunities" : "low", 142 "fte" : "1.0", 143 "salary" : "2000", 144 "work from home" : "1" 145 } 146 }, { 147 "issuevalues" : { 148 "lease car" : "no", 149 "permanent contract" : "no", 150 "career development opportunities" : "low", 151 "fte" : "0.6", 152 "salary" : "2000", 153 "work from home" : "1" 154 } 155 }, { 156 "issuevalues" : { 157 "lease car" : "no", 158 "permanent contract" : "no", 159 "career development opportunities" : "medium", 160 "fte" : "0.8", 161 "salary" : "2000", 162 "work from home" : "1" 163 } 164 } ], 165 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"1.0\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 166 "issuevalues" : { 167 "lease car" : "no", 168 "permanent contract" : "no", 169 "career development opportunities" : "low", 170 "fte" : "0.6", 171 "salary" : "2000", 172 "work from home" : "0" 173 } 174 }, { 175 "issuevalues" : { 176 "lease car" : "no", 177 "permanent contract" : "no", 178 "career development opportunities" : "low", 179 "fte" : "0.6", 180 "salary" : "2000", 181 "work from home" : "1" 182 } 183 }, { 184 "issuevalues" : { 185 "lease car" : "no", 186 "permanent contract" : "no", 187 "career development opportunities" : "medium", 188 "fte" : "0.8", 189 "salary" : "2000", 190 "work from home" : "1" 191 } 192 } ], 193 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"medium\",\"fte\":\"1.0\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 194 "issuevalues" : { 195 "lease car" : "no", 196 "permanent contract" : "yes", 197 "career development opportunities" : "high", 198 "fte" : "1.0", 199 "salary" : "2000", 200 "work from home" : "2" 201 } 202 }, { 203 "issuevalues" : { 204 "lease car" : "yes", 205 "permanent contract" : "no", 206 "career development opportunities" : "low", 207 "fte" : "0.6", 208 "salary" : "3500", 209 "work from home" : "0" 210 } 211 }, { 212 "issuevalues" : { 213 "lease car" : "no", 214 "permanent contract" : "no", 215 "career development opportunities" : "low", 216 "fte" : "1.0", 217 "salary" : "2000", 218 "work from home" : "1" 219 } 220 }, { 221 "issuevalues" : { 222 "lease car" : "no", 223 "permanent contract" : "no", 224 "career development opportunities" : "high", 225 "fte" : "1.0", 226 "salary" : "3000", 227 "work from home" : "0" 228 } 229 }, { 230 "issuevalues" : { 231 "lease car" : "no", 232 "permanent contract" : "no", 233 "career development opportunities" : "low", 234 "fte" : "0.6", 235 "salary" : "2000", 236 "work from home" : "1" 237 } 238 }, { 239 "issuevalues" : { 240 "lease car" : "yes", 241 "permanent contract" : "no", 242 "career development opportunities" : "high", 243 "fte" : "1.0", 244 "salary" : "3000", 245 "work from home" : "1" 246 } 247 }, { 248 "issuevalues" : { 249 "lease car" : "yes", 250 "permanent contract" : "no", 251 "career development opportunities" : "high", 252 "fte" : "0.8", 253 "salary" : "3500", 254 "work from home" : "1" 255 } 256 }, { 257 "issuevalues" : { 258 "lease car" : "no", 259 "permanent contract" : "no", 260 "career development opportunities" : "medium", 261 "fte" : "0.8", 262 "salary" : "2000", 263 "work from home" : "1" 264 } 265 }, { 266 "issuevalues" : { 267 "lease car" : "yes", 268 "permanent contract" : "yes", 269 "career development opportunities" : "high", 270 "fte" : "0.6", 271 "salary" : "2000", 272 "work from home" : "1" 273 } 274 }, { 275 "issuevalues" : { 276 "lease car" : "no", 277 "permanent contract" : "no", 278 "career development opportunities" : "low", 279 "fte" : "0.6", 280 "salary" : "2000", 281 "work from home" : "0" 282 } 283 }, { 284 "issuevalues" : { 285 "lease car" : "yes", 286 "permanent contract" : "no", 287 "career development opportunities" : "low", 288 "fte" : "0.8", 289 "salary" : "4000", 290 "work from home" : "2" 291 } 292 }, { 293 "issuevalues" : { 294 "lease car" : "no", 295 "permanent contract" : "no", 296 "career development opportunities" : "high", 297 "fte" : "0.6", 298 "salary" : "3500", 299 "work from home" : "1" 300 } 301 }, { 302 "issuevalues" : { 303 "lease car" : "yes", 304 "permanent contract" : "yes", 305 "career development opportunities" : "medium", 306 "fte" : "0.8", 307 "salary" : "2500", 308 "work from home" : "1" 309 } 310 }, { 311 "issuevalues" : { 312 "lease car" : "yes", 313 "permanent contract" : "yes", 314 "career development opportunities" : "medium", 315 "fte" : "0.8", 316 "salary" : "2500", 317 "work from home" : "2" 318 } 319 } ], 320 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"3000\",\"work from home\":\"0\"}}" : [ { 321 "issuevalues" : { 322 "lease car" : "no", 323 "permanent contract" : "no", 324 "career development opportunities" : "low", 325 "fte" : "0.6", 326 "salary" : "2000", 327 "work from home" : "0" 328 } 329 }, { 330 "issuevalues" : { 331 "lease car" : "yes", 332 "permanent contract" : "no", 333 "career development opportunities" : "low", 334 "fte" : "0.6", 335 "salary" : "3500", 336 "work from home" : "0" 337 } 338 }, { 339 "issuevalues" : { 340 "lease car" : "no", 341 "permanent contract" : "no", 342 "career development opportunities" : "high", 343 "fte" : "0.6", 344 "salary" : "3500", 345 "work from home" : "1" 346 } 347 }, { 348 "issuevalues" : { 349 "lease car" : "no", 350 "permanent contract" : "no", 351 "career development opportunities" : "low", 352 "fte" : "1.0", 353 "salary" : "2000", 354 "work from home" : "1" 355 } 356 }, { 357 "issuevalues" : { 358 "lease car" : "no", 359 "permanent contract" : "no", 360 "career development opportunities" : "low", 361 "fte" : "0.6", 362 "salary" : "2000", 363 "work from home" : "1" 364 } 365 }, { 366 "issuevalues" : { 367 "lease car" : "no", 368 "permanent contract" : "no", 369 "career development opportunities" : "medium", 370 "fte" : "0.8", 371 "salary" : "2000", 372 "work from home" : "1" 373 } 374 } ], 375 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"1.0\",\"salary\":\"2500\",\"work from home\":\"2\"}}" : [ { 376 "issuevalues" : { 377 "lease car" : "no", 378 "permanent contract" : "yes", 379 "career development opportunities" : "high", 380 "fte" : "1.0", 381 "salary" : "2000", 382 "work from home" : "2" 383 } 384 }, { 385 "issuevalues" : { 386 "lease car" : "yes", 387 "permanent contract" : "no", 388 "career development opportunities" : "low", 389 "fte" : "0.6", 390 "salary" : "3500", 391 "work from home" : "0" 392 } 393 }, { 394 "issuevalues" : { 395 "lease car" : "no", 396 "permanent contract" : "no", 397 "career development opportunities" : "low", 398 "fte" : "1.0", 399 "salary" : "2000", 400 "work from home" : "1" 401 } 402 }, { 403 "issuevalues" : { 404 "lease car" : "yes", 405 "permanent contract" : "no", 406 "career development opportunities" : "medium", 407 "fte" : "1.0", 408 "salary" : "3500", 409 "work from home" : "1" 410 } 411 }, { 412 "issuevalues" : { 413 "lease car" : "no", 414 "permanent contract" : "no", 415 "career development opportunities" : "high", 416 "fte" : "1.0", 417 "salary" : "3000", 418 "work from home" : "0" 419 } 420 }, { 421 "issuevalues" : { 422 "lease car" : "no", 423 "permanent contract" : "no", 424 "career development opportunities" : "low", 425 "fte" : "0.6", 426 "salary" : "2000", 427 "work from home" : "1" 428 } 429 }, { 430 "issuevalues" : { 431 "lease car" : "yes", 432 "permanent contract" : "no", 433 "career development opportunities" : "high", 434 "fte" : "1.0", 435 "salary" : "3000", 436 "work from home" : "1" 437 } 438 }, { 439 "issuevalues" : { 440 "lease car" : "yes", 441 "permanent contract" : "no", 442 "career development opportunities" : "high", 443 "fte" : "0.8", 444 "salary" : "3500", 445 "work from home" : "1" 446 } 447 }, { 448 "issuevalues" : { 449 "lease car" : "no", 450 "permanent contract" : "no", 451 "career development opportunities" : "medium", 452 "fte" : "0.8", 453 "salary" : "2000", 454 "work from home" : "1" 455 } 456 }, { 457 "issuevalues" : { 458 "lease car" : "yes", 459 "permanent contract" : "yes", 460 "career development opportunities" : "high", 461 "fte" : "0.6", 462 "salary" : "2000", 463 "work from home" : "1" 464 } 465 }, { 466 "issuevalues" : { 467 "lease car" : "no", 468 "permanent contract" : "no", 469 "career development opportunities" : "low", 470 "fte" : "0.6", 471 "salary" : "2000", 472 "work from home" : "0" 473 } 474 }, { 475 "issuevalues" : { 476 "lease car" : "yes", 477 "permanent contract" : "no", 478 "career development opportunities" : "low", 479 "fte" : "0.8", 480 "salary" : "4000", 481 "work from home" : "2" 482 } 483 }, { 484 "issuevalues" : { 485 "lease car" : "no", 486 "permanent contract" : "no", 487 "career development opportunities" : "high", 488 "fte" : "0.6", 489 "salary" : "3500", 490 "work from home" : "1" 491 } 492 }, { 493 "issuevalues" : { 494 "lease car" : "yes", 495 "permanent contract" : "yes", 496 "career development opportunities" : "medium", 497 "fte" : "0.8", 498 "salary" : "2500", 499 "work from home" : "1" 500 } 501 }, { 502 "issuevalues" : { 503 "lease car" : "yes", 504 "permanent contract" : "yes", 505 "career development opportunities" : "medium", 506 "fte" : "0.8", 507 "salary" : "2500", 508 "work from home" : "2" 509 } 510 }, { 511 "issuevalues" : { 512 "lease car" : "no", 513 "permanent contract" : "yes", 514 "career development opportunities" : "low", 515 "fte" : "1.0", 516 "salary" : "3500", 517 "work from home" : "0" 518 } 519 } ], 520 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 521 "issuevalues" : { 522 "lease car" : "no", 523 "permanent contract" : "no", 524 "career development opportunities" : "low", 525 "fte" : "0.6", 526 "salary" : "2000", 527 "work from home" : "0" 528 } 529 } ], 530 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"3000\",\"work from home\":\"1\"}}" : [ { 531 "issuevalues" : { 532 "lease car" : "no", 533 "permanent contract" : "no", 534 "career development opportunities" : "low", 535 "fte" : "0.6", 536 "salary" : "2000", 537 "work from home" : "0" 538 } 539 }, { 540 "issuevalues" : { 541 "lease car" : "yes", 542 "permanent contract" : "no", 543 "career development opportunities" : "low", 544 "fte" : "0.6", 545 "salary" : "3500", 546 "work from home" : "0" 547 } 548 }, { 549 "issuevalues" : { 550 "lease car" : "no", 551 "permanent contract" : "no", 552 "career development opportunities" : "high", 553 "fte" : "0.6", 554 "salary" : "3500", 555 "work from home" : "1" 556 } 557 }, { 558 "issuevalues" : { 559 "lease car" : "no", 560 "permanent contract" : "no", 561 "career development opportunities" : "low", 562 "fte" : "1.0", 563 "salary" : "2000", 564 "work from home" : "1" 565 } 566 }, { 567 "issuevalues" : { 568 "lease car" : "no", 569 "permanent contract" : "no", 570 "career development opportunities" : "high", 571 "fte" : "1.0", 572 "salary" : "3000", 573 "work from home" : "0" 574 } 575 }, { 576 "issuevalues" : { 577 "lease car" : "no", 578 "permanent contract" : "no", 579 "career development opportunities" : "low", 580 "fte" : "0.6", 581 "salary" : "2000", 582 "work from home" : "1" 583 } 584 }, { 585 "issuevalues" : { 586 "lease car" : "no", 587 "permanent contract" : "no", 588 "career development opportunities" : "medium", 589 "fte" : "0.8", 590 "salary" : "2000", 591 "work from home" : "1" 592 } 593 }, { 594 "issuevalues" : { 595 "lease car" : "yes", 596 "permanent contract" : "yes", 597 "career development opportunities" : "high", 598 "fte" : "0.6", 599 "salary" : "2000", 600 "work from home" : "1" 601 } 602 } ], 603 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"0.8\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 604 "issuevalues" : { 605 "lease car" : "no", 606 "permanent contract" : "no", 607 "career development opportunities" : "low", 608 "fte" : "0.6", 609 "salary" : "2000", 610 "work from home" : "0" 611 } 612 }, { 613 "issuevalues" : { 614 "lease car" : "yes", 615 "permanent contract" : "no", 616 "career development opportunities" : "low", 617 "fte" : "0.6", 618 "salary" : "3500", 619 "work from home" : "0" 620 } 621 }, { 622 "issuevalues" : { 623 "lease car" : "no", 624 "permanent contract" : "no", 625 "career development opportunities" : "high", 626 "fte" : "0.6", 627 "salary" : "3500", 628 "work from home" : "1" 629 } 630 }, { 631 "issuevalues" : { 632 "lease car" : "no", 633 "permanent contract" : "no", 634 "career development opportunities" : "low", 635 "fte" : "1.0", 636 "salary" : "2000", 637 "work from home" : "1" 638 } 639 }, { 640 "issuevalues" : { 641 "lease car" : "no", 642 "permanent contract" : "no", 643 "career development opportunities" : "high", 644 "fte" : "1.0", 645 "salary" : "3000", 646 "work from home" : "0" 647 } 648 }, { 649 "issuevalues" : { 650 "lease car" : "no", 651 "permanent contract" : "no", 652 "career development opportunities" : "low", 653 "fte" : "0.6", 654 "salary" : "2000", 655 "work from home" : "1" 656 } 657 }, { 658 "issuevalues" : { 659 "lease car" : "yes", 660 "permanent contract" : "no", 661 "career development opportunities" : "high", 662 "fte" : "1.0", 663 "salary" : "3000", 664 "work from home" : "1" 665 } 666 }, { 667 "issuevalues" : { 668 "lease car" : "no", 669 "permanent contract" : "no", 670 "career development opportunities" : "medium", 671 "fte" : "0.8", 672 "salary" : "2000", 673 "work from home" : "1" 674 } 675 }, { 676 "issuevalues" : { 677 "lease car" : "yes", 678 "permanent contract" : "yes", 679 "career development opportunities" : "high", 680 "fte" : "0.6", 681 "salary" : "2000", 682 "work from home" : "1" 683 } 684 } ], 685 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 686 "issuevalues" : { 687 "lease car" : "no", 688 "permanent contract" : "no", 689 "career development opportunities" : "low", 690 "fte" : "0.6", 691 "salary" : "2000", 692 "work from home" : "0" 693 } 694 }, { 695 "issuevalues" : { 696 "lease car" : "no", 697 "permanent contract" : "no", 698 "career development opportunities" : "low", 699 "fte" : "0.6", 700 "salary" : "2000", 701 "work from home" : "1" 702 } 703 } ], 704 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"1\"}}" : [ { 705 "issuevalues" : { 706 "lease car" : "no", 707 "permanent contract" : "no", 708 "career development opportunities" : "low", 709 "fte" : "0.6", 710 "salary" : "2000", 711 "work from home" : "0" 712 } 713 }, { 714 "issuevalues" : { 715 "lease car" : "yes", 716 "permanent contract" : "no", 717 "career development opportunities" : "low", 718 "fte" : "0.6", 719 "salary" : "3500", 720 "work from home" : "0" 721 } 722 }, { 723 "issuevalues" : { 724 "lease car" : "no", 725 "permanent contract" : "no", 726 "career development opportunities" : "high", 727 "fte" : "0.6", 728 "salary" : "3500", 729 "work from home" : "1" 730 } 731 }, { 732 "issuevalues" : { 733 "lease car" : "no", 734 "permanent contract" : "no", 735 "career development opportunities" : "low", 736 "fte" : "1.0", 737 "salary" : "2000", 738 "work from home" : "1" 739 } 740 }, { 741 "issuevalues" : { 742 "lease car" : "no", 743 "permanent contract" : "no", 744 "career development opportunities" : "high", 745 "fte" : "1.0", 746 "salary" : "3000", 747 "work from home" : "0" 748 } 749 }, { 750 "issuevalues" : { 751 "lease car" : "no", 752 "permanent contract" : "no", 753 "career development opportunities" : "low", 754 "fte" : "0.6", 755 "salary" : "2000", 756 "work from home" : "1" 757 } 758 }, { 759 "issuevalues" : { 760 "lease car" : "no", 761 "permanent contract" : "no", 762 "career development opportunities" : "medium", 763 "fte" : "0.8", 764 "salary" : "2000", 765 "work from home" : "1" 766 } 767 } ], 768 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.6\",\"salary\":\"2000\",\"work from home\":\"0\"}}" : [ ], 769 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"low\",\"fte\":\"0.8\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 770 "issuevalues" : { 771 "lease car" : "no", 772 "permanent contract" : "yes", 773 "career development opportunities" : "high", 774 "fte" : "1.0", 775 "salary" : "2000", 776 "work from home" : "2" 777 } 778 }, { 779 "issuevalues" : { 780 "lease car" : "yes", 781 "permanent contract" : "no", 782 "career development opportunities" : "low", 783 "fte" : "0.6", 784 "salary" : "3500", 785 "work from home" : "0" 786 } 787 }, { 788 "issuevalues" : { 789 "lease car" : "no", 790 "permanent contract" : "no", 791 "career development opportunities" : "low", 792 "fte" : "1.0", 793 "salary" : "2000", 794 "work from home" : "1" 795 } 796 }, { 797 "issuevalues" : { 798 "lease car" : "yes", 799 "permanent contract" : "no", 800 "career development opportunities" : "medium", 801 "fte" : "1.0", 802 "salary" : "3500", 803 "work from home" : "1" 804 } 805 }, { 806 "issuevalues" : { 807 "lease car" : "no", 808 "permanent contract" : "no", 809 "career development opportunities" : "high", 810 "fte" : "1.0", 811 "salary" : "3000", 812 "work from home" : "0" 813 } 814 }, { 815 "issuevalues" : { 816 "lease car" : "yes", 817 "permanent contract" : "yes", 818 "career development opportunities" : "medium", 819 "fte" : "1.0", 820 "salary" : "2500", 821 "work from home" : "2" 822 } 823 }, { 824 "issuevalues" : { 825 "lease car" : "no", 826 "permanent contract" : "no", 827 "career development opportunities" : "low", 828 "fte" : "0.6", 829 "salary" : "2000", 830 "work from home" : "1" 831 } 832 }, { 833 "issuevalues" : { 834 "lease car" : "yes", 835 "permanent contract" : "no", 836 "career development opportunities" : "high", 837 "fte" : "1.0", 838 "salary" : "3000", 839 "work from home" : "1" 840 } 841 }, { 842 "issuevalues" : { 843 "lease car" : "yes", 844 "permanent contract" : "no", 845 "career development opportunities" : "high", 846 "fte" : "0.8", 847 "salary" : "3500", 848 "work from home" : "1" 849 } 850 }, { 851 "issuevalues" : { 852 "lease car" : "no", 853 "permanent contract" : "no", 854 "career development opportunities" : "medium", 855 "fte" : "0.8", 856 "salary" : "2000", 857 "work from home" : "1" 858 } 859 }, { 860 "issuevalues" : { 861 "lease car" : "yes", 862 "permanent contract" : "yes", 863 "career development opportunities" : "high", 864 "fte" : "0.6", 865 "salary" : "2000", 866 "work from home" : "1" 867 } 868 }, { 869 "issuevalues" : { 870 "lease car" : "no", 871 "permanent contract" : "no", 872 "career development opportunities" : "low", 873 "fte" : "0.6", 874 "salary" : "2000", 875 "work from home" : "0" 876 } 877 }, { 878 "issuevalues" : { 879 "lease car" : "yes", 880 "permanent contract" : "no", 881 "career development opportunities" : "low", 882 "fte" : "0.8", 883 "salary" : "4000", 884 "work from home" : "2" 885 } 886 }, { 887 "issuevalues" : { 888 "lease car" : "no", 889 "permanent contract" : "no", 890 "career development opportunities" : "high", 891 "fte" : "0.6", 892 "salary" : "3500", 893 "work from home" : "1" 894 } 895 }, { 896 "issuevalues" : { 897 "lease car" : "yes", 898 "permanent contract" : "no", 899 "career development opportunities" : "high", 900 "fte" : "1.0", 901 "salary" : "4000", 902 "work from home" : "2" 903 } 904 }, { 905 "issuevalues" : { 906 "lease car" : "yes", 907 "permanent contract" : "yes", 908 "career development opportunities" : "medium", 909 "fte" : "0.8", 910 "salary" : "2500", 911 "work from home" : "1" 912 } 913 }, { 914 "issuevalues" : { 915 "lease car" : "yes", 916 "permanent contract" : "yes", 917 "career development opportunities" : "medium", 918 "fte" : "0.8", 919 "salary" : "2500", 920 "work from home" : "2" 921 } 922 }, { 923 "issuevalues" : { 924 "lease car" : "no", 925 "permanent contract" : "yes", 926 "career development opportunities" : "low", 927 "fte" : "1.0", 928 "salary" : "3500", 929 "work from home" : "0" 930 } 931 } ], 932 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"low\",\"fte\":\"0.8\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 933 "issuevalues" : { 934 "lease car" : "no", 935 "permanent contract" : "yes", 936 "career development opportunities" : "high", 937 "fte" : "1.0", 938 "salary" : "2000", 939 "work from home" : "2" 940 } 941 }, { 942 "issuevalues" : { 943 "lease car" : "no", 944 "permanent contract" : "no", 945 "career development opportunities" : "low", 946 "fte" : "0.6", 947 "salary" : "2000", 948 "work from home" : "0" 949 } 950 }, { 951 "issuevalues" : { 952 "lease car" : "yes", 953 "permanent contract" : "no", 954 "career development opportunities" : "low", 955 "fte" : "0.6", 956 "salary" : "3500", 957 "work from home" : "0" 958 } 959 }, { 960 "issuevalues" : { 961 "lease car" : "no", 962 "permanent contract" : "no", 963 "career development opportunities" : "high", 964 "fte" : "0.6", 965 "salary" : "3500", 966 "work from home" : "1" 967 } 968 }, { 969 "issuevalues" : { 970 "lease car" : "no", 971 "permanent contract" : "no", 972 "career development opportunities" : "low", 973 "fte" : "1.0", 974 "salary" : "2000", 975 "work from home" : "1" 976 } 977 }, { 978 "issuevalues" : { 979 "lease car" : "no", 980 "permanent contract" : "no", 981 "career development opportunities" : "high", 982 "fte" : "1.0", 983 "salary" : "3000", 984 "work from home" : "0" 985 } 986 }, { 987 "issuevalues" : { 988 "lease car" : "yes", 989 "permanent contract" : "yes", 990 "career development opportunities" : "medium", 991 "fte" : "0.8", 992 "salary" : "2500", 993 "work from home" : "1" 994 } 995 }, { 996 "issuevalues" : { 997 "lease car" : "no", 998 "permanent contract" : "no", 999 "career development opportunities" : "low", 1000 "fte" : "0.6", 1001 "salary" : "2000", 1002 "work from home" : "1" 1003 } 1004 }, { 1005 "issuevalues" : { 1006 "lease car" : "yes", 1007 "permanent contract" : "no", 1008 "career development opportunities" : "high", 1009 "fte" : "1.0", 1010 "salary" : "3000", 1011 "work from home" : "1" 1012 } 1013 }, { 1014 "issuevalues" : { 1015 "lease car" : "yes", 1016 "permanent contract" : "no", 1017 "career development opportunities" : "high", 1018 "fte" : "0.8", 1019 "salary" : "3500", 1020 "work from home" : "1" 1021 } 1022 }, { 1023 "issuevalues" : { 1024 "lease car" : "no", 1025 "permanent contract" : "no", 1026 "career development opportunities" : "medium", 1027 "fte" : "0.8", 1028 "salary" : "2000", 1029 "work from home" : "1" 1030 } 1031 }, { 1032 "issuevalues" : { 1033 "lease car" : "yes", 1034 "permanent contract" : "yes", 1035 "career development opportunities" : "high", 1036 "fte" : "0.6", 1037 "salary" : "2000", 1038 "work from home" : "1" 1039 } 1040 } ], 1041 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"0.6\",\"salary\":\"3500\",\"work from home\":\"1\"}}" : [ { 1042 "issuevalues" : { 1043 "lease car" : "no", 1044 "permanent contract" : "no", 1045 "career development opportunities" : "low", 1046 "fte" : "0.6", 1047 "salary" : "2000", 1048 "work from home" : "0" 1049 } 1050 }, { 1051 "issuevalues" : { 1052 "lease car" : "yes", 1053 "permanent contract" : "no", 1054 "career development opportunities" : "low", 1055 "fte" : "0.6", 1056 "salary" : "3500", 1057 "work from home" : "0" 1058 } 1059 }, { 1060 "issuevalues" : { 1061 "lease car" : "no", 1062 "permanent contract" : "no", 1063 "career development opportunities" : "low", 1064 "fte" : "1.0", 1065 "salary" : "2000", 1066 "work from home" : "1" 1067 } 1068 }, { 1069 "issuevalues" : { 1070 "lease car" : "no", 1071 "permanent contract" : "no", 1072 "career development opportunities" : "low", 1073 "fte" : "0.6", 1074 "salary" : "2000", 1075 "work from home" : "1" 1076 } 1077 }, { 1078 "issuevalues" : { 1079 "lease car" : "no", 1080 "permanent contract" : "no", 1081 "career development opportunities" : "medium", 1082 "fte" : "0.8", 1083 "salary" : "2000", 1084 "work from home" : "1" 1085 } 1086 } ], 1087 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 1088 "issuevalues" : { 1089 "lease car" : "no", 1090 "permanent contract" : "yes", 1091 "career development opportunities" : "high", 1092 "fte" : "1.0", 1093 "salary" : "2000", 1094 "work from home" : "2" 1095 } 1096 }, { 1097 "issuevalues" : { 1098 "lease car" : "yes", 1099 "permanent contract" : "no", 1100 "career development opportunities" : "low", 1101 "fte" : "0.6", 1102 "salary" : "3500", 1103 "work from home" : "0" 1104 } 1105 }, { 1106 "issuevalues" : { 1107 "lease car" : "no", 1108 "permanent contract" : "no", 1109 "career development opportunities" : "low", 1110 "fte" : "1.0", 1111 "salary" : "2000", 1112 "work from home" : "1" 1113 } 1114 }, { 1115 "issuevalues" : { 1116 "lease car" : "yes", 1117 "permanent contract" : "no", 1118 "career development opportunities" : "medium", 1119 "fte" : "1.0", 1120 "salary" : "3500", 1121 "work from home" : "1" 1122 } 1123 }, { 1124 "issuevalues" : { 1125 "lease car" : "no", 1126 "permanent contract" : "no", 1127 "career development opportunities" : "high", 1128 "fte" : "1.0", 1129 "salary" : "3000", 1130 "work from home" : "0" 1131 } 1132 }, { 1133 "issuevalues" : { 1134 "lease car" : "yes", 1135 "permanent contract" : "yes", 1136 "career development opportunities" : "medium", 1137 "fte" : "1.0", 1138 "salary" : "2500", 1139 "work from home" : "2" 1140 } 1141 }, { 1142 "issuevalues" : { 1143 "lease car" : "no", 1144 "permanent contract" : "no", 1145 "career development opportunities" : "low", 1146 "fte" : "0.6", 1147 "salary" : "2000", 1148 "work from home" : "1" 1149 } 1150 }, { 1151 "issuevalues" : { 1152 "lease car" : "yes", 1153 "permanent contract" : "no", 1154 "career development opportunities" : "high", 1155 "fte" : "1.0", 1156 "salary" : "3000", 1157 "work from home" : "1" 1158 } 1159 }, { 1160 "issuevalues" : { 1161 "lease car" : "yes", 1162 "permanent contract" : "no", 1163 "career development opportunities" : "high", 1164 "fte" : "0.8", 1165 "salary" : "3500", 1166 "work from home" : "1" 1167 } 1168 }, { 1169 "issuevalues" : { 1170 "lease car" : "no", 1171 "permanent contract" : "no", 1172 "career development opportunities" : "medium", 1173 "fte" : "0.8", 1174 "salary" : "2000", 1175 "work from home" : "1" 1176 } 1177 }, { 1178 "issuevalues" : { 1179 "lease car" : "yes", 1180 "permanent contract" : "yes", 1181 "career development opportunities" : "high", 1182 "fte" : "0.6", 1183 "salary" : "2000", 1184 "work from home" : "1" 1185 } 1186 }, { 1187 "issuevalues" : { 1188 "lease car" : "no", 1189 "permanent contract" : "no", 1190 "career development opportunities" : "low", 1191 "fte" : "0.6", 1192 "salary" : "2000", 1193 "work from home" : "0" 1194 } 1195 }, { 1196 "issuevalues" : { 1197 "lease car" : "yes", 1198 "permanent contract" : "yes", 1199 "career development opportunities" : "low", 1200 "fte" : "0.8", 1201 "salary" : "4000", 1202 "work from home" : "2" 1203 } 1204 }, { 1205 "issuevalues" : { 1206 "lease car" : "yes", 1207 "permanent contract" : "no", 1208 "career development opportunities" : "low", 1209 "fte" : "0.8", 1210 "salary" : "4000", 1211 "work from home" : "2" 1212 } 1213 }, { 1214 "issuevalues" : { 1215 "lease car" : "no", 1216 "permanent contract" : "no", 1217 "career development opportunities" : "high", 1218 "fte" : "0.6", 1219 "salary" : "3500", 1220 "work from home" : "1" 1221 } 1222 }, { 1223 "issuevalues" : { 1224 "lease car" : "yes", 1225 "permanent contract" : "no", 1226 "career development opportunities" : "high", 1227 "fte" : "1.0", 1228 "salary" : "4000", 1229 "work from home" : "2" 1230 } 1231 }, { 1232 "issuevalues" : { 1233 "lease car" : "yes", 1234 "permanent contract" : "yes", 1235 "career development opportunities" : "medium", 1236 "fte" : "0.8", 1237 "salary" : "2500", 1238 "work from home" : "1" 1239 } 1240 }, { 1241 "issuevalues" : { 1242 "lease car" : "yes", 1243 "permanent contract" : "yes", 1244 "career development opportunities" : "medium", 1245 "fte" : "0.8", 1246 "salary" : "2500", 1247 "work from home" : "2" 1248 } 1249 }, { 1250 "issuevalues" : { 1251 "lease car" : "no", 1252 "permanent contract" : "yes", 1253 "career development opportunities" : "low", 1254 "fte" : "1.0", 1255 "salary" : "3500", 1256 "work from home" : "0" 1257 } 1258 } ], 1259 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"no\",\"career development opportunities\":\"high\",\"fte\":\"1.0\",\"salary\":\"4000\",\"work from home\":\"2\"}}" : [ { 1260 "issuevalues" : { 1261 "lease car" : "no", 1262 "permanent contract" : "yes", 1263 "career development opportunities" : "high", 1264 "fte" : "1.0", 1265 "salary" : "2000", 1266 "work from home" : "2" 1267 } 1268 }, { 1269 "issuevalues" : { 1270 "lease car" : "yes", 1271 "permanent contract" : "no", 1272 "career development opportunities" : "low", 1273 "fte" : "0.6", 1274 "salary" : "3500", 1275 "work from home" : "0" 1276 } 1277 }, { 1278 "issuevalues" : { 1279 "lease car" : "no", 1280 "permanent contract" : "no", 1281 "career development opportunities" : "low", 1282 "fte" : "1.0", 1283 "salary" : "2000", 1284 "work from home" : "1" 1285 } 1286 }, { 1287 "issuevalues" : { 1288 "lease car" : "yes", 1289 "permanent contract" : "no", 1290 "career development opportunities" : "medium", 1291 "fte" : "1.0", 1292 "salary" : "3500", 1293 "work from home" : "1" 1294 } 1295 }, { 1296 "issuevalues" : { 1297 "lease car" : "no", 1298 "permanent contract" : "no", 1299 "career development opportunities" : "high", 1300 "fte" : "1.0", 1301 "salary" : "3000", 1302 "work from home" : "0" 1303 } 1304 }, { 1305 "issuevalues" : { 1306 "lease car" : "yes", 1307 "permanent contract" : "yes", 1308 "career development opportunities" : "medium", 1309 "fte" : "1.0", 1310 "salary" : "2500", 1311 "work from home" : "2" 1312 } 1313 }, { 1314 "issuevalues" : { 1315 "lease car" : "no", 1316 "permanent contract" : "no", 1317 "career development opportunities" : "low", 1318 "fte" : "0.6", 1319 "salary" : "2000", 1320 "work from home" : "1" 1321 } 1322 }, { 1323 "issuevalues" : { 1324 "lease car" : "yes", 1325 "permanent contract" : "no", 1326 "career development opportunities" : "high", 1327 "fte" : "1.0", 1328 "salary" : "3000", 1329 "work from home" : "1" 1330 } 1331 }, { 1332 "issuevalues" : { 1333 "lease car" : "yes", 1334 "permanent contract" : "no", 1335 "career development opportunities" : "high", 1336 "fte" : "0.8", 1337 "salary" : "3500", 1338 "work from home" : "1" 1339 } 1340 }, { 1341 "issuevalues" : { 1342 "lease car" : "no", 1343 "permanent contract" : "no", 1344 "career development opportunities" : "medium", 1345 "fte" : "0.8", 1346 "salary" : "2000", 1347 "work from home" : "1" 1348 } 1349 }, { 1350 "issuevalues" : { 1351 "lease car" : "yes", 1352 "permanent contract" : "yes", 1353 "career development opportunities" : "high", 1354 "fte" : "0.6", 1355 "salary" : "2000", 1356 "work from home" : "1" 1357 } 1358 }, { 1359 "issuevalues" : { 1360 "lease car" : "no", 1361 "permanent contract" : "no", 1362 "career development opportunities" : "low", 1363 "fte" : "0.6", 1364 "salary" : "2000", 1365 "work from home" : "0" 1366 } 1367 }, { 1368 "issuevalues" : { 1369 "lease car" : "yes", 1370 "permanent contract" : "no", 1371 "career development opportunities" : "low", 1372 "fte" : "0.8", 1373 "salary" : "4000", 1374 "work from home" : "2" 1375 } 1376 }, { 1377 "issuevalues" : { 1378 "lease car" : "no", 1379 "permanent contract" : "no", 1380 "career development opportunities" : "high", 1381 "fte" : "0.6", 1382 "salary" : "3500", 1383 "work from home" : "1" 1384 } 1385 }, { 1386 "issuevalues" : { 1387 "lease car" : "yes", 1388 "permanent contract" : "yes", 1389 "career development opportunities" : "medium", 1390 "fte" : "0.8", 1391 "salary" : "2500", 1392 "work from home" : "1" 1393 } 1394 }, { 1395 "issuevalues" : { 1396 "lease car" : "yes", 1397 "permanent contract" : "yes", 1398 "career development opportunities" : "medium", 1399 "fte" : "0.8", 1400 "salary" : "2500", 1401 "work from home" : "2" 1402 } 1403 }, { 1404 "issuevalues" : { 1405 "lease car" : "no", 1406 "permanent contract" : "yes", 1407 "career development opportunities" : "low", 1408 "fte" : "1.0", 1409 "salary" : "3500", 1410 "work from home" : "0" 1411 } 1412 } ], 1413 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2500\",\"work from home\":\"1\"}}" : [ { 1414 "issuevalues" : { 1415 "lease car" : "no", 1416 "permanent contract" : "no", 1417 "career development opportunities" : "low", 1418 "fte" : "0.6", 1419 "salary" : "2000", 1420 "work from home" : "0" 1421 } 1422 }, { 1423 "issuevalues" : { 1424 "lease car" : "yes", 1425 "permanent contract" : "no", 1426 "career development opportunities" : "low", 1427 "fte" : "0.6", 1428 "salary" : "3500", 1429 "work from home" : "0" 1430 } 1431 }, { 1432 "issuevalues" : { 1433 "lease car" : "no", 1434 "permanent contract" : "no", 1435 "career development opportunities" : "high", 1436 "fte" : "0.6", 1437 "salary" : "3500", 1438 "work from home" : "1" 1439 } 1440 }, { 1441 "issuevalues" : { 1442 "lease car" : "no", 1443 "permanent contract" : "no", 1444 "career development opportunities" : "low", 1445 "fte" : "1.0", 1446 "salary" : "2000", 1447 "work from home" : "1" 1448 } 1449 }, { 1450 "issuevalues" : { 1451 "lease car" : "no", 1452 "permanent contract" : "no", 1453 "career development opportunities" : "high", 1454 "fte" : "1.0", 1455 "salary" : "3000", 1456 "work from home" : "0" 1457 } 1458 }, { 1459 "issuevalues" : { 1460 "lease car" : "no", 1461 "permanent contract" : "no", 1462 "career development opportunities" : "low", 1463 "fte" : "0.6", 1464 "salary" : "2000", 1465 "work from home" : "1" 1466 } 1467 }, { 1468 "issuevalues" : { 1469 "lease car" : "yes", 1470 "permanent contract" : "no", 1471 "career development opportunities" : "high", 1472 "fte" : "1.0", 1473 "salary" : "3000", 1474 "work from home" : "1" 1475 } 1476 }, { 1477 "issuevalues" : { 1478 "lease car" : "yes", 1479 "permanent contract" : "no", 1480 "career development opportunities" : "high", 1481 "fte" : "0.8", 1482 "salary" : "3500", 1483 "work from home" : "1" 1484 } 1485 }, { 1486 "issuevalues" : { 1487 "lease car" : "no", 1488 "permanent contract" : "no", 1489 "career development opportunities" : "medium", 1490 "fte" : "0.8", 1491 "salary" : "2000", 1492 "work from home" : "1" 1493 } 1494 }, { 1495 "issuevalues" : { 1496 "lease car" : "yes", 1497 "permanent contract" : "yes", 1498 "career development opportunities" : "high", 1499 "fte" : "0.6", 1500 "salary" : "2000", 1501 "work from home" : "1" 1502 } 1503 } ], 1504 "{\"issuevalues\":{\"lease car\":\"yes\",\"permanent contract\":\"yes\",\"career development opportunities\":\"medium\",\"fte\":\"0.8\",\"salary\":\"2500\",\"work from home\":\"2\"}}" : [ { 1505 "issuevalues" : { 1506 "lease car" : "no", 1507 "permanent contract" : "yes", 1508 "career development opportunities" : "high", 1509 "fte" : "1.0", 1510 "salary" : "2000", 1511 "work from home" : "2" 1512 } 1513 }, { 1514 "issuevalues" : { 1515 "lease car" : "no", 1516 "permanent contract" : "no", 1517 "career development opportunities" : "low", 1518 "fte" : "0.6", 1519 "salary" : "2000", 1520 "work from home" : "0" 1521 } 1522 }, { 1523 "issuevalues" : { 1524 "lease car" : "yes", 1525 "permanent contract" : "no", 1526 "career development opportunities" : "low", 1527 "fte" : "0.6", 1528 "salary" : "3500", 1529 "work from home" : "0" 1530 } 1531 }, { 1532 "issuevalues" : { 1533 "lease car" : "no", 1534 "permanent contract" : "no", 1535 "career development opportunities" : "high", 1536 "fte" : "0.6", 1537 "salary" : "3500", 1538 "work from home" : "1" 1539 } 1540 }, { 1541 "issuevalues" : { 1542 "lease car" : "no", 1543 "permanent contract" : "no", 1544 "career development opportunities" : "low", 1545 "fte" : "1.0", 1546 "salary" : "2000", 1547 "work from home" : "1" 1548 } 1549 }, { 1550 "issuevalues" : { 1551 "lease car" : "no", 1552 "permanent contract" : "no", 1553 "career development opportunities" : "high", 1554 "fte" : "1.0", 1555 "salary" : "3000", 1556 "work from home" : "0" 1557 } 1558 }, { 1559 "issuevalues" : { 1560 "lease car" : "yes", 1561 "permanent contract" : "yes", 1562 "career development opportunities" : "medium", 1563 "fte" : "0.8", 1564 "salary" : "2500", 1565 "work from home" : "1" 1566 } 1567 }, { 1568 "issuevalues" : { 1569 "lease car" : "no", 1570 "permanent contract" : "no", 1571 "career development opportunities" : "low", 1572 "fte" : "0.6", 1573 "salary" : "2000", 1574 "work from home" : "1" 1575 } 1576 }, { 1577 "issuevalues" : { 1578 "lease car" : "yes", 1579 "permanent contract" : "no", 1580 "career development opportunities" : "high", 1581 "fte" : "1.0", 1582 "salary" : "3000", 1583 "work from home" : "1" 1584 } 1585 }, { 1586 "issuevalues" : { 1587 "lease car" : "yes", 1588 "permanent contract" : "no", 1589 "career development opportunities" : "high", 1590 "fte" : "0.8", 1591 "salary" : "3500", 1592 "work from home" : "1" 1593 } 1594 }, { 1595 "issuevalues" : { 1596 "lease car" : "no", 1597 "permanent contract" : "no", 1598 "career development opportunities" : "medium", 1599 "fte" : "0.8", 1600 "salary" : "2000", 1601 "work from home" : "1" 1602 } 1603 }, { 1604 "issuevalues" : { 1605 "lease car" : "yes", 1606 "permanent contract" : "yes", 1607 "career development opportunities" : "high", 1608 "fte" : "0.6", 1609 "salary" : "2000", 1610 "work from home" : "1" 1611 } 1612 } ], 1613 "{\"issuevalues\":{\"lease car\":\"no\",\"permanent contract\":\"yes\",\"career development opportunities\":\"low\",\"fte\":\"1.0\",\"salary\":\"3500\",\"work from home\":\"0\"}}" : [ { 1614 "issuevalues" : { 1615 "lease car" : "no", 1616 "permanent contract" : "yes", 1617 "career development opportunities" : "high", 1618 "fte" : "1.0", 1619 "salary" : "2000", 1620 "work from home" : "2" 1621 } 1622 }, { 1623 "issuevalues" : { 1624 "lease car" : "yes", 1625 "permanent contract" : "no", 1626 "career development opportunities" : "low", 1627 "fte" : "0.6", 1628 "salary" : "3500", 1629 "work from home" : "0" 1630 } 1631 }, { 1632 "issuevalues" : { 1633 "lease car" : "no", 1634 "permanent contract" : "no", 1635 "career development opportunities" : "low", 1636 "fte" : "1.0", 1637 "salary" : "2000", 1638 "work from home" : "1" 1639 } 1640 }, { 1641 "issuevalues" : { 1642 "lease car" : "yes", 1643 "permanent contract" : "no", 1644 "career development opportunities" : "medium", 1645 "fte" : "1.0", 1646 "salary" : "3500", 1647 "work from home" : "1" 1648 } 1649 }, { 1650 "issuevalues" : { 1651 "lease car" : "no", 1652 "permanent contract" : "no", 1653 "career development opportunities" : "high", 1654 "fte" : "1.0", 1655 "salary" : "3000", 1656 "work from home" : "0" 1657 } 1658 }, { 1659 "issuevalues" : { 1660 "lease car" : "no", 1661 "permanent contract" : "no", 1662 "career development opportunities" : "low", 1663 "fte" : "0.6", 1664 "salary" : "2000", 1665 "work from home" : "1" 1666 } 1667 }, { 1668 "issuevalues" : { 1669 "lease car" : "yes", 1670 "permanent contract" : "no", 1671 "career development opportunities" : "high", 1672 "fte" : "1.0", 1673 "salary" : "3000", 1674 "work from home" : "1" 1675 } 1676 }, { 1677 "issuevalues" : { 1678 "lease car" : "yes", 1679 "permanent contract" : "no", 1680 "career development opportunities" : "high", 1681 "fte" : "0.8", 1682 "salary" : "3500", 1683 "work from home" : "1" 1684 } 1685 }, { 1686 "issuevalues" : { 1687 "lease car" : "no", 1688 "permanent contract" : "no", 1689 "career development opportunities" : "medium", 1690 "fte" : "0.8", 1691 "salary" : "2000", 1692 "work from home" : "1" 1693 } 1694 }, { 1695 "issuevalues" : { 1696 "lease car" : "yes", 1697 "permanent contract" : "yes", 1698 "career development opportunities" : "high", 1699 "fte" : "0.6", 1700 "salary" : "2000", 1701 "work from home" : "1" 1702 } 1703 }, { 1704 "issuevalues" : { 1705 "lease car" : "no", 1706 "permanent contract" : "no", 1707 "career development opportunities" : "low", 1708 "fte" : "0.6", 1709 "salary" : "2000", 1710 "work from home" : "0" 1711 } 1712 }, { 1713 "issuevalues" : { 1714 "lease car" : "yes", 1715 "permanent contract" : "no", 1716 "career development opportunities" : "low", 1717 "fte" : "0.8", 1718 "salary" : "4000", 1719 "work from home" : "2" 1720 } 1721 }, { 1722 "issuevalues" : { 1723 "lease car" : "no", 1724 "permanent contract" : "no", 1725 "career development opportunities" : "high", 1726 "fte" : "0.6", 1727 "salary" : "3500", 1728 "work from home" : "1" 1729 } 1730 }, { 1731 "issuevalues" : { 1732 "lease car" : "yes", 1733 "permanent contract" : "yes", 1734 "career development opportunities" : "medium", 1735 "fte" : "0.8", 1736 "salary" : "2500", 1737 "work from home" : "1" 1738 } 1739 }, { 1740 "issuevalues" : { 1741 "lease car" : "yes", 1742 "permanent contract" : "yes", 1743 "career development opportunities" : "medium", 1744 "fte" : "0.8", 1745 "salary" : "2500", 1746 "work from home" : "2" 1747 } 1748 } ] 1749 }, 1750 "reservationbid" : { 1751 "issuevalues" : { 1752 "lease car" : "no", 1753 "permanent contract" : "yes", 1754 "career development opportunities" : "medium", 1755 "fte" : "0.8", 1756 "salary" : "3500", 1757 "work from home" : "1" 1758 } 1759 } 1760 } 403 1761 } -
protocol/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>protocol</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 56 56 <groupId>tudelft.utilities</groupId> 57 57 <artifactId>utilities</artifactId> 58 <version>1. 2.1</version>58 <version>1.3.1</version> 59 59 </dependency> 60 60 <dependency> -
protocol/src/main/java/geniusweb/protocol/tournament/allpermutationslearn/AllPermutationsLearnSettings.java
r52 r53 147 147 (parties, flocs) -> createSetting(parties, flocs), 148 148 partylistlist, filelocs); 149 settings = new JoinedList<SessionSettings>( settings,150 getLearnSessions(filelocs, partylistlist)) ;149 settings = new JoinedList<SessionSettings>(Arrays.asList(settings, 150 getLearnSessions(filelocs, partylistlist))); 151 151 allSettings = allSettings == null ? settings 152 : new JoinedList<SessionSettings>(allSettings, settings); 152 : new JoinedList<SessionSettings>( 153 Arrays.asList(allSettings, settings)); 153 154 } 154 155 -
pythonadapter/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>pythonadapter</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
references/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>references</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 32 32 <groupId>tudelft.utilities</groupId> 33 33 <artifactId>utilities</artifactId> 34 <version>1. 2.1</version>34 <version>1.3.1</version> 35 35 </dependency> 36 36 <!-- the core, which includes Streaming API, shared low-level abstractions -
simplerunner/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>simplerunner</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
timeline/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>timeline</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 -
voting/pom.xml
r52 r53 6 6 <groupId>geniusweb</groupId> 7 7 <artifactId>voting</artifactId> 8 <version>2. 1.6</version>8 <version>2.2.1</version> <!-- equals the geniusweb version --> 9 9 <packaging>jar</packaging> 10 10 … … 42 42 <groupId>tudelft.utilities</groupId> 43 43 <artifactId>utilities</artifactId> 44 <version>1. 2.1</version>44 <version>1.3.1</version> 45 45 </dependency> 46 46 <!-- the core, which includes Streaming API, shared low-level abstractions
Note:
See TracChangeset
for help on using the changeset viewer.