Update of /var/cvs/src/org/mmbase/framework/basic
In directory james.mmbase.org:/tmp/cvs-serv826/basic

Modified Files:
        BasicFramework.java BasicUrlConverter.java 
        ChainedUrlConverter.java MMBaseUrlConverter.java 
        UrlConverter.java 
Log Message:
Chaned return type to String of getUrl methods and introduced 'getActionUrl'


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/framework/basic


Index: BasicFramework.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/BasicFramework.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- BasicFramework.java 20 Feb 2008 17:44:07 -0000      1.8
+++ BasicFramework.java 22 Feb 2008 13:03:29 -0000      1.9
@@ -30,7 +30,7 @@
  * configured with an XML 'framework.xml'.
  *
  * @author Michiel Meeuwissen
- * @version $Id: BasicFramework.java,v 1.8 2008/02/20 17:44:07 michiel Exp $
+ * @version $Id: BasicFramework.java,v 1.9 2008/02/22 13:03:29 michiel Exp $
  * @since MMBase-1.9
  */
 public class BasicFramework extends Framework {
@@ -61,12 +61,18 @@
     }
 
 
-    public StringBuilder getUrl(String path, Map<String, Object> parameters,
+    public String getUrl(String path, Map<String, Object> parameters,
                                 Parameters frameworkParameters, boolean 
escapeAmps) throws FrameworkException {
         return urlConverter.getUrl(path, parameters, frameworkParameters, 
escapeAmps);
     }
 
-    public StringBuilder getInternalUrl(String page, Map<String, Object> 
params, Parameters frameworkParameters) throws FrameworkException {
+
+    public String getActionUrl(String path, Map<String, Object> parameters,
+                               Parameters frameworkParameters, boolean 
escapeAmps) throws FrameworkException {
+        return urlConverter.getUrl(path, parameters, frameworkParameters, 
escapeAmps);
+    }
+
+    public String getInternalUrl(String page, Map<String, Object> params, 
Parameters frameworkParameters) throws FrameworkException {
         if (log.isDebugEnabled()) {
             log.debug("calling urlConverter " + urlConverter);
         }


Index: BasicUrlConverter.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/BasicUrlConverter.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- BasicUrlConverter.java      20 Feb 2008 17:44:07 -0000      1.5
+++ BasicUrlConverter.java      22 Feb 2008 13:03:29 -0000      1.6
@@ -25,7 +25,7 @@
  *
  *
  * @author Michiel Meeuwissen
- * @version $Id: BasicUrlConverter.java,v 1.5 2008/02/20 17:44:07 michiel Exp $
+ * @version $Id: BasicUrlConverter.java,v 1.6 2008/02/22 13:03:29 michiel Exp $
  * @since MMBase-1.9
  */
 public final class BasicUrlConverter implements UrlConverter {
@@ -42,7 +42,7 @@
      * @param writeamp Wheter amperstands must be XML-escaped. Typically 
needed if the URL is used
      * in (X)HTML.
      */
-    public static StringBuilder getUrl(String page, Map<String, Object> 
params, HttpServletRequest req, boolean escapeamp) {
+    public static String getUrl(String page, Map<String, Object> params, 
HttpServletRequest req, boolean escapeamp) {
         if (log.isDebugEnabled()) {
             log.debug("(static) constructing " + page + params);
         }
@@ -90,7 +90,7 @@
                 }
             }
         }
-        return show;
+        return show.toString();
     }
 
     private final BasicFramework framework;
@@ -107,9 +107,9 @@
     public Parameter[] getParameterDefinition() {
         return new Parameter[] {Parameter.REQUEST, State.ACTION, 
Framework.PROCESS};
     }
-    public StringBuilder getUrl(String path,
+    protected String getUrl(String path,
                                 Map<String, Object> parameters,
-                                Parameters frameworkParameters, boolean 
escapeAmps) {
+                            Parameters frameworkParameters, boolean 
escapeAmps, boolean action) {
         HttpServletRequest request = 
frameworkParameters.get(Parameter.REQUEST);
         State state = State.getState(request);
         Map<String, Object> map = new TreeMap<String, Object>();
@@ -151,7 +151,19 @@
         log.debug("constructing '" + path + "'" + map);
         return BasicUrlConverter.getUrl(path, map, request, escapeAmps);
     }
-    public StringBuilder getInternalUrl(String page, Map<String, Object> 
params, Parameters frameworkParameters) {
+
+    public String getUrl(String path,
+                            Map<String, Object> parameters,
+                            Parameters frameworkParameters, boolean 
escapeAmps) {
+        return getUrl(path, parameters, frameworkParameters, escapeAmps, 
false);
+    }
+    public String getActionUrl(String path,
+                            Map<String, Object> parameters,
+                            Parameters frameworkParameters, boolean 
escapeAmps) {
+        return getUrl(path, parameters, frameworkParameters, escapeAmps, true);
+    }
+
+    public String getInternalUrl(String page, Map<String, Object> params, 
Parameters frameworkParameters) {
         HttpServletRequest request = 
frameworkParameters.get(Parameter.REQUEST);
         return BasicUrlConverter.getUrl(page, params, request, false);
     }


Index: ChainedUrlConverter.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/ChainedUrlConverter.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- ChainedUrlConverter.java    3 Feb 2008 17:33:56 -0000       1.4
+++ ChainedUrlConverter.java    22 Feb 2008 13:03:29 -0000      1.5
@@ -25,7 +25,7 @@
  * outcome of a converter can be added to the outcome of its preceder.
  *
  * @author Andr&eacute; van Toly
- * @version $Id: ChainedUrlConverter.java,v 1.4 2008/02/03 17:33:56 nklasens 
Exp $
+ * @version $Id: ChainedUrlConverter.java,v 1.5 2008/02/22 13:03:29 michiel 
Exp $
  * @since MMBase-1.9
  */
 public class ChainedUrlConverter implements UrlConverter {
@@ -60,13 +60,30 @@
     /**
      * The URL to be printed in a page
      */
-    public StringBuilder getUrl(String path,
+    public String getUrl(String path,
                                 Map<String, Object> params,
                                 Parameters frameworkParameters, boolean 
escapeAmps) throws FrameworkException {
 
-        StringBuilder p = new StringBuilder(path);
+        String p = path;
         for (UrlConverter uc : uclist) {
-            StringBuilder b = uc.getUrl(p.toString(), params, 
frameworkParameters, escapeAmps);
+            String b = uc.getUrl(p.toString(), params, frameworkParameters, 
escapeAmps);
+            if (b != null) {
+                return b;
+            }
+            //p = b;
+        }
+        //log.debug("ChainedUrlConverter has: " + b);
+
+        return p;   // this seems incorrect (what if nothing is resolved by 
one of the uc's? then params etc. are lost)
+    }
+
+    public String getActionUrl(String path,
+                                Map<String, Object> params,
+                                Parameters frameworkParameters, boolean 
escapeAmps) throws FrameworkException {
+
+        String p = new String(path);
+        for (UrlConverter uc : uclist) {
+            String b = uc.getActionUrl(p.toString(), params, 
frameworkParameters, escapeAmps);
             if (b != null) {
                 return b;
             }
@@ -81,12 +98,12 @@
     /**
      * The 'technical' url
      */
-    public StringBuilder getInternalUrl(String path,
+    public String getInternalUrl(String path,
                                         Map<String, Object> params,
                                         Parameters frameworkParameters) throws 
FrameworkException {
-        StringBuilder p = new StringBuilder(path);
+        String p = new String(path);
         for (UrlConverter uc : uclist) {
-            StringBuilder b = uc.getInternalUrl(p.toString(), params, 
frameworkParameters);
+            String b = uc.getInternalUrl(p.toString(), params, 
frameworkParameters);
             log.debug("ChainedUrlConverter has: " + b);
             if (b != null) return b;
             //p = b;


Index: MMBaseUrlConverter.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/MMBaseUrlConverter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- MMBaseUrlConverter.java     3 Feb 2008 17:33:56 -0000       1.2
+++ MMBaseUrlConverter.java     22 Feb 2008 13:03:29 -0000      1.3
@@ -20,7 +20,7 @@
  *
  *
  * @author Michiel Meeuwissen
- * @version $Id: MMBaseUrlConverter.java,v 1.2 2008/02/03 17:33:56 nklasens 
Exp $
+ * @version $Id: MMBaseUrlConverter.java,v 1.3 2008/02/22 13:03:29 michiel Exp 
$
  * @since MMBase-1.9
  */
 public class MMBaseUrlConverter implements UrlConverter {
@@ -58,9 +58,9 @@
         return new Parameter[] {CATEGORY, COMPONENT, BLOCK};
     }
 
-    public StringBuilder getUrl(String path,
+    protected String getUrl(String path,
                                 Map<String, Object> parameters,
-                                Parameters frameworkParameters, boolean 
escapeAmps) {
+                            Parameters frameworkParameters, boolean 
escapeAmps, boolean action) {
         if (log.isDebugEnabled()) {
             log.debug("path '" + path + "' parameters: " + parameters + " 
framework parameters " + frameworkParameters);
         }
@@ -82,7 +82,7 @@
                 log.debug("No rendering state object found, so no current 
component.");
                 if (category != null) {
                     log.debug("Found category " + category);
-                    return new StringBuilder(dir + category);
+                    return dir + category;
                 } else {
                     return null;
                 }
@@ -194,11 +194,21 @@
 
         //path == null || subComponent ?
 
-        StringBuilder sb = BasicUrlConverter.getUrl(page, map , request, 
escapeAmps);
+        String sb = BasicUrlConverter.getUrl(page, map , request, escapeAmps);
         return sb;
+    }
 
+    public String getUrl(String path,
+                            Map<String, Object> parameters,
+                            Parameters frameworkParameters, boolean 
escapeAmps) {
+        return getUrl(path, parameters, frameworkParameters, escapeAmps, 
false);
+    }
+    public String getActionUrl(String path,
+                            Map<String, Object> parameters,
+                            Parameters frameworkParameters, boolean 
escapeAmps) {
+        return getUrl(path, parameters, frameworkParameters, escapeAmps, true);
     }
-    public StringBuilder getInternalUrl(String page, Map<String, Object> 
params, Parameters frameworkParameters) {
+    public String getInternalUrl(String page, Map<String, Object> params, 
Parameters frameworkParameters) {
         HttpServletRequest request = 
frameworkParameters.get(Parameter.REQUEST);
         if (page == null) throw new IllegalArgumentException();
         if (page.startsWith(dir)) {
@@ -226,7 +236,7 @@
                 StringBuilder url = new 
StringBuilder("/mmbase/admin/index.jsp?category=");
                 url.append(category);
 
-                if (path.length == 3) return url;
+                if (path.length == 3) return url.toString();
 
                 Component comp = 
ComponentRepository.getInstance().getComponent(path[3]);
                 if (comp == null) {
@@ -235,7 +245,7 @@
                 }
                 url.append("&component=").append(comp.getName());
 
-                if (path.length == 4) return url;
+                if (path.length == 4) return url.toString();
 
                 Block block = comp.getBlock(path[4]);
                 if (log.isDebugEnabled()) {
@@ -250,7 +260,7 @@
                 if (log.isDebugEnabled()) {
                     log.debug("internal URL " + url);
                 }
-                return url;
+                return url.toString();
             } else {
                 log.debug("path length " + path.length);
                 return null;


Index: UrlConverter.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/UrlConverter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- UrlConverter.java   3 Feb 2008 17:33:56 -0000       1.3
+++ UrlConverter.java   22 Feb 2008 13:03:29 -0000      1.4
@@ -23,7 +23,7 @@
  * They will be chained one after another.
 
  * @author Michiel Meeuwissen
- * @version $Id: UrlConverter.java,v 1.3 2008/02/03 17:33:56 nklasens Exp $
+ * @version $Id: UrlConverter.java,v 1.4 2008/02/22 13:03:29 michiel Exp $
  * @since MMBase-1.9
  */
 public interface UrlConverter {
@@ -32,20 +32,26 @@
     Parameter[] getParameterDefinition();
 
     /**
-     * See [EMAIL PROTECTED] Framework#getUrl(String, Map, 
Parameters,boolean)}.
+     * See [EMAIL PROTECTED] Framework#getUrl(String, Map, Parameters, 
boolean)}.
      * But it can also return <code>null</code> which mean, 'I don't know.'
      */
-    StringBuilder getUrl(String path,
+    String getUrl(String path,
                          Map<String, Object> parameters,
                          Parameters frameworkParameters,
                          boolean escapeAmps) throws FrameworkException;
 
+    String getActionUrl(String path,
+                        Map<String, Object> parameters,
+                        Parameters frameworkParameters,
+                        boolean escapeAmps) throws FrameworkException;
+
+
 
     /**
      * See [EMAIL PROTECTED] Framework#geInternaltUrl(String, Map, 
Parameters)}.
      * But it can also return <code>null</code> which mean, 'I don't know'.
      */
-    StringBuilder getInternalUrl(String path,
+    String getInternalUrl(String path,
                                  Map<String, Object> params,
                                  Parameters frameworkParameters) throws 
FrameworkException;
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to