//# 0 errors, 50 messages
//#
package net.sourceforge.pebble.web.action;
    //#abstracttrackbackaction.java:1:1: class: net.sourceforge.pebble.web.action.AbstractTrackBackAction

import net.sourceforge.pebble.domain.BlogEntry;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * Superclass for TrackBack link generation actions.
 *
 * @author    Simon Brown
 */
public abstract class AbstractTrackBackAction extends Action {
    //#abstracttrackbackaction.java:13: method: void net.sourceforge.pebble.web.action.AbstractTrackBackAction.net.sourceforge.pebble.web.action.AbstractTrackBackAction()
    //#input(void net.sourceforge.pebble.web.action.AbstractTrackBackAction()): this
    //#abstracttrackbackaction.java:13: end of method: void net.sourceforge.pebble.web.action.AbstractTrackBackAction.net.sourceforge.pebble.web.action.AbstractTrackBackAction()

  public static final String BLOG_ENTRY_ID = "trackBack.blogEntryId";

  /** the log used by this class */
  private static Log log = LogFactory.getLog(AbstractTrackBackAction.class);
    //#abstracttrackbackaction.java:18: method: net.sourceforge.pebble.web.action.AbstractTrackBackAction.net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init
    //#abstracttrackbackaction.java:18: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.web.action.AbstractTrackBackAction
    //#    method: net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Descendant_Table[net/sourceforge/pebble/web/action/AbstractTrackBackAction]
    //#output(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.generateTrackBackLink(Lnet/sourceforge/pebble/domain/BlogEntry;)V
    //#output(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.getLocalizedString(Ljava/lang/String;)Ljava/lang/String;
    //#output(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.getModel()Lnet/sourceforge/pebble/web/model/Model;
    //#output(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.process(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lnet/sourceforge/pebble/web/view/View;
    //#output(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.setModel(Lnet/sourceforge/pebble/web/model/Model;)V
    //#output(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): log
    //#output(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): net/sourceforge/pebble/web/action/Action.__Descendant_Table[net/sourceforge/pebble/web/action/AbstractTrackBackAction]
    //#post(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Descendant_Table[net/sourceforge/pebble/web/action/AbstractTrackBackAction] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): net/sourceforge/pebble/web/action/Action.__Descendant_Table[net/sourceforge/pebble/web/action/AbstractTrackBackAction] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.generateTrackBackLink(Lnet/sourceforge/pebble/domain/BlogEntry;)V == &generateTrackBackLink
    //#post(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.getLocalizedString(Ljava/lang/String;)Ljava/lang/String; == &net/sourceforge/pebble/web/action/Action.getLocalizedString
    //#post(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.getModel()Lnet/sourceforge/pebble/web/model/Model; == &net/sourceforge/pebble/web/action/Action.getModel
    //#post(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.process(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lnet/sourceforge/pebble/web/view/View; == &net/sourceforge/pebble/web/action/Action.process
    //#post(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): __Dispatch_Table.setModel(Lnet/sourceforge/pebble/web/model/Model;)V == &net/sourceforge/pebble/web/action/Action.setModel
    //#post(net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init): init'ed(log)
    //#abstracttrackbackaction.java:18: end of method: net.sourceforge.pebble.web.action.AbstractTrackBackAction.net.sourceforge.pebble.web.action.AbstractTrackBackAction__static_init

  protected void generateTrackBackLink(BlogEntry blogEntry) {
    getModel().put("trackBackLinkExpires", "true");
    //#abstracttrackbackaction.java:21: method: void net.sourceforge.pebble.web.action.AbstractTrackBackAction.generateTrackBackLink(BlogEntry)
    //#abstracttrackbackaction.java:21: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: net.sourceforge.pebble.web.action.AbstractTrackBackAction
    //#    method: void generateTrackBackLink(BlogEntry)
    //#    suspicious precondition index: [3]
    //#input(void generateTrackBackLink(BlogEntry)): __Descendant_Table[net/sourceforge/pebble/web/action/AbstractTrackBackAction]
    //#input(void generateTrackBackLink(BlogEntry)): __Descendant_Table[net/sourceforge/pebble/web/action/ConfirmTrackBackAction]
    //#input(void generateTrackBackLink(BlogEntry)): __Descendant_Table[net/sourceforge/pebble/web/action/GenerateTrackBackLinkAction]
    //#input(void generateTrackBackLink(BlogEntry)): __Descendant_Table[others]
    //#input(void generateTrackBackLink(BlogEntry)): __Dispatch_Table.getModel()Lnet/sourceforge/pebble/web/model/Model;
    //#input(void generateTrackBackLink(BlogEntry)): blogEntry
    //#input(void generateTrackBackLink(BlogEntry)): net/sourceforge/pebble/web/action/ConfirmTrackBackAction.__Dispatch_Table.getModel()Lnet/sourceforge/pebble/web/model/Model;
    //#input(void generateTrackBackLink(BlogEntry)): net/sourceforge/pebble/web/action/GenerateTrackBackLinkAction.__Dispatch_Table.getModel()Lnet/sourceforge/pebble/web/model/Model;
    //#input(void generateTrackBackLink(BlogEntry)): net/sourceforge/pebble/web/model/Model.__Descendant_Table[net/sourceforge/pebble/web/model/Model]
    //#input(void generateTrackBackLink(BlogEntry)): net/sourceforge/pebble/web/model/Model.__Descendant_Table[others]
    //#input(void generateTrackBackLink(BlogEntry)): net/sourceforge/pebble/web/model/Model.__Dispatch_Table.put(Ljava/lang/String;Ljava/lang/Object;)V
    //#input(void generateTrackBackLink(BlogEntry)): this
    //#input(void generateTrackBackLink(BlogEntry)): this.__Tag
    //#input(void generateTrackBackLink(BlogEntry)): this.model
    //#input(void generateTrackBackLink(BlogEntry)): this.model.__Tag
    //#input(void generateTrackBackLink(BlogEntry)): this.model.data
    //#pre[1] (void generateTrackBackLink(BlogEntry)): blogEntry != null
    //#pre[3] (void generateTrackBackLink(BlogEntry)): this.__Tag in {net/sourceforge/pebble/web/action/AbstractTrackBackAction, net/sourceforge/pebble/web/action/ConfirmTrackBackAction, net/sourceforge/pebble/web/action/GenerateTrackBackLinkAction}
    //#pre[4] (void generateTrackBackLink(BlogEntry)): this.model != null
    //#pre[5] (void generateTrackBackLink(BlogEntry)): this.model.__Tag == net/sourceforge/pebble/web/model/Model
    //#pre[6] (void generateTrackBackLink(BlogEntry)): this.model.data != null
    //#unanalyzed(void generateTrackBackLink(BlogEntry)): Effects-of-calling:java.util.HashMap:put
    getModel().put("trackBackLink", blogEntry.getTrackBackLink());
    //#abstracttrackbackaction.java:22: Warning: method not available
    //#    -- call on String net.sourceforge.pebble.domain.BlogEntry:getTrackBackLink()
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.web.action.AbstractTrackBackAction
    //#    method: void generateTrackBackLink(BlogEntry)
    //#    unanalyzed callee: String net.sourceforge.pebble.domain.BlogEntry:getTrackBackLink()
  }
    //#abstracttrackbackaction.java:23: end of method: void net.sourceforge.pebble.web.action.AbstractTrackBackAction.generateTrackBackLink(BlogEntry)

}
    //#abstracttrackbackaction.java:: end of class: net.sourceforge.pebble.web.action.AbstractTrackBackAction
