Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 352911
Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/context/core/DegreeOfInterest.java (-3 / +30 lines)
Lines 62-71 Link Here
62
		this.contextScaling = scaling;
62
		this.contextScaling = scaling;
63
	}
63
	}
64
64
65
	public synchronized void updateHandleIdentifier(String newHandle) {
66
		List<InteractionEvent> oldInteractionHistory = new ArrayList<InteractionEvent>(events);
67
		events.clear();
68
		collapsedEvents.clear();
69
		for (InteractionEvent e : oldInteractionHistory) {
70
			e = new InteractionEvent(e.getKind(), e.getStructureKind(), newHandle, e.getOriginId(), e.getNavigation(),
71
					e.getDelta(), e.getInterestContribution(), e.getDate(), e.getEndDate());
72
			events.add(e); // NOTE: was events.add(0, event);
73
			InteractionEvent last = collapsedEvents.get(e.getKind());
74
			if (last != null) {
75
76
				int numCollapsedEvents = 1;
77
				if (last instanceof AggregateInteractionEvent) {
78
					numCollapsedEvents = ((AggregateInteractionEvent) last).getNumCollapsedEvents();
79
				}
80
81
				AggregateInteractionEvent aggregateEvent = new AggregateInteractionEvent(e.getKind(),
82
						e.getStructureKind(), e.getStructureHandle(), e.getOriginId(), e.getNavigation(), e.getDelta(),
83
						last.getInterestContribution() + e.getInterestContribution(), last.getDate(), e.getEndDate(),
84
						numCollapsedEvents + 1, eventCountOnCreation);
85
				collapsedEvents.put(e.getKind(), aggregateEvent);
86
			} else {
87
				collapsedEvents.put(e.getKind(), e);
88
			}
89
		}
90
	}
91
65
	/**
92
	/**
66
	 * TODO: make package-visible
93
	 * TODO: make package-visible
67
	 */
94
	 */
68
	public void addEvent(InteractionEvent event) {
95
	public synchronized void addEvent(InteractionEvent event) {
69
		events.add(event); // NOTE: was events.add(0, event);
96
		events.add(event); // NOTE: was events.add(0, event);
70
		InteractionEvent last = collapsedEvents.get(event.getKind());
97
		InteractionEvent last = collapsedEvents.get(event.getKind());
71
		if (last != null) {
98
		if (last != null) {
Lines 161-168 Link Here
161
188
162
	@Override
189
	@Override
163
	public String toString() {
190
	public String toString() {
164
		return "(" + "selections: " + selections + ", edits: " + edits + ", commands: " + commands + ", predicted: " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
191
		return "(" + "selections: " + selections + ", edits: " + edits + ", commands: " + commands + ", predicted: " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 
165
				+ predictedBias + ", propagated: " + propagatedBias + ", manipulation: " + manipulationBias + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
192
				+ predictedBias + ", propagated: " + propagatedBias + ", manipulation: " + manipulationBias + ")";
166
	}
193
	}
167
194
168
	/**
195
	/**
(-)src/org/eclipse/mylyn/internal/context/core/InteractionContext.java (+14 lines)
Lines 179-188 Link Here
179
179
180
	public synchronized void updateElementHandle(IInteractionElement element, String newHandle) {
180
	public synchronized void updateElementHandle(IInteractionElement element, String newHandle) {
181
		InteractionContextElement currElement = elementMap.remove(element.getHandleIdentifier());
181
		InteractionContextElement currElement = elementMap.remove(element.getHandleIdentifier());
182
		String oldHandle = null;
182
		if (currElement != null) {
183
		if (currElement != null) {
184
			oldHandle = currElement.getHandleIdentifier();
183
			currElement.setHandleIdentifier(newHandle);
185
			currElement.setHandleIdentifier(newHandle);
184
			elementMap.put(newHandle, currElement);
186
			elementMap.put(newHandle, currElement);
185
		}
187
		}
188
		// XXX IMPROVE THE PERFORMANCE!!
189
		if (oldHandle != null) {
190
			List<InteractionEvent> oldInteractionHistory = new ArrayList<InteractionEvent>(interactionHistory);
191
			interactionHistory.clear();
192
			for (InteractionEvent e : oldInteractionHistory) {
193
				if (oldHandle.equals(e.getStructureHandle())) {
194
					e = new InteractionEvent(e.getKind(), e.getStructureKind(), newHandle, e.getOriginId(),
195
							e.getNavigation(), e.getDelta(), e.getInterestContribution(), e.getDate(), e.getEndDate());
196
				}
197
				interactionHistory.add(e);
198
			}
199
		}
186
	}
200
	}
187
201
188
	public synchronized IInteractionElement getActiveNode() {
202
	public synchronized IInteractionElement getActiveNode() {
(-)src/org/eclipse/mylyn/internal/context/core/InteractionContextElement.java (+1 lines)
Lines 57-62 Link Here
57
57
58
	public void setHandleIdentifier(String handle) {
58
	public void setHandleIdentifier(String handle) {
59
		this.handle = handle;
59
		this.handle = handle;
60
		interest.updateHandleIdentifier(handle);
60
	}
61
	}
61
62
62
	public String getContentType() {
63
	public String getContentType() {

Return to bug 352911