Advertisement
harshadura

3

Jul 16th, 2013
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. package org.openmrs.module.patientnarratives.aop;
  2.  
  3. import java.lang.reflect.Method;
  4. import java.util.Arrays;
  5.  
  6. import org.aopalliance.aop.Advice;
  7. import org.aopalliance.intercept.MethodInterceptor;
  8. import org.aopalliance.intercept.MethodInvocation;
  9. import org.apache.commons.logging.Log;
  10. import org.apache.commons.logging.LogFactory;
  11. import org.openmrs.Encounter;
  12. import org.openmrs.User;
  13. import org.openmrs.api.context.Context;
  14. import org.springframework.aop.Advisor;
  15. import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor;
  16.  
  17. public class HtmlFormParametersAroundAdvisor extends StaticMethodMatcherPointcutAdvisor implements Advisor {
  18.  
  19. private static final long serialVersionUID = 3333L;
  20.  
  21. private Log log = LogFactory.getLog(this.getClass());
  22.  
  23. public boolean matches(Method method, Class targetClass) {
  24. // only 'run' this advice on the save methods
  25. if (method.getName().startsWith("save"))
  26. return true;
  27.  
  28. return false;
  29. }
  30.  
  31. @Override
  32. public Advice getAdvice() {
  33. log.debug("Getting new around advice");
  34. return new PrintingAroundAdvice();
  35. }
  36.  
  37. private class PrintingAroundAdvice implements MethodInterceptor {
  38. public Object invoke(MethodInvocation invocation) throws Throwable {
  39.  
  40. Object object = null;
  41. String methodName = invocation.getMethod().getName();
  42.  
  43. if (methodName.equals("saveEncounter")) {
  44.  
  45. Encounter encounter = (Encounter) invocation.getArguments()[0];
  46.  
  47. User user = Context.getUserService().getUser(2);
  48. encounter.setCreator(user);
  49. object = invocation.proceed();
  50.  
  51. }
  52.  
  53. // log.debug("Before " + methodName + ".");
  54. // log.debug("After " + invocation.getMethod().getName() + ".");
  55.  
  56. return object;
  57. }
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement