Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 36782 Details for
Bug 124919
[activity] planner should only report time Elapsed during plan period
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Progress on time/logging issues.
patch124919-1.txt (text/plain), 15.91 KB, created by
Robert Elves
on 2006-03-22 18:55:52 EST
(
hide
)
Description:
Progress on time/logging issues.
Filename:
MIME Type:
Creator:
Robert Elves
Created:
2006-03-22 18:55:52 EST
Size:
15.91 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylar.core >Index: src/org/eclipse/mylar/internal/core/MylarContextManager.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.mylar/org.eclipse.mylar.core/src/org/eclipse/mylar/internal/core/MylarContextManager.java,v >retrieving revision 1.11 >diff -u -r1.11 MylarContextManager.java >--- src/org/eclipse/mylar/internal/core/MylarContextManager.java 16 Mar 2006 05:20:25 -0000 1.11 >+++ src/org/eclipse/mylar/internal/core/MylarContextManager.java 22 Mar 2006 23:37:55 -0000 >@@ -107,16 +107,17 @@ > > private static ScalingFactors scalingFactors = new ScalingFactors(); > >- private class ActivityListener implements ITimerThreadListener, IInteractionEventListener { >+ private class ActivityListener implements ITimerThreadListener, IInteractionEventListener, IMylarContextListener { > > private TimerThread timer; >- >+ private int sleepPeriod = 60000; > private boolean isStalled; > > public ActivityListener(int millis) { > timer = new TimerThread(millis); > timer.addListener(this); > timer.start(); >+ sleepPeriod = millis; > MylarPlugin.getDefault().addInteractionListener(this); > } > >@@ -155,11 +156,65 @@ > > public void setTimeout(int millis) { > timer.kill(); >- >+ sleepPeriod = millis; > timer = new TimerThread(millis); > timer.addListener(this); > timer.start(); > } >+ >+ public void contextActivated(IMylarContext context) { >+ interactionObserved(null); >+ timer.kill(); >+ timer = new TimerThread(sleepPeriod); >+ timer.addListener(this); >+ timer.start(); >+ >+ } >+ >+ public void contextDeactivated(IMylarContext context) { >+ interactionObserved(null); >+ timer.kill(); >+ } >+ >+ public void presentationSettingsChanging(UpdateKind kind) { >+ // ignore >+ >+ } >+ >+ public void presentationSettingsChanged(UpdateKind kind) { >+ // ignore >+ >+ } >+ >+ public void interestChanged(IMylarElement element) { >+ // ignore >+ >+ } >+ >+ public void interestChanged(List<IMylarElement> elements) { >+ // ignore >+ >+ } >+ >+ public void nodeDeleted(IMylarElement element) { >+ // ignore >+ >+ } >+ >+ public void landmarkAdded(IMylarElement element) { >+ // ignore >+ >+ } >+ >+ public void landmarkRemoved(IMylarElement element) { >+ // ignore >+ >+ } >+ >+ public void edgesChanged(IMylarElement element) { >+ // ignore >+ >+ } > } > > public MylarContextManager() { >@@ -176,6 +231,7 @@ > } > > activityListener = new ActivityListener(INACTIVITY_TIMEOUT_MILLIS);// INACTIVITY_TIMEOUT_MILLIS); >+ this.addListener(activityListener); > activityListener.startObserving(); > } > >@@ -487,7 +543,7 @@ > public void contextDeactivated(String handleIdentifier) { > try { > IMylarContext context = currentContext.getContextMap().get(handleIdentifier); >- if (context != null) { >+ if (context != null) { > saveContext(handleIdentifier); > currentContext.getContextMap().remove(handleIdentifier); > >#P org.eclipse.mylar.tasklist >Index: src/org/eclipse/mylar/provisional/tasklist/TaskListManager.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.mylar/org.eclipse.mylar.tasklist/src/org/eclipse/mylar/provisional/tasklist/TaskListManager.java,v >retrieving revision 1.21 >diff -u -r1.21 TaskListManager.java >--- src/org/eclipse/mylar/provisional/tasklist/TaskListManager.java 14 Mar 2006 02:11:48 -0000 1.21 >+++ src/org/eclipse/mylar/provisional/tasklist/TaskListManager.java 22 Mar 2006 23:37:56 -0000 >@@ -40,9 +40,15 @@ > * TODO: clean-up > * > * @author Mik Kersten >+ * @author Rob Elves (task activity) > */ > public class TaskListManager { > >+ // TODO: get these two fields from preferences >+ private static final int START_DAY = Calendar.MONDAY; >+ >+ private static final int START_HOUR = 9; >+ > private static final int NUM_WEEKS_PREVIOUS = -1; > > private static final int NUM_WEEKS_NEXT = 1; >@@ -167,8 +173,7 @@ > this.taskListFile = file; > this.taskListWriter = taskListWriter; > this.nextLocalTaskId = startId; >- >- setupCalendarRanges(); >+ // setupCalendarRanges(); > MylarPlugin.getContextManager().addActivityMetaContextListener(CONTEXT_LISTENER); > } > >@@ -203,7 +208,18 @@ > private void parseFutureReminders() { > activityFuture.clear(); > activityNextWeek.clear(); >+ HashSet<ITask> toRemove = new HashSet<ITask>(); >+ toRemove.addAll(activityThisWeek.getChildren()); >+ for (ITask activity : toRemove) { >+ DateRangeActivityDelegate delegate = (DateRangeActivityDelegate) activity; >+ Calendar calendar = GregorianCalendar.getInstance(); >+ calendar.setTime(delegate.getReminderDate()); >+ if (!activityThisWeek.includes(calendar) && delegate.getActivity() == 0) { >+ activityThisWeek.remove(delegate); >+ } >+ } > GregorianCalendar tempCalendar = new GregorianCalendar(); >+ tempCalendar.setFirstDayOfWeek(START_DAY); > for (ITask task : tasksWithReminders) { > if (task.getReminderDate() != null) { > tempCalendar.setTime(task.getReminderDate()); >@@ -234,6 +250,7 @@ > .getTask(event.getStructureHandle()); > if (currentTask != null) { > GregorianCalendar calendar = new GregorianCalendar(); >+ calendar.setFirstDayOfWeek(START_DAY); > calendar.setTime(event.getDate()); > currentTaskStart = calendar; > currentHandle = event.getStructureHandle(); >@@ -246,6 +263,7 @@ > if (!event.getStructureHandle().equals(MylarContextManager.ACTIVITY_HANDLE) > && currentHandle.equals(event.getStructureHandle())) { > GregorianCalendar calendarEnd = new GregorianCalendar(); >+ calendarEnd.setFirstDayOfWeek(START_DAY); > calendarEnd.setTime(event.getDate()); > calendarEnd.getTime(); > currentTaskEnd = calendarEnd; >@@ -305,19 +323,23 @@ > private void setupCalendarRanges() { > > GregorianCalendar currentBegin = new GregorianCalendar(); >+ currentBegin.setFirstDayOfWeek(START_DAY); > Date startTime = new Date(); > currentBegin.setTime(startTime); > snapToStartOfWeek(currentBegin); > GregorianCalendar currentEnd = new GregorianCalendar(); >+ currentEnd.setFirstDayOfWeek(START_DAY); > snapToEndOfWeek(currentEnd); > activityThisWeek = new DateRangeContainer(currentBegin, currentEnd, DESCRIPTION_THIS_WEEK, taskList); > dateRangeContainers.add(activityThisWeek); > > GregorianCalendar previousStart = new GregorianCalendar(); >+ previousStart.setFirstDayOfWeek(START_DAY); > previousStart.setTime(new Date()); > previousStart.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_PREVIOUS); > snapToStartOfWeek(previousStart); > GregorianCalendar previousEnd = new GregorianCalendar(); >+ previousEnd.setFirstDayOfWeek(START_DAY); > previousEnd.setTime(new Date()); > previousEnd.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_PREVIOUS); > snapToEndOfWeek(previousEnd); >@@ -326,10 +348,12 @@ > dateRangeContainers.add(activityPreviousWeek); > > GregorianCalendar nextStart = new GregorianCalendar(); >+ nextStart.setFirstDayOfWeek(START_DAY); > nextStart.setTime(new Date()); > nextStart.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_NEXT); > snapToStartOfWeek(nextStart); > GregorianCalendar nextEnd = new GregorianCalendar(); >+ nextEnd.setFirstDayOfWeek(START_DAY); > nextEnd.setTime(new Date()); > nextEnd.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_NEXT); > snapToEndOfWeek(nextEnd); >@@ -338,10 +362,12 @@ > dateRangeContainers.add(activityNextWeek); > > GregorianCalendar futureStart = new GregorianCalendar(); >+ futureStart.setFirstDayOfWeek(START_DAY); > futureStart.setTime(new Date()); > futureStart.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_FUTURE_START); > snapToStartOfWeek(futureStart); > GregorianCalendar futureEnd = new GregorianCalendar(); >+ futureEnd.setFirstDayOfWeek(START_DAY); > futureEnd.setTime(new Date()); > futureEnd.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_FUTURE_END); > snapToEndOfWeek(futureEnd); >@@ -350,10 +376,12 @@ > dateRangeContainers.add(activityFuture); > > GregorianCalendar pastStart = new GregorianCalendar(); >+ pastStart.setFirstDayOfWeek(START_DAY); > pastStart.setTime(new Date()); > pastStart.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_PAST_START); > snapToStartOfWeek(pastStart); > GregorianCalendar pastEnd = new GregorianCalendar(); >+ pastEnd.setFirstDayOfWeek(START_DAY); > pastEnd.setTime(new Date()); > pastEnd.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_PAST_END); > snapToEndOfWeek(pastEnd); >@@ -363,7 +391,7 @@ > > private void snapToStartOfWeek(GregorianCalendar cal) { > cal.getTime(); >- cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); >+ cal.set(Calendar.DAY_OF_WEEK, START_DAY); > cal.set(Calendar.HOUR_OF_DAY, 0); > cal.set(Calendar.MINUTE, 0); > cal.set(Calendar.SECOND, 0); >@@ -373,7 +401,7 @@ > > private void snapToEndOfWeek(GregorianCalendar cal) { > cal.getTime(); >- cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); >+ cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);// FRIDAY > cal.set(Calendar.HOUR_OF_DAY, cal.getMaximum(Calendar.HOUR_OF_DAY)); > cal.set(Calendar.MINUTE, cal.getMaximum(Calendar.MINUTE)); > cal.set(Calendar.SECOND, cal.getMaximum(Calendar.SECOND)); >@@ -381,6 +409,14 @@ > cal.getTime(); > } > >+ public void setTomorrow(Calendar reminderCalendar) { >+ reminderCalendar.add(Calendar.DAY_OF_MONTH, 1); >+ reminderCalendar.set(Calendar.HOUR_OF_DAY, START_HOUR); >+ reminderCalendar.set(Calendar.MINUTE, 0); >+ reminderCalendar.set(Calendar.SECOND, 0); >+ reminderCalendar.set(Calendar.MILLISECOND, 0); >+ } >+ > public Object[] getDateRanges() { > // parseFutureReminders(); > return dateRangeContainers.toArray(); >@@ -404,7 +440,8 @@ > } > > for (ITask task : taskList.getAllTasks()) { >- if (task.getReminderDate() != null) >+ if (task.getReminderDate() != null)// && task.hasBeenReminded() >+ // != true > tasksWithReminders.add(task); > } > resetActivity(); >Index: src/org/eclipse/mylar/provisional/tasklist/DateRangeContainer.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.mylar/org.eclipse.mylar.tasklist/src/org/eclipse/mylar/provisional/tasklist/DateRangeContainer.java,v >retrieving revision 1.7 >diff -u -r1.7 DateRangeContainer.java >--- src/org/eclipse/mylar/provisional/tasklist/DateRangeContainer.java 17 Mar 2006 04:38:09 -0000 1.7 >+++ src/org/eclipse/mylar/provisional/tasklist/DateRangeContainer.java 22 Mar 2006 23:37:56 -0000 >@@ -38,14 +38,15 @@ > > private long totalEstimated = 0; > >-// private String description; >+ // private String description; > >- public DateRangeContainer(GregorianCalendar startDate, GregorianCalendar endDate, String description, TaskList taskList) { >+ public DateRangeContainer(GregorianCalendar startDate, GregorianCalendar endDate, String description, >+ TaskList taskList) { > super(description, taskList); > this.startDate = startDate; > this.endDate = endDate; > } >- >+ > public DateRangeContainer(Calendar startDate, Calendar endDate, String description, TaskList taskList) { > super(description, taskList); > this.startDate = startDate; >@@ -53,14 +54,14 @@ > } > > public DateRangeContainer(GregorianCalendar startDate, GregorianCalendar endDate, TaskList taskList) { >- super(DateFormat.getDateInstance(DateFormat.FULL).format(startDate.getTime()) >- + " to " >- + DateFormat.getDateInstance(DateFormat.FULL).format(endDate.getTime()), >- taskList); >+ super(DateFormat.getDateInstance(DateFormat.FULL).format(startDate.getTime()) + " to " >+ + DateFormat.getDateInstance(DateFormat.FULL).format(endDate.getTime()), taskList); > // super(startDate.hashCode() + endDate.hashCode() + ""); >-// String start = DateFormat.getDateInstance(DateFormat.FULL).format(startDate.getTime()); >-// String end = DateFormat.getDateInstance(DateFormat.FULL).format(endDate.getTime()); >-// this.description = start + " to " + end; >+ // String start = >+ // DateFormat.getDateInstance(DateFormat.FULL).format(startDate.getTime()); >+ // String end = >+ // DateFormat.getDateInstance(DateFormat.FULL).format(endDate.getTime()); >+ // this.description = start + " to " + end; > this.startDate = startDate; > this.endDate = endDate; > } >@@ -71,21 +72,22 @@ > startDate.setTime(time); > endDate = new GregorianCalendar(); > endDate.setTime(time2); >-// this.description = description; >+ // this.description = description; > } > > public boolean includes(Calendar cal) { > return (startDate.getTimeInMillis() <= cal.getTimeInMillis()) > && (endDate.getTimeInMillis() >= cal.getTimeInMillis()); > } >- >+ > public void clear() { > children.clear(); > } > > public void addTask(DateRangeActivityDelegate taskWrapper) { >- long taskActivity = taskWrapper.getActivity(); >- if(taskActivity < 0) taskActivity = 0; >+ long taskActivity = taskWrapper.getActivity(); >+ if (taskActivity < 0) >+ taskActivity = 0; > totalElapsed += taskActivity; > children.remove(taskWrapper); > children.add(taskWrapper); >@@ -98,6 +100,10 @@ > } > } > >+ void remove(DateRangeActivityDelegate taskWrapper) { >+ children.remove(taskWrapper); >+ } >+ > public Calendar getStart() { > return startDate; > } >@@ -126,9 +132,9 @@ > return totalEstimated; > } > >-// public Set<TaskActivityDurationDelegate> getElements() { >-// return tasks; >-// } >+ // public Set<TaskActivityDurationDelegate> getElements() { >+ // return tasks; >+ // } > > public boolean isArchive() { > return false; >@@ -142,38 +148,38 @@ > return ""; > } > >-// public String getDescription() { >-// return description; >-// } >- >-// public void setDescription(String description) { >-// this.description = description; >-// } >- >-// public String getHandleIdentifier() { >-// return description; >-// } >+ // public String getDescription() { >+ // return description; >+ // } >+ >+ // public void setDescription(String description) { >+ // this.description = description; >+ // } >+ >+ // public String getHandleIdentifier() { >+ // return description; >+ // } > > public void setHandleIdentifier(String id) { > // ignore > } > > public Set<ITask> getChildren() { >-// Set<ITask> taskSet = new HashSet<ITask>(); >-// taskSet.addAll(tasks); >+ // Set<ITask> taskSet = new HashSet<ITask>(); >+ // taskSet.addAll(tasks); > return children; >-// Set<ITask> emptySet = Collections.emptySet(); >-// return emptySet; >+ // Set<ITask> emptySet = Collections.emptySet(); >+ // return emptySet; > } > > public boolean isFuture() { > return !isPresent() && getStart().after(Calendar.getInstance()); > } >- >+ > public boolean isPresent() { > return getStart().before(Calendar.getInstance()) && getEnd().after(Calendar.getInstance()); > } >- >+ > @Override > public int hashCode() { > final int PRIME = 31; >#P org.eclipse.mylar.tasklist.tests >Index: src/org/eclipse/mylar/tasklist/tests/TaskActivityViewTest.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.mylar/org.eclipse.mylar.tasklist.tests/src/org/eclipse/mylar/tasklist/tests/TaskActivityViewTest.java,v >retrieving revision 1.2 >diff -u -r1.2 TaskActivityViewTest.java >--- src/org/eclipse/mylar/tasklist/tests/TaskActivityViewTest.java 13 Mar 2006 03:08:03 -0000 1.2 >+++ src/org/eclipse/mylar/tasklist/tests/TaskActivityViewTest.java 22 Mar 2006 23:37:57 -0000 >@@ -102,9 +102,11 @@ > DateRangeContainer thisWeekActivity = MylarTaskListPlugin.getTaskListManager().getActivityThisWeek(); > assertNotNull(thisWeekActivity); > assertEquals(0, thisWeekActivity.getChildren().size()); >- >+ assertEquals(0, thisWeekActivity.getTotalElapsed()); > Calendar thisWeekCalendarStart = GregorianCalendar.getInstance(); >+ thisWeekCalendarStart.setTime(thisWeekActivity.getStart().getTime()); > Calendar thisWeekCalendarStop = GregorianCalendar.getInstance(); >+ thisWeekCalendarStop.setTime(thisWeekActivity.getStart().getTime()); > thisWeekCalendarStop.add(Calendar.MILLISECOND, 2); > assertTrue(thisWeekActivity.includes(thisWeekCalendarStart)); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 124919
:
36782
|
36852