[jboss-svn-commits] JBL Code SVN: r29025 - in labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia: dialogs and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Aug 22 18:51:24 EDT 2009


Author: unibrew
Date: 2009-08-22 18:51:23 -0400 (Sat, 22 Aug 2009)
New Revision: 29025

Modified:
   labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/Constants.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgPagePropertiesTab.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateDialog.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateFooterDialog.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateHeaderDialog.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/utils/JBossOrgUtils.java
Log:
[ORG-236] Finalizing custom theme support.


Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/Constants.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/Constants.java	2009-08-22 15:21:33 UTC (rev 29024)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/Constants.java	2009-08-22 22:51:23 UTC (rev 29025)
@@ -1,5 +1,11 @@
 package org.jboss.labs.magnolia;
 
+/**
+ * Class that holds all constants used in our customizations of Magnolia CMS.
+ * 
+ * @author Ryszard Kozmik <ryszard.kozmik at jboss.com>
+ *
+ */
 public class Constants {
 
     public static final String JBOSSORG_CONTENT_NODE_PATH = "jbossorg";

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgPagePropertiesTab.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgPagePropertiesTab.java	2009-08-22 15:21:33 UTC (rev 29024)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgPagePropertiesTab.java	2009-08-22 22:51:23 UTC (rev 29025)
@@ -11,6 +11,12 @@
 import java.util.Collection;
 import java.util.Iterator;
 
+/**
+ * Class that renders dialog tab to users that are in jbossorgEditors role.
+ * 
+ * @author Ryszard Kozmik <ryszard.kozmik at jboss.com>
+ *
+ */
 public class OrgPagePropertiesTab extends DialogTab {
 
 	@Override

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateDialog.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateDialog.java	2009-08-22 15:21:33 UTC (rev 29024)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateDialog.java	2009-08-22 22:51:23 UTC (rev 29025)
@@ -20,6 +20,12 @@
 import org.jboss.labs.magnolia.Constants;
 import org.jboss.labs.magnolia.utils.JBossOrgUtils;
 
+/**
+ * Class that renders template settings dialog.
+ * 
+ * @author Ryszard Kozmik <ryszard.kozmik at jboss.com>
+ *
+ */
 public class OrgTemplateDialog extends ConfiguredDialog {
 
     protected static Logger logger = Logger.getLogger(OrgTemplateDialog.class);
@@ -34,14 +40,6 @@
         
         HierarchyManager mgr = MgnlContext.getHierarchyManager(ContentRepository.WEBSITE);
         
-    	String themeNumber ="";
-    	
-    	try {
-    		themeNumber = JBossOrgUtils.getPageProperty(this.getStorageNode(),"theme","0");
-    	} catch (RepositoryException e) {
-    		logger.error(e);
-    	}
-        
         try {
             Content c = mgr.getContent(Constants.JBOSSORG_CONTENT_NODE_PATH, true, ItemType.CONTENTNODE);
             content = c.getChildByName(Constants.TEMPLATE_CONTENT_NODE+getCustomThemeNumber());
@@ -83,10 +81,12 @@
     }
     
     private String getCustomThemeNumber () {
-    	String themeNumber ="";
     	
+    	String themeNumber ="0";
+    	
     	try {
-    		themeNumber = JBossOrgUtils.getPageProperty(this.getStorageNode(),"theme","0");
+    		Content editedPageNode = super.getStorageNode();
+    		themeNumber = JBossOrgUtils.getPageProperty(editedPageNode,"theme","0");
     	} catch (RepositoryException e) {
     		logger.error(e);
     	}

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateFooterDialog.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateFooterDialog.java	2009-08-22 15:21:33 UTC (rev 29024)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateFooterDialog.java	2009-08-22 22:51:23 UTC (rev 29025)
@@ -20,6 +20,12 @@
 import org.jboss.labs.magnolia.Constants;
 import org.jboss.labs.magnolia.utils.JBossOrgUtils;
 
+/**
+ * Class that renders template footer definition dialog.
+ * 
+ * @author Ryszard Kozmik <ryszard.kozmik at jboss.com>
+ *
+ */
 public class OrgTemplateFooterDialog extends ConfiguredDialog {
 
     protected static Logger logger = Logger.getLogger(OrgTemplateFooterDialog.class);
@@ -74,10 +80,12 @@
     }
     
     private String getCustomThemeNumber () {
-    	String themeNumber ="";
     	
+    	String themeNumber ="0";
+    	
     	try {
-    		themeNumber = JBossOrgUtils.getPageProperty(this.getStorageNode(),"theme","0");
+    		Content editedPageNode = super.getStorageNode();
+    		themeNumber = JBossOrgUtils.getPageProperty(editedPageNode,"theme","0");
     	} catch (RepositoryException e) {
     		logger.error(e);
     	}

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateHeaderDialog.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateHeaderDialog.java	2009-08-22 15:21:33 UTC (rev 29024)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/dialogs/OrgTemplateHeaderDialog.java	2009-08-22 22:51:23 UTC (rev 29025)
@@ -20,6 +20,12 @@
 import org.jboss.labs.magnolia.Constants;
 import org.jboss.labs.magnolia.utils.JBossOrgUtils;
 
+/**
+ * Class that renders template header definition dialog.
+ * 
+ * @author Ryszard Kozmik <ryszard.kozmik at jboss.com>
+ *
+ */
 public class OrgTemplateHeaderDialog extends ConfiguredDialog {
 
     protected static Logger logger = Logger.getLogger(OrgTemplateHeaderDialog.class);
@@ -74,15 +80,16 @@
     }
     
     private String getCustomThemeNumber () {
-    	String themeNumber ="";
     	
-    	//try {
-    		//themeNumber = JBossOrgUtils.getPageProperty(this.,"theme","0");
-    		themeNumber = "0";
-    	//} catch (RepositoryException e) {
-    	//	logger.error(e);
-    	//}
+    	String themeNumber ="0";
     	
+    	try {
+    		Content editedPageNode = super.getStorageNode();
+    		themeNumber = JBossOrgUtils.getPageProperty(editedPageNode,"theme","0");
+    	} catch (RepositoryException e) {
+    		logger.error(e);
+    	}
+    	
     	return themeNumber;
     }
     

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/utils/JBossOrgUtils.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/utils/JBossOrgUtils.java	2009-08-22 15:21:33 UTC (rev 29024)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-paragraphs/src/main/java/org/jboss/labs/magnolia/utils/JBossOrgUtils.java	2009-08-22 22:51:23 UTC (rev 29025)
@@ -6,11 +6,12 @@
 import info.magnolia.cms.core.Content;
 
 import java.text.SimpleDateFormat;
-import java.util.Collection;
 import java.util.Date;
 
 import javax.jcr.RepositoryException;
 
+import org.apache.log4j.Logger;
+
 /**
  * Class with various auxiliary static methods.
  * 
@@ -19,6 +20,9 @@
  *
  */
 public class JBossOrgUtils {
+	
+	// LOGGER
+	private static Logger log = Logger.getLogger(JBossOrgUtils.class);
     
     // CONSTANTS
     private static final String RSS_DATE_FORMAT = "MMM d, yyyy h:mm a";
@@ -60,34 +64,49 @@
     	
     	// checking whether the page has the property defined
     	if ( pageNode!=null && pageNode.hasNodeData(pathToValue) && pageNode.getNodeData(pathToValue).getString().trim().length()!=0 ) {
+    		log.debug("PATH: "+pathToValue+" EXISTS IN CURRENT PAGE: "+pageNode.getHandle());
     		return pageNode.getNodeData(pathToValue).getString();
     	}
     	
     	// checking if inheritance is turned on and if yes then searching through ancestors to find property value
-    	if ( pageNode.hasNodeData("orgLayoutBody/ignoreInherit") && !pageNode.getNodeData("orgLayoutBody/ignoreInherit").getBoolean() ) {
+    	if ( !pageNode.hasNodeData("orgLayoutBody/ignoreInherit")
+    			|| ( pageNode.hasNodeData("orgLayoutBody/ignoreInherit")
+    					&& !pageNode.getNodeData("orgLayoutBody/ignoreInherit").getBoolean() ) ) {
     		
-    		int ancestorIdx = pageNode.getAncestors().size()-1;
+    		int ancestorIdx = pageNode.getAncestors().size();
+    		log.debug("NUMBER OF ANCESTORS: "+ancestorIdx);
     		
     		while ( ancestorIdx-- > 0 ) {
     			
 				Content ancestor = pageNode.getAncestor(ancestorIdx);
+				log.debug("CURRENT ANCESTOR: "+ancestor.getHandle());
 				
 				// if property value is defined for this ancestor then we are done
 				if ( ancestor.hasNodeData(pathToValue) && ancestor.getNodeData(pathToValue).getString().trim().length()!=0 ) {
+					
+					log.debug("PROPERTY: "+pathToValue+" FOUND IN: "+ancestor.getHandle());
 					propertyValue=ancestor.getNodeData(pathToValue).getString();
 					break;
+					
 				}
 				
 				// in case this ancestor ignores any further inheritance we stop checking deeper ancestors
 				if ( ancestor.getNodeData("orgLayoutBody/ignoreInherit").getString().equals("true") ) {
+					
+					log.debug("ANCESTOR: "+ancestor.getHandle()+" IGNORES INHERITANCE");
 					break;
+					
 				}
 				
 			}
     	} else {
+    		
+    		log.debug("RETURNING DEFAULT VALUE: "+defaultValue);
     		return defaultValue;
+    		
     	}
     	
+    	log.debug("METHOD FINISHED, RETURNING: "+propertyValue);
     	return propertyValue;
     }
     



More information about the jboss-svn-commits mailing list