[jboss-svn-commits] JBL Code SVN: r5993 - in labs/jbosslabs/trunk/portal-extensions/portal-dnd: dndRenderer.war src/java/org/jboss/portal/core/theme/render/impl src/java/org/jboss/portal/dnd

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Aug 28 14:05:31 EDT 2006


Author: szimano
Date: 2006-08-28 14:05:27 -0400 (Mon, 28 Aug 2006)
New Revision: 5993

Added:
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/dndRenderer.war/dnd.properties
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDPersistance.java
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDPersistanceImpl.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDDecorationRenderer.java
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDPortletRenderer.java
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDRegionRenderer.java
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDTools.java
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDWindowRenderer.java
   labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDAjaxServlet.java
Log:
added properties for choosing renderer classes
JBLAB-728

Added: labs/jbosslabs/trunk/portal-extensions/portal-dnd/dndRenderer.war/dnd.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/dndRenderer.war/dnd.properties	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/dndRenderer.war/dnd.properties	2006-08-28 18:05:27 UTC (rev 5993)
@@ -0,0 +1,13 @@
+# specify rendere classes to use
+
+#Empty renderer - just for testing
+#decorationRenderer.class = org.jboss.portal.theme.impl.render.EmptyDecorationRenderer
+#portletRenderer.class = org.jboss.portal.theme.impl.render.EmptyPortletRenderer
+#regionRenderer.class = org.jboss.portal.theme.impl.render.EmptyRegionRenderer
+#windowRenderer.class = org.jboss.portal.theme.impl.render.EmptyWindowRenderer
+
+# DEFAULT DivDecorationRenderer
+decorationRenderer.class = org.jboss.portal.theme.impl.render.DivDecorationRenderer
+portletRenderer.class = org.jboss.portal.theme.impl.render.DivPortletRenderer
+regionRenderer.class = org.jboss.portal.theme.impl.render.DivRegionRenderer
+windowRenderer.class = org.jboss.portal.theme.impl.render.DivWindowRenderer
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDDecorationRenderer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDDecorationRenderer.java	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDDecorationRenderer.java	2006-08-28 18:05:27 UTC (rev 5993)
@@ -22,35 +22,31 @@
 package org.jboss.portal.core.theme.render.impl;
 
 import org.jboss.logging.Logger;
-import org.jboss.portal.Mode;
-import org.jboss.portal.WindowState;
-import org.jboss.portal.theme.impl.render.DivDecorationRenderer;
 import org.jboss.portal.theme.page.WindowContext;
 import org.jboss.portal.theme.page.WindowResult;
 import org.jboss.portal.theme.render.DecorationRenderer;
 import org.jboss.portal.theme.render.RenderContext;
 import org.jboss.portal.theme.render.RenderException;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
 /**
- * Implementation of a decoration renderer, based on div tags.
+ * Implementation of a drag and drop decoration renderer.
  * 
- * @author <a href="mailto:mholzner at novell.com>Martin Holzner</a>
+ * @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
  * @version $LastChangedRevision$, $LastChangedDate$
  * @see org.jboss.portal.theme.render.DecorationRenderer
  */
 public class DnDDecorationRenderer implements DecorationRenderer {
 	private static Logger log = Logger.getLogger(DnDDecorationRenderer.class);
 
-	private DecorationRenderer delegate = new DivDecorationRenderer();
+	private DecorationRenderer delegate;
 
+	public DnDDecorationRenderer() throws InstantiationException,
+			IllegalAccessException, ClassNotFoundException {
+		super();
+		delegate = (DecorationRenderer) DnDTools.getRendererClass(
+				DnDTools.DECOR_CLASS).newInstance();
+	}
+
 	/**
 	 * @see org.jboss.portal.theme.render.Renderer#renderStart
 	 */

Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDPortletRenderer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDPortletRenderer.java	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDPortletRenderer.java	2006-08-28 18:05:27 UTC (rev 5993)
@@ -21,7 +21,6 @@
  */
 package org.jboss.portal.core.theme.render.impl;
 
-import org.jboss.portal.theme.impl.render.DivPortletRenderer;
 import org.jboss.portal.theme.page.WindowContext;
 import org.jboss.portal.theme.page.WindowResult;
 import org.jboss.portal.theme.render.PortletRenderer;
@@ -29,16 +28,22 @@
 import org.jboss.portal.theme.render.RenderException;
 
 /**
- * Implementation of a Portlet renderer, based on div tags.
+ * Implementation of a drag and drop Portlet renderer.
  * 
- * @author <a href="mailto:mholzner at novell.com>Martin Holzner</a>
+ * @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
  * @version $LastChangedRevision$, $LastChangedDate$
  * @see org.jboss.portal.theme.render.PortletRenderer
  */
 public class DnDPortletRenderer implements PortletRenderer {
 
-	private PortletRenderer delegate = new DivPortletRenderer();
+	private PortletRenderer delegate;
 
+	public DnDPortletRenderer() throws InstantiationException,
+			IllegalAccessException, ClassNotFoundException {
+		super();
+		delegate = (PortletRenderer) DnDTools.getRendererClass(
+				DnDTools.PORLTET_CLASS).newInstance();
+	}
 	/**
 	 * @see PortletRenderer#render
 	 */

Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDRegionRenderer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDRegionRenderer.java	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDRegionRenderer.java	2006-08-28 18:05:27 UTC (rev 5993)
@@ -21,39 +21,39 @@
  */
 package org.jboss.portal.core.theme.render.impl;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.jboss.logging.Logger;
-import org.jboss.portal.theme.impl.render.DivRegionRenderer;
 import org.jboss.portal.theme.page.Region;
-import org.jboss.portal.theme.page.WindowContext;
-import org.jboss.portal.theme.page.WindowResult;
 import org.jboss.portal.theme.render.RegionRenderer;
 import org.jboss.portal.theme.render.RenderContext;
 import org.jboss.portal.theme.render.RenderException;
 
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
 /**
- * Implementation of a Region renderer, based on div tags.
+ * Implementation of a drag and drop Region renderer.
  * 
- * @author <a href="mailto:mholzner at novell.com>Martin Holzner</a>
+ * @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
  * @version $LastChangedRevision$, $LastChangedDate$
  * @see org.jboss.portal.theme.render.RegionRenderer
  */
 public class DnDRegionRenderer implements RegionRenderer {
 
-	private RegionRenderer delegate = new DivRegionRenderer();
-
 	private Map<String, Integer> portletNumbers = new HashMap<String, Integer>();
 
-	private Map<String, String> portletRegions = new HashMap<String, String>();
-
 	private Map<String, String> windowIds = new HashMap<String, String>();
 
 	private final static Logger log = Logger.getLogger(DnDRegionRenderer.class);
 
+	private RegionRenderer delegate;
+
+	public DnDRegionRenderer() throws InstantiationException,
+			IllegalAccessException, ClassNotFoundException {
+		super();
+		delegate = (RegionRenderer) DnDTools.getRendererClass(
+				DnDTools.REGION_CLASS).newInstance();
+	}
+	
 	/**
 	 * @see RegionRenderer#render
 	 */
@@ -195,22 +195,6 @@
 		return number - 1;
 	}
 
-	private String getPortletRegion(String portletId) {
-		return portletRegions.get(portletId);
-	}
-
-	private Vector<String> getPortletsInRegion(String regionId) {
-		Vector<String> result = new Vector<String>();
-
-		for (String portletId : portletRegions.keySet()) {
-			if (portletRegions.get(portletId).equals(regionId)) {
-				result.add(portletId);
-			}
-		}
-
-		return result;
-	}
-
 	public void setWindowId(String portletId, String windowId) {
 		windowIds.put(portletId, windowId);
 	}

Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDTools.java	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDTools.java	2006-08-28 18:05:27 UTC (rev 5993)
@@ -1,7 +1,23 @@
 package org.jboss.portal.core.theme.render.impl;
 
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.jboss.logging.Logger;
+
 public class DnDTools {
 
+	public static final String DECOR_CLASS = "decorationRenderer.class";
+	public static final String PORLTET_CLASS = "portletRenderer.class";
+	public static final String REGION_CLASS = "regionRenderer.class";
+	public static final String WINDOW_CLASS = "windowRenderer.class";
+	
+	public static final String DND_PROP_FILENAME = "/dnd.properties";
+	
+	private static final Logger log = Logger.getLogger(DnDTools.class);
+	
 	public static final String DND_HEADERS = "\n\n\n<script type='text/javascript' src='/dndRenderer/js/yahoo/yahoo.js' ></script>\n"
 			+ "<script type='text/javascript' src='/dndRenderer/js/event/event.js' ></script>\n"
 			+ "<script type='text/javascript' src='/dndRenderer/js/dom/dom.js'></script>\n"
@@ -33,4 +49,19 @@
 			+ ".yui-log .window {background-color:#F2E886;} \n"
 			+ "</style>\n\n";
 
+	public static Class getRendererClass(String className) throws ClassNotFoundException{
+		Properties props = new Properties();
+		
+		InputStream is = DnDTools.class.getResourceAsStream(DND_PROP_FILENAME);
+		try {
+			props.load(is);
+			
+			Class clas = Class.forName(props.getProperty(className));
+			
+			return clas;
+		} catch (IOException e) {
+			log.error(e);
+			throw new ClassNotFoundException(e.getMessage());
+		}
+	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDWindowRenderer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDWindowRenderer.java	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDWindowRenderer.java	2006-08-28 18:05:27 UTC (rev 5993)
@@ -21,33 +21,34 @@
  */
 package org.jboss.portal.core.theme.render.impl;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import org.jboss.logging.Logger;
-import org.jboss.portal.WindowState;
 import org.jboss.portal.theme.impl.render.DivWindowRenderer;
 import org.jboss.portal.theme.page.WindowContext;
 import org.jboss.portal.theme.page.WindowResult;
-import org.jboss.portal.theme.render.DecorationRenderer;
-import org.jboss.portal.theme.render.PortletRenderer;
+import org.jboss.portal.theme.render.RegionRenderer;
 import org.jboss.portal.theme.render.RenderContext;
 import org.jboss.portal.theme.render.RenderException;
 import org.jboss.portal.theme.render.WindowRenderer;
-import org.omg.CORBA.portable.Delegate;
 
 /**
- * Implementation of a WindowRenderer, based on div tags.
+ * Implementation of a drag and drop WindowRenderer.
  * 
- * @author <a href="mailto:mholzner at novell.com>Martin Holzner</a>
+ * @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
  * @version $LastChangedRevision$, $LastChangedDate$
  * @see org.jboss.portal.theme.render.WindowRenderer
  */
 public class DnDWindowRenderer implements WindowRenderer {
 	private static Logger log = Logger.getLogger(DnDWindowRenderer.class);
 
-	private WindowRenderer delegate = new DivWindowRenderer();
+	private WindowRenderer delegate;
 
+	public DnDWindowRenderer() throws InstantiationException,
+			IllegalAccessException, ClassNotFoundException {
+		super();
+		delegate = (WindowRenderer) DnDTools.getRendererClass(
+				DnDTools.WINDOW_CLASS).newInstance();
+	}
+
 	/**
 	 * @see WindowRenderer#render
 	 */

Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDAjaxServlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDAjaxServlet.java	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDAjaxServlet.java	2006-08-28 18:05:27 UTC (rev 5993)
@@ -21,6 +21,8 @@
 	private static final String PERSIST = "PERSIST";
 
 	private final static Logger log = Logger.getLogger(DnDAjaxServlet.class);
+	
+	private DnDPersistance persistance =  new DnDPersistanceImpl();
 
 	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
 			throws ServletException, IOException {
@@ -51,7 +53,7 @@
 					return;
 				}
 
-				persistPosition(req.getParameter("positionNo"), req
+				persistance.persistPosition(req.getParameter("positionNo"), req
 						.getParameter("windowId"), req
 						.getParameter("oldRegionId"), req
 						.getParameter("newRegionId"));
@@ -75,9 +77,4 @@
 		resp.getWriter().write(respData);
 	}
 
-	private void persistPosition(String positionNo, String windowId,
-			String oldRegionId, String newRegionId) {
-		log.info("New position persistance call: " + positionNo + " "
-				+ windowId + " " + oldRegionId + " " + newRegionId);
-	}
 }

Added: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDPersistance.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDPersistance.java	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDPersistance.java	2006-08-28 18:05:27 UTC (rev 5993)
@@ -0,0 +1,7 @@
+package org.jboss.portal.dnd;
+
+public interface DnDPersistance {
+	
+	public void persistPosition(String positionNo, String windowId,
+			String oldRegionId, String newRegionId);
+}

Added: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDPersistanceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDPersistanceImpl.java	2006-08-28 17:02:14 UTC (rev 5992)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/dnd/DnDPersistanceImpl.java	2006-08-28 18:05:27 UTC (rev 5993)
@@ -0,0 +1,14 @@
+package org.jboss.portal.dnd;
+
+import org.jboss.logging.Logger;
+
+public class DnDPersistanceImpl implements DnDPersistance {
+
+	private final static Logger log = Logger.getLogger(DnDPersistanceImpl.class);
+	
+	public void persistPosition(String positionNo, String windowId,
+			String oldRegionId, String newRegionId) {
+		log.info("New position persistance call: " + positionNo + " "
+				+ windowId + " " + oldRegionId + " " + newRegionId);
+	}
+}




More information about the jboss-svn-commits mailing list