@ -15,7 +15,7 @@ import java.util.Map;
* /
public class DataManager {
private Map < String , ObservableList < Ride > > rides ;
private ObservableList< Stop > stops ;
private Map< String , ObservableList< Stop > > stops ;
private ObservableList < Route > routes ;
private ObservableList < Trip > trips ;
private ObservableList < SharedTrip > sharedTrips ;
@ -23,9 +23,9 @@ public class DataManager {
private Map < String , Driver > drivers ; //seperated from users as they are two different types of accounts
private Map < String , List < String > > notifications ; //indexed by user name
public DataManager ( Map < String , List < Ride > > rides , List stops , List routes , List trips , List sharedTrips , Map users , Map drivers , Map < String , List < String > > notifications ) {
public DataManager ( Map < String , List < Ride > > rides , Map< String , List< Stop > > stops , List routes , List trips , List sharedTrips , Map users , Map drivers , Map < String , List < String > > notifications ) {
this . rides = convertRideMapToObserver ( rides ) ;
this . stops = FXCollections. observableArrayList ( stops ) ;
this . stops = convertStopMapToObserver ( stops ) ;
this . routes = FXCollections . observableArrayList ( routes ) ;
this . trips = FXCollections . observableArrayList ( trips ) ;
this . sharedTrips = FXCollections . observableArrayList ( sharedTrips ) ;
@ -35,9 +35,14 @@ public class DataManager {
}
public DataManager ( ) {
this ( new HashMap < String , List < Ride > > ( ) , FXCollections . observableArrayList ( ) , FXCollections . observableArrayList ( ) , FXCollections . observableArrayList ( ) , FXCollections . observableArrayList ( ) , new HashMap < String , User > ( ) , new HashMap < String , Driver > ( ) , new HashMap < String , List < String > > ( ) ) ;
this ( new HashMap < > ( ) , new HashMap < > ( ) , FXCollections . observableArrayList ( ) , FXCollections . observableArrayList ( ) , FXCollections . observableArrayList ( ) , new HashMap < String , User > ( ) , new HashMap < String , Driver > ( ) , new HashMap < String , List < String > > ( ) ) ;
}
////////////////////////////////////////
//Map to Observer or List functions
////////////////////////////////////////
//Ride
////////////////////////////////////////
private Map < String , ObservableList < Ride > > convertRideMapToObserver ( Map < String , List < Ride > > rides ) {
HashMap < String , ObservableList < Ride > > ob = new HashMap < > ( ) ;
for ( String key : rides . keySet ( ) ) {
@ -49,7 +54,7 @@ public class DataManager {
private Map < String , List < Ride > > convertRideMapToList ( Map < String , ObservableList < Ride > > rides ) {
HashMap < String , List < Ride > > ob = new HashMap < > ( ) ;
for ( String key : rides . keySet ( ) ) {
ob . put ( key , new ArrayList < Ride > ( rides . get ( key ) ) ) ;
ob . put ( key , new ArrayList < > ( rides . get ( key ) ) ) ;
}
return ob ;
}
@ -58,29 +63,55 @@ public class DataManager {
return convertRideMapToList ( rides ) ;
}
//////////////////////////////////
//STop
//////////////////////////////////
private Map < String , ObservableList < Stop > > convertStopMapToObserver ( Map < String , List < Stop > > stops ) {
HashMap < String , ObservableList < Stop > > ob = new HashMap < > ( ) ;
for ( String key : stops . keySet ( ) ) {
ob . put ( key , FXCollections . observableArrayList ( stops . get ( key ) ) ) ;
}
return ob ;
}
private Map < String , List < Stop > > convertStopMapToList ( Map < String , ObservableList < Stop > > stops ) {
HashMap < String , List < Stop > > ob = new HashMap < > ( ) ;
for ( String key : stops . keySet ( ) ) {
ob . put ( key , new ArrayList < > ( stops . get ( key ) ) ) ;
}
return ob ;
}
public Map < String , List < Stop > > stopsMapSerialised ( ) {
return convertStopMapToList ( stops ) ;
}
public void newLogged ( ) {
rides . putIfAbsent ( Session . session . getUser ( ) . getID ( ) , FXCollections . observableArrayList ( ) ) ;
stops . putIfAbsent ( Session . session . getUser ( ) . getID ( ) , FXCollections . observableArrayList ( ) ) ;
notifications . putIfAbsent ( Session . session . getUser ( ) . getID ( ) , FXCollections . observableArrayList ( ) ) ;
}
//////////////////////////////
//Getters and Setters
//////////////////////////////
public ObservableList < Ride > getRides ( ) {
return rides . get ( Session . session . getUser ( ) . getID ( ) ) ;
}
public void addRides ( Ride ride ) {
rides . putIfAbsent ( Session . session . getUser ( ) . getID ( ) , FXCollections . observableArrayList ( ) ) ;
rides . get ( Session . session . getUser ( ) . getID ( ) ) . add ( ride ) ;
}
public void removeRide ( Ride ride ) {
if ( rides . get ( Session . session . getUser ( ) . getID ( ) ) ! = null ) {
rides . get ( Session . session . getUser ( ) . getID ( ) ) . remove ( ride ) ;
}
rides . get ( Session . session . getUser ( ) . getID ( ) ) . remove ( ride ) ;
}
public void removeRide ( int i ) {
if ( rides . get ( Session . session . getUser ( ) . getID ( ) ) ! = null ) {
rides . get ( Session . session . getUser ( ) . getID ( ) ) . remove ( i ) ;
}
rides . get ( Session . session . getUser ( ) . getID ( ) ) . remove ( i ) ;
}
public ObservableList < Stop > getStops ( ) {
return stops ;
return stops .get ( Session . session . getUser ( ) . getID ( ) ) ;
}
public boolean addStop ( Stop stop ) {
@ -89,7 +120,7 @@ public class DataManager {
return false ;
}
}
stops . add( stop ) ;
stops . get( Session . session . getUser ( ) . getID ( ) ) . add( stop ) ;
return true ;
}