From: Olivier Lamy Date: Mon, 9 Jan 2012 12:44:45 +0000 (+0000) Subject: add a bean with archiva runtime information X-Git-Tag: archiva-1.4-M3~1621 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fcf76e1730e2b4228009797dee0edcdae87a5d0f;p=archiva.git add a bean with archiva runtime information git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1229120 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/archiva-modules/archiva-web/archiva-webapp-common/pom.xml b/archiva-modules/archiva-web/archiva-webapp-common/pom.xml index 8ca867cb3..7f19d81f2 100644 --- a/archiva-modules/archiva-web/archiva-webapp-common/pom.xml +++ b/archiva-modules/archiva-web/archiva-webapp-common/pom.xml @@ -142,6 +142,15 @@ + + + src/main/resources + + + src/main/filtered-resources + true + + org.apache.felix diff --git a/archiva-modules/archiva-web/archiva-webapp-common/src/main/java/org/apache/archiva/web/runtime/ArchivaRuntimeInfo.java b/archiva-modules/archiva-web/archiva-webapp-common/src/main/java/org/apache/archiva/web/runtime/ArchivaRuntimeInfo.java new file mode 100644 index 000000000..23f013ba0 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp-common/src/main/java/org/apache/archiva/web/runtime/ArchivaRuntimeInfo.java @@ -0,0 +1,92 @@ +package org.apache.archiva.web.runtime; +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, 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. + */ + +import org.apache.commons.lang.math.NumberUtils; +import org.springframework.stereotype.Service; + +import javax.inject.Inject; +import javax.inject.Named; +import java.util.Properties; + +/** + * @author Olivier Lamy + * @since 1.4-M3 + */ +@Service( "archivaRuntimeInfo" ) +public class ArchivaRuntimeInfo +{ + + private String version; + + private String buildNumber; + + private long timestamp; + + + @Inject + public ArchivaRuntimeInfo( @Named( value = "archivaRuntimeProperties" ) Properties archivaRuntimeProperties ) + { + this.version = (String) archivaRuntimeProperties.get( "archiva.version" ); + this.buildNumber = (String) archivaRuntimeProperties.get( "archiva.buildNumber" ); + this.timestamp = NumberUtils.createLong( (String) archivaRuntimeProperties.get( "archiva.timestamp" ) ); + } + + public String getVersion() + { + return version; + } + + public void setVersion( String version ) + { + this.version = version; + } + + public String getBuildNumber() + { + return buildNumber; + } + + public void setBuildNumber( String buildNumber ) + { + this.buildNumber = buildNumber; + } + + public long getTimestamp() + { + return timestamp; + } + + public void setTimestamp( long timestamp ) + { + this.timestamp = timestamp; + } + + @Override + public String toString() + { + final StringBuilder sb = new StringBuilder(); + sb.append( "ArchivaRuntimeInfo" ); + sb.append( "{version='" ).append( version ).append( '\'' ); + sb.append( ", buildNumber='" ).append( buildNumber ).append( '\'' ); + sb.append( ", timestamp=" ).append( timestamp ); + sb.append( '}' ); + return sb.toString(); + } +} diff --git a/archiva-modules/archiva-web/archiva-webapp-common/src/main/resources/META-INF/spring-context.xml b/archiva-modules/archiva-web/archiva-webapp-common/src/main/resources/META-INF/spring-context.xml index c44c99a08..261b88532 100755 --- a/archiva-modules/archiva-web/archiva-webapp-common/src/main/resources/META-INF/spring-context.xml +++ b/archiva-modules/archiva-web/archiva-webapp-common/src/main/resources/META-INF/spring-context.xml @@ -31,6 +31,8 @@ default-lazy-init="true"> - + + + \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/AbstractActionSupport.java b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/AbstractActionSupport.java index 814f7ff1e..b9ebec9b0 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/AbstractActionSupport.java +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/action/AbstractActionSupport.java @@ -27,8 +27,8 @@ import org.apache.archiva.audit.AuditListener; import org.apache.archiva.audit.Auditable; import org.apache.archiva.metadata.repository.RepositorySessionFactory; import org.apache.archiva.security.ArchivaXworkUser; +import org.apache.archiva.web.runtime.ArchivaRuntimeInfo; import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.math.NumberUtils; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.SessionAware; import org.codehaus.plexus.redback.users.User; @@ -47,7 +47,6 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Properties; /** * LogEnabled and SessionAware ActionSupport @@ -73,9 +72,12 @@ public abstract class AbstractActionSupport private String principal; + //@Inject + //@Named( value = "archivaRuntimeProperties" ) + //private Properties archivaRuntimeProperties; + @Inject - @Named( value = "archivaRuntimeProperties" ) - private Properties archivaRuntimeProperties; + private ArchivaRuntimeInfo archivaRuntimeInfo; @PostConstruct public void initialize() @@ -200,24 +202,25 @@ public abstract class AbstractActionSupport public String getArchivaVersion() { - return (String) archivaRuntimeProperties.get( "archiva.version" ); + return archivaRuntimeInfo.getVersion(); //(String) archivaRuntimeProperties.get( "archiva.version" ); } public String getArchivaBuildNumber() { - return (String) archivaRuntimeProperties.get( "archiva.buildNumber" ); + return archivaRuntimeInfo.getBuildNumber();// (String) archivaRuntimeProperties.get( "archiva.buildNumber" ); } public String getArchivaBuildTimestamp() { - return (String) archivaRuntimeProperties.get( "archiva.timestamp" ); + return Long.toString( + archivaRuntimeInfo.getTimestamp() ); //(String) archivaRuntimeProperties.get( "archiva.timestamp" ); } public String getArchivaBuildTimestampDateStr() { SimpleDateFormat sfd = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ssz", getLocale() ); - return sfd.format( - new Date( NumberUtils.createLong( (String) archivaRuntimeProperties.get( "archiva.timestamp" ) ) ) ); + return sfd.format( new Date( archivaRuntimeInfo.getTimestamp() ) ); + //new Date( NumberUtils.createLong( (String) archivaRuntimeProperties.get( "archiva.timestamp" ) ) ) ); } /** diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml index fb14d761a..d79ebcb5e 100755 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml @@ -33,8 +33,6 @@ - -