###

: | <SUB RankFormula>

### Examples:

Set rank based on priority:

      mPriority

Default Formula (if empty) is:

      (100-mPriority*10)+getElapsedTime()

Set rank so that if status is "Really open", rank is 1, otherwise it is 2...

      mCurrentStatus=="Really open"?1:2

Set rank based on priority, where priority increases (towards 1.0) as time since last modified grows... items that are priority 2 will reach priority 1 in 4 hours, items that are priority 3 will reach priority 2 in 1 day:

      @@rint(@@max(1.0,  (mPriority -       (mPriority==2?(getSecondsSinceLastModified()/14400.0):0.0) -       (mPriority==3?(getSecondsSinceLastModified()/86400.0):0.0)))*1000)/1000

### Quick reference for OGNL:

http://www.opensymphony.com/ognl/html/LanguageGuide/apa.html
http://www.opensymphony.com/ognl/html/LanguageGuide/index.html

### Properties/Functions available:

      public long mId;
      public Date mDateEntered;
      public String mSubject;
      public String mCurrentStatus;
      public String mCurrentAssignedTo;
      public String mLastModifiedBy;
      public Date mDateLastModified;
      public String mEnteredBy;
      public int mPriority;
      public String mProject;
      public String mArea;
      public String mVersion;
      public String mEnvironment;
      // Vector of BugEntries...
      public Vector mBugHistory;

      // New fields for Project Management...
      public long mParent;
      public Date mRequestedDueDate;
      public Date mActualCompletionDate;
      public double mEstimatedHours;
      public double mActualHours;
      public double mPercentComplete;
      public int mArchived;

      public int mElapsedTime;
      public String mNotifyList;
      public int mRejectedCount;
      public String mUniqueProjectId; // The id with project appended to it...
      public Date mClosedDate = null; // Date the issue first went to a closed state

      // Hashtable of user defined values...
      public Hashtable mUserFields;

    Functions:
      int countRejects();
      Object getUserField(int i);
      Object getUserField(UserField uf);
      int getElapsedTime();
      long getElapsedTimeSeconds();
      long getSecondsSinceLastModified();