Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.openmrs.module.patientnarratives.api.advice;
- import java.lang.reflect.Method;
- import org.aopalliance.aop.Advice;
- import org.aopalliance.intercept.MethodInterceptor;
- import org.aopalliance.intercept.MethodInvocation;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.openmrs.Encounter;
- import org.openmrs.User;
- import org.openmrs.api.context.Context;
- import org.springframework.aop.Advisor;
- import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor;
- //public class HtmlFormParametersAroundAdvisor implements MethodInterceptor {
- //
- // private Log log = LogFactory.getLog(this.getClass());
- //
- // private int count = 0;
- //
- //// public void before(Method method, Object[] args, Object target) throws Throwable {
- //
- //
- // public Object invoke(MethodInvocation invocation) throws Throwable {
- //
- // Method method = invocation.getMethod();
- // String name = method.getName();
- // String name = method.get
- //
- //
- // log.info("\n\n*********Before HtmlFormParametersAroundAdvisor ***********\n\n");
- // if (method.getName().equals("saveEncounter")) {
- // Encounter encounter = (Encounter) args[1];
- // User user = Context.getUserService().getUser(2);
- // encounter.setCreator(user);
- // count++;
- // }
- // log.info("\n\n*********After HtmlFormParametersAroundAdvisor ******" + count + "*****\n\n");
- // }
- //}
- public class HtmlFormParametersAroundAdvisor extends StaticMethodMatcherPointcutAdvisor implements Advisor {
- private static final long serialVersionUID = 3333L;
- private Log log = LogFactory.getLog(this.getClass());
- public boolean matches(Method method, Class targetClass) {
- // only 'run' this advice on the save methods
- if (method.getName().startsWith("save"))
- return true;
- return false;
- }
- @Override
- public Advice getAdvice() {
- log.debug("Getting new around advice");
- return new EncounterServiceAroundAdvice();
- }
- private class EncounterServiceAroundAdvice implements MethodInterceptor {
- public Object invoke(MethodInvocation invocation) throws Throwable {
- ProceedingJoinPoint
- log.debug("\n\n*********Before EncounterServiceAroundAdvice ***********\n\n");
- Object object = null;
- String methodName = invocation.getMethod().getName();
- if (methodName.equals("saveEncounter")) {
- Encounter encounter = (Encounter) invocation.getArguments()[0];
- // String user2= Context.getAuthenticatedUser().getUserId().toString();
- Context.addProxyPrivilege("View Users");
- User user = Context.getUserService().getUser(1);
- encounter.setCreator(user);
- object = invocation.proceed();
- }
- // log.debug("After " + invocation.getMethod().getName() + ".");
- return object;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement