1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
import org.gnu.pilotlink.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
/**
* Description of the Class
*
* @author stephan
* @created 4. Dezember 2004
*/
public class datebooktst {
/**
* Description of the Method
*
* @param args Description of the Parameter
*/
public static void main(String args[]) {
DatebookRecord dbr;
test tst=new test();
JFrame frame = new JFrame("Progress");
frame.getContentPane().setLayout(new BorderLayout());
JLabel txt = new JLabel("Reading in");
frame.getContentPane().add(txt, BorderLayout.NORTH);
JProgressBar progress = new JProgressBar(0, 100);
frame.getContentPane().add(progress, BorderLayout.CENTER);
frame.setSize(300, 50);
frame.setVisible(true);
String port;
if (args.length==0) {
port="/dev/usb/tts/1";
} else {
port=args[0];
}
File p=new File(port);
System.out.println("looking for file "+port);
if (!p.exists()) {
System.out.println("File does not exist... USB? Waiting for port to appear");
while (!p.exists()) {
System.out.print(".");
try {
Thread.sleep(1000);
} catch (Exception e) {}
}
}
PilotLink pl = null;
try {
pl = new PilotLink(port);
if (!pl.isConnected()) {
System.out.println("Something went wrong. Check output!");
System.exit(1);
}
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
try {
User u = pl.getUserInfo();
System.out.println("User: " + u.getName());
System.out.println("Last Synchronization Date: " + u.getLastSyncDate());
} catch (PilotLinkException e) {
e.printStackTrace();
}
try {
System.out.println("Opening catdb!");
int dbh = pl.openDB("DatebookDB");
System.out.println("db opened!");
System.out.println("Count: " + pl.getRecordCount(dbh));
progress.setMaximum(pl.getRecordCount(dbh));
Vector ids = new Vector();
for (int i = 0; i < pl.getRecordCount(dbh); i++) {
Record r = pl.getRecordByIndex(dbh, i);
progress.setValue(i);
txt.setText("Reading in " + i);
if (r == null) {
break;
}
if (r.getBuffer() == null || r.getBuffer().length == 0) {
System.out.println("0-sized record? Deleting...");
pl.deleteRecordById(dbh, r.getId());
continue;
}
if (!r.isDirty()) {
//only new entries
continue;
}
dbr = new DatebookRecord(r);
//System.out.println("comparing "+dbr.getStartDate()+ "to yesterday "+yesterday);
//if (dbr.getStartDate().before(yesterday) || dbr.getStartDate().after(new Date())) {
// continue;
//}
ids.add(new Integer(i));
System.out.println("Read index " + i);
System.out.println(" id: " + dbr.getId());
System.out.println("attr: " + Integer.toHexString(dbr.getAttribs()));
System.out.println(" dirty:" + dbr.isDirty());
System.out.println(" arch :" + dbr.isArchived());
System.out.println(" del :" + dbr.isDeleted());
System.out.println("size: " + dbr.getSize());
System.out.println("cat : " + dbr.getCategory());
tst.hexdump(dbr.getBuffer());
tst.hexdump(r.getBuffer());
System.out.println("Has alarm : " + dbr.hasAlarm());
System.out.println("Description: " + dbr.hasDescription());
System.out.println("Note : " + dbr.hasNote());
System.out.println("Reapeated : " + dbr.isRepeated());
System.out.println("hasTime : " + dbr.hasTime());
if (dbr.hasDescription()) {
System.out.println("Descr: " + dbr.getDescription());
}
if (dbr.hasNote()) {
System.out.println("Note: " + dbr.getNote());
}
System.out.println("Start: " + dbr.getStartDate());
System.out.println("End: " + dbr.getEndDate());
}
//Doing this not to interfere with the reading of records
for (int i = 0; i < ids.size(); i++) {
System.out.println("updating..." + ids.get(i));
Record r = pl.getRecordByIndex(dbh, ((Integer) ids.get(i)).intValue());
r.setDirty(false);
tst.hexdump(r.getBuffer());
if (r.isDirty()) {
System.out.println("H����?!");
}
//pl.writeRecord(dbh,r);
}
System.out.println("\n\n\nNew Datebookentry:\n");
GregorianCalendar start = new GregorianCalendar();
start.setTime(new Date());
start.set(GregorianCalendar.SECOND, 0);
GregorianCalendar end = new GregorianCalendar();
end.setTime(new Date(System.currentTimeMillis() + 15 * 60000));
end.set(GregorianCalendar.SECOND, 0);
System.out.println("Instaciating...");
dbr = new DatebookRecord(start.getTime(), end.getTime(), "Test of pilot-links new java bindings", "");
//tst.hexdump(dbr.getBuffer());
//System.out.println("Size: "+dbr.getSize());
pl.writeRecord(dbh,dbr);
pl.closeDB(dbh);
pl.endSync();
pl.close();
} catch (PilotLinkException e) {
e.printStackTrace();
}
frame.dispose();
}
}
|