1 25 26 package examples; 27 28 import org.snipsnap.render.context.SnipRenderContext; 29 import org.snipsnap.render.macro.SnipMacro; 30 import org.snipsnap.render.macro.parameter.SnipMacroParameter; 31 import org.snipsnap.snip.Snip; 32 import org.snipsnap.notification.Message; 33 import org.snipsnap.notification.MessageService; 34 import org.picocontainer.PicoContainer; 35 36 import java.io.IOException ; 37 import java.io.Writer ; 38 39 46 47 public class MessageSendMacro extends SnipMacro { 49 50 public void execute(Writer writer, SnipMacroParameter params) 51 throws IllegalArgumentException , IOException { 52 53 SnipRenderContext context = params.getSnipRenderContext(); 54 Snip snip = (Snip) 55 context.getAttribute(SnipRenderContext.SNIP); 56 PicoContainer container = (PicoContainer) 57 context.getAttribute(SnipRenderContext.CONTAINER); 58 59 MessageService service = (MessageService) 60 container.getComponentInstance(MessageService.class); 61 Message message = new Message("SNIP_VIEWED", 62 snip.getName()); 63 service.send(message); 64 } 65 66 67 public String getName() { 68 return "send-message"; 69 } 70 } 71 | Popular Tags |