org.sandev.TaskHeap.TaskHeapUI
Class UIActionHandler

java.lang.Object
  extended by org.sandev.ui.util.UIActionHandlerBase
      extended by org.sandev.TaskHeap.TaskHeapUI.UIActionHandler

public class UIActionHandler
extends org.sandev.ui.util.UIActionHandlerBase

Handles SandUI actions.


Field Summary
static java.lang.String DAY14COLOR
           
static java.lang.String DAY1COLOR
           
static java.lang.String DAY2COLOR
           
static java.lang.String DAY30COLOR
           
static java.lang.String DAY7COLOR
           
protected static int MAXPAGESIZE
          The maximum number of elements to retrieve per query.
static java.lang.String OLDCOLOR
           
 
Fields inherited from class org.sandev.ui.util.UIActionHandlerBase
classEnum, LOGDEBUG, LOGERROR, LOGINFO, LOGWARN
 
Constructor Summary
UIActionHandler()
           
 
Method Summary
 org.sandev.basics.util.UIFormContext aboutTextValueAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return the general about text placeholder.
 org.sandev.basics.util.UIFormContext accountDisplayInitAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Initialize the AccountDisplay form.
 org.sandev.basics.util.UIFormContext accountsTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Init the Accounts display
 org.sandev.basics.util.UIFormContext addNoteAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Change the current instance to be the source of the report and add a new note to it.
 boolean addNoteActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          If we are displaying a PlanComponentReport, then we present the option to directly add a new note to the source component.
 org.sandev.basics.util.UIFormContext addPlanButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Calls through to addPlanComponentAction with componentClass Plan
 boolean addPlanButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Calls through to addPlanComponentActive
 org.sandev.basics.util.UIFormContext addPlanComponentAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, java.lang.String componentClass)
          Set us up so we are adding a new component to the current Plan.
 boolean addPlanComponentActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          If we are displaying a Plan, or the PlanComponent summary of a Plan, then present the option to add a new component reference to it.
 org.sandev.basics.util.UIFormContext addTaskButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Calls through to addPlanComponentAction with componentClass Task
 boolean addTaskButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Calls through to addPlanComponentActive
 org.sandev.basics.util.UIFormContext adminFormInitAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Init the admin main form display
 org.sandev.basics.util.UIFormContext applyButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Synonym for save.
 boolean applyButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the apply button should be displayed, false otherwise.
 org.sandev.basics.util.UIFormContext associationsTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          User has clicked the "Associations" tab.
protected  boolean belongsToHeap(org.sandev.basics.structs.SandPersistMessage spm, long heapID)
          Return true if the given message belongs to the given heap, false otherwise.
protected  void calcRelDueInfo(PlanComponentInterface pci, java.util.Date defaultDue, TaskHeapUINode uinode, org.sandev.basics.util.AuthUser user)
          Calculate the dueDelta in days for the given PCI and update it.
 org.sandev.basics.util.UIFormContext collapsePlanAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Collapse the plan specified in the URL params and then display the heap again.
 boolean collapsePlanActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          UI link action only so always false for any button display
 org.sandev.basics.util.UIFormContext componentEditAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Change the current instance to be the source of the report for editing.
 boolean componentEditActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          If we are displaying a PlanComponentReport, then we present the option to switch to editing the source PlanComponent.
 org.sandev.basics.util.UIFormContext componentSummaryAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Create the summary PlanComponentReport and display it.
 boolean componentSummaryActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          If we are listing a PlanComponentStruct derived instance, then we present the option to generate a summary report for it.
 org.sandev.basics.util.UIFormContext confirmChildrenButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Verify all the contained children have the correct parent ref.
protected  void confirmChildrenRec(PlanComponentInterface pci, TaskHeapUINode uinode, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.UserWorkLog uwl)
          Verify that each referenced child has the correct parent reference.
 org.sandev.basics.util.UIFormContext confirmParentsButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Walk all of the Tasks, Plans, and ExternalPlans checking that each parent reference has the given instance as a child.
 org.sandev.basics.util.UIFormContext createHeapButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Create a new HeapAttributes instance to work with.
 boolean createHeapButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the CreateHeapButton should be displayed, false otherwise.
 org.sandev.basics.util.UIFormContext createTutorialAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Create a tutorial heap.
protected  long currHeapAssoc(org.sandev.basics.util.AuthUser authUser)
          Return the current heap association for the given user or zero if no association yet.
 org.sandev.basics.util.UIFormContext dataManagementTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          User has clicked the "Data Management" tab to init the display with the global data management functions.
 org.sandev.basics.util.UIFormContext defaultButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return the DisplayParams to the default values.
 boolean defaultButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the default button should be displayed, false otherwise.
 org.sandev.basics.util.UIFormContext displayParamsInitAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Initialize the DisplayParams.
 org.sandev.basics.util.UIFormContext dumpTableFormInitAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Initialize the dump display.
 org.sandev.basics.util.UIFormContext dumpTasksAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Switch to the dump screen to show the tasks data as a single table for spreadsheet use.
 org.sandev.basics.util.UIFormContext expandPlanAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Expand the plan specified in the URL params and then display the heap again.
 boolean expandPlanActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          UI link action only so always false for any button display
 org.sandev.basics.util.UIFormContext exportAllButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Call to export the TaskHeap report and XML dump.
 boolean exportAllButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Return true if there is at least one PlanComponent in the current tree that was modified more recently than the data export file.
protected  org.sandev.basics.util.UIFormContext exportAllHeaps(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Walk all our HeapAttributes and call exportDataAction.
 org.sandev.basics.util.UIFormContext exportDataAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Export the current heap data.
 org.sandev.basics.util.UIFormContext externalPlansTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          User has clicked the "External Plans" tab to init the display with a general ExternalPlanQuery ep15dec07: removed this from the UI but leaving the action handler here in case we decide to bring this back later.
protected  java.lang.String extractAboutText(java.net.HttpURLConnection conn, TaskHeapUINode uinode)
          Extract the about text from the open URL connection to our user manual.
 org.sandev.basics.util.UIFormContext fetchHoursButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Fetch the hours for the current ExternalPlan updating the lastModifiedReason with what we did.
 boolean fetchHoursButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if we are working with an ExternalPlan.
protected  ExternalPlan fetchHoursForExternalPlan(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, ExternalPlan ep)
          Refresh the hours for the given ExternalPlan, returning the updated version.
protected  PlanTreeElement fetchTaskHeap(org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser, org.sandev.basics.util.UIFormContext uifc)
          Retrieve the the heap tree.
 org.sandev.basics.util.UIFormContext filterButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Synonym for edit.
 boolean filterButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the filter button should be displayed, false otherwise.
 org.sandev.basics.util.UIFormContext generalTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Init the general display where we can do any kind of query.
protected  AuthFilterTaskHeap getAuthFilter(org.sandev.basics.util.UIFormOwner owner)
          Retrieve our AuthFilter.
protected  DisplayParams getDisplayParams(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, Account user)
          Return the DisplayParams or null if not found.
protected  HeapAssociation getHeapOwnerAssoc(HeapAttributes heap, org.sandev.basics.util.AuthUser user, TaskHeapUINode uinode)
          Return the owner HeapAssociation for the given heap.
protected  long getImportOffset(TaskHeapUINode uinode, Account user)
          Get the uniqueID offset for import conversion of new data.
protected  Plan[] getTopLevelPlans(long heapID, org.sandev.basics.util.AuthUser user, TaskHeapUINode uinode)
          Return the top level plans for the given heap.
 org.sandev.basics.util.UIFormContext globalExportDataButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Execute a DataImportExport message writing IMPORTEXPORTFILENAME to the output directory specified by the UIFormOwner.
 boolean globalExportDataButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the button should be active, false otherwise.
 org.sandev.basics.util.UIFormContext globalImportDataButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Execute a DataImportExport message using the previously exported IMPORTEXPORTFILENAME from the output directory as the source.
 boolean globalImportDataButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the button should be active, false otherwise.
 org.sandev.basics.util.UIFormContext heapAttributesTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          User has clicked the "Heap Attributes" tab.
 org.sandev.basics.util.UIFormContext heapsTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Init the Heaps display.
protected  org.sandev.basics.util.UIFormContext importAllHeaps(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Walk all our HeapAttributes and call importDataAction.
 org.sandev.basics.util.UIFormContext importHeapAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Locate the data export file for the current heap, and read the data from it.
protected  DisplayParams initDisplayParams(org.sandev.basics.util.UIFormOwner owner, Account user)
          Initialize a new DisplayParams instance from the current HeapAttributes and return it.
 org.sandev.basics.util.UIFormContext introTextValueAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return the general intro text for a guest user, or the just the system announcements if logged in.
 boolean isExportUpToDate(org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser, PlanTreeElement root)
          Return true if all elements in the given tree were last modified before the current export file was written.
 boolean isTreeUpToDate(PlanTreeElement root, long lastModTime, org.sandev.basics.util.UIFormOwner owner)
          Return true if all elements in the given tree were last modified before the time specified.
 org.sandev.basics.util.UIFormContext makeCurrentAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Set the current plan in the DisplayParams to be the current Plan.
 boolean makeCurrentActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the MakeCurrent button should be displayed, false otherwise.
 org.sandev.basics.util.UIFormContext markAllFinishedButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Mark everything in the current Plan as finished.
 boolean markAllFinishedButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if a resource is listing a Plan with contained elements, false otherwise.
 org.sandev.basics.util.UIFormContext markAllPendingButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Mark everything in the current Plan as pending.
 boolean markAllPendingButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the MarkAllPendingButton should be displayed, false otherwise.
 org.sandev.basics.util.UIFormContext masterWBSReportAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Calls through to myPlansFormInitAction
 boolean masterWBSReportActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          The View Heap button doesn't work if the screen is stale so it is being deactivated.
 org.sandev.basics.util.UIFormContext memoryTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Show the current best guess memory usage from our cache.
 org.sandev.basics.util.UIFormContext moveToCurrentAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Add the plan component we are currently working with to the current plan.
 boolean moveToCurrentActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          If we are viewing a component that belongs to a plan other than the one that we have current, then present the option to move it to the current plan.
 org.sandev.basics.util.UIFormContext myPlansFormInitAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Init our collection display.
protected static java.lang.String pcidesc(PlanComponentInterface pci)
          Given a PlanComponentInterface, return a short text string identifying it for logging purposes.
 org.sandev.basics.util.UIFormContext planWrapAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Create a new Plan with the current Task name, and place the current Task inside of it with a new name.
 boolean planWrapActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          If we are displaying a Task, then we present the option to wrap it into a corresponding Plan.
 org.sandev.basics.util.UIFormContext publishHeapAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Write out the entire TaskHeap into a report file suitable for offline reference.
protected  org.sandev.basics.util.UIFormContext recursiveUpdate(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, long taskPhaseID)
          Retrieve the current plan then call to update all components to the taskPhaseID specified.
protected  void recursiveUpdate(org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, long taskPhaseID, PlanComponentInterface pci, java.lang.String indent)
          Update all tasks recursively within the current plan setting their taskPhaseID to the value specified.
protected  void refreshExternalPlans(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Fetch the data for all cached ExternalPlans that are beyond the allowable latency set in the HeapAttributes.
 org.sandev.basics.util.UIFormContext reldayCalcButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          An action to calculate the relative due time in days from the heap default due date for all fixed due date plan components.
 boolean reldayCalcButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          This button is mostly used for internal data migration so it's normally turned off.
 org.sandev.basics.util.UIFormContext resourcesFormInitAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Init our query and result collection.
 org.sandev.basics.util.UIFormContext rolesTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          User has clicked the "Roles" tab to init the display with a general RoleQuery
protected  org.sandev.basics.structs.SandPersistMessage safeGetInstance(org.sandev.basics.util.UIFormOwner owner, java.lang.String instClass, long uniqueID, org.sandev.basics.util.AuthUser user)
          Return the instance or null if anything happens.
 org.sandev.basics.util.UIFormContext selectHeapAssociationButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Read the selected HeapAssociation from the id parameter, set it as the current association, and switch to the heaps display.
 boolean selectHeapAssociationButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          The SelectHapAccessButton is only referenced via URL link.
 org.sandev.basics.util.UIFormContext selectHeapButtonAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser authUser)
          Create an asociation for the current heap so we can work with it.
 boolean selectHeapButtonActive(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if the Select Heap button should be displayed, false otherwise.
 org.sandev.basics.util.UIFormContext showHeap(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
           
 org.sandev.basics.util.UIFormContext systemStatusTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Show the SystemStatus instances.
 org.sandev.basics.util.UIFormContext taskPhasesTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          User has clicked the "Task Phases" tab to init the display with a general TaskPhaseQuery
 org.sandev.basics.util.UIFormContext taskTypesTabAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UserWorkLog uwl, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          User has clicked the "Task Types" tab to init the display with a general TaskTypeQuery
protected  void verifyChildReference(PlanComponentInterface pci, TaskHeapUINode uinode, Account acc, org.sandev.basics.util.UserWorkLog uwl)
          Retrieve the parent plan for the given component and verify that it references the component as a child.
protected  void verifyCurrentHeap(org.sandev.basics.util.AuthUser user, long heapID, org.sandev.basics.util.UIFormOwner owner)
          Verify the given user has their current heap set as specified.
protected  void verifyTransmission(org.sandev.basics.structs.SandTransmitMessage stm)
          Throws if the transmit status is anything other than normal.
protected  org.sandev.basics.structs.SandPersistMessage wrappedGetInstance(org.sandev.basics.util.UIFormOwner owner, java.lang.String instClass, long uniqueID, org.sandev.basics.util.AuthUser user)
          Return the requested instance or null if it cannot be found or if anything goes wrong.
 
Methods inherited from class org.sandev.ui.util.UIActionHandlerBase
drivenByURLParameters, getClassEnum, getSpecifiedInstance, hasClassQueryAccess, initCollectionDisplay, refreshGlobalDataAction, resetContextToCollection, setClassEnum, setContextFromQuery, setContextFromQuery, verifyScreenURLParam
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DAY1COLOR

public static final java.lang.String DAY1COLOR
See Also:
Constant Field Values

DAY2COLOR

public static final java.lang.String DAY2COLOR
See Also:
Constant Field Values

DAY7COLOR

public static final java.lang.String DAY7COLOR
See Also:
Constant Field Values

DAY14COLOR

public static final java.lang.String DAY14COLOR
See Also:
Constant Field Values

DAY30COLOR

public static final java.lang.String DAY30COLOR
See Also:
Constant Field Values

OLDCOLOR

public static final java.lang.String OLDCOLOR
See Also:
Constant Field Values

MAXPAGESIZE

protected static final int MAXPAGESIZE
The maximum number of elements to retrieve per query. Used if the number of elements is not specified by the UIFormContext.

See Also:
Constant Field Values
Constructor Detail

UIActionHandler

public UIActionHandler()
Method Detail

wrappedGetInstance

protected org.sandev.basics.structs.SandPersistMessage wrappedGetInstance(org.sandev.basics.util.UIFormOwner owner,
                                                                          java.lang.String instClass,
                                                                          long uniqueID,
                                                                          org.sandev.basics.util.AuthUser user)
                                                                   throws org.sandev.basics.util.UIFormManagerException
Return the requested instance or null if it cannot be found or if anything goes wrong. Rewraps all SandExceptions as UIFormManagerExceptions

Throws:
org.sandev.basics.util.UIFormManagerException

safeGetInstance

protected org.sandev.basics.structs.SandPersistMessage safeGetInstance(org.sandev.basics.util.UIFormOwner owner,
                                                                       java.lang.String instClass,
                                                                       long uniqueID,
                                                                       org.sandev.basics.util.AuthUser user)
Return the instance or null if anything happens. Eats all SandExceptions.


verifyTransmission

protected void verifyTransmission(org.sandev.basics.structs.SandTransmitMessage stm)
                           throws org.sandev.basics.util.UIFormManagerException
Throws if the transmit status is anything other than normal.

Throws:
org.sandev.basics.util.UIFormManagerException

currHeapAssoc

protected long currHeapAssoc(org.sandev.basics.util.AuthUser authUser)
Return the current heap association for the given user or zero if no association yet.


getAuthFilter

protected AuthFilterTaskHeap getAuthFilter(org.sandev.basics.util.UIFormOwner owner)
Retrieve our AuthFilter.


introTextValueAction

public org.sandev.basics.util.UIFormContext introTextValueAction(org.sandev.basics.util.UIFormContext uifc,
                                                                 org.sandev.basics.util.UserWorkLog uwl,
                                                                 org.sandev.basics.util.UIFormOwner owner,
                                                                 org.sandev.basics.util.AuthUser user)
                                                          throws org.sandev.basics.structs.SandException
Return the general intro text for a guest user, or the just the system announcements if logged in. We do the system announcements in either case since sometimes they are important to see even before you have logged in.

Throws:
org.sandev.basics.structs.SandException

accountDisplayInitAction

public org.sandev.basics.util.UIFormContext accountDisplayInitAction(org.sandev.basics.util.UIFormContext uifc,
                                                                     org.sandev.basics.util.UserWorkLog uwl,
                                                                     org.sandev.basics.util.UIFormOwner owner,
                                                                     org.sandev.basics.util.AuthUser user)
                                                              throws org.sandev.basics.structs.SandException
Initialize the AccountDisplay form. If the form is listing the guest account, then it is hidden. We call to rebuild the heap associations since additional associations may have been created but not associated with the account yet (like an invite).

Throws:
org.sandev.basics.structs.SandException

createHeapButtonActive

public boolean createHeapButtonActive(org.sandev.basics.util.UIFormContext uifc,
                                      org.sandev.basics.util.UIFormOwner owner,
                                      org.sandev.basics.util.AuthUser user)
Return true if the CreateHeapButton should be displayed, false otherwise. Generally this button is always available, although we may hide it later until after a user has done the tutorial.


createHeapButtonAction

public org.sandev.basics.util.UIFormContext createHeapButtonAction(org.sandev.basics.util.UIFormContext uifc,
                                                                   org.sandev.basics.util.UserWorkLog uwl,
                                                                   org.sandev.basics.util.UIFormOwner owner,
                                                                   org.sandev.basics.util.AuthUser user)
                                                            throws org.sandev.basics.util.UIFormManagerException
Create a new HeapAttributes instance to work with.

Throws:
org.sandev.basics.util.UIFormManagerException

selectHeapAssociationButtonActive

public boolean selectHeapAssociationButtonActive(org.sandev.basics.util.UIFormContext uifc,
                                                 org.sandev.basics.util.UIFormOwner owner,
                                                 org.sandev.basics.util.AuthUser user)
The SelectHapAccessButton is only referenced via URL link.


selectHeapAssociationButtonAction

public org.sandev.basics.util.UIFormContext selectHeapAssociationButtonAction(org.sandev.basics.util.UIFormContext uifc,
                                                                              org.sandev.basics.util.UserWorkLog uwl,
                                                                              org.sandev.basics.util.UIFormOwner owner,
                                                                              org.sandev.basics.util.AuthUser user)
                                                                       throws org.sandev.basics.structs.SandException
Read the selected HeapAssociation from the id parameter, set it as the current association, and switch to the heaps display.

Throws:
org.sandev.basics.structs.SandException

displayParamsInitAction

public org.sandev.basics.util.UIFormContext displayParamsInitAction(org.sandev.basics.util.UIFormContext uifc,
                                                                    org.sandev.basics.util.UserWorkLog uwl,
                                                                    org.sandev.basics.util.UIFormOwner owner,
                                                                    org.sandev.basics.util.AuthUser authUser)
                                                             throws org.sandev.basics.util.UIFormManagerException
Initialize the DisplayParams.

Throws:
org.sandev.basics.util.UIFormManagerException

initDisplayParams

protected DisplayParams initDisplayParams(org.sandev.basics.util.UIFormOwner owner,
                                          Account user)
Initialize a new DisplayParams instance from the current HeapAttributes and return it.


filterButtonActive

public boolean filterButtonActive(org.sandev.basics.util.UIFormContext uifc,
                                  org.sandev.basics.util.UIFormOwner owner,
                                  org.sandev.basics.util.AuthUser user)
Return true if the filter button should be displayed, false otherwise.


filterButtonAction

public org.sandev.basics.util.UIFormContext filterButtonAction(org.sandev.basics.util.UIFormContext uifc,
                                                               org.sandev.basics.util.UserWorkLog uwl,
                                                               org.sandev.basics.util.UIFormOwner owner,
                                                               org.sandev.basics.util.AuthUser user)
                                                        throws org.sandev.basics.util.UIFormManagerException
Synonym for edit. Sets the action to be edit and falls through to the standard processing.

Throws:
org.sandev.basics.util.UIFormManagerException

applyButtonActive

public boolean applyButtonActive(org.sandev.basics.util.UIFormContext uifc,
                                 org.sandev.basics.util.UIFormOwner owner,
                                 org.sandev.basics.util.AuthUser user)
Return true if the apply button should be displayed, false otherwise.


applyButtonAction

public org.sandev.basics.util.UIFormContext applyButtonAction(org.sandev.basics.util.UIFormContext uifc,
                                                              org.sandev.basics.util.UserWorkLog uwl,
                                                              org.sandev.basics.util.UIFormOwner owner,
                                                              org.sandev.basics.util.AuthUser user)
                                                       throws org.sandev.basics.util.UIFormManagerException
Synonym for save. Sets the action to be save and falls through to the standard processing.

Throws:
org.sandev.basics.util.UIFormManagerException

defaultButtonActive

public boolean defaultButtonActive(org.sandev.basics.util.UIFormContext uifc,
                                   org.sandev.basics.util.UIFormOwner owner,
                                   org.sandev.basics.util.AuthUser user)
Return true if the default button should be displayed, false otherwise.


defaultButtonAction

public org.sandev.basics.util.UIFormContext defaultButtonAction(org.sandev.basics.util.UIFormContext uifc,
                                                                org.sandev.basics.util.UserWorkLog uwl,
                                                                org.sandev.basics.util.UIFormOwner owner,
                                                                org.sandev.basics.util.AuthUser user)
                                                         throws org.sandev.basics.util.UIFormManagerException
Return the DisplayParams to the default values. We do this by nuking the current DisplayParams and letting the initialization action reconstitute it.

Throws:
org.sandev.basics.util.UIFormManagerException

masterWBSReportActive

public boolean masterWBSReportActive(org.sandev.basics.util.UIFormContext uifc,
                                     org.sandev.basics.util.UIFormOwner owner,
                                     org.sandev.basics.util.AuthUser user)
The View Heap button doesn't work if the screen is stale so it is being deactivated. Better to use the heap tab for the screen to init.


masterWBSReportAction

public org.sandev.basics.util.UIFormContext masterWBSReportAction(org.sandev.basics.util.UIFormContext uifc,
                                                                  org.sandev.basics.util.UserWorkLog uwl,
                                                                  org.sandev.basics.util.UIFormOwner owner,
                                                                  org.sandev.basics.util.AuthUser user)
                                                           throws org.sandev.basics.structs.SandException
Calls through to myPlansFormInitAction

Throws:
org.sandev.basics.structs.SandException

myPlansFormInitAction

public org.sandev.basics.util.UIFormContext myPlansFormInitAction(org.sandev.basics.util.UIFormContext uifc,
                                                                  org.sandev.basics.util.UserWorkLog uwl,
                                                                  org.sandev.basics.util.UIFormOwner owner,
                                                                  org.sandev.basics.util.AuthUser user)
                                                           throws org.sandev.basics.structs.SandException
Init our collection display. We leave the findQuery empty so that a subsequent call to FIND works. The UIFormContext is modified directly from its current values, rather than starting with a new copy, so existing context is preserved.

To support automatic refresh of ExternalPlan data, we check the latency of each ExternalPlan we have cached and do any fetch processing before getting the heap tree for display.

Throws:
org.sandev.basics.structs.SandException

showHeap

public org.sandev.basics.util.UIFormContext showHeap(org.sandev.basics.util.UIFormContext uifc,
                                                     org.sandev.basics.util.UserWorkLog uwl,
                                                     org.sandev.basics.util.UIFormOwner owner,
                                                     org.sandev.basics.util.AuthUser user)
                                              throws org.sandev.basics.structs.SandException
Throws:
org.sandev.basics.structs.SandException

fetchTaskHeap

protected PlanTreeElement fetchTaskHeap(org.sandev.basics.util.UIFormOwner owner,
                                        org.sandev.basics.util.AuthUser authUser,
                                        org.sandev.basics.util.UIFormContext uifc)
                                 throws org.sandev.basics.structs.SandException
Retrieve the the heap tree. Appends an error in the uifc output and returns null if anything goes wrong.

Throws:
org.sandev.basics.structs.SandException

getDisplayParams

protected DisplayParams getDisplayParams(org.sandev.basics.util.UIFormContext uifc,
                                         org.sandev.basics.util.UIFormOwner owner,
                                         Account user)
Return the DisplayParams or null if not found. The DisplayParams are part of the main screen so we fetch them from there. If not found, then this assumes we are not on the main screen and builds a new DisplayParams instance


makeCurrentActive

public boolean makeCurrentActive(org.sandev.basics.util.UIFormContext uifc,
                                 org.sandev.basics.util.UIFormOwner owner,
                                 org.sandev.basics.util.AuthUser user)
Return true if the MakeCurrent button should be displayed, false otherwise. The button is available only when we are displaying a Plan which is not the current Plan.


makeCurrentAction

public org.sandev.basics.util.UIFormContext makeCurrentAction(org.sandev.basics.util.UIFormContext uifc,
                                                              org.sandev.basics.util.UserWorkLog uwl,
                                                              org.sandev.basics.util.UIFormOwner owner,
                                                              org.sandev.basics.util.AuthUser user)
                                                       throws org.sandev.basics.structs.SandException
Set the current plan in the DisplayParams to be the current Plan.

Throws:
org.sandev.basics.structs.SandException

collapsePlanActive

public boolean collapsePlanActive(org.sandev.basics.util.UIFormContext uifc,
                                  org.sandev.basics.util.UIFormOwner owner,
                                  org.sandev.basics.util.AuthUser user)
UI link action only so always false for any button display


collapsePlanAction

public org.sandev.basics.util.UIFormContext collapsePlanAction(org.sandev.basics.util.UIFormContext uifc,
                                                               org.sandev.basics.util.UserWorkLog uwl,
                                                               org.sandev.basics.util.UIFormOwner owner,
                                                               org.sandev.basics.util.AuthUser user)
                                                        throws org.sandev.basics.structs.SandException
Collapse the plan specified in the URL params and then display the heap again.

Throws:
org.sandev.basics.structs.SandException

expandPlanActive

public boolean expandPlanActive(org.sandev.basics.util.UIFormContext uifc,
                                org.sandev.basics.util.UIFormOwner owner,
                                org.sandev.basics.util.AuthUser user)
UI link action only so always false for any button display


expandPlanAction

public org.sandev.basics.util.UIFormContext expandPlanAction(org.sandev.basics.util.UIFormContext uifc,
                                                             org.sandev.basics.util.UserWorkLog uwl,
                                                             org.sandev.basics.util.UIFormOwner owner,
                                                             org.sandev.basics.util.AuthUser user)
                                                      throws org.sandev.basics.structs.SandException
Expand the plan specified in the URL params and then display the heap again.

Throws:
org.sandev.basics.structs.SandException

componentSummaryActive

public boolean componentSummaryActive(org.sandev.basics.util.UIFormContext uifc,
                                      org.sandev.basics.util.UIFormOwner owner,
                                      org.sandev.basics.util.AuthUser user)
If we are listing a PlanComponentStruct derived instance, then we present the option to generate a summary report for it.


componentSummaryAction

public org.sandev.basics.util.UIFormContext componentSummaryAction(org.sandev.basics.util.UIFormContext uifc,
                                                                   org.sandev.basics.util.UserWorkLog uwl,
                                                                   org.sandev.basics.util.UIFormOwner owner,
                                                                   org.sandev.basics.util.AuthUser user)
                                                            throws org.sandev.basics.structs.SandException
Create the summary PlanComponentReport and display it. We set the currClass and currInst to the generated instance. When we are called, the class and uniqueID are specified in the parameters which causes uifc.currInst and rootMsg to be the item we need to be summarizing.

Throws:
org.sandev.basics.structs.SandException

verifyCurrentHeap

protected void verifyCurrentHeap(org.sandev.basics.util.AuthUser user,
                                 long heapID,
                                 org.sandev.basics.util.UIFormOwner owner)
                          throws org.sandev.basics.structs.SandException
Verify the given user has their current heap set as specified. This may need to be refreshed if the user is following a stale reference, either from inactivity or having more than one heap display open at the same time in their browser.

Throws:
org.sandev.basics.structs.SandException

addNoteActive

public boolean addNoteActive(org.sandev.basics.util.UIFormContext uifc,
                             org.sandev.basics.util.UIFormOwner owner,
                             org.sandev.basics.util.AuthUser authUser)
If we are displaying a PlanComponentReport, then we present the option to directly add a new note to the source component.


addNoteAction

public org.sandev.basics.util.UIFormContext addNoteAction(org.sandev.basics.util.UIFormContext uifc,
                                                          org.sandev.basics.util.UserWorkLog uwl,
                                                          org.sandev.basics.util.UIFormOwner owner,
                                                          org.sandev.basics.util.AuthUser user)
                                                   throws org.sandev.basics.structs.SandException
Change the current instance to be the source of the report and add a new note to it. This is shorthand for clicking to edit the component, and then clicking add next to the notes field.

If they cancel out of adding the note, they are returned to the component in edit mode, and the lastModifiedReason is not cleared out like it would be if they went directly into edit. Clearing this out would have to be done as part of cancel processing. Doesn't seem worth the effort.

Throws:
org.sandev.basics.structs.SandException

componentEditActive

public boolean componentEditActive(org.sandev.basics.util.UIFormContext uifc,
                                   org.sandev.basics.util.UIFormOwner owner,
                                   org.sandev.basics.util.AuthUser user)
If we are displaying a PlanComponentReport, then we present the option to switch to editing the source PlanComponent. The component edit action is used to switch from the PlanComponentReport (notes view) to the actual instance. If we are already viewing the instance, then the regular edit button serves this purpose.


componentEditAction

public org.sandev.basics.util.UIFormContext componentEditAction(org.sandev.basics.util.UIFormContext uifc,
                                                                org.sandev.basics.util.UserWorkLog uwl,
                                                                org.sandev.basics.util.UIFormOwner owner,
                                                                org.sandev.basics.util.AuthUser user)
                                                         throws org.sandev.basics.structs.SandException
Change the current instance to be the source of the report for editing. This method assumes the currInst is a PlanComponentReport.

Throws:
org.sandev.basics.structs.SandException

moveToCurrentActive

public boolean moveToCurrentActive(org.sandev.basics.util.UIFormContext uifc,
                                   org.sandev.basics.util.UIFormOwner owner,
                                   org.sandev.basics.util.AuthUser user)
If we are viewing a component that belongs to a plan other than the one that we have current, then present the option to move it to the current plan.

This is now permanently hidden to reduce clutter when editing a task or plan. Moving things around is best done from the outline interface via the arrows after a plan has been marked as current.


moveToCurrentAction

public