OSDN Git Service

Mac移行後
[train-delayed/source.git] / workspace / TrainDelayed / src / com / td / service / Scheduler.java
old mode 100644 (file)
new mode 100755 (executable)
index d663bbb..ec91199
@@ -21,61 +21,62 @@ public class Scheduler {
        private List<Term>[] list = null;\r
        private List<Keyword> keywords = null;\r
        private List<Train> trains = null;\r
-       private Comparator<Term> comp = new Comparator<Term>(){\r
+       private Comparator<Term> comp = new Comparator<Term>() {\r
                public int compare(Term t1, Term t2) {\r
                        return t1.getFrom() - t2.getFrom();\r
                }\r
        };\r
-       \r
-       public Scheduler(){\r
+\r
+       public Scheduler() {\r
 \r
        }\r
-       \r
-       public void init(){\r
+\r
+       public void init() {\r
                Debug.d(this, "start init");\r
-        makeSchedule();\r
-               makeTrains();           \r
-               makeKeywords();         \r
+               makeSchedule();\r
+               makeTrains();\r
+               makeKeywords();\r
                Debug.d(this, "end init");\r
        }\r
-       \r
-       public long calcSchedule(long now, int len){\r
+\r
+       public long calcSchedule(long now, int len) {\r
                Debug.d(this, "start");\r
                long t = nextSchedule(now, len);\r
                Debug.d(this, "end");\r
                return t;\r
        }\r
 \r
-       public long nextSchedule(long now, int len){\r
+       public long nextSchedule(long now, int len) {\r
                long next = now + 60 * len * 1000;\r
-               \r
+\r
                cal.setTimeInMillis(next);\r
                Date date = cal.getTime();\r
                int h = date.getHours();\r
                int m = date.getMinutes();\r
                int hm = DateUtil.getHm(h, m);\r
                int w = date.getDay();\r
-               \r
-               for (int i = 0; i < DateUtil.WEEK + 1; i++){\r
+\r
+               for (int i = 0; i < DateUtil.WEEK + 1; i++) {\r
                        int n = (w + i) % DateUtil.WEEK;\r
                        List<Term> l = list[n];\r
                        int j = isContain(l, hm);\r
-                       if (j == 0){\r
+                       if (i == 0 && j == 0) {\r
+                               // \8e\9f\89ñ\8bN\93®\8e\9e(next)\82ª\81A\83X\83P\83W\83\85\81[\83\8b\93à\82Å\82 \82é\r
                                return next;\r
                        }\r
-                       if (j > 0){\r
+                       if (j > 0) {\r
                                Term t = l.get(j - 1);\r
-                               // \8d¡\93ú(next)\82©\82ç\81Ai\93ú\8cã\82Ì\81Afrom\8e\9e\r
-                               return DateUtil.getTime(date, i, t.getFrom());\r
+                               // \8d¡\93ú(next)\82Ìfrom\8e\9e(next\82æ\82è\8cã\82Ì\8e\9e\8d\8f)\r
+                               return DateUtil.getTime(date, i, t.getFrom()).getTimeInMillis();\r
                        }\r
-                       if (i > 0){\r
+                       if (i > 0) {\r
                                // \91¼\82Ì\97j\93ú\82Ì\8fê\8d\87\r
-                               if (l.size() > 0){\r
+                               if (l.size() > 0) {\r
                                        Term t = l.get(0);\r
                                        // \8d¡\93ú(next)\82©\82ç\81Ai\93ú\8cã\82Ì\81Afrom\8e\9e\r
-                                       return DateUtil.getTime(date, i, t.getFrom());\r
+                                       return DateUtil.getTime(date, i, t.getFrom())\r
+                                                       .getTimeInMillis();\r
                                }\r
-                               \r
                        }\r
                }\r
                return -1;\r
@@ -84,23 +85,23 @@ public class Scheduler {
        public int isContain(List<Term> l, int hm) {\r
                int from;\r
                int to;\r
-               \r
-               for (int i = 0; i < l.size(); i++){\r
+\r
+               for (int i = 0; i < l.size(); i++) {\r
                        Term t = l.get(i);\r
                        from = t.getFrom();\r
                        to = t.getTo();\r
-                       if (from <= hm && hm <= to){\r
+                       if (from <= hm && hm <= to) {\r
                                return 0;\r
                        }\r
-                       if (hm < from){\r
+                       if (hm < from) {\r
                                return i + 1;\r
                        }\r
-               } \r
+               }\r
                return -1;\r
        }\r
 \r
-       public void makeSchedule(){\r
-               if (list != null){\r
+       public void makeSchedule() {\r
+               if (list != null) {\r
                        return;\r
                }\r
                Debug.d(this, "update schedule");\r
@@ -109,19 +110,19 @@ public class Scheduler {
                List<Monitor> mList = dao.search();\r
                makeSchedule(mList);\r
        }\r
-       \r
-       public void makeTrains(){\r
-               if (trains != null){\r
+\r
+       public void makeTrains() {\r
+               if (trains != null) {\r
                        return;\r
                }\r
                Debug.d(this, "update trains");\r
 \r
                TrainDao dao = TrainDao.getInstance();\r
-               trains = dao.search(true);              \r
+               trains = dao.search(true);\r
        }\r
 \r
-       public void makeKeywords(){\r
-               if (keywords != null){\r
+       public void makeKeywords() {\r
+               if (keywords != null) {\r
                        return;\r
                }\r
                Debug.d(this, "update keywords");\r
@@ -141,36 +142,36 @@ public class Scheduler {
        public List<Keyword> getKeywords() {\r
                return keywords;\r
        }\r
-       \r
-       public void makeSchedule(List<Monitor> mList){\r
+\r
+       public void makeSchedule(List<Monitor> mList) {\r
                clearSchedule();\r
-               \r
-               for (Monitor monitor : mList){\r
+\r
+               for (Monitor monitor : mList) {\r
                        add(list, monitor);\r
-               }       \r
+               }\r
        }\r
-       \r
-       public void clearSchedule(){\r
+\r
+       public void clearSchedule() {\r
                list = new List[DateUtil.WEEK];\r
-               for (int i = 0; i < list.length; i++){\r
+               for (int i = 0; i < list.length; i++) {\r
                        list[i] = new ArrayList<Term>();\r
                }\r
        }\r
-       \r
-       public void add(List<Term>[] ll, Monitor monitor){\r
+\r
+       public void add(List<Term>[] ll, Monitor monitor) {\r
                Term term = new Term(monitor.getFrom(), monitor.getTo());\r
-               for (int i = 0; i < DateUtil.WEEK; i++){\r
-                       if (monitor.getWeek(i)){\r
+               for (int i = 0; i < DateUtil.WEEK; i++) {\r
+                       if (monitor.getWeek(i)) {\r
                                add(ll[i], term);\r
                        }\r
                }\r
        }\r
-       \r
-       public void add(List<Term> l, Term term){\r
+\r
+       public void add(List<Term> l, Term term) {\r
                int i = 0;\r
-               while (i < l.size()){\r
+               while (i < l.size()) {\r
                        Term t = l.get(i);\r
-                       if (isContain(t, term)){\r
+                       if (isContain(t, term)) {\r
                                term = add(t, term);\r
                                l.remove(i);\r
                                continue;\r
@@ -180,36 +181,36 @@ public class Scheduler {
                l.add(term);\r
                Collections.sort(l, comp);\r
        }\r
-       \r
-       public boolean isContain(Term t1, Term t2){\r
+\r
+       public boolean isContain(Term t1, Term t2) {\r
                int from1 = t1.getFrom();\r
                int to1 = t1.getTo();\r
                int from2 = t2.getFrom();\r
                int to2 = t2.getTo();\r
 \r
-               if (from1 <= from2 && from2 <= to1){\r
+               if (from1 <= from2 && from2 <= to1) {\r
                        return true;\r
                }\r
-               if (from1 <= to2 && to2 <= to1){\r
+               if (from1 <= to2 && to2 <= to1) {\r
                        return true;\r
                }\r
-               if (from2 <= from1 && from1 <= to2){\r
+               if (from2 <= from1 && from1 <= to2) {\r
                        return true;\r
                }\r
-               if (from2 <= to1 && to1 <= to2){\r
+               if (from2 <= to1 && to1 <= to2) {\r
                        return true;\r
                }\r
                return false;\r
        }\r
 \r
-       public Term add(Term t1, Term t2){\r
+       public Term add(Term t1, Term t2) {\r
                int from1 = t1.getFrom();\r
                int to1 = t1.getTo();\r
                int from2 = t2.getFrom();\r
                int to2 = t2.getTo();\r
-               \r
-               int from = (from1 < from2)? from1 : from2;\r
-               int to = (to1 > to2)? to1 : to2;\r
+\r
+               int from = (from1 < from2) ? from1 : from2;\r
+               int to = (to1 > to2) ? to1 : to2;\r
                return new Term(from, to);\r
        }\r
 }\r