From 5a99a2b70fce267780a8274926e584721545041a Mon Sep 17 00:00:00 2001 From: Tobias Schwarz Date: Tue, 17 Dec 2013 14:33:03 +0100 Subject: Target Explorer: split peer and ocator model --- .../tcf/te/tcf/locator/steps/WaitForReadyStep.java | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/steps/WaitForReadyStep.java') diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/steps/WaitForReadyStep.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/steps/WaitForReadyStep.java index f1c79cc7a..8530a59a0 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/steps/WaitForReadyStep.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.locator/src/org/eclipse/tcf/te/tcf/locator/steps/WaitForReadyStep.java @@ -10,6 +10,9 @@ package org.eclipse.tcf.te.tcf.locator.steps; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import java.util.concurrent.TimeoutException; import org.eclipse.core.runtime.CoreException; @@ -28,6 +31,7 @@ import org.eclipse.tcf.te.runtime.utils.StatusHelper; import org.eclipse.tcf.te.tcf.core.Tcf; import org.eclipse.tcf.te.tcf.core.interfaces.IChannelManager; import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode; +import org.eclipse.tcf.te.tcf.locator.interfaces.services.IPeerModelUpdateService; import org.eclipse.tcf.te.tcf.locator.nls.Messages; /** @@ -85,10 +89,26 @@ public class WaitForReadyStep extends AbstractPeerNodeStep { } // Close the channel right away - if (channel != null) Tcf.getChannelManager().closeChannel(channel); +// if (channel != null) Tcf.getChannelManager().closeChannel(channel); // If we have an OK status, we are done if (status != null && status.isOK()) { + // Get the local service + List localServices = new ArrayList(channel.getLocalServices()); + // Get the remote services + List remoteServices = new ArrayList(channel.getRemoteServices()); + + // Close the channel + Tcf.getChannelManager().closeChannel(channel); + + // Sort the service lists + Collections.sort(localServices); + Collections.sort(remoteServices); + + // Update the services + IPeerModelUpdateService updateService = peerNode.getModel().getService(IPeerModelUpdateService.class); + updateService.updatePeerServices(peerNode, localServices, remoteServices); + callback(data, fullQualifiedId, callback, status, null); return; } -- cgit v1.2.3