This milestone is part of the Beehive Roadmap. See the roadmap for full details of milestones and scheduling of milestones.
Java API
In the initial phase the Java API requirements for infrared Beehive are rather simple:
- It should be possible using a Java programming language to import an existing LIRC configuration file into the database.
- It should be possible using a Java programming language to export a LIRC configuration file from a database. Note that the exported configuration file should be faithful to all of the content of the original imported configuration.
- The Java API should support operations required for building a web interface for infrared Beehive. See M4 - Beehive Web User Interface for details. Supporting user interfaces may require exporting (getting properties and/or values) of partial LIRC configuration files rather than entire (original) config file.
Importing LIRC configuration files with multiple remote entries
It is possible to have more than one remote configuration in a LIRC configuration file. Each remote configuration in a file should go to the database as a separate remote record.
If user wants to later combine multiple records into a single configuration file (which they are bound to do since most people have more than one remote at home which they want to combine into single iPhone universal remote, for example) we can easily concatenate the exported entries into a single configuration file. And ultimately this processing is hidden from the user unless they explicitly want to see their LIRC configuration file.
Note on recreating LIRC configuration files
The LIRC configuration files that can be recreated with export functionality contain elements that are not mentioned in Beehive Roadmap - M1 Database Schema, such as "begin remote", "end remote", "begin codes" and "end codes".
These strings are part of the configuration template and repeat on every LIRC configuration file. Therefore it is not necessary to store this information into the database but treat is as template file information instead.
Deliverables
Java API supporting importing and exporting LIRC configuration files and supporting web user interface actions.