Browse Source

some changes

Alexander Brakowski 9 years ago
parent
commit
01d988e5c2

+ 3 - 3
src/de/tudarmstadt/informatik/hostage/logging/SyncDevice.java

@@ -62,7 +62,7 @@ public class SyncDevice {
                     + " WHERE " + " D." + HostageDBContract.SyncDeviceEntry.COLUMN_NAME_DEVICE_ID + " = " + "'"+deviceUUID+"'";
             HostageDBOpenHelper dbh = new HostageDBOpenHelper(MainActivity.context);
 
-            SQLiteDatabase db = dbh.getWritableDatabase();
+            SQLiteDatabase db = dbh.getReadableDatabase();
             Cursor cursor = db.rawQuery(selectQuery, null);
 
             // IF WE ALREADY HAVE A SYNC DEVICE FOR THE GIVEN DEVICE UUID
@@ -72,9 +72,8 @@ public class SyncDevice {
                 record.setLast_sync_timestamp(cursor.getLong(1));
                 record.setHighest_attack_id(cursor.getLong(2));
                 thisDevice = record;
-                cursor.close();
+
             } else {
-                cursor.close();
             // CREATE A NEW SYNC DEVICE
                 thisDevice = new SyncDevice();
                 // ITS IMPORTANT TO CREATE A COMPLETE NEW DEVICE UUID
@@ -89,6 +88,7 @@ public class SyncDevice {
                 devices.add(thisDevice);
                 dbh.insertSyncDevices(devices);
             }
+            cursor.close();
 
             // return record list
             db.close();

+ 16 - 14
src/de/tudarmstadt/informatik/hostage/persistence/HostageDBOpenHelper.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.UUID;
 
 import android.content.ContentValues;
 import android.content.Context;
@@ -28,6 +29,7 @@ import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.PacketEnt
 import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.ProfileEntry;
 import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.SyncDeviceEntry;
 import de.tudarmstadt.informatik.hostage.persistence.HostageDBContract.SyncInfoEntry;
+import de.tudarmstadt.informatik.hostage.ui.activity.MainActivity;
 import de.tudarmstadt.informatik.hostage.ui.helper.ColorSequenceGenerator;
 import de.tudarmstadt.informatik.hostage.ui.model.LogFilter;
 import de.tudarmstadt.informatik.hostage.ui.model.PlotComparisonItem;
@@ -168,7 +170,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
 	 * @param record
 	 *            The added {@link MessageRecord} .
 	 */
-	public void addMessageRecord(MessageRecord record) {
+	synchronized public void addMessageRecord(MessageRecord record) {
 		SQLiteDatabase db = this.getWritableDatabase();
 
 		this.insertMessageRecordWithOnConflict(record, db);
@@ -181,7 +183,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
      * @param records {@link List}<MessageRecord>
      *            The added {@link de.tudarmstadt.informatik.hostage.logging.MessageRecord}s .
      */
-    public void insertMessageRecords(List<MessageRecord> records){
+    synchronized public void insertMessageRecords(List<MessageRecord> records){
         SQLiteDatabase db = this.getWritableDatabase();
         db.beginTransaction();
 
@@ -196,7 +198,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
         db.close();
     }
 
-    private void insertMessageRecordWithOnConflict(MessageRecord record, SQLiteDatabase db){
+    synchronized private void insertMessageRecordWithOnConflict(MessageRecord record, SQLiteDatabase db){
         ContentValues recordValues = new ContentValues();
         recordValues.put(PacketEntry.COLUMN_NAME_ID, record.getId()); // Log Message Number
         recordValues.put(PacketEntry.COLUMN_NAME_ATTACK_ID, record.getAttack_id()); // Log Attack ID
@@ -214,7 +216,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
 	 * @param record
 	 *            The added {@link AttackRecord} .
 	 */
-	public void addAttackRecord(AttackRecord record) {
+    synchronized public void addAttackRecord(AttackRecord record) {
 		//Log.i("DBHelper", "Add Attack Record with id: " + record.getAttack_id());
 		SQLiteDatabase db = this.getWritableDatabase();
 		this.insertAttackRecordWithOnConflict(record,db);
@@ -230,7 +232,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
      * @param records {@link List}<AttackRecord>
      *            The added {@link AttackRecord}s .
      */
-    public void insertAttackRecords(List<AttackRecord> records) {
+    synchronized public void insertAttackRecords(List<AttackRecord> records) {
 
 
         //Log.i("DBHelper", "Add Attack Record with id: " + record.getAttack_id());
@@ -251,7 +253,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
         this.updateSyncDevices(devices);
     }
 
-    private void insertAttackRecordWithOnConflict(AttackRecord record, SQLiteDatabase db){
+    synchronized private void insertAttackRecordWithOnConflict(AttackRecord record, SQLiteDatabase db){
         ContentValues attackValues = new ContentValues();
         attackValues.put(AttackEntry.COLUMN_NAME_ATTACK_ID, record.getAttack_id()); // Log Attack ID
         attackValues.put(AttackEntry.COLUMN_NAME_PROTOCOL, record.getProtocol().toString());
@@ -275,7 +277,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
      * @param records {@link List}<AttackRecord>
      *            The added {@link SyncRecord}s .
      */
-    public void insertSyncRecords(List<SyncRecord> records) {
+    synchronized public void insertSyncRecords(List<SyncRecord> records) {
         //Log.i("DBHelper", "Add Attack Record with id: " + record.getAttack_id());
         SQLiteDatabase db = this.getWritableDatabase();
         db.beginTransaction();
@@ -299,7 +301,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
     /**
      * Updates the sync devices max sync id.
      */
-    public void updateSyncDevicesMaxID(SQLiteDatabase db){
+    synchronized public void updateSyncDevicesMaxID(SQLiteDatabase db){
         HashMap<String, Long> deviceIDmap = new HashMap<String, Long>();
 
         String selectQuery = "SELECT "+AttackEntry.COLUMN_NAME_DEVICE+ ","+ AttackEntry.COLUMN_NAME_SYNC_ID+" FROM " + AttackEntry.TABLE_NAME + " A "  + " GROUP BY " + AttackEntry.COLUMN_NAME_DEVICE + " HAVING " + AttackEntry.COLUMN_NAME_SYNC_ID + " = MAX( " + AttackEntry.COLUMN_NAME_SYNC_ID + " )";
@@ -328,8 +330,8 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
         }
 
     }
-	
-	public void updateSyncAttackCounter(AttackRecord record){
+
+    synchronized public void updateSyncAttackCounter(AttackRecord record){
 		
 		SQLiteDatabase db = this.getWritableDatabase();
 
@@ -426,7 +428,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
 		return result;
 	}
 
-	public int numBssidSeen(String protocol, String BSSID) {
+    synchronized public int numBssidSeen(String protocol, String BSSID) {
 		String countQuery = "SELECT  COUNT(*) FROM " + AttackEntry.TABLE_NAME 
 						+  " WHERE " + AttackEntry.TABLE_NAME + "." + AttackEntry.COLUMN_NAME_PROTOCOL + " = " + "'" + protocol + "'" 
 						+  " AND " + AttackEntry.TABLE_NAME + "." + AttackEntry.COLUMN_NAME_BSSID + " = " + "'" + BSSID + "'";
@@ -1134,7 +1136,7 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
 	public synchronized void deleteByBSSID(String bssid) {
 		SQLiteDatabase db = this.getWritableDatabase();
 		db.delete(NetworkEntry.TABLE_NAME, NetworkEntry.COLUMN_NAME_BSSID + " = ?", new String[] { bssid });
-		db.delete(AttackEntry.TABLE_NAME, AttackEntry.COLUMN_NAME_BSSID + " = ?", new String[] { bssid });
+		db.delete(AttackEntry.TABLE_NAME, AttackEntry.COLUMN_NAME_BSSID + " = ?", new String[]{bssid});
 		db.close();
 	}
 	
@@ -1160,8 +1162,8 @@ public class HostageDBOpenHelper extends SQLiteOpenHelper {
 	 */
 	public synchronized void deleteByAttackID(long attackID) {
 		SQLiteDatabase db = this.getWritableDatabase();
-		db.delete(AttackEntry.TABLE_NAME, AttackEntry.COLUMN_NAME_ATTACK_ID + " = ?", new String[] { String.valueOf(attackID) });
-		db.delete(PacketEntry.TABLE_NAME, PacketEntry.COLUMN_NAME_ATTACK_ID + " = ?", new String[] { String.valueOf(attackID) });
+		db.delete(AttackEntry.TABLE_NAME, AttackEntry.COLUMN_NAME_ATTACK_ID + " = ?", new String[]{String.valueOf(attackID)});
+		db.delete(PacketEntry.TABLE_NAME, PacketEntry.COLUMN_NAME_ATTACK_ID + " = ?", new String[]{String.valueOf(attackID)});
 		db.close();
 	}