[jboss-svn-commits] JBL Code SVN: r14146 - in labs/jbosslabs/trunk/portal-extensions: binaries/maven-repo-addons/sitemesh and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Aug 10 07:31:44 EDT 2007
Author: wrzep
Date: 2007-08-10 07:31:44 -0400 (Fri, 10 Aug 2007)
New Revision: 14146
Added:
labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/sitemesh/
labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/sitemesh/jars/
labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/sitemesh/jars/sitemesh-2.3.jar
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/CountersServiceInterface.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDB.java
labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/counters/CountersServiceBean.java
labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/project.xml
labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/DownloadingFilter.java
Log:
JBLAB-882
Added: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/sitemesh/jars/sitemesh-2.3.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/sitemesh/jars/sitemesh-2.3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/CountersServiceInterface.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/CountersServiceInterface.java 2007-08-10 11:24:53 UTC (rev 14145)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/CountersServiceInterface.java 2007-08-10 11:31:44 UTC (rev 14146)
@@ -40,5 +40,6 @@
public void updateCounters(Map<String,Counter> downloadCounters);
public void incrementCounter (String path);
-
+
+ public void addCounter(Counter newCounter, String path);
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDB.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDB.java 2007-08-10 11:24:53 UTC (rev 14145)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDB.java 2007-08-10 11:31:44 UTC (rev 14146)
@@ -34,6 +34,7 @@
import javax.naming.NamingException;
+import org.jboss.forge.common.Constants;
import org.jboss.shotoku.ContentManager;
@@ -108,6 +109,11 @@
}
}
+ public synchronized void increment(final String link) {
+
+ increment(link, null);
+ }
+
/**
* Method simply just increments the counter value for
* given in parameter <link>.
@@ -115,50 +121,59 @@
* @param link
* Counter value for this <code>link</code> will be incremented.
*/
- public synchronized void increment(final String link)
- {
-
- System.out.println("### increment " + downloadCounters + "\n link: " + link + " get: " + downloadCounters.get(link));
-
- if (downloadCounters != null && downloadCounters.get(link) != null)
- {
-
- // Status change to inform about counters modification.
- downloadCounters.get(link).increment();
- try
- {
- CountersServiceInterface countersService =
- (CountersServiceInterface) ctx.lookup(CountersServiceInterface.jndiName);
- countersService.incrementCounter(link);
+ public synchronized void increment(final String link, final String projectId) {
- // MDB CODE COMMENTED OUT BECAUSE OF MDB ISSUES
- // This code sends message to counters' MDB with message
- // containing filepath of which counter has to be increased
- //QueueSession sess = null;
- //Queue queue = null;
- //queue = (Queue) ctx.lookup("queue/jblab_counters");
- //QueueConnectionFactory factory =
- // (QueueConnectionFactory) ctx.lookup("java:/ConnectionFactory");
- //sess =factory.createQueueConnection().createQueueSession(false,
- // QueueSession.AUTO_ACKNOWLEDGE);
- //if (sess != null)
- //{
- // TextMessage msg = sess.createTextMessage(link);
- // sess.createSender(queue).send(msg);
- //}
- }
- catch (NamingException e)
- {
- getLogger().error("CountersService was not found while incrementing counter.",e);
- }
- //catch (JMSException e)
- //{
- // getLogger().error("Problem while using JMS to send increment command to MDB.",e);
- //}
- catch (Exception e) {
- getLogger().error("CountersService problem while incrementing counter.",e);
- }
- }
+ if (downloadCounters == null) {
+ return;
+ }
+
+ try {
+ CountersServiceInterface countersService =
+ (CountersServiceInterface) ctx.lookup(CountersServiceInterface.jndiName);
+ countersService.incrementCounter(link);
+
+ if (!downloadCounters.containsKey(link)) { // Item not counted yet
+
+ Counter newCounter = new Counter(1, projectId, false,
+ Sorting.RANDOM);
+ downloadCounters.put(link, newCounter);
+
+ countersService.addCounter(newCounter, link);
+
+ } else {
+
+ // Status change to inform about counters modification.
+ downloadCounters.get(link).increment();
+ }
+
+ } catch (NamingException e) {
+ getLogger()
+ .error(
+ "CountersService was not found while incrementing a counter.",
+ e);
+ } catch (Exception e) {
+ getLogger()
+ .error(
+ "CountersService problem while incrementing/creating a counter.",
+ e);
+ }
+
}
-
}
+
+
+ // MDB CODE COMMENTED OUT BECAUSE OF MDB ISSUES
+ // This code sends message to counters' MDB with message
+ // containing filepath of which counter has to be increased
+ //QueueSession sess = null;
+ //Queue queue = null;
+ //queue = (Queue) ctx.lookup("queue/jblab_counters");
+ //QueueConnectionFactory factory =
+ // (QueueConnectionFactory) ctx.lookup("java:/ConnectionFactory");
+ //sess =factory.createQueueConnection().createQueueSession(false,
+ // QueueSession.AUTO_ACKNOWLEDGE);
+ //if (sess != null)
+ //{
+ // TextMessage msg = sess.createTextMessage(link);
+ // sess.createSender(queue).send(msg);
+ //}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/counters/CountersServiceBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/counters/CountersServiceBean.java 2007-08-10 11:24:53 UTC (rev 14145)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/counters/CountersServiceBean.java 2007-08-10 11:31:44 UTC (rev 14146)
@@ -106,6 +106,12 @@
}
}
+ public void addCounter(Counter counter, String path) {
+
+ CountersEntity ce = new CountersEntity(path,counter.getValue(),counter.getProjectId(),counter.getVisible(),counter.getSorting().name());
+ em.persist(ce);
+ }
+
/**
* Method increments counter for specified in parameter file path.
* @param path
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/project.xml 2007-08-10 11:24:53 UTC (rev 14145)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/project.xml 2007-08-10 11:31:44 UTC (rev 14146)
@@ -61,6 +61,13 @@
<version>3.2.3</version>
<jar>jbosssx.jar</jar>
</dependency>
+
+ <dependency>
+ <groupId>sitemesh</groupId>
+ <artifactId>sitemesh</artifactId>
+ <version>2.3</version>
+ </dependency>
+
</dependencies>
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/DownloadingFilter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/DownloadingFilter.java 2007-08-10 11:24:53 UTC (rev 14145)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/DownloadingFilter.java 2007-08-10 11:31:44 UTC (rev 14146)
@@ -34,8 +34,11 @@
import javax.servlet.http.HttpServletResponse;
import org.jboss.forge.common.Constants;
+import org.jboss.forge.common.ForgeHelper;
import org.jboss.forge.common.projects.DownloadCounterTools;
+import org.jboss.forge.common.projects.DownloadCountersDB;
import org.jboss.forge.common.projects.DownloadCountersDescriptor;
+import org.jboss.forge.common.projects.ProjectsHelper;
/**
* @author Pawel Wrzeszcz (pwrzeszcz [at] jboss . org)
@@ -60,8 +63,9 @@
(link != null) && (link.length() > 0)) {
String portalName = Constants.LABS_PORTAL;
+ String projectId = resolveProjectId(link);
- count(portalName, link);
+ count(link, projectId, portalName);
((HttpServletResponse) response).sendRedirect(link);
return;
@@ -72,19 +76,27 @@
}
- private static void count(String portalName, String url) {
+ private static String resolveProjectId(String link) {
+
+ return link.split(File.separator)[0];
+ }
+
+ private static void count(String url, String projectId, String portalName) {
+
// Trying to get DownloadCountersDescriptor object from the
// cache
- DownloadCountersDescriptor downloadCounters =
- DownloadCounterTools.getDesc(portalName);
+ DownloadCountersDB downloadCounters =
+ (DownloadCountersDB) DownloadCounterTools.getDesc(portalName);
+
+
// Sending the request link to the DownloadCounter to
// increment
// counter for this link if it's one of the tracked links.
if (downloadCounters != null) {
- downloadCounters.increment(url);
+ downloadCounters.increment(url, projectId);
}
}
More information about the jboss-svn-commits
mailing list