This is a basic implementation of a service that provides retrieval access to the EANData.com UPC web site. Its was coded to verify basic proof-of-concept for development of another application and was not intended to provide be anything more than basic functionality in the retrieval of UPC data from the EANData.com web site.
There are several places where simple code was left in place rather than using more advanced Java features/methods to allow for easier understanding of junior developers. Not much time spent refactoring or cleaning up the code. It is provided as a starting point only.
It contains a Factory service that returns a service object configured using the UcpService.properties (see below) file found in the class path of the executed code. The UpcQueryService can respond with an implementation of the UpcResponse and supporting interfaces or with an InputStream allowing direct access to the response from the from the EANData.com web site.
JSR 353 is the Java API for JSON is currently under development (http://java.net/projects/json-processing-spec & http://java.net/projects/jsonp). The several Java JSON implementations seemed to be more than I was wanting/needing so I wrote a basic parser to provide JSON parsing capability needed. Its not perfect but is a good basic start.
The UpcService.properties must be configured.
provides the address used to query UPC data. The additional parameters are added to retrieve the requested information.
Provided from EANData.com when your account is setup.
The manner in which the data will be retrieved from the EANData.com web site.
Boolean to indicate whether the graphics, when indicated by a Url, are to be automatically retrieved at the same time with the UPC data. Default is false. A factory method allows for the this property to be overridden at the time the UpcQueryService is created.