Browse Source

fixed sql query for unsnced recs;
updates current device max id;

Julien Clauter 9 years ago
parent
commit
219359ed2d

+ 11 - 5
src/de/tudarmstadt/informatik/hostage/persistence/HostageDBOpenHelper.java

@@ -219,6 +219,9 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
 		SQLiteDatabase db = this.getWritableDatabase();
 		this.insertAttackRecordWithOnConflict(record,db);
 		db.close(); // Closing database connection
+        ArrayList<SyncDevice> devices = new ArrayList<SyncDevice>();
+        devices.add(SyncDevice.currentDevice());
+        this.updateSyncDevices(devices);
 	}
 
     /**
@@ -243,6 +246,9 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
             db.endTransaction();
         }
         db.close(); // Closing database connection
+        ArrayList<SyncDevice> devices = new ArrayList<SyncDevice>();
+        devices.add(SyncDevice.currentDevice());
+        this.updateSyncDevices(devices);
     }
 
     private void insertAttackRecordWithOnConflict(AttackRecord record, SQLiteDatabase db){
@@ -1871,15 +1877,15 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
         SQLiteDatabase db = this.getReadableDatabase();
 
         for (SyncDevice sDevice : updatedDevices){
-            String selectQuery = "SELECT * FROM " + AttackEntry.TABLE_NAME + " A " + " NATURAL JOIN " + PacketEntry.TABLE_NAME + " P "
+            String selectQuery = "SELECT * FROM " + AttackEntry.TABLE_NAME + " A " + " , " + PacketEntry.TABLE_NAME + " P "
                     + " WHERE "
-                    +" ( "
+                    + " ( "
                     + "A." + AttackEntry.COLUMN_NAME_ATTACK_ID + " = " + " P."+ PacketEntry.COLUMN_NAME_ATTACK_ID
                     + " AND " + " A." + AttackEntry.COLUMN_NAME_DEVICE + " = " + "'" + sDevice.getDeviceID() + "'"
                     + " AND " + " A." + AttackEntry.COLUMN_NAME_SYNC_ID + " > " + sDevice.getHighest_attack_id()
                     + " ) "
                     //+ " GROUP BY " + AttackEntry.TABLE_NAME + "." + AttackEntry.COLUMN_NAME_DEVICE
-                    + " ORDER BY " + AttackEntry.TABLE_NAME + "." + AttackEntry.COLUMN_NAME_SYNC_ID + " DESC ";
+                    + " ORDER BY " + "A" + "." + AttackEntry.COLUMN_NAME_SYNC_ID + " DESC ";
             Cursor cursor = db.rawQuery(selectQuery, null);
 
             // looping through all rows and adding to list
@@ -1915,7 +1921,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
         SQLiteDatabase db = this.getReadableDatabase();
 
         for (SyncDevice sDevice : updatedDevices){
-            String selectQuery = "SELECT * FROM " + AttackEntry.TABLE_NAME + " A " + " NATURAL JOIN " + PacketEntry.TABLE_NAME + " P "
+            String selectQuery = "SELECT * FROM " + AttackEntry.TABLE_NAME + " A " + " , " + PacketEntry.TABLE_NAME + " P "
                     + " WHERE "
                     +" ( "
                     + "A." + AttackEntry.COLUMN_NAME_ATTACK_ID + " = " + " P."+ PacketEntry.COLUMN_NAME_ATTACK_ID
@@ -1923,7 +1929,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
                     + " AND " + " A." + AttackEntry.COLUMN_NAME_SYNC_ID + " > " + sDevice.getHighest_attack_id()
                     + " ) "
                     //+ " GROUP BY " + AttackEntry.TABLE_NAME + "." + AttackEntry.COLUMN_NAME_DEVICE
-                    + " ORDER BY " + AttackEntry.TABLE_NAME + "." + AttackEntry.COLUMN_NAME_SYNC_ID + " DESC ";
+                    + " ORDER BY " + " A" + "." + AttackEntry.COLUMN_NAME_SYNC_ID + " DESC ";
             Cursor cursor = db.rawQuery(selectQuery, null);
 
             // looping through all rows and adding to list

+ 10 - 2
src/de/tudarmstadt/informatik/hostage/ui/fragment/RecordOverviewFragment.java

@@ -43,7 +43,10 @@ import de.tudarmstadt.informatik.hostage.logging.LogExport;
 import de.tudarmstadt.informatik.hostage.logging.MessageRecord;
 import de.tudarmstadt.informatik.hostage.logging.NetworkRecord;
 import de.tudarmstadt.informatik.hostage.logging.Record;
+import de.tudarmstadt.informatik.hostage.logging.SyncData;
+import de.tudarmstadt.informatik.hostage.logging.SyncInfo;
 import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
+import de.tudarmstadt.informatik.hostage.sync.Synchronizer;
 import de.tudarmstadt.informatik.hostage.sync.bluetooth.BluetoothSyncActivity;
 import de.tudarmstadt.informatik.hostage.sync.nfc.NFCSyncActivity;
 import de.tudarmstadt.informatik.hostage.sync.p2p.P2PSyncActivity;
@@ -122,7 +125,8 @@ public class RecordOverviewFragment extends UpNavigatibleFragment implements Che
     static final String YESTERDAY = MainActivity.getInstance().getResources().getString( R.string.YESTERDAY);
 
 
-
+    private SyncInfo si ;// = s.getSyncInfo();
+    private SyncData sd ;//= s.getSyncData(si);
 
     /**
      * Constructor
@@ -147,7 +151,11 @@ public class RecordOverviewFragment extends UpNavigatibleFragment implements Che
 	    pref = PreferenceManager.getDefaultSharedPreferences(getActivity());
 
 	    // Get the message from the intent
-
+        // this.addRecordToDB(4,4,4);
+        // Synchronizer s = new Synchronizer(this.dbh);
+        // si = s.getSyncInfo();
+        // sd = s.getSyncData(si);
+        // s.updateFromSyncData(sd);
 
         if (this.filter == null){
             Intent intent = this.getActivity().getIntent();