[jboss-svn-commits] JBL Code SVN: r35481 - in labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo: struts and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 11 11:56:39 EDT 2010


Author: lkrzyzanek
Date: 2010-10-11 11:56:38 -0400 (Mon, 11 Oct 2010)
New Revision: 35481

Modified:
   labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo/ProjectInfoManagerImpl.java
   labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo/struts/ProjectInfoAction.java
Log:
Added getProjectID feature

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo/ProjectInfoManagerImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo/ProjectInfoManagerImpl.java	2010-10-11 15:45:17 UTC (rev 35480)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo/ProjectInfoManagerImpl.java	2010-10-11 15:56:38 UTC (rev 35481)
@@ -99,6 +99,45 @@
     return true;
   }
 
+  /**
+   * Shortcut for getProjectID(container, false)
+   * 
+   * @param container
+   * @return
+   * @see #getProjectID(JiveContainer, boolean)
+   */
+  public static String getProjectID(JiveContainer container) {
+    return getProjectID(container, false);
+  }
+
+  /**
+   * Get project ID based on specific container
+   * 
+   * @param container
+   * @param examineParentContainers if true then parent containers are examined
+   *          and project user space is used
+   * @return
+   * @see #getProjectSpace(JiveContainer)
+   */
+  public static String getProjectID(JiveContainer container, boolean examineParentContainers) {
+    JiveContainer projectSpace = container;
+    if (examineParentContainers) {
+      projectSpace = getProjectSpace(projectSpace);
+    }
+    return projectSpace.getDisplayName();
+  }
+
+  protected static JiveContainer getProjectSpace(JiveContainer c) {
+    if (c.getParentContainer() == null) {
+      return null;
+    }
+    JiveContainer projectSpace = c;
+    while (projectSpace.getParentContainer().getParentContainer() != null) {
+      projectSpace = projectSpace.getParentContainer();
+    }
+    return projectSpace;
+  }
+
   @Override
   public String getSpaceNavigation(JiveContainer container) {
     JiveContainer projectSpace = getProjectSpace(container);
@@ -177,18 +216,18 @@
       Iterator<Community> communities = communityManager.getCommunities(communityManager.getRootCommunity());
       while (communities.hasNext()) {
         Community c = communities.next();
+        String projectID = getProjectID(c);
         if (log.isInfoEnabled()) {
-          log.info("Get navigation for " + c.getDisplayName());
+          log.info("Get navigation for " + projectID);
         }
         try {
-          String navigation = service.projectNavigationWithParentAndHighlighting(c.getDisplayName(), null,
-              TAB_TO_HIGHLIGHT);
+          String navigation = service.projectNavigationWithParentAndHighlighting(projectID, null, TAB_TO_HIGHLIGHT);
 
           if (navigation != null) {
             spaceNavigationCache.put(c.getID(), navigation);
           }
         } catch (Exception e) {
-          log.error("Cannot get navigation for " + c.getDisplayName(), e);
+          log.error("Cannot get navigation for " + projectID, e);
         }
       }
 
@@ -220,17 +259,18 @@
       Iterator<Community> communities = communityManager.getCommunities(communityManager.getRootCommunity());
       while (communities.hasNext()) {
         Community c = communities.next();
+        String projectID = getProjectID(c);
         if (log.isInfoEnabled()) {
           log.info("Get navigation for " + c.getDisplayName());
         }
         try {
-          String footer = service.projectFooterNavigation(c.getDisplayName());
+          String footer = service.projectFooterNavigation(projectID);
 
           if (footer != null) {
             spaceFooterCache.put(c.getID(), footer);
           }
         } catch (Exception e) {
-          log.error("Cannot get footer for " + c.getDisplayName(), e);
+          log.error("Cannot get footer for " + projectID, e);
         }
       }
 
@@ -239,17 +279,6 @@
     }
   }
 
-  protected JiveContainer getProjectSpace(JiveContainer c) {
-    if (c.getParentContainer() == null) {
-      return null;
-    }
-    JiveContainer projectSpace = c;
-    while (projectSpace.getParentContainer().getParentContainer() != null) {
-      projectSpace = projectSpace.getParentContainer();
-    }
-    return projectSpace;
-  }
-
   public Cache<Long, String> getSpaceNavigationCache() {
     return spaceNavigationCache;
   }

Modified: labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo/struts/ProjectInfoAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo/struts/ProjectInfoAction.java	2010-10-11 15:45:17 UTC (rev 35480)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs-projectinfo/trunk/src/main/java/org/jboss/labs/sbs/plugin/projectinfo/struts/ProjectInfoAction.java	2010-10-11 15:56:38 UTC (rev 35481)
@@ -98,6 +98,22 @@
     return "false";
   }
 
+  public static String getProjectID(int containerType, int containerID) {
+    if (containerType > 0 && containerID > 0) {
+      try {
+        JiveContainer container = JiveApplication.getEffectiveContext().getJiveContainerManager()
+            .getJiveContainer(containerType, containerID);
+        return ProjectInfoManagerImpl.getProjectID(container, true);
+      } catch (UnauthorizedException e) {
+        log.warn("Not authorized to get jive container");
+        return null;
+      } catch (NotFoundException nfe) {
+        log.warn(nfe);
+      }
+    }
+    return null;
+  }
+
   public String getData() {
     return data;
   }



More information about the jboss-svn-commits mailing list