5. Midp Worker
Before/After pattern simple implementation
●
public abstract class MIDPWorker extends TimerTask
public final void run() {
before();
try {
doWork();
} catch (LogicalException e) {
doCatch(e);
} finally {
after();
6. ISO helpers
IsoDate Helper
●
IsoDate parser for ISO 8601 format
–
http://www.w3.org/TR/xmlschema-2/#date
–
–
IsoDuration Helper
●
IsoDuration parser for ISO 8601 format.
–
http://www.w3.org/TR/xmlschema-2/#duration
–
IsoDuration format is (-)PnYnMnDTnHnMnS
–
7. ISO helpers
IsoDate Helper
●
IsoDate parser for ISO 8601 format
–
http://www.w3.org/TR/xmlschema-2/#date
–
–
IsoDuration Helper
●
IsoDuration parser for ISO 8601 format.
–
http://www.w3.org/TR/xmlschema-2/#duration
–
IsoDuration format is (-)PnYnMnDTnHnMnS
–
8. I/O
Bluetooth
●
A simple send & receive client
–
Needs your help! :-)
●
Integration with BtFree??? Federico Paparoni???
●
HTTP
●
A complete http client (post/get)
–
URL encoding
–
Cookie auth supported
–
Easy parameters use
–
9. Http example
try {
String xml = XMLAdapter.getInstance().toXML(msg);
logger.debug(quot;Postingquot;, xml);
xml = HttpClient.URLencode(xml);
HttpClient httpClient = new HttpClient();
String[][] params = {
{ quot;sXmlMobileRequestquot;, xml },
{ quot;userNamequot;, UserPropertiesWrapper.currentUser() },
};
String response = httpClient.post(Fluidtime.ENDPOINT +
quot;TimeWindow/update.actionquot;, params);
msg = (Message) XMLAdapter.getInstance().fromXML(response);
} catch (LogicalException e) {
logger.debug(e);
10. The cache
A persistence cache for MIDP 2.0
●
save(PersistentObject e)
–
delete(PersistentObject e)
–
PersistentObject find(String id)
–
reset()
–
boolean isEmpty()
–
11. RMS-xml cache
Runtime cache:
●
An hash table containing objects
–
Shutting down?
●
Storing objects in xml format
–
Starting up?
●
Retrive of the objects from the rms
–
12. Problems
How to retrive the objects in cache?
●
EntityRecordMapping idea
–
It contains the reference from an Entity id and
–
Its Record Store Id
How to find an object?
●
1. in the runtime cache
●
2. in the rms
●
3. if found it will be putted on the cache & used
●