//# 0 errors, 164 messages
//#
/*
    //#EntryBase.java:1:1: class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

package org.apache.roller.weblogger.ui.struts2.editor;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.plugins.PluginManager;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.plugins.entry.WeblogEntryPlugin;
import org.apache.roller.weblogger.business.search.IndexManager;
import org.apache.roller.weblogger.pojos.WeblogPermission;
import org.apache.roller.weblogger.pojos.WeblogEntry;
import org.apache.roller.weblogger.ui.core.RollerContext;
import org.apache.roller.weblogger.ui.core.plugins.UIPluginManager;
import org.apache.roller.weblogger.ui.core.plugins.WeblogEntryEditor;
import org.apache.roller.weblogger.ui.struts2.util.UIAction;


/**
 * A collection of base functionality used by entry actions.
 */
public abstract class EntryBase extends UIAction {
    //#EntryBase.java:43: method: void org.apache.roller.weblogger.ui.struts2.editor.EntryBase.org.apache.roller.weblogger.ui.struts2.editor.EntryBase()
    //#EntryBase.java:43: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.ui.struts2.util.UIAction()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: void org.apache.roller.weblogger.ui.struts2.editor.EntryBase()
    //#    unanalyzed callee: void org.apache.roller.weblogger.ui.struts2.util.UIAction()
    //#input(void org.apache.roller.weblogger.ui.struts2.editor.EntryBase()): this
    //#EntryBase.java:43: end of method: void org.apache.roller.weblogger.ui.struts2.editor.EntryBase.org.apache.roller.weblogger.ui.struts2.editor.EntryBase()
   
    private static Log log = LogFactory.getLog(EntryBase.class);
    //#EntryBase.java:45: method: org.apache.roller.weblogger.ui.struts2.editor.EntryBase.org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init
    //#EntryBase.java:45: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/EntryBase]
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getEditor()Lorg/apache/roller/weblogger/ui/core/plugins/WeblogEntryEditor;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getEntryPlugins()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getJsonAutocompleteUrl()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getRecentDraftEntries()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getRecentPendingEntries()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getRecentPublishedEntries()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getRecentScheduledEntries()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.isUserAnAuthor()Z
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.reindexEntry(Lorg/apache/roller/weblogger/pojos/WeblogEntry;)V
    //#output(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): log
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/struts2/editor/EntryBase] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getEditor()Lorg/apache/roller/weblogger/ui/core/plugins/WeblogEntryEditor; == &getEditor
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getEntryPlugins()Ljava/util/List; == &getEntryPlugins
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getJsonAutocompleteUrl()Ljava/lang/String; == &getJsonAutocompleteUrl
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getRecentDraftEntries()Ljava/util/List; == &getRecentDraftEntries
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getRecentPendingEntries()Ljava/util/List; == &getRecentPendingEntries
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getRecentPublishedEntries()Ljava/util/List; == &getRecentPublishedEntries
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.getRecentScheduledEntries()Ljava/util/List; == &getRecentScheduledEntries
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.isUserAnAuthor()Z == &isUserAnAuthor
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): __Dispatch_Table.reindexEntry(Lorg/apache/roller/weblogger/pojos/WeblogEntry;)V == &reindexEntry
    //#post(org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init): init'ed(log)
    //#EntryBase.java:45: end of method: org.apache.roller.weblogger.ui.struts2.editor.EntryBase.org.apache.roller.weblogger.ui.struts2.editor.EntryBase__static_init
    
    
    /**
     * Trigger reindexing of modified entry.
     */
    protected void reindexEntry(WeblogEntry entry) {
        IndexManager manager = WebloggerFactory.getWeblogger().getIndexManager();
    //#EntryBase.java:52: method: void org.apache.roller.weblogger.ui.struts2.editor.EntryBase.reindexEntry(WeblogEntry)
    //#EntryBase.java:52: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: void reindexEntry(WeblogEntry)
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#EntryBase.java:52: Warning: method not available
    //#    -- call on IndexManager org.apache.roller.weblogger.business.Weblogger:getIndexManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: void reindexEntry(WeblogEntry)
    //#    unanalyzed callee: IndexManager org.apache.roller.weblogger.business.Weblogger:getIndexManager()
    //#input(void reindexEntry(WeblogEntry)): entry
    //#input(void reindexEntry(WeblogEntry)): log
    //#pre[1] (void reindexEntry(WeblogEntry)): entry != null
    //#pre[2] (void reindexEntry(WeblogEntry)): (soft) log != null
    //#presumption(void reindexEntry(WeblogEntry)): org.apache.roller.weblogger.business.Weblogger:getIndexManager(...)@52 != null
    //#presumption(void reindexEntry(WeblogEntry)): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@52 != null
    //#test_vector(void reindexEntry(WeblogEntry)): org.apache.roller.weblogger.pojos.WeblogEntry:isPublished(...)@55: {0}, {1}
        
        // if published, index the entry
        if (entry.isPublished()) {
    //#EntryBase.java:55: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.pojos.WeblogEntry:isPublished()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: void reindexEntry(WeblogEntry)
    //#    unanalyzed callee: bool org.apache.roller.weblogger.pojos.WeblogEntry:isPublished()
            try {
                manager.addEntryReIndexOperation(entry);
    //#EntryBase.java:57: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.business.search.IndexManager:addEntryReIndexOperation(WeblogEntry)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: void reindexEntry(WeblogEntry)
    //#    unanalyzed callee: void org.apache.roller.weblogger.business.search.IndexManager:addEntryReIndexOperation(WeblogEntry)
            } catch (WebloggerException ex) {
                log.warn("Trouble triggering entry indexing", ex);
    //#EntryBase.java:59: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:warn(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: void reindexEntry(WeblogEntry)
    //#    unanalyzed callee: void org.apache.commons.logging.Log:warn(Object, Throwable)
            }
        }
    }
    //#EntryBase.java:62: end of method: void org.apache.roller.weblogger.ui.struts2.editor.EntryBase.reindexEntry(WeblogEntry)
    
    
    /**
     * Get recent weblog entries using request parameters to determine
     * username, date, and category name parameters.
     * @return List of WeblogEntryData objects.
     * @throws WebloggerException
     */
    public List<WeblogEntry> getRecentPublishedEntries() {
        List<WeblogEntry> entries = Collections.EMPTY_LIST;
    //#EntryBase.java:72: method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getRecentPublishedEntries()
    //#input(List getRecentPublishedEntries()): java.util.Collections.EMPTY_LIST
    //#input(List getRecentPublishedEntries()): log
    //#input(List getRecentPublishedEntries()): this
    //#output(List getRecentPublishedEntries()): return_value
    //#pre[1] (List getRecentPublishedEntries()): (soft) log != null
    //#presumption(List getRecentPublishedEntries()): init'ed(java.util.Collections.EMPTY_LIST)
    //#presumption(List getRecentPublishedEntries()): org.apache.roller.weblogger.business.Weblogger:getWeblogManager(...)@74 != null
    //#presumption(List getRecentPublishedEntries()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@74 != null
    //#post(List getRecentPublishedEntries()): init'ed(return_value)
        try {
            entries = WebloggerFactory.getWeblogger().getWeblogManager().getWeblogEntries(
    //#EntryBase.java:74: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPublishedEntries()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#EntryBase.java:74: Warning: method not available
    //#    -- call on WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPublishedEntries()
    //#    unanalyzed callee: WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#EntryBase.java:74: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPublishedEntries()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#EntryBase.java:74: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries(Weblog, User, Date, Date, String, List, String, String, String, String, String, int, int)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPublishedEntries()
    //#    unanalyzed callee: List org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries(Weblog, User, Date, Date, String, List, String, String, String, String, String, int, int)
                    
                    getActionWeblog(), // userName
                    null,
                    null,              // startDate
                    null,              // endDate
                    null,              // catName
                    null,WeblogEntry.PUBLISHED, // status
                    null,              // text
                    null,              // sortby (null for pubTime)
                    null,
                    null,
                    0, 20);
        } catch (WebloggerException ex) {
            log.error("Error getting entries list", ex);
    //#EntryBase.java:88: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPublishedEntries()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
        }
        return entries;
    //#EntryBase.java:90: end of method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getRecentPublishedEntries()
    }
    
    
    /**
     * Get recent weblog entries using request parameters to determine
     * username, date, and category name parameters.
     * @return List of WeblogEntryData objects.
     * @throws WebloggerException
     */
    public List<WeblogEntry> getRecentScheduledEntries() {
        List<WeblogEntry> entries = Collections.EMPTY_LIST;
    //#EntryBase.java:101: method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getRecentScheduledEntries()
    //#input(List getRecentScheduledEntries()): java.util.Collections.EMPTY_LIST
    //#input(List getRecentScheduledEntries()): log
    //#input(List getRecentScheduledEntries()): this
    //#output(List getRecentScheduledEntries()): return_value
    //#pre[1] (List getRecentScheduledEntries()): (soft) log != null
    //#presumption(List getRecentScheduledEntries()): init'ed(java.util.Collections.EMPTY_LIST)
    //#presumption(List getRecentScheduledEntries()): org.apache.roller.weblogger.business.Weblogger:getWeblogManager(...)@103 != null
    //#presumption(List getRecentScheduledEntries()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@103 != null
    //#post(List getRecentScheduledEntries()): init'ed(return_value)
        try {
            entries = WebloggerFactory.getWeblogger().getWeblogManager().getWeblogEntries(
    //#EntryBase.java:103: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentScheduledEntries()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#EntryBase.java:103: Warning: method not available
    //#    -- call on WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentScheduledEntries()
    //#    unanalyzed callee: WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#EntryBase.java:103: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentScheduledEntries()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#EntryBase.java:103: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries(Weblog, User, Date, Date, String, List, String, String, String, String, String, int, int)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentScheduledEntries()
    //#    unanalyzed callee: List org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries(Weblog, User, Date, Date, String, List, String, String, String, String, String, int, int)
                    
                    getActionWeblog(), // userName
                    null,
                    null,              // startDate
                    null,              // endDate
                    null,              // catName
                    null,WeblogEntry.SCHEDULED, // status
                    null,              // text
                    null,              // sortby (null for pubTime)
                    null,
                    null,
                    0, 20);
        } catch (WebloggerException ex) {
            log.error("Error getting entries list", ex);
    //#EntryBase.java:117: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentScheduledEntries()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
        }
        return entries;
    //#EntryBase.java:119: end of method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getRecentScheduledEntries()
    }
    
    /**
     * Get recent weblog entries using request parameters to determine
     * username, date, and category name parameters.
     * @return List of WeblogEntryData objects.
     * @throws WebloggerException
     */
    public List<WeblogEntry> getRecentDraftEntries() {
        List<WeblogEntry> entries = Collections.EMPTY_LIST;
    //#EntryBase.java:129: method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getRecentDraftEntries()
    //#input(List getRecentDraftEntries()): java.util.Collections.EMPTY_LIST
    //#input(List getRecentDraftEntries()): log
    //#input(List getRecentDraftEntries()): this
    //#output(List getRecentDraftEntries()): return_value
    //#pre[1] (List getRecentDraftEntries()): (soft) log != null
    //#presumption(List getRecentDraftEntries()): init'ed(java.util.Collections.EMPTY_LIST)
    //#presumption(List getRecentDraftEntries()): org.apache.roller.weblogger.business.Weblogger:getWeblogManager(...)@131 != null
    //#presumption(List getRecentDraftEntries()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@131 != null
    //#post(List getRecentDraftEntries()): init'ed(return_value)
        try {
            entries = WebloggerFactory.getWeblogger().getWeblogManager().getWeblogEntries(
    //#EntryBase.java:131: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentDraftEntries()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#EntryBase.java:131: Warning: method not available
    //#    -- call on WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentDraftEntries()
    //#    unanalyzed callee: WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#EntryBase.java:131: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentDraftEntries()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#EntryBase.java:131: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries(Weblog, User, Date, Date, String, List, String, String, String, String, String, int, int)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentDraftEntries()
    //#    unanalyzed callee: List org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries(Weblog, User, Date, Date, String, List, String, String, String, String, String, int, int)
                    
                    getActionWeblog(),
                    null,
                    null,              // startDate
                    null,              // endDate
                    null,              // catName
                    null,WeblogEntry.DRAFT, // status
                    null,              // text
                    "updateTime",      // sortby
                    null,
                    null,
                    0, 20);  // maxEntries
        } catch (WebloggerException ex) {
            log.error("Error getting entries list", ex);
    //#EntryBase.java:145: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentDraftEntries()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
        }
        return entries;
    //#EntryBase.java:147: end of method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getRecentDraftEntries()
    }
    
    /**
     * Get recent weblog entries using request parameters to determine
     * username, date, and category name parameters.
     * @return List of WeblogEntryData objects.
     * @throws WebloggerException
     */
    public List<WeblogEntry> getRecentPendingEntries() {
        List<WeblogEntry> entries = Collections.EMPTY_LIST;
    //#EntryBase.java:157: method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getRecentPendingEntries()
    //#input(List getRecentPendingEntries()): java.util.Collections.EMPTY_LIST
    //#input(List getRecentPendingEntries()): log
    //#input(List getRecentPendingEntries()): this
    //#output(List getRecentPendingEntries()): return_value
    //#pre[1] (List getRecentPendingEntries()): (soft) log != null
    //#presumption(List getRecentPendingEntries()): init'ed(java.util.Collections.EMPTY_LIST)
    //#presumption(List getRecentPendingEntries()): org.apache.roller.weblogger.business.Weblogger:getWeblogManager(...)@159 != null
    //#presumption(List getRecentPendingEntries()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@159 != null
    //#post(List getRecentPendingEntries()): init'ed(return_value)
        try {
            entries = WebloggerFactory.getWeblogger().getWeblogManager().getWeblogEntries(
    //#EntryBase.java:159: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPendingEntries()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#EntryBase.java:159: Warning: method not available
    //#    -- call on WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPendingEntries()
    //#    unanalyzed callee: WeblogManager org.apache.roller.weblogger.business.Weblogger:getWeblogManager()
    //#EntryBase.java:159: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPendingEntries()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#EntryBase.java:159: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries(Weblog, User, Date, Date, String, List, String, String, String, String, String, int, int)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPendingEntries()
    //#    unanalyzed callee: List org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries(Weblog, User, Date, Date, String, List, String, String, String, String, String, int, int)
                    
                    getActionWeblog(),
                    null,
                    null,              // startDate
                    null,              // endDate
                    null,              // catName
                    null,WeblogEntry.PENDING, // status
                    null,              // text
                    "updateTime",      // sortby
                    null,
                    null,
                    0, 20);
        } catch (WebloggerException ex) {
            log.error("Error getting entries list", ex);
    //#EntryBase.java:173: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getRecentPendingEntries()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
        }
        return entries;
    //#EntryBase.java:175: end of method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getRecentPendingEntries()
    }
    
    
    public List<WeblogEntryPlugin> getEntryPlugins() {
        List<WeblogEntryPlugin> availablePlugins = Collections.EMPTY_LIST;
    //#EntryBase.java:180: method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getEntryPlugins()
    //#input(List getEntryPlugins()): java.util.Collections.EMPTY_LIST
    //#input(List getEntryPlugins()): log
    //#input(List getEntryPlugins()): this
    //#output(List getEntryPlugins()): new ArrayList(getEntryPlugins#1) num objects
    //#output(List getEntryPlugins()): return_value
    //#new obj(List getEntryPlugins()): new ArrayList(getEntryPlugins#1)
    //#pre[1] (List getEntryPlugins()): (soft) log != null
    //#presumption(List getEntryPlugins()): init'ed(java.util.Collections.EMPTY_LIST)
    //#presumption(List getEntryPlugins()): java.util.Map:values(...)@187 != null
    //#presumption(List getEntryPlugins()): org.apache.roller.weblogger.business.Weblogger:getPluginManager(...)@182 != null
    //#presumption(List getEntryPlugins()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@182 != null
    //#presumption(List getEntryPlugins()): org.apache.roller.weblogger.business.plugins.PluginManager:getWeblogEntryPlugins(...)@183 != null
    //#post(List getEntryPlugins()): return_value == One-of{java.util.Collections.EMPTY_LIST, &new ArrayList(getEntryPlugins#1)}
    //#post(List getEntryPlugins()): (soft) init'ed(return_value)
    //#post(List getEntryPlugins()): new ArrayList(getEntryPlugins#1) num objects <= 1
        try {
            PluginManager ppmgr = WebloggerFactory.getWeblogger().getPluginManager();
    //#EntryBase.java:182: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getEntryPlugins()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#EntryBase.java:182: Warning: method not available
    //#    -- call on PluginManager org.apache.roller.weblogger.business.Weblogger:getPluginManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getEntryPlugins()
    //#    unanalyzed callee: PluginManager org.apache.roller.weblogger.business.Weblogger:getPluginManager()
            Map<String, WeblogEntryPlugin> plugins = ppmgr.getWeblogEntryPlugins(getActionWeblog());
    //#EntryBase.java:183: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getEntryPlugins()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#EntryBase.java:183: Warning: method not available
    //#    -- call on Map org.apache.roller.weblogger.business.plugins.PluginManager:getWeblogEntryPlugins(Weblog)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getEntryPlugins()
    //#    unanalyzed callee: Map org.apache.roller.weblogger.business.plugins.PluginManager:getWeblogEntryPlugins(Weblog)
            
            if(plugins.size() > 0) {
                availablePlugins = new ArrayList();
                for(WeblogEntryPlugin plugin : plugins.values()) {
                    availablePlugins.add(plugin);
                }
            }
        } catch (Exception ex) {
            log.error("Error getting plugins list", ex);
    //#EntryBase.java:192: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: List getEntryPlugins()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
        }
        return availablePlugins;
    //#EntryBase.java:194: end of method: List org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getEntryPlugins()
    }
    
    
    public WeblogEntryEditor getEditor() {
        UIPluginManager pmgr = RollerContext.getUIPluginManager();
    //#EntryBase.java:199: method: WeblogEntryEditor org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getEditor()
    //#EntryBase.java:199: Warning: method not available
    //#    -- call on UIPluginManager org.apache.roller.weblogger.ui.core.RollerContext:getUIPluginManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: WeblogEntryEditor getEditor()
    //#    unanalyzed callee: UIPluginManager org.apache.roller.weblogger.ui.core.RollerContext:getUIPluginManager()
    //#input(WeblogEntryEditor getEditor()): this
    //#output(WeblogEntryEditor getEditor()): return_value
    //#presumption(WeblogEntryEditor getEditor()): org.apache.roller.weblogger.ui.core.RollerContext:getUIPluginManager(...)@199 != null
    //#presumption(WeblogEntryEditor getEditor()): org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog(...)@200 != null
    //#post(WeblogEntryEditor getEditor()): init'ed(return_value)
        return pmgr.getWeblogEntryEditor(getActionWeblog().getEditorPage());
    //#EntryBase.java:200: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: WeblogEntryEditor getEditor()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#EntryBase.java:200: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.pojos.Weblog:getEditorPage()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: WeblogEntryEditor getEditor()
    //#    unanalyzed callee: String org.apache.roller.weblogger.pojos.Weblog:getEditorPage()
    //#EntryBase.java:200: Warning: method not available
    //#    -- call on WeblogEntryEditor org.apache.roller.weblogger.ui.core.plugins.UIPluginManager:getWeblogEntryEditor(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: WeblogEntryEditor getEditor()
    //#    unanalyzed callee: WeblogEntryEditor org.apache.roller.weblogger.ui.core.plugins.UIPluginManager:getWeblogEntryEditor(String)
    //#EntryBase.java:200: end of method: WeblogEntryEditor org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getEditor()
    }
    
    
    public boolean isUserAnAuthor() {
        return getActionWeblog().hasUserPermissions(getAuthenticatedUser(),WeblogPermission.AUTHOR);
    //#EntryBase.java:205: method: bool org.apache.roller.weblogger.ui.struts2.editor.EntryBase.isUserAnAuthor()
    //#EntryBase.java:205: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: bool isUserAnAuthor()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#EntryBase.java:205: Warning: method not available
    //#    -- call on User org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getAuthenticatedUser()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: bool isUserAnAuthor()
    //#    unanalyzed callee: User org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getAuthenticatedUser()
    //#EntryBase.java:205: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.pojos.Weblog:hasUserPermissions(User, short)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: bool isUserAnAuthor()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.pojos.Weblog:hasUserPermissions(User, short)
    //#input(bool isUserAnAuthor()): org.apache.roller.weblogger.pojos.WeblogPermission.AUTHOR
    //#input(bool isUserAnAuthor()): this
    //#output(bool isUserAnAuthor()): return_value
    //#presumption(bool isUserAnAuthor()): init'ed(org.apache.roller.weblogger.pojos.WeblogPermission.AUTHOR)
    //#presumption(bool isUserAnAuthor()): org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog(...)@205 != null
    //#post(bool isUserAnAuthor()): init'ed(return_value)
    //#EntryBase.java:205: end of method: bool org.apache.roller.weblogger.ui.struts2.editor.EntryBase.isUserAnAuthor()
    }
    
    
    public String getJsonAutocompleteUrl() {
        return WebloggerFactory.getWeblogger().getUrlStrategy().getWeblogTagsJsonURL(getActionWeblog(), false);
    //#EntryBase.java:210: method: String org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getJsonAutocompleteUrl()
    //#EntryBase.java:210: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: String getJsonAutocompleteUrl()
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#EntryBase.java:210: Warning: method not available
    //#    -- call on URLStrategy org.apache.roller.weblogger.business.Weblogger:getUrlStrategy()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: String getJsonAutocompleteUrl()
    //#    unanalyzed callee: URLStrategy org.apache.roller.weblogger.business.Weblogger:getUrlStrategy()
    //#EntryBase.java:210: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: String getJsonAutocompleteUrl()
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.struts2.editor.EntryBase:getActionWeblog()
    //#EntryBase.java:210: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.business.URLStrategy:getWeblogTagsJsonURL(Weblog, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
    //#    method: String getJsonAutocompleteUrl()
    //#    unanalyzed callee: String org.apache.roller.weblogger.business.URLStrategy:getWeblogTagsJsonURL(Weblog, bool)
    //#input(String getJsonAutocompleteUrl()): this
    //#output(String getJsonAutocompleteUrl()): return_value
    //#presumption(String getJsonAutocompleteUrl()): org.apache.roller.weblogger.business.Weblogger:getUrlStrategy(...)@210 != null
    //#presumption(String getJsonAutocompleteUrl()): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@210 != null
    //#post(String getJsonAutocompleteUrl()): init'ed(return_value)
    //#EntryBase.java:210: end of method: String org.apache.roller.weblogger.ui.struts2.editor.EntryBase.getJsonAutocompleteUrl()
    }
    
}
    //#EntryBase.java:: end of class: org.apache.roller.weblogger.ui.struts2.editor.EntryBase
