/[projects]/android/TrainInfoServiceGoogle/src/dk/thoerup/traininfoservice/banedk/DepartureFetcher.java
ViewVC logotype

Diff of /android/TrainInfoServiceGoogle/src/dk/thoerup/traininfoservice/banedk/DepartureFetcher.java

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

revision 1563 by torben, Mon May 2 15:43:42 2011 UTC revision 1564 by torben, Fri Jul 8 17:22:42 2011 UTC
# Line 4  package dk.thoerup.traininfoservice.bane Line 4  package dk.thoerup.traininfoservice.bane
4  import java.net.URL;  import java.net.URL;
5  import java.net.URLEncoder;  import java.net.URLEncoder;
6  import java.util.Collections;  import java.util.Collections;
7    import java.util.Comparator;
8  import java.util.HashMap;  import java.util.HashMap;
9  import java.util.Map;  import java.util.Map;
10  import java.util.logging.Level;  import java.util.logging.Level;
# Line 42  public class DepartureFetcher { Line 43  public class DepartureFetcher {
43          private boolean useAzureSite;          private boolean useAzureSite;
44          private int replyTimeout;          private int replyTimeout;
45                    
46            Comparator<DepartureEntry> departureTimeComparator = new Comparator<DepartureEntry>() {
47    
48                    @Override
49                    public int compare(DepartureEntry arg0, DepartureEntry arg1) {          
50                                    String timeStr1 = arg0.getTime().replace(":","").trim();
51                                    String timeStr2 = arg1.getTime().replace(":","").trim();
52                                    
53                                    int time1 = 0;
54                                    int time2 = 0;
55                                    
56                                    if (timeStr1.length() > 0)
57                                            time1 = Integer.parseInt(timeStr1);
58                                    
59                                    if (timeStr2.length() > 0)
60                                            time2 = Integer.parseInt(timeStr2);
61                                    
62                                    //work correctly when clock wraps around at midnight
63                                    if (Math.abs(time1-time2) < 1200) {
64                                            if (time1 > time2)
65                                                    return 1;
66                                            else
67                                                    return -1;
68                                    } else {
69                                            if (time1 < time2)
70                                                    return 1;
71                                            else
72                                                    return -1;
73    
74                                    }              
75                    }
76            };
77            
78          @SuppressWarnings("unchecked")          @SuppressWarnings("unchecked")
79          public DepartureFetcher(boolean azureSite, int cacheTimeout, int replyTimeout) {          public DepartureFetcher(boolean azureSite, int cacheTimeout, int replyTimeout) {
80                  this.replyTimeout = replyTimeout;                  this.replyTimeout = replyTimeout;
# Line 104  public class DepartureFetcher { Line 137  public class DepartureFetcher {
137                          logger.info("No departures found for station " + stationID);                          logger.info("No departures found for station " + stationID);
138                  }                  }
139                                    
140                  Collections.sort( departureBean.entries );                  Collections.sort( departureBean.entries, departureTimeComparator );
141    
142                                    
143                  return departureBean;                  return departureBean;

Legend:
Removed from v.1563  
changed lines
  Added in v.1564

  ViewVC Help
Powered by ViewVC 1.1.20