@michal

#tadodevmeeting


6.5.2013

What have I learned last week?

ThermostatOperation refactoring before


   UNDEFINED,
   MANUAL,
   AUTO_HOME,
   AUTO_SLEEP,
   AUTO_AWAY,
   HOME_BUTTON,
   STALE_GEO_HOME,
   NO_INTERNET,
   STALE_GEO_SLEEP,
   NO_FREEZE,
   AUTO_HOME_SCHEDULE,
   AUTO_SLEEP_SCHEDULE,
   AUTO_AWAY_SCHEDULE

ThermostatOperation refactoring after


 enum ThermostatOperation {
    HOME,
    SLEEP,
    AWAY,
    MANUAL,
    NO_FREEZE
 }


 enum ThermostatOperationTrigger {
   SYSTEM,
   USER,
   SCHEDULE,
   STALE_USER
 }



   boolean srvBoxConnected

ThermostatLogicServiceSpec


thermStale | setMode | geo   | atHome | noCell | staleUser | schedule | oldThermostatOper   | thermOper | trigger
false      | AUTO    | false | false  | false  | false     | HOME     | AUTO_HOME_SCHEDULE  | HOME      | SCHEDULE
false      | AUTO    | false | false  | false  | false     | SLEEP    | AUTO_SLEEP_SCHEDULE | SLEEP     | SCHEDULE
...