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

Modified Files:
        BlockUrlConverter.java DirectoryUrlConverter.java 
        MMBaseUrlConverter.java Url.java 
Log Message:
using Url object also in Block- and Directory- UrlConverter implementations


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


Index: BlockUrlConverter.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/BlockUrlConverter.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- BlockUrlConverter.java      25 Oct 2008 08:32:02 -0000      1.9
+++ BlockUrlConverter.java      25 Oct 2008 08:58:47 -0000      1.10
@@ -25,7 +25,7 @@
  * URLConverters would probably like this, and can extend from this.
  *
  * @author Michiel Meeuwissen
- * @version $Id: BlockUrlConverter.java,v 1.9 2008/10/25 08:32:02 michiel Exp $
+ * @version $Id: BlockUrlConverter.java,v 1.10 2008/10/25 08:58:47 michiel Exp 
$
  * @since MMBase-1.9
  * @todo EXPERIMENTAL
  */
@@ -156,13 +156,13 @@
      * because they will probably be about the same.
      *
      */
-    protected final String getUrl(String path,
+    protected final Url getUrl(String path,
                                   Map<String, Object> parameters,
                                   Parameters frameworkParameters, boolean 
escapeAmps, boolean action) throws FrameworkException {
         Block block = getBlock(path, frameworkParameters);
         if (block != null) {
             Map<String, Object> map = new HashMap<String, Object>();
-            String niceUrl;
+            Url niceUrl;
             Parameters blockParameters = block.createParameters();
             {
                 blockParameters.setAutoCasting(true);
@@ -174,7 +174,7 @@
             }
 
             HttpServletRequest request = 
BasicUrlConverter.getUserRequest(frameworkParameters.get(Parameter.REQUEST));
-            if (niceUrl.startsWith(request.getServletPath())) {
+            if (niceUrl.getUrl().startsWith(request.getServletPath())) {
                 log.debug("servlet path not changing, also conservering 
parameters");
                 // conserve other parameters which happen to be on the request
                 for (Object e : request.getParameterMap().entrySet()) {
@@ -192,11 +192,11 @@
             }
             map.putAll(params);
 
-            String u = BasicUrlConverter.getUrl(niceUrl, map, request, 
escapeAmps);
+            String u = BasicUrlConverter.getUrl(niceUrl.getUrl(), map, 
request, escapeAmps);
             log.debug("Returning actual url " + u);
-            return u;
+            return new Url(u, niceUrl.getQuality());
         } else {
-            return null;
+            return Url.NOT;
         }
     }
 
@@ -205,15 +205,13 @@
     public Url getUrl(String path,
                          Map<String, Object> parameters,
                          Parameters frameworkParameters, boolean escapeAmps) 
throws FrameworkException {
-        String u = getUrl(path, parameters, frameworkParameters, escapeAmps, 
false);
-        return u == null ? Url.NOT : new Url(u);
+        return getUrl(path, parameters, frameworkParameters, escapeAmps, 
false);
     }
 
     public Url getProcessUrl(String path,
                                 Map<String, Object> parameters,
                                 Parameters frameworkParameters, boolean 
escapeAmps) throws FrameworkException {
-        String u = getUrl(path, parameters, frameworkParameters, escapeAmps, 
true);
-        return u == null ? Url.NOT : new Url(u);
+        return getUrl(path, parameters, frameworkParameters, escapeAmps, true);
     }
 
 
@@ -228,7 +226,7 @@
      * to <code>null</code> which were represented in the returning String.
      * @param
      */
-    protected abstract String getNiceUrl(Block block,
+    protected abstract Url getNiceUrl(Block block,
                                          Parameters blockParameters,
                                          Parameters frameworkParameters,
                                          boolean action) throws 
FrameworkException;
@@ -237,8 +235,7 @@
 
     public  final Url getInternalUrl(String path, Map<String, Object> params, 
Parameters frameworkParameters) throws FrameworkException {
         if (isFilteredMode(frameworkParameters)) {
-            String u = getFilteredInternalUrl(path, params, 
frameworkParameters);
-            return u == null ? Url.NOT : new Url(u);
+            return getFilteredInternalUrl(path, params, frameworkParameters);
         } else {
             return Url.NOT;
         }
@@ -249,7 +246,7 @@
      * <code>null</code>. IOW it is certain that the current URL is 'nice' 
according to this URL
      * Converter.
     */
-    protected  abstract String getFilteredInternalUrl(String path, Map<String, 
Object> params, Parameters frameworkParameters) throws FrameworkException;
+    protected  abstract Url getFilteredInternalUrl(String path, Map<String, 
Object> params, Parameters frameworkParameters) throws FrameworkException;
 
 
 }


Index: DirectoryUrlConverter.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/DirectoryUrlConverter.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- DirectoryUrlConverter.java  22 Oct 2008 17:53:16 -0000      1.10
+++ DirectoryUrlConverter.java  25 Oct 2008 08:58:47 -0000      1.11
@@ -28,7 +28,7 @@
  * It is also assumed that the niceness of the URL's is basicly about one 
block.
  *
  * @author Michiel Meeuwissen
- * @version $Id: DirectoryUrlConverter.java,v 1.10 2008/10/22 17:53:16 michiel 
Exp $
+ * @version $Id: DirectoryUrlConverter.java,v 1.11 2008/10/25 08:58:47 michiel 
Exp $
  * @since MMBase-1.9
  * @todo EXPERIMENTAL
  */
@@ -48,12 +48,12 @@
     }
 
 
-    @Override protected final String getNiceUrl(Block block,
+    @Override protected final Url getNiceUrl(Block block,
                                                 Parameters parameters,
                                                 Parameters 
frameworkParameters,  boolean action) throws FrameworkException {
         StringBuilder b = new StringBuilder(directory);
         getNiceDirectoryUrl(b, block, parameters, frameworkParameters, action);
-        return b.toString();
+        return new Url(b.toString());
     }
 
     protected abstract void getNiceDirectoryUrl(StringBuilder b, Block block,
@@ -69,7 +69,7 @@
 
 
 
-    @Override final public String getFilteredInternalUrl(String pa, 
Map<String, Object> params, Parameters frameworkParameters) throws 
FrameworkException {
+    @Override final public Url getFilteredInternalUrl(String pa, Map<String, 
Object> params, Parameters frameworkParameters) throws FrameworkException {
         List<String> path = new ArrayList<String>();
         for (String p: pa.split("/")) {
             path.add(p);
@@ -81,7 +81,7 @@
         return getFilteredInternalDirectoryUrl(path.subList(2, path.size()), 
params, frameworkParameters);
     }
 
-    protected abstract String getFilteredInternalDirectoryUrl(List<String> 
path, Map<String, Object> params, Parameters frameworkParameters) throws 
FrameworkException;
+    protected abstract Url getFilteredInternalDirectoryUrl(List<String> path, 
Map<String, Object> params, Parameters frameworkParameters) throws 
FrameworkException;
 
 
 


Index: MMBaseUrlConverter.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/MMBaseUrlConverter.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- MMBaseUrlConverter.java     21 Oct 2008 15:56:53 -0000      1.16
+++ MMBaseUrlConverter.java     25 Oct 2008 08:58:47 -0000      1.17
@@ -20,7 +20,7 @@
  * was configured for this prefix).
  *
  * @author Michiel Meeuwissen
- * @version $Id: MMBaseUrlConverter.java,v 1.16 2008/10/21 15:56:53 michiel 
Exp $
+ * @version $Id: MMBaseUrlConverter.java,v 1.17 2008/10/25 08:58:47 michiel 
Exp $
  * @since MMBase-1.9
  */
 public class MMBaseUrlConverter extends DirectoryUrlConverter {
@@ -85,10 +85,10 @@
     }
 
 
-    @Override protected String getFilteredInternalDirectoryUrl(List<String> 
path, Map<String, Object> blockParameters, Parameters frameworkParameters) {
+    @Override protected Url getFilteredInternalDirectoryUrl(List<String> path, 
Map<String, Object> blockParameters, Parameters frameworkParameters) {
         if (path.size() == 0) {
             // nothing indicated after /mmbase/, don't know what to do, 
leaving unfiltered
-            return null;
+            return Url.NOT;
         }
 
         StringBuilder url = new StringBuilder(renderJsp);
@@ -109,7 +109,7 @@
                 }
                 if (! categoryOk) {
                     log.debug("No such component clasification, ignoring 
this");
-                    return null;
+                    return Url.NOT;
                 }
             }
 
@@ -123,7 +123,7 @@
             Component comp = 
ComponentRepository.getInstance().getComponent(path.get(1));
             if (comp == null) {
                 log.debug("No such component, ignoring this too");
-                return null;
+                return Url.NOT;
             }
             url.append("&component=").append(comp.getName());
 
@@ -135,7 +135,7 @@
                 }
                 if (block == null) {
                     log.debug("No block " + path.get(2) + " in component " + 
comp);
-                    return null;
+                    return Url.NOT;
 
                 }
                 url.append("&block=").append(block.getName());
@@ -145,7 +145,7 @@
         if (log.isDebugEnabled()) {
             log.debug("internal URL " + url);
         }
-        return url.toString();
+        return new Url(url.toString());
     }
 
 }


Index: Url.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/basic/Url.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- Url.java    25 Oct 2008 08:32:02 -0000      1.1
+++ Url.java    25 Oct 2008 08:58:47 -0000      1.2
@@ -17,7 +17,7 @@
 
  *
  * @author Michiel Meeuwissen
- * @version $Id: Url.java,v 1.1 2008/10/25 08:32:02 michiel Exp $
+ * @version $Id: Url.java,v 1.2 2008/10/25 08:58:47 michiel Exp $
  * @since MMBase-1.9
  * @todo EXPERIMENTAL
  */
@@ -25,17 +25,24 @@
 public class Url {
     private final String url;
     private int quality = 0;
-    Url(String url) {
+    public Url(String url) {
         this.url = url;
     }
+    public Url(String url, int q) {
+        this.url = url;
+        this.quality = q;
+    }
     public String getUrl() {
         return url;
     }
     public int getQuality() {
         return quality;
     }
-    public static final Url NOT = new Url(null);
-    static {
-        NOT.quality = Integer.MIN_VALUE;
+
+    public static final Url NOT = new Url(null, Integer.MIN_VALUE);
+
+
+    public String toString() {
+        return url == null ? "NULL" : url;
     }
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to