[jboss-svn-commits] JBL Code SVN: r9200 - in labs/jbosslabs/trunk/portal-extensions-newprj: forge-common/src/java/org/jboss/forge/common/projects and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 31 12:37:29 EST 2007


Author: adamw
Date: 2007-01-31 12:37:29 -0500 (Wed, 31 Jan 2007)
New Revision: 9200

Added:
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projectpages/
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projectpages/ProjectPagesService.java
Removed:
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-services/
Modified:
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projects/ProjectsService.java
   labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projects/ProjectsServiceImpl.java
Log:
Labs EJB3 components

Modified: labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java	2007-01-31 16:18:46 UTC (rev 9199)
+++ labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java	2007-01-31 17:37:29 UTC (rev 9200)
@@ -116,6 +116,8 @@
 
     private String portalName;
 
+    private long stamp;
+
     /**
      * Parses project xml descriptors and stores information about the projects.
      *
@@ -125,6 +127,8 @@
      *            Name of the portal to which projects belongs to.
      */
     public ProjectsDescriptor(XmlInputFactory isf, String portalName) {
+        stamp = System.currentTimeMillis();
+
         this.portalName = portalName;
         projects = new LinkedHashMap<String, ProjectDescriptor>();
         newProjects = new LinkedHashMap<String, Project>();
@@ -215,31 +219,15 @@
         return phs;
     }
 
-    /*private static PropertiesHandler getPagesPropertiesHandler() {
-         PropertiesHandlerStack phs = new PropertiesHandlerStack();
-         phs.addHandler(new PropertiesHandlerDefault());
-         phs.addHandler(new PropertiesHandler() {
-             public void fillContext(PropertiesMap properties,
-                     DelegateContext context, PermissionsChecker pc) {
-                 if (properties.get("id").getFirstValue().equals("wiki")) {
-                     context.next("useForgeWiki");
-                 } else
-                     context.next("normalPage");
-             }
+    /**
+     * Gets a stamp of this projects descriptor. Should be different between two
+     * versions of projects descriptor.
+     * @return A unique (for this version) stamp of projects descriptor.
+     */
+    public long getStamp() {
+        return stamp;
+    }
 
-             public void processNode(ElementDescriptor thisElement, Node node) {
-
-             }
-
-             public void collect(PropertiesMap properties, Object data,
-                     PermissionsChecker pc) {
-
-             }
-         });
-
-         return phs;
-     }*/
-
     private void addOutsideProperty(XmlInputFactory isf,
                                     DomToXmlTransformer xht, OutsidePropertiesMap opm, Object[] data)
             throws SAXException, IOException, XmlNotFoundException {

Modified: labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java	2007-01-31 16:18:46 UTC (rev 9199)
+++ labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java	2007-01-31 17:37:29 UTC (rev 9200)
@@ -90,7 +90,6 @@
 	protected final static String PAGES_DESC = "pages.xml";
 	protected final static String JEMS_DESC = "jems.xml";
 	protected final static String CATEGORIES_DESC = "categories.xml";
-	protected final static String SERVICES_DESC = "services.xml";
 	protected final static String DOWNLOADS_DESC = "downloads.xml";
 	protected final static String DOWNLOADCOUNTER_DESC = "counter.xml";
 	protected final static String DOWNLOADCOUNTERMAIN_DESC = "counters.xml";

Added: labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projectpages/ProjectPagesService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projectpages/ProjectPagesService.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projectpages/ProjectPagesService.java	2007-01-31 17:37:29 UTC (rev 9200)
@@ -0,0 +1,8 @@
+package org.jboss.forge.common.soa.projectpages;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public interface ProjectPagesService {
+    public static final String PROJECT_PAGES_SERVICE = "labs:service=projectpages";
+}

Modified: labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projects/ProjectsService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projects/ProjectsService.java	2007-01-31 16:18:46 UTC (rev 9199)
+++ labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projects/ProjectsService.java	2007-01-31 17:37:29 UTC (rev 9200)
@@ -39,7 +39,8 @@
 import org.jboss.forge.common.projects.project.SupportService;
 
 /**
- * @author <a href="ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
+ * @author <a href="mailto:ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
  */
 public interface ProjectsService {
 
@@ -78,8 +79,15 @@
     public long getOverallDownloadsForProject(String projectId, String portalName);
 
 	public boolean getPackagedForDownload(String projectId);
-    
+
     /**
+     * Gets a unique stamp of the current version of projects; this should change
+     * on a change in descriptor files.
+     * @return A stamp of the current version of projects configuration.
+     */
+    public long getStamp();
+
+    /**
      * This method will overwrite existing project definition in xml file
      * with a new one generated from data contained in given Project object.
      * Be aware, data is NOT merged but overwritten!

Modified: labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projects/ProjectsServiceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projects/ProjectsServiceImpl.java	2007-01-31 16:18:46 UTC (rev 9199)
+++ labs/jbosslabs/trunk/portal-extensions-newprj/forge-common/src/java/org/jboss/forge/common/soa/projects/ProjectsServiceImpl.java	2007-01-31 17:37:29 UTC (rev 9200)
@@ -35,6 +35,7 @@
 
 import org.jboss.annotation.ejb.Management;
 import org.jboss.annotation.ejb.Service;
+import org.jboss.annotation.ejb.Depends;
 import org.jboss.forge.common.projects.DownloadCounterTools;
 import org.jboss.forge.common.projects.Projects;
 import org.jboss.forge.common.projects.ProjectsHelper;
@@ -53,16 +54,18 @@
 import org.jboss.logging.Logger;
 import org.jboss.shotoku.ContentManager;
 import org.jboss.shotoku.Node;
+import org.jboss.shotoku.tools.Constants;
 import org.jboss.shotoku.aop.Inject;
 
 
 /**
  * @author <a href="mailto:ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
  */
-
 @Service(objectName = ProjectsService.PROJECTS_SERVICE)
 @Management(ProjectsService.class)
 @Remote(ProjectsService.class)
+ at Depends(Constants.SHOTOKU_SERVICE_NAME)
 public class ProjectsServiceImpl implements ProjectsService {
 
     private static final Logger log = Logger.getLogger(ProjectsService.class);
@@ -178,10 +181,13 @@
     
     public boolean getPackagedForDownload(String projectId) {
     	Project project = getProjectByName(projectId);
-        if (project==null) return false;
-        return project.isPackagedForDownload();
-	}
-    
+        return project != null && project.isPackagedForDownload();
+    }
+
+    public long getStamp() {
+        return ProjectsHelper.getProjects(PORTAL_NAME).getProjectsDescriptor().getStamp();
+    }
+
     /**
      * This method will overwrite existing project definition in xml file
      * with a new one generated from data contained in given Project object.




More information about the jboss-svn-commits mailing list