[mashup-dev] svn commit r16445 - in trunk/mashup/java/modules/samples/upgradeChecker: . upgradeChecker.resources/www

svn at wso2.org svn at wso2.org
Thu May 1 13:57:10 PDT 2008


Author: jonathan
Date: Thu May  1 13:57:07 2008
New Revision: 16445

Log:

Updated and corrected upgradeChecker service.

Modified:
   trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.js
   trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.resources/www/index.html

Modified: trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.js
==============================================================================
--- trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.js	(original)
+++ trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.js	Thu May  1 13:57:07 2008
@@ -12,11 +12,11 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- 
+
    Created 2007-10 Jonathan Marsh; jonathan at wso2.com
 
    Recommendation algorithm:
-    
+
     Are there releases more current than the users? (1)
         yes -> Is there a nightly more current than the user's? (2)
             yes -> Recommend release, suggest nightly
@@ -26,7 +26,7 @@
                 yes -> Recommend nightly
                 no -> Suggest nightly
             no -> Recommend no action
-    
+
     (1) Requires date of latest release, and date of the user's build
     (2) Requires date of latest nightly, and date of the user's build
     (3) Requires whether the user is running a nightly or not
@@ -46,20 +46,24 @@
     var userBuildDate = version.buildDate();
     var userIsNightly = version.isNightly();
     var userVersionNumber = version.versionNumber();
-   
+
     // Fetch information about the latest release of the Mashup Server
-    var history = fetchHistory();
+    var history = system.getXML('http://wso2.org/repos/wso2/trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.resources/history.xml');
+    if (history == null)
+        throw "Trouble contacting the Mashup Server project for release history.";
+
     var latestRelease = history.release[0];
     if (latestRelease.length() == 0)
         throw "Can't find release history for the mashup server.";
+
     var releaseBuildDate = new Date(latestRelease. at date);
 
     // Fetch information about the latest nightly build of the Mashup Server
     var nightlyBuildDate = fetchNightlyBuildDate();
-    
+
     var nightlyAge = Math.floor((userBuildDate.getTime() - nightlyBuildDate.getTime())/(1000*60*60));
-    var releaseAge = Math.floor((userBuildDate.getTime() - releaseBuildDate.getTime())/(1000*60*60));
-    
+    var releaseAge = Math.floor((releaseBuildDate.getTime() - nightlyBuildDate.getTime())/(1000*60*60));
+
     var build = new Object();
     build.product = "Mashup Server";
     build.current = {
@@ -69,11 +73,11 @@
     };
 
     build.nightly = {
-        "download" :  "http://dist.wso2.org/products/mashup/nightly-build/", 
+        "download" :  "http://dist.wso2.org/products/mashup/nightly-build/",
         "age" : nightlyAge,
         "date" : nightlyBuildDate
     };
-    
+
     build.release = {
         "version" : latestRelease. at version.toString(),
         "download" : latestRelease. at downloadpage.toString(),
@@ -81,14 +85,17 @@
         "date" : releaseBuildDate
     };
 
-    var newerRelease = releaseAge < 0;
-    var newerNightly = nightlyAge < 0;
+    var newerRelease = releaseAge > 0;
+    var newerNightly = nightlyAge > 0;
     if (newerRelease) {
         build.release.action = "recommended";
         if (newerNightly) {
             build.nightly.action = "suggested";
+        } else {
+            build.nightly.action = "none";
         }
     } else {
+        build.release.action = "none";
         if (newerNightly) {
             if (userIsNightly) {
                 build.nightly.action = "recommended";
@@ -96,10 +103,10 @@
                 build.nightly.action = "suggested";
             }
         } else {
-            // no recommendation - the user has the latest build available.
+            build.nightly.action = "none";
         }
     }
-        
+
     return build;
 }
 
@@ -116,34 +123,20 @@
                 nightly = {build.current.nightly}
                 version = {build.current.version}
                 date = {build.current.date} />
-             <nightly 
+             <nightly
                 download = {build.nightly.download}
-    	 		age = {build.nightly.age}
-   				date = {build.nightly.date} 
-   				action = {build.nightly.action} />
-             <release 
-                version = {build.release.version} 
-           		download = {build.release.download}
-    			age = {build.release.age}
-    			date = {build.release.date}
-    			action = {build.release.action} />
+                age = {build.nightly.age}
+                date = {build.nightly.date}
+                action = {build.nightly.action} />
+             <release
+                version = {build.release.version}
+                download = {build.release.download}
+                age = {build.release.age}
+                date = {build.release.date}
+                action = {build.release.action} />
            </build>;
 }
 
-fetchHistory.visible = false;
-function fetchHistory() {
-
-    var config =
-        <config>
-            <var-def name='response'>
-                <http method='get' url='http://wso2.org/repos/wso2/trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.resources/history.xml'/>
-            </var-def>
-        </config>;
-    var history = new Scraper(config);
-
-    return new XML(history.response);
-}
-
 fetchNightlyBuildDate.visible = false;
 function fetchNightlyBuildDate() {
     var name="mashup";
@@ -157,18 +150,18 @@
                     </html-to-xml>
                 </xpath>
             </var-def>
-        </config>;             
+        </config>;
 
     var scraper = new Scraper(config);
     var d = scraper.response;
-    
-    var nightlyBuildDate = 
+
+    var nightlyBuildDate =
         new Date(d.substring(0, 2) + " " +
                  d.substring(3, 6) + " " +
                  d.substring(7) + " GMT-08:00");  // Builder is located in California.
     return nightlyBuildDate;
 }
-    
+
 testXML.documentation = <div>Simulates various scenarios for UI testing purposes.</div>;
 
 testXML.safe = true;
@@ -177,7 +170,7 @@
 
 function testXML(id) {
     // running 0.2 release, newer nightly
-    if (id == "release-new-nightly") 
+    if (id == "release-new-nightly")
         return <build product="Mashup Server">
             <current nightly="false" version="0.2" date="Thu Oct 04 2007 04:21:00 GMT-0700 (PDT)" />
             <nightly download="http://dist.wso2.org/products/mashup/nightly-build/" age="73" date="Fri Oct 26 2007 11:13:00 GMT-0700 (PDT)" action="recommended" />
@@ -185,7 +178,7 @@
         </build>;
 
     // running 0.2 release, no nightly
-    if (id == "release-no-nightly") 
+    if (id == "release-no-nightly")
         return <build product="Mashup Server">
             <current nightly="false" version="0.2" date="Thu Oct 04 2007 04:21:00 GMT-0700 (PDT)" />
             <nightly download="http://dist.wso2.org/products/mashup/nightly-build/" age="0" date="Thu Oct 04 2007 04:21:00 GMT-0700 (PDT)" />
@@ -193,7 +186,7 @@
         </build>;
 
     // running 0.1 release, newer nightly
-    if (id == "old-release-new-nightly") 
+    if (id == "old-release-new-nightly")
         return <build product="Mashup Server">
             <current nightly="false" version="0.1" date="July 6, 2007 04:14 PM GMT" />
             <nightly download="http://dist.wso2.org/products/mashup/nightly-build/" age={111*24} date="Fri Oct 26 2007 11:13:00 GMT-0700 (PDT)" action="suggested" />
@@ -201,12 +194,12 @@
         </build>;
 
     // running 0.1 release, no nightly
-    if (id == "old-release-no-nightly") 
+    if (id == "old-release-no-nightly")
         return <build product="Mashup Server">
             <current nightly="false" version="0.1" date="July 6, 2007 04:14 PM GMT" />
             <nightly download="http://dist.wso2.org/products/mashup/nightly-build/" age={90*24} date="Fri Oct 26 2007 11:13:00 GMT-0700 (PDT)" />
             <release version="0.2" download="http://dist.wso2.org/products/mashup/0.2/" age={90*24} date="Thu Oct 04 2007 04:21:00 GMT-0700 (PDT)"  action="recommended" />
         </build>;
-    
+
     return <build/>;
 }
\ No newline at end of file

Modified: trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.resources/www/index.html
==============================================================================
--- trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.resources/www/index.html	(original)
+++ trunk/mashup/java/modules/samples/upgradeChecker/upgradeChecker.resources/www/index.html	Thu May  1 13:57:07 2008
@@ -19,8 +19,8 @@
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Upgrade Checker</title>
 <style type="text/css">
-    body {
-    	font: 90%/1.5 "Lucida Grande","Lucida Sans","Microsoft Sans Serif", "Lucida Sans Unicode",verdana,sans-serif,"trebuchet ms";
+	body {
+		font: 90%/1.5 "Lucida Grande","Lucida Sans","Microsoft Sans Serif", "Lucida Sans Unicode",verdana,sans-serif,"trebuchet ms";
 		color: #111;
 		text-align:center;
 	}
@@ -31,30 +31,31 @@
     table {margin: 1em}
 	th {background-color:red}
 	h1 {font-size:150%; margin:0.25em}
-    td {text-align:center}
-    .build_date {font-size:70%}
+	td {text-align:center}
+	.build_date {font-size:70%}
 	#console {color:red; font-weight:bold; text-align:left}
 	.footer {font-size:75%}
 </style>
 <script type="text/javascript" src="/js/wso2/WSRequest.js"></script>
 <script type="text/javascript" src="../upgradeChecker?stub"></script>
 <script type="text/javascript">
-    function load() {
-        // Fetch recommendation for upgrading
-        upgradeChecker.getRecommendation.callback = display;
-        upgradeChecker.getRecommendation.onError = handleError;
+	function load() {
+		// Fetch recommendation for upgrading
+		upgradeChecker.getRecommendation.callback = display;
+		upgradeChecker.getRecommendation.onError = handleError;
 		upgradeChecker.getRecommendation();
     }
-    
-    function display(build) {
-    	stuff("rec_user_type", build.current.nightly ? "Nightly Build" : build.current.version + " Release");
-		stuff("sug_user_type", build.current.nightly ? "Nightly Build" : build.current.version + " Release");
-		stuff("norec_type", build.current.nightly ? "nightly build" : build.current.version + " release");
-		stuff("norec_type2", build.current.nightly ? "Nightly Build" : build.current.version + " Release");
+
+	function display(build) {
+		var buildName = build.current.nightly ? (build.nightly.age > 0 ? "Nightly Build" : "Custom Build") : build.current.version + " Release";
+		stuff("rec_user_type", buildName);
+		stuff("sug_user_type", buildName);
+		stuff("norec_type", buildName);
+		stuff("norec_type2", buildName);
 		stuff("rec_user_build_date", build.current.date.toLocaleDateString());
 		stuff("sug_user_build_date", build.current.date.toLocaleDateString());
 		stuff("norec_user_build_date", build.current.date.toLocaleDateString());
-		
+
 		if (build.release.action == 'recommended') {
 			stuff("rec_type", build.release.version + " release");
 			stuff("rec_type2", build.release.version + " Release");
@@ -74,8 +75,6 @@
 
 			document.getElementById("recommendation").style.display = "block";
 		} else {
-			stuff("norec_type", build.current.nightly ? "nightly build" : "release");
-
 			document.getElementById("norecommendation").style.display = "block";
 		}
 
@@ -100,37 +99,35 @@
 		}
 		document.getElementById("checking").style.display = "none";
 	}
-	
+
 	function stuff(id, value) {
-    	document.getElementById(id).innerHTML = value;
-    }
-    
-    function ageToString(age) {
-    	var ageString;
-    		
-    	if (age < 0) {
-    		ageString = age + " in the future (error someplace!)";
-    	} else if (age < 48) {
+		document.getElementById(id).innerHTML = value;
+	}
+
+	function ageToString(age) {
+		var ageString;
+
+		if (age < 48) {
 			ageString = age + " hours";
-    	} else if (age < 24*14) {
+		} else if (age < 24*14) {
 			ageString = Math.floor(age/24) + " days";
-	   	} else {
+		} else {
 			ageString = Math.floor(age/(24*7)) + " weeks";
-	   	}
-	   	return ageString;
-    }
-    
+		}
+		return ageString;
+	}
+
 	function handleError(error) {
-        log (document.getElementById('console'), "Fault: " + error.reason + "\n\n" + error.detail);
-    };
-    
-    function log(console, data) {
-        var browser = WSRequest.util._getBrowser();
-        if (browser == "ie" || browser == "ie7")
-            console.innerText = data;
-        else
-            console.textContent = data;
-    }
+		log (document.getElementById('console'), "Fault: " + error.reason + "\n\n" + error.detail);
+	};
+
+	function log(console, data) {
+		var browser = WSRequest.util._getBrowser();
+		if (browser == "ie" || browser == "ie7")
+			console.innerText = data;
+		else
+			console.textContent = data;
+	}
 </script>
 </head>
 <body onload="load()">
@@ -142,7 +139,7 @@
 </div>
 <div id="norecommendation" style="display:none">
 	<h1>Your <span id="norec_type">---</span> is current.</h1>
-	<div class="normal">No new releases or nightly builds are available.</div>
+	<div class="normal">No newer releases or nightly builds are available.</div>
 	<table style="margin-left:auto; margin-right:auto;">
 		<tr>
 			<td>



More information about the Mashup-dev mailing list