/[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 1053 by torben, Tue Sep 14 16:00:57 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            private static MetroProvider metroProvider = null;
11            
12            private static final boolean DEBUG = false;
13            
14            //TODO: this one really doesn't belong here ... and damn it is ugly code
15            public static void purgeOldEntries() {          
16                    synchronized (ProviderFactory.class) {
17                            if (stationProvider != null && stationProvider instanceof XmlStationProvider) {
18                                    ((XmlStationProvider)stationProvider).stationCache.purgeOldEntries();
19                            }
20                            
21                            if (departureProvider != null && departureProvider instanceof XmlDepartureProvider) {
22                                    ((XmlDepartureProvider)departureProvider).departureCache.purgeOldEntries();
23                            }
24                            
25                            if (timetableProvider != null && timetableProvider instanceof XmlTimetableProvider) {
26                                    ((XmlTimetableProvider)timetableProvider).timetableCache.purgeOldEntries();
27                            }
28                            if (metroProvider != null && metroProvider instanceof XmlMetroProvider) {
29                                    ((XmlMetroProvider)metroProvider).metroCache.purgeOldEntries();
30                            }
31                            
32                    }
33    
34            }
35                    
36          public static DepartureProvider getDepartureProvider() {          public static DepartureProvider getDepartureProvider() {
37                  if (departureProvider == null) {                  if (departureProvider == null) {
38                          //provider = new DebugProvider();                          if (!DEBUG) {
39                          departureProvider = new XmlDepartureProvider();                                  departureProvider = new XmlDepartureProvider();
40                            } else {
41                                    departureProvider = new DebugProvider();
42                            }
43                  }                  }
44                                    
45                  return departureProvider;                  return departureProvider;
# Line 17  public class ProviderFactory { Line 47  public class ProviderFactory {
47                    
48          public static StationProvider getStationProvider() {          public static StationProvider getStationProvider() {
49                  if (stationProvider == null) {                  if (stationProvider == null) {
50                          stationProvider = new XmlStationProvider();                          if (!DEBUG) {
51                                    stationProvider = new XmlStationProvider();
52                            } else {
53                                    stationProvider = new DebugProvider();
54                            }
55                  }                  }
56                                    
57                  return stationProvider;                  return stationProvider;
# Line 25  public class ProviderFactory { Line 59  public class ProviderFactory {
59                    
60          public static TimetableProvider getTimetableProvider() {          public static TimetableProvider getTimetableProvider() {
61                  if (timetableProvider == null) {                  if (timetableProvider == null) {
62                          timetableProvider = new XmlTimetableProvider();                          if (!DEBUG) {
63                                    timetableProvider = new XmlTimetableProvider();
64                            } else {
65                                    timetableProvider = new DebugProvider();
66                            }
67                  }                  }
68                  return timetableProvider;                  return timetableProvider;
69          }          }
70    
71            public static MetroProvider getMetroProvider() {
72                    if (metroProvider == null) {
73                            if (!DEBUG) {
74                                    metroProvider = new XmlMetroProvider();
75                            } else {
76                                    metroProvider = new DebugProvider();
77                            }
78                    }
79                    return metroProvider;
80            }
81  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.20