mirror of https://github.com/apache/archiva.git
add a service disabled in production env to log missing i18n
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1238042 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
db106d08d7
commit
74af64e0ba
|
@ -36,6 +36,7 @@
|
||||||
<tomcatRunPath>/archiva</tomcatRunPath>
|
<tomcatRunPath>/archiva</tomcatRunPath>
|
||||||
<archiva.devMode>true</archiva.devMode>
|
<archiva.devMode>true</archiva.devMode>
|
||||||
<archiva.javascriptLog>true</archiva.javascriptLog>
|
<archiva.javascriptLog>true</archiva.javascriptLog>
|
||||||
|
<archiva.logMissingI18n>true</archiva.logMissingI18n>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@ -544,6 +545,7 @@
|
||||||
<archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
|
<archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
|
||||||
<archiva.devMode>${archiva.devMode}</archiva.devMode>
|
<archiva.devMode>${archiva.devMode}</archiva.devMode>
|
||||||
<archiva.javascriptLog>${archiva.javascriptLog}</archiva.javascriptLog>
|
<archiva.javascriptLog>${archiva.javascriptLog}</archiva.javascriptLog>
|
||||||
|
<archiva.logMissingI18n>${archiva.logMissingI18n}</archiva.logMissingI18n>
|
||||||
</systemProperties>
|
</systemProperties>
|
||||||
</configuration>
|
</configuration>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@ -578,6 +580,7 @@
|
||||||
<archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
|
<archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
|
||||||
<archiva.devMode>${archiva.devMode}</archiva.devMode>
|
<archiva.devMode>${archiva.devMode}</archiva.devMode>
|
||||||
<archiva.javascriptLog>${archiva.javascriptLog}</archiva.javascriptLog>
|
<archiva.javascriptLog>${archiva.javascriptLog}</archiva.javascriptLog>
|
||||||
|
<archiva.logMissingI18n>${archiva.logMissingI18n}</archiva.logMissingI18n>
|
||||||
</systemProperties>
|
</systemProperties>
|
||||||
</configuration>
|
</configuration>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@ -610,6 +613,7 @@
|
||||||
<archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
|
<archiva.user.configFileName>${project.build.directory}/appserver-base/conf/archiva.xml</archiva.user.configFileName>
|
||||||
<archiva.devMode>${archiva.devMode}</archiva.devMode>
|
<archiva.devMode>${archiva.devMode}</archiva.devMode>
|
||||||
<archiva.javascriptLog>${archiva.javascriptLog}</archiva.javascriptLog>
|
<archiva.javascriptLog>${archiva.javascriptLog}</archiva.javascriptLog>
|
||||||
|
<archiva.logMissingI18n>${archiva.logMissingI18n}</archiva.logMissingI18n>
|
||||||
</systemProperties>
|
</systemProperties>
|
||||||
</configuration>
|
</configuration>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
|
@ -20,6 +20,8 @@ package org.apache.archiva.webapp.ui.services.api;
|
||||||
|
|
||||||
import org.apache.archiva.web.runtime.ArchivaRuntimeInfo;
|
import org.apache.archiva.web.runtime.ArchivaRuntimeInfo;
|
||||||
import org.apache.archiva.webapp.ui.services.model.ApplicationRuntimeInfo;
|
import org.apache.archiva.webapp.ui.services.model.ApplicationRuntimeInfo;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -32,6 +34,8 @@ public class DefaultRuntimeInfoService
|
||||||
implements RuntimeInfoService
|
implements RuntimeInfoService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private Logger i18nLogger = LoggerFactory.getLogger( "archivaMissingi18n.logger" );
|
||||||
|
|
||||||
private ArchivaRuntimeInfo archivaRuntimeInfo;
|
private ArchivaRuntimeInfo archivaRuntimeInfo;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
|
@ -49,4 +53,10 @@ public class DefaultRuntimeInfoService
|
||||||
applicationRuntimeInfo.setVersion( this.archivaRuntimeInfo.getVersion() );
|
applicationRuntimeInfo.setVersion( this.archivaRuntimeInfo.getVersion() );
|
||||||
return applicationRuntimeInfo;
|
return applicationRuntimeInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean logMissingI18n( String key )
|
||||||
|
{
|
||||||
|
i18nLogger.info( "missing i18n key : '{}'", key );
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@ import org.codehaus.plexus.redback.authorization.RedbackAuthorization;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
|
import javax.ws.rs.QueryParam;
|
||||||
import javax.ws.rs.core.MediaType;
|
import javax.ws.rs.core.MediaType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,4 +39,11 @@ public interface RuntimeInfoService
|
||||||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
|
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
|
||||||
@RedbackAuthorization( noRestriction = true )
|
@RedbackAuthorization( noRestriction = true )
|
||||||
ApplicationRuntimeInfo getApplicationRuntimeInfo();
|
ApplicationRuntimeInfo getApplicationRuntimeInfo();
|
||||||
|
|
||||||
|
|
||||||
|
@Path( "logMissingI18n" )
|
||||||
|
@GET
|
||||||
|
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
|
||||||
|
@RedbackAuthorization( noRestriction = true )
|
||||||
|
Boolean logMissingI18n( @QueryParam( "key" ) String key );
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,8 @@ public class ApplicationRuntimeInfo
|
||||||
|
|
||||||
private String copyrightRange;
|
private String copyrightRange;
|
||||||
|
|
||||||
|
private boolean logMissingI18n;
|
||||||
|
|
||||||
|
|
||||||
public ApplicationRuntimeInfo()
|
public ApplicationRuntimeInfo()
|
||||||
{
|
{
|
||||||
|
@ -47,6 +49,8 @@ public class ApplicationRuntimeInfo
|
||||||
|
|
||||||
this.javascriptLog = Boolean.getBoolean( "archiva.javascriptLog" );
|
this.javascriptLog = Boolean.getBoolean( "archiva.javascriptLog" );
|
||||||
|
|
||||||
|
this.logMissingI18n = Boolean.getBoolean( "archiva.logMissingI18n" );
|
||||||
|
|
||||||
this.copyrightRange = "2005 - " + Calendar.getInstance().get( Calendar.YEAR );
|
this.copyrightRange = "2005 - " + Calendar.getInstance().get( Calendar.YEAR );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,6 +114,16 @@ public class ApplicationRuntimeInfo
|
||||||
this.copyrightRange = copyrightRange;
|
this.copyrightRange = copyrightRange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isLogMissingI18n()
|
||||||
|
{
|
||||||
|
return logMissingI18n;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogMissingI18n( boolean logMissingI18n )
|
||||||
|
{
|
||||||
|
this.logMissingI18n = logMissingI18n;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
|
@ -121,6 +135,7 @@ public class ApplicationRuntimeInfo
|
||||||
sb.append( ", buildNumber='" ).append( buildNumber ).append( '\'' );
|
sb.append( ", buildNumber='" ).append( buildNumber ).append( '\'' );
|
||||||
sb.append( ", timestamp=" ).append( timestamp );
|
sb.append( ", timestamp=" ).append( timestamp );
|
||||||
sb.append( ", copyrightRange='" ).append( copyrightRange ).append( '\'' );
|
sb.append( ", copyrightRange='" ).append( copyrightRange ).append( '\'' );
|
||||||
|
sb.append( ", logMissingI18n=" ).append( logMissingI18n );
|
||||||
sb.append( '}' );
|
sb.append( '}' );
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ $.i18n.properties = function(settings) {
|
||||||
language: '',
|
language: '',
|
||||||
path: '',
|
path: '',
|
||||||
mode: 'vars',
|
mode: 'vars',
|
||||||
cache: false,
|
cache: false,
|
||||||
encoding: 'UTF-8',
|
encoding: 'UTF-8',
|
||||||
callback: null
|
callback: null
|
||||||
};
|
};
|
||||||
|
@ -88,8 +88,12 @@ $.i18n.properties = function(settings) {
|
||||||
*/
|
*/
|
||||||
$.i18n.prop = function(key /* Add parameters as function arguments as necessary */) {
|
$.i18n.prop = function(key /* Add parameters as function arguments as necessary */) {
|
||||||
var value = $.i18n.map[key];
|
var value = $.i18n.map[key];
|
||||||
if (value == null)
|
if (value == null) {
|
||||||
|
if (window.archivaRuntimeInfo.logMissingI18n){
|
||||||
|
$.get('restServices/archivaUiServices/runtimeInfoService/logMissingI18n?key='+encodeURIComponent(key));
|
||||||
|
}
|
||||||
return '[' + key + ']';
|
return '[' + key + ']';
|
||||||
|
}
|
||||||
|
|
||||||
// if(arguments.length < 2) // No arguments.
|
// if(arguments.length < 2) // No arguments.
|
||||||
// //if(key == 'spv.lbl.modified') {alert(value);}
|
// //if(key == 'spv.lbl.modified') {alert(value);}
|
||||||
|
|
Loading…
Reference in New Issue