<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to GmsecJavaCode</title><link>https://sourceforge.net/p/odtbx/wiki/GmsecJavaCode/</link><description>Recent changes to GmsecJavaCode</description><atom:link href="https://sourceforge.net/p/odtbx/wiki/GmsecJavaCode/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 08 Jul 2014 17:34:37 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/odtbx/wiki/GmsecJavaCode/feed" rel="self" type="application/rss+xml"/><item><title>GmsecJavaCode modified by &lt;REDACTED&gt;</title><link>https://sourceforge.net/p/odtbx/wiki/GmsecJavaCode/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><pubDate>Tue, 08 Jul 2014 17:34:37 -0000</pubDate><guid>https://sourceforge.net2ae72b4612b900fe6f5b596204d467aa6159f5c8</guid></item><item><title>GmsecJavaCode modified by &lt;REDACTED&gt;</title><link>https://sourceforge.net/p/odtbx/wiki/GmsecJavaCode/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Here is a description of all the code in the GMSEC message sender. Now the user can send messages between two tools. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Main Classes:&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;PublisherMain?&lt;/strong&gt; --&amp;gt; This is the Main class for the publisher. It is what will be linked to the executable to run when an icon is selected on the desktop. It calls the &lt;em&gt;PublishGui?&lt;/em&gt; to ask the publisher their computer name, the location of the &lt;em&gt;MBServer&lt;/em&gt; (IP address) and asks them to select the ephemeris file to be sent. The &lt;em&gt;PublishGui?&lt;/em&gt; then calls the &lt;em&gt;PublisherMain?&lt;/em&gt; class method &lt;em&gt;FileAnnouncement?&lt;/em&gt; to run three threads (&lt;em&gt;NotifyPublisher?&lt;/em&gt;, &lt;em&gt;DecisionSubscriber?&lt;/em&gt; &amp;amp; &lt;em&gt;EphemerisReply?&lt;/em&gt;). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SubscriberMain?&lt;/strong&gt; --&amp;gt; This is the Main class for the subscriber. It is what will be linked to the executable to run when an icon is selected on the desktop. It calls the &lt;em&gt;SubscribeGui?&lt;/em&gt; to ask the subscriber their computer name and the location of the &lt;em&gt;MBServer&lt;/em&gt; (IP address). The &lt;em&gt;SubscribeGui?&lt;/em&gt; then calls the &lt;em&gt;NotifySubscriber?&lt;/em&gt; to subscribe to the notification subject on a new thread. (A threading error was discovered in this section of code. Originally the AWT-Event thread from the first GUI was being used to subscribe and wait forever for a message. This prevented the AWT-Event thread from being used to pop up the notifierGui. It was necessary to create a new thread which subscribed to the subject so that the AWT-Event thread would be free to be used for the other GUIs in the program. &lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;Publisher Classes:&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;PublishGui?&lt;/strong&gt; --&amp;gt; This class will create the GUI to get the location of the new ephemeris file that has been created and pass the information into the &lt;em&gt;FileAnnouncement?&lt;/em&gt; method in the &lt;em&gt;PublisherMain?&lt;/em&gt; class which creates threads to send out the notification. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NotifyPublisher?&lt;/strong&gt; --&amp;gt; Publishes the notification message on the subject("GMSEC.GMAT.NOTIFY.MSG.LOG") which lets the subscribers know there is a new ephemeris file avaliable to be requested. Need to put in the Publisher name, ephemeris file name and location, and the fact that is an Ephemeris Notifier. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GuiNotifier?&lt;/strong&gt; --&amp;gt; This file is called by &lt;em&gt;NotifySubscriber?&lt;/em&gt;. It creates and pops up the GUI which askes if the user would like to request the file or not. Based on the user's selection the &lt;em&gt;GuiNotifier?&lt;/em&gt; calls the method &lt;em&gt;PublishDecisionMessage?&lt;/em&gt; contained in the &lt;em&gt;NotifySubscriber?&lt;/em&gt; to publish a log message with the decision the user has made. If the user selects yes then &lt;em&gt;EphemerisRequest?&lt;/em&gt; is called to publish the product request message. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DecisionSubscriber?&lt;/strong&gt; --&amp;gt; This file subscribes to the decision subject("GMSEC.GMAT.DECISION.MSG.LOG"). The file creator is then notified of the subscribers' decision by a decision GUI which is created by the &lt;em&gt;DecisionSubscriber?&lt;/em&gt; when it receives the decision log message. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EphemerisReply?&lt;/strong&gt; --&amp;gt; This file subscribes to the general request subject ("GMSEC.GMAT.REQUEST.MSG.PROD.&amp;gt;")and replies with the ephemeris product message when a request is sent. Needs to contain the computer name of the replier, the file name, and the text file location. &lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;Subscriber Classes&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;SubscribeGui?&lt;/strong&gt; --&amp;gt; The &lt;em&gt;SubscribeGui?&lt;/em&gt; pops up a GUI that will ask the user to enter a computer name and location of the &lt;em&gt;MBServer&lt;/em&gt; and will then will call the &lt;em&gt;SubscriberMain?&lt;/em&gt; method Subscribe to subscribe to the Notification subject. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NotifySubscriber?&lt;/strong&gt; --&amp;gt; This file subscribes to the notification subject ("GMSEC.GMAT.NOTIFY.MSG.LOG") and when it receives the notification log message it calls the &lt;em&gt;GuiNotifier?&lt;/em&gt; to create and pop up the notification GUI which alerts the user that a new ephemeris file has been created. It also contains the &lt;em&gt;PublishDecisionMethod?&lt;/em&gt; which sends a log message to the file creator with the subscribers' decision to request the file or not. &lt;em&gt;PublishDecisionMethod?&lt;/em&gt; needs to contain the computer name of the subscriber, the file and the subscriber's decision. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EphemerisRequest?&lt;/strong&gt; --&amp;gt; Sends a request over the computer specific subject ("GMSEC.GMAT.REQUEST.MSG.PROD.COMPUTERNAME"). The last field of the subject is dependant on the subscriber. The replier listens to every computer that publishes under the main subject and returns a reply only on the request subject. Needs to contain the computer name which is requesting the file and the file name. &lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;How to Run:&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Run Publisher --&amp;gt; Install code, then open the ODTBX directory and click on the &lt;em&gt;publisher.bat&lt;/em&gt; file. &lt;/p&gt;
&lt;p&gt;Run Subscriber --&amp;gt; Install code, then open the ODTBX directory and click on the &lt;em&gt;subscriber.bat&lt;/em&gt; file. &lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Return to: &lt;span&gt;[GmsecDocuments]&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 08 Jul 2014 17:34:34 -0000</pubDate><guid>https://sourceforge.netb2ba1bc8e1b6aed3025fde242ddac601b7888f85</guid></item></channel></rss>