- AreaChartSample, BinaryWebSocketServer en JavaFXBinaryWsClient zijn 'inspiratie'projecten.
- brewery is het domein model
- movieplex7 is de solution van het hands-on lab van Oracle
- workshop-ee7-java8 is een licht aangepast versie
- BreweryApp bevat de AngularJS broncode om de front-end applicatie te maken
Het project workshop-ee7-java8 bevast de sources die de deelnemer krijgt. Het domein model (brewery) komt mee als jar.
Add ingredient POST /resources/ingredient/{name}/{value}/{unit}
{ "ingredient":"yeast", "volume": { "value":"300", "unit":"liter" } }
Change temperature POST /resources/temperature/{value}/{unit}
{ "temperature": { "value":"65", "unit":"celsius" } }
Wait for period of time POST /resources/wait/{duration}
{ "duration":"PT30M" }
Explanation of PT30M (30 minutes): http://en.wikipedia.org/wiki/ISO_8601
TODO: add responses
Recipe POST /resources/recipe
{
"name":"KoenBier",
"steps":[
{
"type":"addIngredient",
"ingredient":"naam",
"volume":{
"value":"300",
"unit":"liter"
}
},
{
"type":"changeTemperature",
"temperature":{
"value":"65",
"scale":"celsius"
}
},
{
"type":"stableTemperature",
"duration":"PT30M"
}
]
}
duration -> Duration.of(30, ChronoUnit.MINUTES).toString();
##Monitoring through WebSockets
{"event":"recipe completed"}
{"event":"waiting completed"}
{
"event":"temperature changing",
"kettle":{
"scale":"CELSIUS",
"value":0
},
"goal":{
"scale":"CELSIUS",
"value":65
}
}
{"event":"temperature reading","temperature":{"scale":"CELSIUS","value":65}}
{"event":"waiting","duration":"PT30M"}
{
"event":"temperature reached goal",
"temperature":{
"scale":"CELSIUS",
"value":65
}
}
{
"event":"ingredient added",
"ingredient":{
"name":"Hop",
"volume":{
"value":300,
"unit":"LITER"
}
}
}