]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1580] system status page display version infos.
authorOlivier Lamy <olamy@apache.org>
Mon, 12 Mar 2012 11:34:40 +0000 (11:34 +0000)
committerOlivier Lamy <olamy@apache.org>
Mon, 12 Mar 2012 11:34:40 +0000 (11:34 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1299632 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultRuntimeInfoService.java
archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/RuntimeInfoService.java
archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/model/ApplicationRuntimeInfo.java
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index-dev.html
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/i18nload.js
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js
archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/AbstractActionSupport.java

index 0f1c576b3db6cfb93a5aa719a0690e9802d34a41..c7408e0c3e102bf6899dac1ba433975465a22dd8 100644 (file)
@@ -27,6 +27,9 @@ import org.springframework.stereotype.Service;
 import javax.inject.Inject;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.Context;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
 
 /**
  * @author Olivier Lamy
@@ -49,13 +52,17 @@ public class DefaultRuntimeInfoService
         this.archivaRuntimeInfo = archivaRuntimeInfo;
     }
 
-    public ApplicationRuntimeInfo getApplicationRuntimeInfo()
+    public ApplicationRuntimeInfo getApplicationRuntimeInfo( String locale )
     {
         ApplicationRuntimeInfo applicationRuntimeInfo = new ApplicationRuntimeInfo();
         applicationRuntimeInfo.setBuildNumber( this.archivaRuntimeInfo.getBuildNumber() );
         applicationRuntimeInfo.setTimestamp( this.archivaRuntimeInfo.getTimestamp() );
         applicationRuntimeInfo.setVersion( this.archivaRuntimeInfo.getVersion() );
         applicationRuntimeInfo.setBaseUrl( getBaseUrl( httpServletRequest ) );
+
+        SimpleDateFormat sfd = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ssz", new Locale( locale ) );
+        applicationRuntimeInfo.setTimestampStr( sfd.format( new Date( archivaRuntimeInfo.getTimestamp() ) ) );
+
         return applicationRuntimeInfo;
     }
 
index b3055d9a7a79f69d6739f6cbb011d7f3f0d1b651..fd50bed4e8ec89fe525a058dfd49ead586547ee9 100644 (file)
@@ -23,6 +23,7 @@ import org.codehaus.plexus.redback.authorization.RedbackAuthorization;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
@@ -34,11 +35,11 @@ import javax.ws.rs.core.MediaType;
 @Path( "/runtimeInfoService/" )
 public interface RuntimeInfoService
 {
-    @Path( "archivaRuntimeInfo" )
+    @Path( "archivaRuntimeInfo/{locale}" )
     @GET
     @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
     @RedbackAuthorization( noRestriction = true )
-    ApplicationRuntimeInfo getApplicationRuntimeInfo();
+    ApplicationRuntimeInfo getApplicationRuntimeInfo( @PathParam( "locale" ) String locale );
 
 
     @Path( "logMissingI18n" )
index 351bc6182dd92040f6533a6cb184546d46889aa5..15dc6d3ec9a22f77f0896d45e144f14bb1ec085a 100644 (file)
@@ -44,6 +44,7 @@ public class ApplicationRuntimeInfo
 
     private String baseUrl;
 
+    private String timestampStr;
 
     public ApplicationRuntimeInfo()
     {
@@ -136,6 +137,16 @@ public class ApplicationRuntimeInfo
         this.baseUrl = baseUrl;
     }
 
+    public String getTimestampStr()
+    {
+        return timestampStr;
+    }
+
+    public void setTimestampStr( String timestampStr )
+    {
+        this.timestampStr = timestampStr;
+    }
+
     @Override
     public String toString()
     {
@@ -149,6 +160,7 @@ public class ApplicationRuntimeInfo
         sb.append( ", copyrightRange='" ).append( copyrightRange ).append( '\'' );
         sb.append( ", logMissingI18n=" ).append( logMissingI18n );
         sb.append( ", baseUrl='" ).append( baseUrl ).append( '\'' );
+        sb.append( ", timestampStr='" ).append( timestampStr ).append( '\'' );
         sb.append( '}' );
         return sb.toString();
     }
index 675793d4ce746400ffd2f9af54db59ddd565626c..e65c3d8eb9cd2a685cc2b749ab4c1756c84757fa 100644 (file)
 
 
 <script type="text/javascript">
-appendArchivaVersion=function(){
-  return "_archivaVersion="+window.archivaRuntimeInfo.version;
-}
-buildLoadJsUrl=function(srcScript){
-  return srcScript+"?"+appendArchivaVersion();
-}
-$.ajax(
-  {
-    url: "restServices/archivaUiServices/runtimeInfoService/archivaRuntimeInfo",
-    dataType: 'json',
-    success:function(data){
-        window.archivaDevMode=data.applicationRuntimeInfo.devMode;
-        window.archivaJavascriptLog=data.applicationRuntimeInfo.javascriptLog;
-        window.archivaRuntimeInfo=data.applicationRuntimeInfo;
-        require.config({
-            baseUrl: "js/"
-          });
-        // CacheBust is for dev purpose use false in prod env !
-        var options = {
-            AlwaysPreserveOrder:true,
-            BasePath:"js/",
-            explicit_preloading:false,
-            CacheBust:window.archivaDevMode
-        };
-        $LAB.setGlobalDefaults(options);
-        $LAB
-           .script(buildLoadJsUrl("jquery.tmpl.js")).wait()
-           .script(buildLoadJsUrl("archiva/utils.js")).wait()
-           .script("jquery.i18n.properties-1.0.9.js").wait()
-           .script(buildLoadJsUrl("archiva/i18nload.js")).wait()
-           .script("jquery.cookie.1.0.0.js").wait()
-           .script(buildLoadJsUrl("knockout-debug.js")).wait()
-           .script("jquery-ui-1.8.16.custom.min.js").wait()
-           .script(buildLoadJsUrl("jquery.validate.js")).wait()
-           .script("jquery.json-2.3.min.js").wait()
-           .script(buildLoadJsUrl("archiva/main-tmpl.js")).wait()
-           .script(buildLoadJsUrl("archiva/repositories.js")).wait()
-           .script(buildLoadJsUrl("archiva/network-proxies.js")).wait()
-           .script(buildLoadJsUrl("archiva/proxy-connectors.js")).wait()
-           .script(buildLoadJsUrl("redback/operation.js")).wait()
-           .script(buildLoadJsUrl("redback/redback-tmpl.js")).wait()
-           .script(buildLoadJsUrl("bootstrap.js"))
-           .script(buildLoadJsUrl("knockout.simpleGrid.js"))
-           //.script("knockout.mapping-latest.debug.js")
-           .script(buildLoadJsUrl("redback/user.js")).wait()
-           .script(buildLoadJsUrl("redback/users.js")).wait()
-           .script(buildLoadJsUrl("redback/redback.js")).wait()
-           .script(buildLoadJsUrl("redback/register.js")).wait()
-           .script(buildLoadJsUrl("redback/permission.js")).wait()
-           .script(buildLoadJsUrl("redback/resource.js")).wait()
-           .script(buildLoadJsUrl("redback/roles.js")).wait()
-           .script(buildLoadJsUrl("archiva/main.js"));
-    }
-  })
+    $(function() {
+        loadJs();
+    });
 </script>
+
 </body>
 
 </html>
index 0cd557eabc0c7c8878514fc78c521800765613cb..81bc7fc32b3ae085a8b9c2776847b5af43f26f6a 100644 (file)
@@ -11,6 +11,8 @@
 
   <script type="text/javascript" src="js/lab.js"></script>
   <script type="text/javascript" src="js/require.1.0.1.js"></script>
+  <script type="text/javascript" src="js/jquery.i18n.properties-1.0.9.js"></script>
+  <script type="text/javascript" src="js/archiva/startup.js"></script>
   <title>Apache Archiva</title>
 
 </head>
 
 
 <script type="text/javascript">
-appendArchivaVersion=function(){
-  return "_archivaVersion="+window.archivaRuntimeInfo.version;
-}
-buildLoadJsUrl=function(srcScript){
-  return srcScript+"?"+appendArchivaVersion();
-}
-
-$.ajaxSetup({
-  dataType: 'json'
-});
-
-$.ajax(
-  {
-    url: "restServices/archivaUiServices/runtimeInfoService/archivaRuntimeInfo",
-    dataType: 'json',
-    success:function(data){
-        window.archivaDevMode=data.devMode;
-        window.archivaJavascriptLog=data.javascriptLog;
-        window.archivaRuntimeInfo=data;
-        require.config({
-            baseUrl: "js/"
-          });
-        // CacheBust is for dev purpose use false in prod env !
-        var options = {
-            AlwaysPreserveOrder:true,
-            BasePath:"js/",
-            explicit_preloading:false,
-            CacheBust:window.archivaDevMode
-        };
-        $LAB.setGlobalDefaults(options);
-        $LAB
-           .script(buildLoadJsUrl("jquery.tmpl.js")).wait()
-           .script(buildLoadJsUrl("archiva/utils.js")).wait()
-           .script("jquery.i18n.properties-1.0.9.js").wait()
-           .script(buildLoadJsUrl("archiva/i18nload.js")).wait()
-           .script("jquery.cookie.1.0.0.js").wait()
-           .script(buildLoadJsUrl("knockout-debug.js")).wait()
-           .script("jquery-ui-1.8.16.custom.min.js").wait()
-           .script(buildLoadJsUrl("jquery.validate.js")).wait()
-           .script("jquery.json-2.3.min.js").wait()
-           .script(buildLoadJsUrl("archiva/main-tmpl.js")).wait()
-           .script(buildLoadJsUrl("archiva/general-admin.js"))
-           .script(buildLoadJsUrl("archiva/repositories.js")).wait()
-           .script(buildLoadJsUrl("archiva/network-proxies.js")).wait()
-           .script(buildLoadJsUrl("archiva/proxy-connectors.js")).wait()
-           .script(buildLoadJsUrl("redback/operation.js")).wait()
-           .script(buildLoadJsUrl("archiva/repository-groups.js")).wait()
-           .script(buildLoadJsUrl("archiva/search.js")).wait()
-           .script(buildLoadJsUrl("redback/redback-tmpl.js")).wait()
-           .script("chosen.jquery.js" )
-           .script("bootstrap.2.0.1.js" )
-           .script(buildLoadJsUrl("knockout.simpleGrid.js"))
-           .script(buildLoadJsUrl("knockout-sortable.js"))
-           //.script("knockout.mapping-latest.debug.js")
-           .script(buildLoadJsUrl("redback/user.js")).wait()
-           .script(buildLoadJsUrl("redback/users.js")).wait()
-           .script(buildLoadJsUrl("redback/redback.js")).wait()
-           .script(buildLoadJsUrl("redback/register.js")).wait()
-           .script(buildLoadJsUrl("redback/permission.js")).wait()
-           .script(buildLoadJsUrl("redback/resource.js")).wait()
-           .script(buildLoadJsUrl("redback/roles.js")).wait()
-           .script(buildLoadJsUrl("archiva/main.js"));
-    }
-  })
+
+    $(function() {
+        loadJs();
+    });
+
+
 </script>
 </body>
 </html>
index 832c9688812d9571779f340994552715630b5495..1b1ebe1fb2e4f1f47f2baa55b29b94290194e943 100644 (file)
@@ -584,6 +584,10 @@ $(function() {
           mainContent.find("#status_current_time").html(curTime);
         }
     });
+
+    var versionInfo="Build number: "+window.archivaRuntimeInfo.buildNumber+" - Build Timestamp: "+window.archivaRuntimeInfo.timestampStr;
+    mainContent.find("#status_version_info").html(versionInfo);
+
   }
 
 });
\ No newline at end of file
index be0aea86498145af3ac5f29129e38c4fd80c9e59..5ff8c072c6da1b40da91ec2a535834ecf5bd8b31 100644 (file)
 $(function() {
   // load i18n resources from rest call
 
-  usedLang=function(){
-    var browserLang = $.i18n.browserLang();
-    var requestLang = $.urlParam('request_lang');
-    if (requestLang) {
-      browserLang=requestLang;
-    }
-    return browserLang;
-  }
+
 
   var browserLang = usedLang();
   $.log("use browserLang:"+browserLang);
index 5ae75e7300283ef0148b0dd138ac922baf5b36bc..8ef021330b9488d5ebf4ff8a25391724a7326ff8 100644 (file)
@@ -31,18 +31,6 @@ $.log = (function(message) {
   }
 });
 
-/**
- * return value of a param in the url
- * @param name
- */
-$.urlParam = function(name){
-    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
-    if (results) {
-      return results[1] || 0;
-    }
-    return null;
-}
-
 /**
  * display a success message
  * @param text the success text
index 4af3b36cf1450021ac00d4edb32f4e40b86bcf23..71537aa1079376c5f88f9425dac439b2240bc35a 100644 (file)
@@ -198,25 +198,24 @@ public abstract class AbstractActionSupport
 
     public String getArchivaVersion()
     {
-        return archivaRuntimeInfo.getVersion(); //(String) archivaRuntimeProperties.get( "archiva.version" );
+        return archivaRuntimeInfo.getVersion();
     }
 
     public String getArchivaBuildNumber()
     {
-        return archivaRuntimeInfo.getBuildNumber();// (String) archivaRuntimeProperties.get( "archiva.buildNumber" );
+        return archivaRuntimeInfo.getBuildNumber();
     }
 
     public String getArchivaBuildTimestamp()
     {
         return Long.toString(
-            archivaRuntimeInfo.getTimestamp() ); //(String) archivaRuntimeProperties.get( "archiva.timestamp" );
+            archivaRuntimeInfo.getTimestamp() );
     }
 
     public String getArchivaBuildTimestampDateStr()
     {
         SimpleDateFormat sfd = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ssz", getLocale() );
         return sfd.format( new Date( archivaRuntimeInfo.getTimestamp() ) );
-        //new Date( NumberUtils.createLong( (String) archivaRuntimeProperties.get( "archiva.timestamp" ) ) ) );
     }
 
     /**