[jboss-svn-commits] JBL Code SVN: r29527 - in labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads: src/main/java/org/jboss/labs/magnolia/modules/downloads and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 2 08:29:39 EDT 2009
Author: jchocholacek
Date: 2009-10-02 08:29:39 -0400 (Fri, 02 Oct 2009)
New Revision: 29527
Modified:
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/.classpath
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/pom.xml
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/java/org/jboss/labs/magnolia/modules/downloads/DownloadsModule.java
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/META-INF/magnolia/jbossorg-downloads.xml
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/mgnl-bootstrap/jbossorg-downloads/config.modules.jbossorg-downloads.xml
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/mgnl-files/templates/jbossorg-modules/jbossorg-downloads/downloads.jsp
Log:
Added Google Analytics
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/.classpath
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/.classpath 2009-10-01 19:45:22 UTC (rev 29526)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/.classpath 2009-10-02 12:29:39 UTC (rev 29527)
@@ -1,68 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
- <classpathentry kind="output" path="target/classes"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar">
- <attributes>
- <attribute value="jar:file:/home/jchochol/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-javadoc.jar!/" name="javadoc_location"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="var" path="M2_REPO/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7.jar" sourcepath="M2_REPO/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7-sources.jar">
- <attributes>
- <attribute value="jar:file:/home/jchochol/.m2/repository/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7-javadoc.jar!/" name="javadoc_location"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="var" path="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1.jar" sourcepath="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3-sources.jar">
- <attributes>
- <attribute value="jar:file:/home/jchochol/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3-javadoc.jar!/" name="javadoc_location"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-digester/commons-digester/1.6/commons-digester-1.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.3/commons-pool-1.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar" sourcepath="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/servlets/com/cos/05Nov2002/cos-05Nov2002.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.1.1.0/derby-10.1.1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.6/freemarker-2.3.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/geronimo-spec/geronimo-spec-jta/1.0-M1/geronimo-spec-jta-1.0-M1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.0.1/jackrabbit-core-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS.jar" sourcepath="M2_REPO/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS-sources.jar">
- <attributes>
- <attribute value="jar:file:/home/jchochol/.m2/repository/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS-javadoc.jar!/" name="javadoc_location"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar" sourcepath="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0-sources.jar">
- <attributes>
- <attribute value="jar:file:/home/jchochol/.m2/repository/javax/jcr/jcr/1.0/jcr-1.0-javadoc.jar!/" name="javadoc_location"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="var" path="M2_REPO/jdom/jdom/1.0/jdom-1.0.jar" sourcepath="M2_REPO/jdom/jdom/1.0/jdom-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/jstl/1.1.2/jstl-1.1.2.jar" sourcepath="M2_REPO/javax/servlet/jstl/1.1.2/jstl-1.1.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/safehaus/jug/jug/2.0.0/jug-2.0.0-asl.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
- <classpathentry kind="var" path="M2_REPO/lucene/lucene/1.4.3/lucene-1.4.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/info/magnolia/magnolia-core/3.6.3/magnolia-core-3.6.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/info/magnolia/magnolia-module-admininterface/3.6.3/magnolia-module-admininterface-3.6.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar" sourcepath="M2_REPO/javax/mail/mail/1.4/mail-1.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/openwfe/openwfe-applic/1.7.2pre15/openwfe-applic-1.7.2pre15.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/openwfe/openwfe-jcr/1.7.2pre15/openwfe-jcr-1.7.2pre15.jar"/>
- <classpathentry kind="var" path="M2_REPO/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS.jar" sourcepath="M2_REPO/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS-sources.jar">
- <attributes>
- <attribute value="jar:file:/home/jchochol/.m2/repository/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS-javadoc.jar!/" name="javadoc_location"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.0.1/slf4j-log4j12-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/taglibs/standard/1.1.2/standard-1.1.2.jar" sourcepath="M2_REPO/taglibs/standard/1.1.2/standard-1.1.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar"/>
- <classpathentry kind="var" path="M2_REPO/xerces/xmlParserAPIs/2.0.2/xmlParserAPIs-2.0.2.jar"/>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-javadoc.jar!/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7.jar" sourcepath="M2_REPO/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7-sources.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/commons-betwixt/commons-betwixt/0.7/commons-betwixt-0.7-javadoc.jar!/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1.jar" sourcepath="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3-sources.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3-javadoc.jar!/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-digester/commons-digester/1.6/commons-digester-1.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.1.1/commons-fileupload-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.2/commons-io-1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.3/commons-pool-1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar" sourcepath="M2_REPO/concurrent/concurrent/1.3.4/concurrent-1.3.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/servlets/com/cos/05Nov2002/cos-05Nov2002.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.1.1.0/derby-10.1.1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.6/freemarker-2.3.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/geronimo-spec/geronimo-spec-jta/1.0-M1/geronimo-spec-jta-1.0-M1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.0.1/jackrabbit-core-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS.jar" sourcepath="M2_REPO/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS-sources.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS-javadoc.jar!/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0.jar" sourcepath="M2_REPO/javax/jcr/jcr/1.0/jcr-1.0-sources.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/javax/jcr/jcr/1.0/jcr-1.0-javadoc.jar!/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/jdom/jdom/1.0/jdom-1.0.jar" sourcepath="M2_REPO/jdom/jdom/1.0/jdom-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/jstl/1.1.2/jstl-1.1.2.jar" sourcepath="M2_REPO/javax/servlet/jstl/1.1.2/jstl-1.1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/safehaus/jug/jug/2.0.0/jug-2.0.0-asl.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
+ <classpathentry kind="var" path="M2_REPO/lucene/lucene/1.4.3/lucene-1.4.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/info/magnolia/magnolia-core/3.6.3/magnolia-core-3.6.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/info/magnolia/magnolia-module-admininterface/3.6.3/magnolia-module-admininterface-3.6.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar" sourcepath="M2_REPO/javax/mail/mail/1.4/mail-1.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/openwfe/openwfe-applic/1.7.2pre15/openwfe-applic-1.7.2pre15.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/openwfe/openwfe-jcr/1.7.2pre15/openwfe-jcr-1.7.2pre15.jar"/>
+ <classpathentry kind="var" path="M2_REPO/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS.jar" sourcepath="M2_REPO/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS-sources.jar">
+ <attributes>
+ <attribute name="javadoc_location" value="jar:file:/home/jchochol/.m2/repository/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS-javadoc.jar!/"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.0.1/slf4j-log4j12-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/taglibs/standard/1.1.2/standard-1.1.2.jar" sourcepath="M2_REPO/taglibs/standard/1.1.2/standard-1.1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xmlParserAPIs/2.0.2/xmlParserAPIs-2.0.2.jar"/>
+ <classpathentry kind="lib" path="/home/jchochol/Devel/google/gdata/java/lib/gdata-analytics-2.0.jar"/>
+ <classpathentry kind="lib" path="/home/jchochol/Devel/google/gdata/java/lib/gdata-analytics-meta-2.0.jar"/>
+ <classpathentry kind="lib" path="/home/jchochol/Devel/google/gdata/java/lib/gdata-core-1.0.jar"/>
+ <classpathentry kind="output" path="target/classes"/>
</classpath>
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/pom.xml 2009-10-01 19:45:22 UTC (rev 29526)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/pom.xml 2009-10-02 12:29:39 UTC (rev 29527)
@@ -3,7 +3,7 @@
<groupId>org.jboss.labs.magnolia.downloads</groupId>
<artifactId>jbossorg-downloads</artifactId>
<packaging>jar</packaging>
- <version>1.0.2</version>
+ <version>1.0.3-SNAPSHOT</version>
<name>JBoss.org Magnolia module for downloads</name>
<url>http://www.jboss.org</url>
@@ -23,7 +23,33 @@
<groupId>info.magnolia</groupId>
<version>3.6.3</version>
</dependency>
+ <dependency>
+ <groupId>com.google.gdata</groupId>
+ <artifactId>gdata-analytics</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gdata</groupId>
+ <artifactId>gdata-analytics-meta</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.gdata</groupId>
+ <artifactId>gdata-core</artifactId>
+ <version>1.0</version>
+ </dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
<repositories>
<repository>
@@ -33,5 +59,9 @@
<enabled>false</enabled>
</snapshots>
</repository>
+ <repository>
+ <id>labs-repo</id>
+ <url>https://svn.jboss.org/repos/cms/prod/repo/maven2</url>
+ </repository>
</repositories>
</project>
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/java/org/jboss/labs/magnolia/modules/downloads/DownloadsModule.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/java/org/jboss/labs/magnolia/modules/downloads/DownloadsModule.java 2009-10-01 19:45:22 UTC (rev 29526)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/java/org/jboss/labs/magnolia/modules/downloads/DownloadsModule.java 2009-10-02 12:29:39 UTC (rev 29527)
@@ -3,6 +3,9 @@
import info.magnolia.cms.core.*;
import info.magnolia.module.*;
+import java.net.URI;
+import java.util.*;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -16,9 +19,42 @@
*/
public class DownloadsModule implements ModuleLifecycle {
private static final Logger log = LoggerFactory.getLogger(DownloadsModule.class);
+ private static final String DEFAULT_PREFIX = "jbossorg-downloads";
+ private static final long DEFAULT_TIMEOUT = 360; //6 hours
private Content configNode;
+
+ // configuration parameters
+ private String gaLogin;
+ private String gaPassword;
+ private String prefix = DEFAULT_PREFIX;
+ private Long timeout = DEFAULT_TIMEOUT;
+
+ private static DownloadsModule instance;
+ private static Map<String,Long> cache;
+ private static Long cacheTimestamp;
+ private static boolean refreshCache = false;
+
+ public static DownloadsModule getInstance() {
+ return instance;
+ }
+
+ private void initializeCache() {
+ GAUtil gautil = GAUtil.getInstance();
+ cache = gautil.getDownloadCounts(gaLogin, gaPassword, "^/"+prefix+"/");
+ refreshCache = false;
+ cacheTimestamp = System.currentTimeMillis();
+ }
+ public Long getDownloadCount(String page) {
+ synchronized (this) {
+ // check cache timeout
+ if (refreshCache || (cacheTimestamp + (timeout * 60000)) < System.currentTimeMillis())
+ initializeCache();
+ }
+ return cache.get(page);
+ }
+
public Content getConfigNode() {
return configNode;
}
@@ -27,11 +63,43 @@
this.configNode = configNode;
}
- public void start(ModuleLifecycleContext moduleLifecycleContext) {
+ public String getGaLogin() {
+ return gaLogin;
+ }
+
+ public void setGaLogin(String gaLogin) {
+ this.gaLogin = gaLogin;
+ }
+
+ public String getGaPassword() {
+ return gaPassword;
+ }
+
+ public void setGaPassword(String gaPassword) {
+ this.gaPassword = gaPassword;
+ }
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+
+ public Long getTimeout() {
+ return timeout;
+ }
+
+ public void setTimeout(Long timeout) {
+ this.timeout = timeout;
+ }
+
+ public void start(ModuleLifecycleContext moduleLifecycleContext) {
try {
+ instance = this; // workaround to access module configuration;
log.debug("Starting module initialization.");
- // implement this if you need some startup action
-
+ refreshCache = true;
log.debug("Module initialization finished.");
} catch (Exception e) {
log.error("Missing configuration for jbossorg-downloads. Module is not properly initialized");
@@ -40,4 +108,24 @@
public void stop(ModuleLifecycleContext moduleLifecycleContext) {
}
+
+ private String getFilenameFromURI(String uri) {
+ String filename = null;
+ try {
+ URI _uri = new URI(uri);
+ String path = _uri.getPath();
+ filename = path.substring(path.lastIndexOf("/")+1);
+ } catch (Exception ex) {
+ log.debug("Error parsing uri '"+uri+"'.", ex);
+ }
+ return filename;
+ }
+
+ public String getGAfileID(String uri) {
+ String file = getFilenameFromURI(uri);
+ if (file==null || file.length()==0)
+ return null;
+ return "/"+this.prefix+"/"+file;
+ }
+
}
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/META-INF/magnolia/jbossorg-downloads.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/META-INF/magnolia/jbossorg-downloads.xml 2009-10-01 19:45:22 UTC (rev 29526)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/META-INF/magnolia/jbossorg-downloads.xml 2009-10-02 12:29:39 UTC (rev 29527)
@@ -5,5 +5,5 @@
<displayName>JBoss.org Magnolia module : jbossorg-downloads</displayName>
<class>org.jboss.labs.magnolia.modules.downloads.DownloadsModule</class>
<versionHandler>org.jboss.labs.magnolia.modules.downloads.DownloadsVersionHandler</versionHandler>
- <version>1.0.2</version>
+ <version>1.0.3-SNAPSHOT</version>
</module>
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/mgnl-bootstrap/jbossorg-downloads/config.modules.jbossorg-downloads.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/mgnl-bootstrap/jbossorg-downloads/config.modules.jbossorg-downloads.xml 2009-10-01 19:45:22 UTC (rev 29526)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/mgnl-bootstrap/jbossorg-downloads/config.modules.jbossorg-downloads.xml 2009-10-02 12:29:39 UTC (rev 29527)
@@ -13,6 +13,28 @@
<sv:property sv:name="version" sv:type="String">
<sv:value>1.0.0</sv:value>
</sv:property>
+
+ <sv:node sv:name="config">
+ <sv:property sv:name="jcr:primaryType" sv:type="Name">
+ <sv:value>mgnl:content</sv:value>
+ </sv:property>
+ <sv:property sv:name="jcr:mixinTypes" sv:type="Name">
+ <sv:value>mix:lockable</sv:value>
+ </sv:property>
+ <sv:property sv:name="gaLogin" sv:type="String">
+ <sv:value>type_your_GA_username_here</sv:value>
+ </sv:property>
+ <sv:property sv:name="gaPassword" sv:type="String">
+ <sv:value>type_your_password_here</sv:value>
+ </sv:property>
+ <sv:property sv:name="prefix" sv:type="String">
+ <sv:value>jbossorg-downloads</sv:value>
+ </sv:property>
+ <sv:property sv:name="timeout" sv:type="Long">
+ <sv:value>360</sv:value>
+ </sv:property>
+ </sv:node>
+
<sv:node sv:name="dialogs">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>mgnl:content</sv:value>
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/mgnl-files/templates/jbossorg-modules/jbossorg-downloads/downloads.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/mgnl-files/templates/jbossorg-modules/jbossorg-downloads/downloads.jsp 2009-10-01 19:45:22 UTC (rev 29526)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-downloads/src/main/resources/mgnl-files/templates/jbossorg-modules/jbossorg-downloads/downloads.jsp 2009-10-02 12:29:39 UTC (rev 29527)
@@ -14,6 +14,7 @@
<jsp:directive.page import="info.magnolia.cms.core.ItemType" />
<jsp:directive.page import="info.magnolia.cms.core.HierarchyManager" />
<jsp:directive.page import="info.magnolia.cms.link.LinkHelper"/>
+ <jsp:directive.page import="org.jboss.labs.magnolia.modules.downloads.*"/>
<!-- blabla -->
@@ -29,6 +30,8 @@
if (showReleaseDate) pageContext.setAttribute("showReleaseDate",true);
if (showLicense) pageContext.setAttribute("showLicense",true);
+ DownloadsModule module = DownloadsModule.getInstance();
+ pageContext.setAttribute("module",module);
]]>
</jsp:scriptlet>
<h3>Downloads</h3>
@@ -116,6 +119,14 @@
if (showSize) pageContext.setAttribute("SIZEdata", SIZEdata);
if (showReleaseDate) pageContext.setAttribute("DATEdata", DATEdata);
if (showLicense) pageContext.setAttribute("LICENSEdata", LICENSEdata);
+
+ String gaFileID = module.getGAfileID(URLdata);
+ Long downloadCount = null;
+ if (gaFileID!=null)
+ downloadCount = module.getDownloadCount(gaFileID);
+ pageContext.setAttribute("DownloadCount", downloadCount!=null ? downloadCount : "N/A");
+ pageContext.setAttribute("gaFileID", gaFileID==null? "null" : "'"+gaFileID+"'");
+
]]>
</jsp:scriptlet>
<tr class="${oddrow ? 'oddRow' : evenRow }">
@@ -124,7 +135,11 @@
<c:if test="${showSize}"><td>${SIZEdata} MB</td></c:if>
<c:if test="${showReleaseDate}"><td>${DATEdata}</td></c:if>
<c:if test="${showLicense}"><td>${LICENSEdata}</td></c:if>
- <td><a class="td-download" onclick="turnOnModal(this); return false;" href="${URLdata}">${TEXTdata}</a></td>
+ <td><a class="td-download" onclick="turnOnModal(this,${gaFileID}); return false;" href="${URLdata}">${TEXTdata}</a>
+ <cms:adminOnly>
+ <br /><small>Downloads<sup>*</sup>: <b>${DownloadCount}</b></small>
+ </cms:adminOnly>
+ </td>
</tr>
<jsp:scriptlet>
}
@@ -133,5 +148,8 @@
</tbody>
</table>
+ <cms:adminOnly>
+ <div><small><sup>*</sup> - downloads counter is updated once a day</small></div>
+ </cms:adminOnly>
</jsp:root>
More information about the jboss-svn-commits
mailing list