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