[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