[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