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