Examples of IMergeableChannelContainerAdapter


Examples of org.eclipse.ecf.datashare.mergeable.IMergeableChannelContainerAdapter

    publishPathName = (String) initData.getProperties().get(
        PUBLISH_PROPERTY_NAME);
    publishPathName = publishPathName == null ? "feed.xml"
        : publishPathName;
    // get local channel container first...throw if we can't get it
    IMergeableChannelContainerAdapter container = (IMergeableChannelContainerAdapter) config
        .getContext().getAdapter(
            IMergeableChannelContainerAdapter.class);
    if (container == null) {
      throw new SharedObjectInitException(
          "Channel container is null/not available");
View Full Code Here

Examples of org.eclipse.ecf.datashare.mergeable.IMergeableChannelContainerAdapter

    final RssClientSOContainer container = new RssClientSOContainer();
    // now connect to rss service
    final ID serverID = IDFactory.getDefault().createStringID(targetURL);
    container.connect(serverID, null);
    // get IMergeableChannelContainer adapter
    final IMergeableChannelContainerAdapter channelContainer = (IMergeableChannelContainerAdapter) container.getAdapter(IMergeableChannelContainerAdapter.class);
    // create channel listener
    final IChannelListener listener = new IChannelListener() {
      public void handleChannelEvent(IChannelEvent event) {
        System.out.println("listener.handleChannelEvent(" + event + ")");
      }
    };
    // create a new channel
    final ID channelID = IDFactory.getDefault().createStringID("/reuters/worldNews/");
    // ID channelID = IDFactory.getDefault().createStringID("/feed.xml");
    final IMergeableChannel channel = channelContainer.createMergeableChannel(channelID, listener, new HashMap());
    if (channel instanceof FeedSharedObject) {
      // get remote feed (subscribed)
      final RssFeed remoteFeed = ((FeedSharedObject) channel).getFeed();
      // get local feed (published)
      final File feedFile = new File("feed.xml");
      RssFeed localFeed = RssFeed.load(feedFile);
      if (localFeed == null) {
        localFeed = new RssFeed(remoteFeed.getTitle(), remoteFeed.getLink(), remoteFeed.getDescription());
        localFeed.setVersion(RssVersion.RSS_2_0);
      }
      // merge remote feed with local one
      localFeed.merge(remoteFeed);
      // add a new item to feed
      localFeed.addItem(new RssItem("New Google Item", "This is a new item", "http://www.google.com"));
      // publish updated feed
      localFeed.save(feedFile);
      // print item titles
      final java.util.List items = localFeed.getItems();
      for (int i = 0; i < items.size(); i++) {
        System.out.println(" " + i + " " + ((RssItem) items.get(i)).getTitle());
      }
    }
    // remove the channel
    channelContainer.removeChannel(channelID);
    // disconnect the service
    container.disconnect();
    container.dispose();
    System.out.println("Exiting.");
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.