Update of /var/cvs/contributions/didactor2/src/core/java/nl/didactor/filter
In directory james.mmbase.org:/tmp/cvs-serv13493

Modified Files:
        DidactorUrlConverter.java 
Log Message:
using new 'DirectoryUrlConvert' to be much simpler, and also compile again


See also: 
http://cvs.mmbase.org/viewcvs/contributions/didactor2/src/core/java/nl/didactor/filter


Index: DidactorUrlConverter.java
===================================================================
RCS file: 
/var/cvs/contributions/didactor2/src/core/java/nl/didactor/filter/DidactorUrlConverter.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- DidactorUrlConverter.java   4 Sep 2008 09:49:14 -0000       1.5
+++ DidactorUrlConverter.java   21 Oct 2008 14:38:41 -0000      1.6
@@ -12,6 +12,7 @@
 import java.util.*;
 import javax.servlet.http.HttpServletRequest;
 import org.mmbase.framework.*;
+import org.mmbase.framework.basic.*;
 import org.mmbase.util.functions.*;
 import org.mmbase.util.logging.*;
 
@@ -19,16 +20,14 @@
 
  *
  * @author Michiel Meeuwissen
- * @version $Id: DidactorUrlConverter.java,v 1.5 2008/09/04 09:49:14 michiel 
Exp $
+ * @version $Id: DidactorUrlConverter.java,v 1.6 2008/10/21 14:38:41 michiel 
Exp $
  */
-public class DidactorUrlConverter implements 
org.mmbase.framework.basic.UrlConverter {
+public class DidactorUrlConverter extends DirectoryUrlConverter {
     private static final Logger log = 
Logging.getLoggerInstance(DidactorUrlConverter.class);
 
-    private String  directory = "/c";
-    private final Framework framework;
-
-    public DidactorUrlConverter(Framework fw) {
-        framework = fw;
+    public DidactorUrlConverter(BasicFramework fw) {
+        super(fw);
+        setDirectory("c");
     }
 
 
@@ -40,24 +39,10 @@
         return null;
     }
 
-    protected String getUrl(String path,
-                             Map<String, Object> parameters,
-                             Parameters frameworkParameters, boolean 
escapeAmps, boolean action) throws FrameworkException {
-        if (log.isDebugEnabled()) {
-            log.debug("" + path + parameters + frameworkParameters);
-        }
-        Block renderingBlock = 
framework.getRenderingBlock(frameworkParameters);
-        if (renderingBlock == null) {
-            log.debug("No current block found for parameters " + 
frameworkParameters);
-            return null;
-        } else {
-            HttpServletRequest request = 
frameworkParameters.get(Parameter.REQUEST);
-
-            Block block = framework.getBlock(frameworkParameters);
-            if (block == null) {
-                block = renderingBlock.getComponent().getBlock(path);
-            }
-            if (block != null) {
+    @Override protected String getNiceUrl(Block block,
+                                         Parameters blockParameters,
+                                         Parameters frameworkParameters,
+                                         boolean action) throws 
FrameworkException {
                 log.debug("Found block " + block);
                 //Node n = (Node) parameters.get(Framework.N.getName());
                 StringBuilder b = new StringBuilder(directory);
@@ -68,48 +53,18 @@
                     b.append(block.getName());
                     b.append('/');
                 }
-                if (action) {
                     return b.toString();
-                } else {
-                    return  
org.mmbase.framework.basic.BasicUrlConverter.getUrl(b.toString(), parameters , 
request, escapeAmps);
                 }
 
-            } else {
-                log.debug("No block found");
-                return null;
-            }
-        }
-    }
 
-    public String getUrl(String path,
-                         Map<String, Object> parameters,
-                         Parameters frameworkParameters, boolean escapeAmps) 
throws FrameworkException {
-        return getUrl(path, parameters, frameworkParameters, escapeAmps, 
false);
-    }
-    public String getProcessUrl(String path,
-                                Map<String, Object> parameters,
-                                Parameters frameworkParameters, boolean 
escapeAmps) throws FrameworkException {
-        return getUrl(path, parameters, frameworkParameters, escapeAmps, true);
-    }
-
-    public String getInternalUrl(String page, Map<String, Object> params, 
Parameters frameworkParameters) throws FrameworkException {
-        HttpServletRequest request = 
frameworkParameters.get(Parameter.REQUEST);
-        if (page == null) throw new IllegalArgumentException();
-        if (page.startsWith(directory + '/')) {
-            log.debug("Found a didactor url");
-            String sp = FrameworkFilter.getPath(request);
-            String[] path = sp.split("/");
-            if (log.isDebugEnabled()) {
-                log.debug("Going to filter " + Arrays.asList(path));
-            }
-            if (path.length >= 3) {
+    @Override protected String getFilteredInternalDirectoryUrl(List<String> 
path, Map<String, Object> blockParameters, Parameters frameworkParameters) {
                 StringBuilder result = new 
StringBuilder("/shared/render.jspx");
-                assert path[0].equals("");
-                assert path[1].equals(directory.substring(1));
                 // article mode
-                Component component = 
ComponentRepository.getInstance().getComponent(path[2]);
+        Component component = 
ComponentRepository.getInstance().getComponent(path.get(0));
                 Setting<String> setting = (Setting<String>) 
component.getSetting("didactor_nodeprovider");
                 String value = "education";
+        HttpServletRequest request = 
frameworkParameters.get(Parameter.REQUEST);
+
                 if (setting != null) {
                     Framework fw = Framework.getInstance();
                     Parameters ps = fw.createSettingValueParameters();
@@ -121,19 +76,11 @@
 
                 result.append("?name=");
                 result.append(component.getName());
-                Block block = path.length > 3 ? component.getBlock(path[3]) : 
component.getDefaultBlock();
+        Block block = path.size() > 0 ? component.getBlock(path.get(1)) : 
component.getDefaultBlock();
                 if (block == null) return null;
                 result.append("&block=");
                 result.append(block.getName());
                 return result.toString();
-            } else {
-                log.debug("path length " + path.length);
-                return null;
-            }
-        } else {
-            log.debug("Leaving unfiltered");
-            return null;
-        }
     }
 
     public String toString() {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to