@Path("/events/{eventName}/sessions") @GET public Response getSessionsForEvent(@PathParam("eventName") final String eventName) { IncogitoUri incogitoUri = new IncogitoUri(incogito.getConfiguration().baseurl); F<List<Session>, List<SessionXml>> sessionToXmlList = List.<Session, SessionXml>map_() .f( XmlFunctions.sessionToXml .f(incogitoUri.restEvents().eventUri(eventName)) .f(incogitoUri.events().eventUri(eventName))); return toJsr311( incogito .getSessions(eventName) .ok() .map(compose(SessionListXml.sessionListXml, sessionToXmlList))); }
public void performIteration(final TuningAlgorithm alg) { final List<Vector> parameterList = alg.getParameterList(); // TODO: deal with maximisation problems results = results.snoc( parameterList.map( new F<Vector, OptimisationSolution>() { @Override public OptimisationSolution f(Vector a) { return new OptimisationSolution(a, alg.evaluate(a)); } })); // (+1 because iterations start at 0) if (alg.getIterations() + 1 >= minProblems.getParameter() && parameterList.length() != 1) { List<List<Double>> data = results.map( List.<OptimisationSolution, Double>map_().f(getFitness().andThen(getValue()))); P2<Double, Double> friedman = StatsTests.friedman(0.05, data); if (friedman._1() > friedman._2()) { final List<Integer> indexes = StatsTests.postHoc(0.05, friedman._1(), data); alg.setParameterList(indexes.map(flip(Utils.<Vector>index()).f(parameterList))); results = results.map( new F<List<OptimisationSolution>, List<OptimisationSolution>>() { @Override public List<OptimisationSolution> f(final List<OptimisationSolution> a) { return indexes.map(flip(Utils.<OptimisationSolution>index()).f(a)); } }); } } }