Revision: 18251
Author:   aschrijvers
Date:     2009-05-26 11:56:13 +0200 (Tue, 26 May 2009)
Log Message:
-----------
HSTTWO-590 add a deref method to get dereffed HippoBean

Modified Paths:
--------------
    
ecm/site-toolkit/trunk/content-beans/src/main/java/org/hippoecm/hst/content/beans/standard/HippoFacetSelect.java

Modified: 
ecm/site-toolkit/trunk/content-beans/src/main/java/org/hippoecm/hst/content/beans/standard/HippoFacetSelect.java
===================================================================
--- 
ecm/site-toolkit/trunk/content-beans/src/main/java/org/hippoecm/hst/content/beans/standard/HippoFacetSelect.java
    2009-05-26 09:56:07 UTC (rev 18250)
+++ 
ecm/site-toolkit/trunk/content-beans/src/main/java/org/hippoecm/hst/content/beans/standard/HippoFacetSelect.java
    2009-05-26 09:56:13 UTC (rev 18251)
@@ -16,8 +16,35 @@
 package org.hippoecm.hst.content.beans.standard;
 
 import org.hippoecm.hst.content.beans.Node;
+import org.hippoecm.hst.content.beans.ObjectBeanManagerException;
+import org.hippoecm.hst.provider.jcr.JCRUtilities;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @Node(jcrType="hippo:facetselect")
 public class HippoFacetSelect extends HippoFolder{
 
+    private static Logger log = 
LoggerFactory.getLogger(HippoFacetSelect.class);
+    
+    /**
+     * When you want the HippoBean that this facetSelect is pointing to, you 
can use this method
+     * @return the deferenced <code>HippoBean</code> or <code>null</code> when 
the bean cannot be dereferenced
+     */
+    public HippoBean getDeref(){
+        if(this.getNode() == null) {
+            log.warn("Can not dereference this HippoFacetSelect because it is 
detached. Return null");
+            return null;
+        }
+        javax.jcr.Node deref = JCRUtilities.getDeref(this.getNode());
+        if(deref == null) {
+            log.warn("Can not dereference this HippoFacetSelect because cannot 
find the node the facetselect is pointing to. Return null");
+            return null;
+        }
+        try {
+            return (HippoBean) this.objectConverter.getObject(deref);
+        } catch (ObjectBeanManagerException e) {
+           log.warn("Cannot get a derefenced HippoBean: {}. Return null", 
e.getMessage());
+        }
+        return null;
+    }
 }

_______________________________________________
Hippocms-svn mailing list
[email protected]
http://lists.hippo.nl/mailman/listinfo/hippocms-svn

Reply via email to