123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- package de.tudarmstadt.informatik.hostage.sync;
- /**
- * Created by Julien on 08.12.2014.
- */
- import java.net.ServerSocket;
- import java.util.ArrayList;
- import java.util.List;
- import de.tudarmstadt.informatik.hostage.logging.NetworkRecord;
- import de.tudarmstadt.informatik.hostage.logging.SyncDevice;
- import de.tudarmstadt.informatik.hostage.logging.SyncRecord;
- import de.tudarmstadt.informatik.hostage.persistence.HostageDBOpenHelper;
- import de.tudarmstadt.informatik.hostage.system.Device;
- public class Synchronizer {
- private HostageDBOpenHelper dbh;
- public Synchronizer(HostageDBOpenHelper dbh){
- super();
- this.dbh = dbh;
- }
- public void pullNetworks(ServerSocket serverSocket){
- ArrayList<String> myNetworks = this.dbh.getAllBSSIDS();
- ArrayList<NetworkRecord> others = this.getOtherNetworkInformation(serverSocket, myNetworks);
- if (others != null && others.size() > 0){
- this.dbh.updateNetworkInformation(others);
- }
- }
- public void pullNewDevices(ServerSocket serverSocket){
- ArrayList<String> myDevices = this.dbh.getAllDevicesIds();
- ArrayList<String> otherDeviceIds = this.getOtherDevies(serverSocket, myDevices);
- ArrayList<SyncDevice> otherDevices = new ArrayList<SyncDevice>();
- for (String deviceId : otherDeviceIds){
- SyncDevice device = new SyncDevice();
- device.setDeviceID(deviceId);
- device.setHighest_attack_id(-1);
- device.setLast_sync_timestamp(0);
- otherDevices.add(device);
- }
- if (otherDevices != null && otherDevices.size() > 0)
- this.dbh.updateSyncDevices(otherDevices);
- }
- public void pullAttacks(ServerSocket serverSocket){
- ArrayList<SyncDevice> myState = this.dbh.getSyncDevices();
- ArrayList<SyncRecord> updates = this.getChanges(serverSocket, myState);
- if (updates != null && updates.size() > 0)
- this.dbh.insertSyncRecords(updates);
- }
- public void pushNetworkInformation(ServerSocket serverSocket){
- ArrayList<String> otherIDs = null;
- if (otherIDs != null){
- ArrayList<String> missingIds = this.dbh.getMissingDeviceIds(otherIDs);
- this.sendMissingDeviceIds(serverSocket, missingIds);
- }
- }
- public void pushUnsyncedRecords(ServerSocket serverSocket){
- ArrayList<SyncDevice> otherDeviceState = null;
- if (otherDeviceState != null){
- ArrayList<SyncRecord> unsynced = this.dbh.getUnsyncedAttacksFor(otherDeviceState, false);
- this.sendUnsyncedRecords(serverSocket, unsynced);
- }
- }
- public void pushDeviceIds(ServerSocket serverSocket){
- ArrayList<String> otherBSSIDs = null;
- if (otherBSSIDs != null){
- ArrayList<NetworkRecord> missings = this.dbh.getMissingNetworkRecords(otherBSSIDs);
- this.sendMissingNetworkRecords(serverSocket, missings);
- }
- }
- private ArrayList<String> getOtherDevies(ServerSocket serverSocket, ArrayList<String> ownDevices){
- return null;
- }
- private ArrayList<NetworkRecord> getOtherNetworkInformation(ServerSocket serverSocket, List<String> records){
- return null;
- }
- private ArrayList<SyncRecord> getChanges(ServerSocket serverSocket, ArrayList<SyncDevice> ownState){
- return null;
- }
- private void sendMissingNetworkRecords(ServerSocket serverSocket, ArrayList<NetworkRecord> m){
- }
- private void sendMissingDeviceIds(ServerSocket serverSocket, ArrayList<String> missingIds){
- }
- private void sendUnsyncedRecords(ServerSocket serverSocket, ArrayList<SyncRecord> unsynced){
- }
- }
|