use of org.eclipse.ecf.datashare.IChannelContainerAdapter in project ecf by eclipse.
the class ChannelTest method testCreateChannel.
public void testCreateChannel() throws Exception {
final IChannelContainerAdapter channelContainer = getChannelContainer(0);
final IChannel channel = channelContainer.createChannel(getNewID(CHANNEL_NAME_1), getIChannelListener(getContainerID(0)), null);
assertNotNull(channel);
assertNotNull(channel.getID());
assertNotNull(channel.getListener());
}
use of org.eclipse.ecf.datashare.IChannelContainerAdapter in project ecf by eclipse.
the class SendMessageRosterEntryContribution method initializeChannelFor.
private IChannel initializeChannelFor(IContainer container) {
if (container == null)
return null;
ID containerID = container.getID();
IChannel chan = (IChannel) channels.get(containerID);
if (chan == null) {
IChannelContainerAdapter adapter = (IChannelContainerAdapter) container.getAdapter(IChannelContainerAdapter.class);
if (adapter != null) {
chan = createChannel(adapter);
channels.put(containerID, chan);
}
}
return chan;
}
use of org.eclipse.ecf.datashare.IChannelContainerAdapter in project ecf by eclipse.
the class SendContextContributionItem method createRosterEntryHandler.
protected AbstractRosterMenuHandler createRosterEntryHandler(final IRosterEntry rosterEntry) {
return new AbstractRosterMenuHandler(rosterEntry) {
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchPart part = HandlerUtil.getActivePart(event);
if (part == null) {
return null;
}
IWorkbenchSite site = part.getSite();
if (site == null) {
return null;
}
ISelectionProvider provider = site.getSelectionProvider();
if (provider == null) {
return null;
}
ISelection selection = provider.getSelection();
if (selection instanceof IStructuredSelection) {
IChannelContainerAdapter icca = (IChannelContainerAdapter) rosterEntry.getRoster().getPresenceContainerAdapter().getAdapter(IChannelContainerAdapter.class);
ID channelID;
try {
channelID = icca.getChannelNamespace().createInstance(new Object[] { Activator.PLUGIN_ID });
} catch (IDCreateException e1) {
return null;
}
final IChannel channel = icca.getChannel(channelID);
if (channel == null) {
return null;
}
Object element = ((IStructuredSelection) selection).getFirstElement();
if (element instanceof ITask) {
final ITask task = (ITask) element;
Job job = new Job("Send Task") {
protected IStatus run(IProgressMonitor monitor) {
monitor.beginTask("Sending task...", 5);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
TasksUiPlugin.getTaskListManager().getTaskListWriter().writeTask((AbstractTask) task, stream);
monitor.worked(2);
try {
channel.sendMessage(getRosterEntry().getUser().getID(), stream.toByteArray());
monitor.worked(3);
} catch (Exception e) {
return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "An error occurred while sending the task.", e);
} finally {
monitor.done();
}
return Status.OK_STATUS;
}
};
job.schedule();
}
}
return null;
}
};
}
use of org.eclipse.ecf.datashare.IChannelContainerAdapter in project ecf by eclipse.
the class ChannelTest method setUp.
protected void setUp() throws Exception {
super.setUp();
setClientCount(2);
clients = createClients();
channelID = IDFactory.getDefault().createStringID(CHANNEL_NAME);
connectClients();
for (int i = 0; i < clientCount; i++) {
final IChannelContainerAdapter channelContainer = getChannelContainer(i);
channelContainer.createChannel(channelID, getIChannelListener(getContainerID(i)), null);
}
}
use of org.eclipse.ecf.datashare.IChannelContainerAdapter in project ecf by eclipse.
the class DsClient1 method createChannel.
protected IChannel createChannel(IContainer container) throws ECFException {
IChannelContainerAdapter channelContainer = (IChannelContainerAdapter) container.getAdapter(IChannelContainerAdapter.class);
if (channelContainer == null)
throw new NullPointerException("cannot get channel container adapter");
ID channelID = IDFactory.getDefault().createID(channelContainer.getChannelNamespace(), "channel1");
IChannelListener channelListener = new IChannelListener() {
public void handleChannelEvent(IChannelEvent event) {
System.out.println("handleChannelEvent(" + event + ")");
}
};
return channelContainer.createChannel(channelID, channelListener, new HashMap());
}
Aggregations