API

This page describes the configuration and usage of the JAVAPOS API.

__**Configuration:**__ The latest version of JAVAPOS officially supported by IBM is 1.12.1 which can be obtained here. Documentation: It requires Windows XP SP3 and utilizes the IBM JVM version 1.5 which will have to be considered during application development.

In general connection to the peripherals using API functions is configured using a XML file. Upon installation of JAVAPOS the user is told to browse through a sample xml file that supposedly contains all devices currently supported by JAVAPOS. He or she then should create a new file called jpos.xml and fill it with only those entries from the sample file that are physically present on the system. This file should then be moved to a location which is added to the Java classpath during installation of JAVAPOS. By adding the command "import jpos.xml;" to the file containing the main method in the application one should then have proper access to all devices.

Version 1.12.1 of JAVAPOS comes with a number of usefull tools for easier configuration. One of them is the Control Center. It can be used to identify and test the physical devices present on the system. The group therefore decided to to verify correct functionality of all devices using the tools provided by IBMs latest JAVAPOS release before starting the development of the actual application. Suprisingly the configuration using the JAVAPOS control center is not as straight forward as originally anticipated. By copying the entire sample XML file to a specified location and then using the "auto-detect" function of the control center a very strange set of peripherals (3 line displays and 2 MSRs) is detected. By examining previous versions of the XML file which have shown at least partially correct functionality the group will have to determine the proper combination of "JposEntries".

All devices can be accessed using self-written testclasses. Simple GUIs can also be generated and run on the POS clients. **One major problem remains:** Up to this day the group has not succeeded in exporting projects containing classes regarding POS device access to .jar files to realize "double-clickable" applications. The successfull atempts to access devices could only be made by executing pre-compiled .class files from the command prompt on the POS clients. The following guides were used:
 * - status update 14th May -**
 * [[file:JavaPOS-Deployment.pdf]]
 * [[file:eclipse IDE Configuration 1.1.pdf]]

Unfortunately the JavaPos-Deployment whitepaper is slightly outdated i.e. it refers to JavaPos 1.7. In particular it lists a number of files that need to be added to the project/classpath which have been renamed/replaced in JavaPos 1.12 (the version we are using). If any of YOU has experience in proper "double clickable" application design in Java **please do help!** Any help or suggestions will be greatly appreciated.

The group is going to try and export the project to any reasonable format (jar or exe) a few more times. If that succeeds the basic functionalities can still be implemented. Access to the cashdrawer and linedisplay is rather simple. A controller for the printer has been finished but could not be tested due to the lack of a functional system. The project will however most likely only run on one of the clients (the one that has enough RAM to run eclipse).
 * - status update 4th June -**