@@ -0,0 +1,1767 @@
+import VideoStreaming.NotifierPrx;%0Aimport VideoStreaming.NotifierPrxHelper;%0A%0Apublic class Publisher extends Ice.Application %7B%0A    public static void main(String args%5B%5D) %7B%0A        Publisher app = new Publisher();%0A        int status = app.main(%22Publisher%22, args, %22config.pub%22);%0A        System.exit(status);%0A    %7D%0A%0A    @Override%0A    public int run(String args%5B%5D) %7B%0A        String name = %22VideoStreaming%22;%0A%0A//        Ice.Communicator ic = Ice.Util.initialize();%0A//        Ice.ObjectPrx obj = ic.stringToProxy(%22IceStorm/TopicManager: tcp -p 9999%22);%0A        Ice.ObjectPrx obj = communicator().propertyToProxy(%22TopicManager.Proxy%22);%0A        IceStorm.TopicManagerPrx manager = IceStorm.TopicManagerPrxHelper.checkedCast(obj);%0A        if (manager == null) %7B%0A            System.err.println(%22Invalid proxy%22);%0A            return 1;%0A        %7D%0A%0A        IceStorm.TopicPrx topic = null;%0A        while (topic == null) %7B%0A            try %7B%0A                topic = manager.retrieve(name);%0A            %7D catch (IceStorm.NoSuchTopic e) %7B%0A                try %7B%0A                    topic = manager.create(name);%0A                %7D catch (IceStorm.TopicExists ex) %7B%0A                    System.err.println(%22Temporary failure%22);%0A                    return 1;%0A                %7D%0A            %7D%0A        %7D%0A%0A        Ice.ObjectPrx publisher = topic.getPublisher().ice_oneway();%0A        NotifierPrx notifier = NotifierPrxHelper.uncheckedCast(publisher);%0A        try %7B%0A            while (true) %7B%0A                notifier.inform(%22NEW STREAM !%22);%0A                try %7B%0A                    Thread.currentThread();%0A                    Thread.sleep(3000);%0A                %7D catch (InterruptedException e) %7B %7D%0A            %7D%0A        %7D catch (Ice.CommunicatorDestroyedException ex) %7B %7D%0A%0A        return 0;%0A    %7D%0A%7D

Add Publisher.java