SQLLogger.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package de.tudarmstadt.informatik.hostage.logging;
  2. import java.io.FileOutputStream;
  3. import java.util.ArrayList;
  4. import android.content.Context;
  5. public class SQLLogger{
  6. Context context;
  7. DatabaseHandler dbh;
  8. private FileOutputStream log = null;
  9. public SQLLogger(Context context){
  10. this.context = context;
  11. dbh = new DatabaseHandler(context);
  12. }
  13. public void addRecord(SQLRecord record) {
  14. dbh.addRecord(record);
  15. }
  16. public void exportDatabase(){
  17. try {
  18. log = context.openFileOutput("hostage.log", Context.MODE_APPEND);
  19. } catch (Exception e) {
  20. e.printStackTrace();
  21. }
  22. ArrayList<SQLRecord> records = dbh.getAllRecords();
  23. for(SQLRecord record : records){
  24. writeLine(record);
  25. }
  26. }
  27. private void writeLine(SQLRecord record){
  28. if (log != null) {
  29. try {
  30. log.write((record.toString() + "\n").getBytes());
  31. } catch (Exception e) {
  32. e.printStackTrace();
  33. }
  34. }
  35. }
  36. public void exportDatabaseJson(){
  37. //TODO JSON implementieren, beachten dass nur jeder Angriff nicht jeder Record geloggt wird
  38. }
  39. public int getAttackCount(){
  40. return dbh.getAttackCount();
  41. }
  42. public int getAttackPerProtokollCount(String protocol){
  43. return dbh.getAttackPerProtokolCount(protocol);
  44. }
  45. public void clearLog(){
  46. dbh.clearData();
  47. }
  48. }