package org.eclipse.ecf.tests.sync; import org.eclipse.ecf.sync.IModelChange; import org.eclipse.ecf.sync.IModelChangeMessage; import org.eclipse.ecf.sync.IModelSynchronizationStrategy; import org.eclipse.ecf.sync.doc.IDocumentChange; import org.eclipse.jface.text.Document; public class Receiver extends Thread{ private IModelSynchronizationStrategy receiver; private SimpleMessageQueue queue; private SimpleMessageQueue initiatorQueue; private Document fDocument; public Receiver(IModelSynchronizationStrategy receiver, Document document){ this.setReceiver(receiver); this.queue = new SimpleMessageQueue(); fDocument = document; } public void run() { for (int i = 0; i < 10; i++) { IModelChangeMessage [] changes = queue.get(); for (int j = 0; j < changes.length; j++) { IDocumentChange docs[] = (IDocumentChange[])receiver.transformRemoteChange((IModelChange) changes[j]); for (int k = 0; k < docs.length; k++) { String text = fDocument.get(); String newText = ">"; text = text.concat(newText); fDocument.set(text); } } } } protected void setReceiver(IModelSynchronizationStrategy receiver) { this.receiver = receiver; } public IModelSynchronizationStrategy getReceiver() { return receiver; } public SimpleMessageQueue getQueue() { return queue; } public void setInitiatorQueue(SimpleMessageQueue initiatorQueue) { this.initiatorQueue = initiatorQueue; } public SimpleMessageQueue getInitiatorQueue() { return initiatorQueue; } public Document getDocument() { return fDocument; } public void setDocument(Document document) { fDocument = document; } }