optaconf
optaconf copied to clipboard
DEPRECATED IN FAVOR OF https://github.com/kiegroup/optaplanner/tree/master/optaplanner-examples/src/main/java/org/optaplanner/examples/conferencescheduling
= OptaConf -- the optimal conference planner
== Project setup for IntelliJ IDEA
For IntelliJ IDEA Ultimate Edition:
. Open the pom.xml
as a new project in IntelliJ
. Download and unzip http://wildfly.org/downloads/[WildFly 9.0.1.Final]
. In IntelliJ, add a JBoss app server run configuration for that WildFly installation and a deployment for the exploded war
. In IntelliJ, go to Project structure, menu item Artifacts and suffix exploded war's output directory with -exploded.war
. Run the WildFly run configuration
If you have IntelliJ IDEA Community Edition:
. Run wildfly-9.0.1.Final/bin/standalone.sh
with Java 8+
. Run mvn wildfly:deploy
from within the optaconf-webapp
directory
== Project setup for Eclipse
. Install http://tools.jboss.org[JBoss Tools] . In Eclipse, Import the project as a Maven project . In Eclipse, Use File > New Server, choose WildFly 9.x and you can use "Download and install" to get WildFly 9 . In Eclipse, Drag the webapp project to the WildFly server . In Eclipse, Run WildFly
== Rest URLs
Import a schedule:
- A Devoxx schedule: [POST] http://localhost:8080/optaconf-webapp/rest/conference/import/devoxx
General lists:
- All conferences: [GET] http://localhost:8080/optaconf-webapp/rest/conference/
- All days: [GET] http://localhost:8080/optaconf-webapp/rest/
/day - All timeslots: [GET] http://localhost:8080/optaconf-webapp/rest/
/timeslot - All rooms: [GET] http://localhost:8080/optaconf-webapp/rest/
/room - All tracks: [GET] http://localhost:8080/optaconf-webapp/rest/
/track - All speakers: [GET] http://localhost:8080/optaconf-webapp/rest/
/speaker - All talks: [GET] http://localhost:8080/optaconf-webapp/rest/
/talk
GUI map:
- Talk map per day per timeslot per room: [GET] http://localhost:8080/optaconf-webapp/#/schedule/
Filtered lists:
- All timeslots of 1 day: [GET] http://localhost:8080/optaconf-webapp/rest/
/day/wednesday/timeslot - All talk exclusions of 1 talk: [GET] http://localhost:8080/optaconf-webapp/rest/
/talk/1/exclusion - All talks on 1 day grouped by timeslot and room: [GET] http://localhost:8080/optaconf-webapp/rest/
/day/wednesday/talk
Solve a conference schedule
- Solve the schedule: [PUT] http://localhost:8080/optaconf-webapp/rest/conference/
/solve - Is solving? [GET] http://localhost:8080/optaconf-webapp/rest/conference/
/isSolving - Terminate solving: [PUT] http://localhost:8080/optaconf-webapp/rest/conference/
/terminateSolving
== Development methodology
- Code style: https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/tree/master/ide-configuration[KIE (Drools, OptaPlanner, jBPM) code style]