public String getWeblogCollectionURL()

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();
    }