/[projects]/android/TrainInfo/src/dk/thoerup/traininfo/provider/ProviderFactory.java
ViewVC logotype

Diff of /android/TrainInfo/src/dk/thoerup/traininfo/provider/ProviderFactory.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 352 by torben, Tue Sep 29 13:35:13 2009 UTC revision 1027 by torben, Wed Sep 8 06:03:45 2010 UTC
# Line 1  Line 1 
1  package dk.thoerup.traininfo.provider;  package dk.thoerup.traininfo.provider;
2    
3    
4    
5    
6  public class ProviderFactory {  public class ProviderFactory {
7          private static DepartureProvider departureProvider = null;          private static DepartureProvider departureProvider = null;
8          private static StationProvider stationProvider = null;          private static StationProvider stationProvider = null;
9          private static TimetableProvider timetableProvider = null;          private static TimetableProvider timetableProvider = null;
10                    
11            private static final boolean DEBUG = false;
12            
13            //TODO: this one really doesn't belong here ... and damn it is ugly code
14            public static void purgeOldEntries() {          
15                    synchronized (ProviderFactory.class) {
16                            if (stationProvider != null && stationProvider instanceof XmlStationProvider) {
17                                    ((XmlStationProvider)stationProvider).stationCache.purgeOldEntries();
18                            }
19                            
20                            if (departureProvider != null && departureProvider instanceof XmlDepartureProvider) {
21                                    ((XmlDepartureProvider)departureProvider).departureCache.purgeOldEntries();
22                            }
23                            
24                            if (timetableProvider != null && timetableProvider instanceof XmlTimetableProvider) {
25                                    ((XmlTimetableProvider)timetableProvider).timetableCache.purgeOldEntries();
26                            }
27                    }
28    
29            }
30            
31          public static DepartureProvider getDepartureProvider() {          public static DepartureProvider getDepartureProvider() {
32                  if (departureProvider == null) {                  if (departureProvider == null) {
33                          //provider = new DebugProvider();                          if (!DEBUG) {
34                          departureProvider = new XmlDepartureProvider();                                  departureProvider = new XmlDepartureProvider();
35                            } else {
36                                    departureProvider = new DebugProvider();
37                            }
38                  }                  }
39                                    
40                  return departureProvider;                  return departureProvider;
# Line 17  public class ProviderFactory { Line 42  public class ProviderFactory {
42                    
43          public static StationProvider getStationProvider() {          public static StationProvider getStationProvider() {
44                  if (stationProvider == null) {                  if (stationProvider == null) {
45                          stationProvider = new XmlStationProvider();                          if (!DEBUG) {
46                                    stationProvider = new XmlStationProvider();
47                            } else {
48                                    stationProvider = new DebugProvider();
49                            }
50                  }                  }
51                                    
52                  return stationProvider;                  return stationProvider;
# Line 25  public class ProviderFactory { Line 54  public class ProviderFactory {
54                    
55          public static TimetableProvider getTimetableProvider() {          public static TimetableProvider getTimetableProvider() {
56                  if (timetableProvider == null) {                  if (timetableProvider == null) {
57                          timetableProvider = new XmlTimetableProvider();                          if (!DEBUG) {
58                                    timetableProvider = new XmlTimetableProvider();
59                            } else {
60                                    timetableProvider = new DebugProvider();
61                            }
62                  }                  }
63                  return timetableProvider;                  return timetableProvider;
64          }          }

Legend:
Removed from v.352  
changed lines
  Added in v.1027

  ViewVC Help
Powered by ViewVC 1.1.20