in app/src/main/java/org/apache/roller/weblogger/business/PreviewURLStrategy.java [122:182]
public String getWeblogCollectionURL(Weblog weblog,
String locale,
String category,
String dateString,
List<String> tags,
int pageNum,
boolean absolute) {
if(weblog == null) {
return null;
}
StringBuilder pathinfo = new StringBuilder(URL_BUFFER_SIZE);
Map<String, String> params = new HashMap<>();
if(absolute) {
pathinfo.append(WebloggerRuntimeConfig.getAbsoluteContextURL());
} else {
pathinfo.append(WebloggerRuntimeConfig.getRelativeContextURL());
}
pathinfo.append(PREVIEW_URL_SEGMENT).append(weblog.getHandle()).append('/');
if(locale != null) {
pathinfo.append(locale).append('/');
}
String cat;
if("root".equals(category)) {
cat = null;
} else {
cat = category;
}
if(cat != null && dateString == null) {
pathinfo.append("category/").append(URLUtilities.encodePath(cat));
} else if(dateString != null && cat == null) {
pathinfo.append("date/").append(dateString);
} else if(tags != null && !tags.isEmpty()) {
pathinfo.append("tags/").append(URLUtilities.getEncodedTagsString(tags));
} else {
if (dateString != null) {
params.put("date", dateString);
}
if (cat != null) {
params.put("cat", URLUtilities.encode(cat));
}
}
if(pageNum > 0) {
params.put("page", Integer.toString(pageNum));
}
if(previewTheme != null) {
params.put("theme", URLUtilities.encode(previewTheme));
}
return pathinfo.append(URLUtilities.getQueryString(params)).toString();
}