Sept 1, 2009 - 6.6.1
* Refreshed APIs
* Added UIContext aware methods for all ALL api calls
July 20, 2009 - 6.5.15-5
* Added SSL support patch from jreichen
* Refreshed APIs to 6.5.20
May 21, 2009 - 6.5.15-5
* Added PlaylistAPI support
* Added Custom Services using Javascript
* Added Media Handler
Mar 29, 2009 - 6.5.9-5
* Potential serialization bug fixes.
Mar 29, 2009 - 6.5.9-5
* Refreshed the apis for the latest sage apis
* zip now includes javadoc as well as jar
Feb 21 2009 - 6.5.9-3
* Changed Xml/Json Format: Fields that start with Get no long return Get.
* The Nielm encoder returns an error on error instead of the default xml format.
Feb 17 2009 - 6.5.9-2
* Fixed Serialization Bug
Feb 17 2009 - 6.5.9-1
* Refreshed to the latest SageTV Apis (6.5.9)
* Added Complete serialization for Sage Objects using JSON, XML, and Nielm's Xml Formats. (new handler /sagex/api
* ie, when you call GetMediaFiles, you get back complete objects, not just references.
* Added Help Page with Search (Just call /sagex/api without any parameters)
Jan 24 2009 - 6.4.8-14
* Fixed bug when File parameters are used
Dec 6 2008 - 6.4.8-9
* Changed how server discover works.
* Now sends back server properties for rmi and http in text format that is more friendly to other types of clients that want to use service discovery
Dec 4 2008 - 6.4.8-8
* Added xml declaration for mikwilli
Dec 2 2008 - 6.4.8-7
* Added JSON/JSONP support (contribution from Jreichen).
* See wiki for information.
Nov 26 2008 - 6.4.8-6
* Fixed bug in how arrays were being passed and processed on the server (ie, Sort)
* Fixed a bug in Xml Rest Apis where Vector of Strings were not being encoded correctly
Nov 20 2008 - 6.4.8-5
* Added support jetty starter
* Added back the support for java over http (rmi is still default)
* Added system setting, sagex.SageAPI.remoteUrl, for setting the remote url.
or via System.setProperty("sagex.SageAPI.remoteUrl", url);
NOTE: if you are running the remote api under nielm's webserver, the the java over http will experience issues with very large parameters. This is not the case with the jetty server. If you use java over rmi then it will work under both servers.
Nov 18 2008 - 6.4.8-4
* Fixed bug where very large parameters to the remote sage call would result in an IO exception
* Changed JavaRPC model to use RMI instead of HTTP to prevent IO Exceptions on very large method parameters
NOTE: This version no longer contains the JavaRPC http handler and as a result, code that MANUALLY called SageAPI.setProvider() must now pass the RMISageAPI instance instead of the SageAPIRemote instance.
Code:
SageAPI.setProvider(new RMISageAPI(host,port)) ;
If your code does not manually set the remote server, then it will continue to work, but both the server and the client must be using the 6.4.8-4 version of the sagex-api library.
Nov 10 2008 - 6.4.8-3
* Command can now be passed as url parameter
Nov 4 2008
* Added UI Context so that methods that require a UI context can be invoked.
You can set the UI context for the current thread by calling either...
Code:
sagex.SageAPI.setUIContext(ctx);
// or by calling the setUIContext() convenience method on each API
// e.g.,
WidgetAPI.setUIContext(ctx);
Oct 13 2008
* Now depends on Nielm's Web Server Plugin instead of using it's own internal server.
* Added Servlets for requesting media file stream and the thumbnail stream.
New... just released Xml over Http... See the Wiki for more information on how to make Sage Http calls. Checkout the Rest Guide as well.
The Rest API has not been well tested. So if you encounter issues, then please add bugs to the project bug page, or post a note on the forum.
Project Brief
A short time ago, I needed to be able to communicate with Sage remotely, and as a result I created/generated a SageTV Api from Sage's Javadoc, that has a unique characteristic of being able to be called remotely.
This api is much like Greg's API, in that is attempts to make the Sage API for IDE friendly.
You can download and read more about this API from the google code project site. Complete installation instructions are available in the Wiki Page provided.
Some features of this API include...
Fairly Lean - Dosn't create many additional objects
Can be used Remotely - ie, from external JVM or Xml over Http
Wrappers are completely generated from the SageTV javadoc.
Code written using this API can run inside or outside of the SageTV process without code changes or recompiling.
Keep in mind, if you you don't need RPC capabilities, then you might as well use Greg's API.