diff options
author | Olivier Lamy <olamy@apache.org> | 2012-01-09 12:44:45 +0000 |
---|---|---|
committer | Olivier Lamy <olamy@apache.org> | 2012-01-09 12:44:45 +0000 |
commit | fcf76e1730e2b4228009797dee0edcdae87a5d0f (patch) | |
tree | e828fee01cb4b600b7d3bd4a76c883e679d27fa0 | |
parent | bb2c903c416f09a3d7df86bf6358e851133635e9 (diff) | |
download | archiva-fcf76e1730e2b4228009797dee0edcdae87a5d0f.tar.gz archiva-fcf76e1730e2b4228009797dee0edcdae87a5d0f.zip |
add a bean with archiva runtime information
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1229120 13f79535-47bb-0310-9956-ffa450edef68
5 files changed, 116 insertions, 12 deletions
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 @@ </dependencies>
<build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ <resource>
+ <directory>src/main/filtered-resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
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"> <context:annotation-config/> - <context:component-scan base-package="org.apache.archiva.web.spring, org.apache.archiva.web.startup"/> + <context:component-scan base-package="org.apache.archiva.web.spring, org.apache.archiva.web.startup, org.apache.archiva.web.runtime"/> + + <util:properties id="archivaRuntimeProperties" location="classpath:application.properties" /> </beans>
\ 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 @@ <context:annotation-config/> <context:component-scan base-package="org.apache.archiva.web"/> - <util:properties id="archivaRuntimeProperties" location="classpath:application.properties" /> - <bean id="jcr-repository" class="org.apache.jackrabbit.core.RepositoryImpl" destroy-method="shutdown" lazy-init="true"> <constructor-arg ref="jcr-config"/> </bean> |