1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package de.tudarmstadt.informatik.hostage.logging;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.os.Environment;
- import android.preference.PreferenceManager;
- public class SQLLogger implements Logger{
- Context context;
- DatabaseHandler dbh;
-
- public SQLLogger(Context context){
- this.context = context;
- dbh = new DatabaseHandler(context);
- }
- public synchronized void write(Record record) {
- dbh.addRecord(record);
- }
-
- public void exportDatabase(String format){
- try {
- FileOutputStream log;
- SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
- if(pref.getBoolean("pref_external_storage", false)){
- //TODO Fehlermeldung wenn keine SD karte gefunden werden kann
- log = context.openFileOutput("hostage_" + format + "_" + System.currentTimeMillis() + ".log", Context.MODE_PRIVATE);
- } else{
- File file = new File(Environment.getExternalStorageDirectory(), "hostage_" + format + "_" + System.currentTimeMillis() + ".log");
- log = new FileOutputStream(file);
- }
-
- ArrayList<Record> records = dbh.getAllRecords();
- for(Record record : records){
- if(format.equals("JSON")){
- log.write((record.toStringJson() + "\n").getBytes());
- }else {
- log.write((record.toString() + "\n").getBytes());
- }
- }
- log.flush();
- log.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public int getAttackCount(){
- return dbh.getAttackCount();
- }
-
- public int getAttackPerProtokollCount(String protocol){
- return dbh.getAttackPerProtokolCount(protocol);
- }
-
- public void clearLog(){
- dbh.clearData();
- }
- @Override
- public void close() {
- // TODO Auto-generated method stub
- }
- }
|