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é 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