Guest User

Test

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