Package org.osforce.connect.task.document

Source Code of org.osforce.connect.task.document.DocumentAspect

package org.osforce.connect.task.document;

import java.util.Map;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.osforce.connect.entity.document.File;
import org.osforce.connect.entity.document.Folder;
import org.osforce.spring4me.commons.collection.CollectionUtil;
import org.osforce.spring4me.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

/**
*
* @author gavin
* @since 1.0.0
* @create Apr 27, 2011 - 3:24:52 PM
*  <a href="http://www.opensourceforce.org">开源力量</a>
*/
@Aspect
@Component
public class DocumentAspect {

  private static final String TEMPLATE_FILE_UPDATE = "activity/file_update.ftl";
  private static final String TEMPLATE_FOLDER_UPDATE = "activity/folder_update.ftl";

  private Task fileActivityStreamTask;
  private Task folderActivityStreamTask;

  public DocumentAspect() {
  }

  @Autowired
  @Qualifier("fileActivityStreamTask")
  public void setFileActivityStreamTask(Task fileActivityStreamTask) {
    this.fileActivityStreamTask = fileActivityStreamTask;
  }

  @Autowired
  @Qualifier("folderActivityStreamTask")
  public void setFolderActivityStreamTask(Task folderActivityStreamTask) {
    this.folderActivityStreamTask = folderActivityStreamTask;
  }

  @AfterReturning("execution(* org.osforce.connect.service.document.FileService.createFile(..)) ||"
      + "execution(* org.osforce.connect.service.document.FileService.updateFile(..))")
  public void updateFile(JoinPoint jp) {
    File file = (File) jp.getArgs()[0];
    Map<Object, Object> context = CollectionUtil.newHashMap();
    context.put("fileId", file.getId());
    context.put("template", TEMPLATE_FILE_UPDATE);
    fileActivityStreamTask.doAsyncTask(context);
  }

  @AfterReturning("execution(* org.osforce.connect.service.document.FolderService.createFolder(..)) ||"
      + "execution(* org.osforce.connect.service.document.FolderService.updateFolder(..))")
  public void updateFolder(JoinPoint jp) {
    Folder folder = (Folder) jp.getArgs()[0];
    Map<Object, Object> context = CollectionUtil.newHashMap();
    context.put("folderId", folder.getId());
    context.put("template", TEMPLATE_FOLDER_UPDATE);
    folderActivityStreamTask.doAsyncTask(context);
  }

}
TOP

Related Classes of org.osforce.connect.task.document.DocumentAspect

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.