Class NotificationModel

java.lang.Object
com.easydesk.notification.util.NotificationModel

public class NotificationModel extends Object
템플릿에서 쓰는 값을 계산해 주는 helper. context 에 model 이라는 이름으로 들어간다.

예전 Velocity 템플릿은 Turbine pull tool($jettigerG, $jettigerR ...)과 Item 의 getter 를 직접 호출해서 값을 만들었다. 그 tool 들이 없어졌으므로 같은 값을 여기서 만든다. context 를 그대로 참조하므로, 이 객체를 넣은 뒤에 context 에 추가되는 값(activities, activitySet, address ...)도 render 시점에 반영된다. 모든 method 는 실패하면 빈 값(null, "", 빈 목록)을 돌려준다 - 템플릿 하나 때문에 메일 발송 전체가 실패하지 않도록.

 ${model.attribute('Summary')}            예전 $item.getAttributeValue($jettigerG.AttributeEnum.Summary.Instance).Value
 ${model.attributeDate('StartDate')}      날짜 attribute 의 값 (Date)
 ${model.uniqueActivityDescriptions}     예전 $uniqueActivityDescriptions
 ${model.attachmentData}                 예전 $attachment.Data (activitySet 의 첨부 - 변경 사유 등)
 ${model.reason}                         예전 $activitySet.Attachment.Properties.getProperty("reason")
 ${model.creator}                        이 변경을 한 사용자 (예전 $item.ModifiedBy)
 ${model.itemCreator}                    item 을 만든 사용자 (예전 $item.CreatedBy)
 ${model.recipientName}                  받는 사람 이름 (없으면 e-mail 주소)
 
Author:
Youngho Cho
  • Constructor Details

  • Method Details

    • attribute

      public String attribute(String attributeName)
      Parameters:
      attributeName - AttributeEnum 의 이름 (예: Summary, Description, Requested)
      Returns:
      item 의 그 attribute 값 (없으면 "")
    • attributeDate

      public Date attributeDate(String attributeName)
      Returns:
      날짜 attribute 의 값 (없거나 날짜 attribute 가 아니면 null)
    • hasAttribute

      public boolean hasAttribute(String attributeName)
      Returns:
      item 에 그 attribute 값이 있는지
    • getActivities

      public List<Activity> getActivities()
      context 의 activities 를 Activity 목록으로 펼친다. (BatchNotificationManager 는 {ActivitySetType, [NotificationStatus]} map, BatchNotificationByActivitySetManager 는 [Activity] 목록을 넣는다.)
    • getUniqueActivityDescriptions

      public List<String> getUniqueActivityDescriptions()
      Returns:
      activity 설명들 (중복/빈 값 제외, 순서 유지)
    • getActivitySet

      public ActivitySet getActivitySet()
      Returns:
      context 의 activitySet, 없으면 첫 activity 의 activitySet
    • getAttachmentData

      public String getAttachmentData()
      Returns:
      activitySet 첨부의 내용 (변경 사유 등), 없으면 ""
    • getReason

      public String getReason()
      Returns:
      activitySet 첨부 properties 의 "reason", 없으면 ""
    • property

      public String property(String name)
      Returns:
      activitySet 첨부 properties 의 값, 없으면 ""
    • getCreator

      public EasyDeskUser getCreator()
      Returns:
      이 변경을 한 사용자 (context 의 creators 중 첫 번째, 없으면 activitySet 의 creator)
    • getItemCreator

      public EasyDeskUser getItemCreator()
      Returns:
      item 을 만든 사용자
    • getRecipientName

      public String getRecipientName()
      Returns:
      받는 사람 이름 (없으면 e-mail 주소)
    • getRecipientEmail

      public String getRecipientEmail()
      Returns:
      받는 사람 e-mail 주소
    • getEmpty

      public List<Object> getEmpty()
      Returns:
      빈 목록 (템플릿에서 null 대신 쓸 때)