List of usage examples for org.springframework.aop.framework ProxyFactory getProxy
public static Object getProxy(TargetSource targetSource)
From source file:org.jdal.aop.SerializableProxyUtils.java
/** * Create a new Serializable proxy for the given target. * @param target target to proxy//from w w w . ja v a 2 s .c o m * @param reference serializable reference * @return a new serializable proxy */ private static Object createSerializableProxy(Object target, SerializableReference reference) { ProxyFactory pf = new ProxyFactory(target); pf.setExposeProxy(true); pf.setProxyTargetClass(reference.isProxyTargetClass()); pf.addInterface(SerializableObject.class); pf.addAdvice(new SerializableIntroductionInterceptor(reference)); return pf.getProxy(reference.getBeanFactory().getBeanClassLoader()); }
From source file:org.jdal.remoting.caucho.HessianProxyFactoryBean.java
@Override public void afterPropertiesSet() { super.afterPropertiesSet(); ProxyFactory pf = new ProxyFactory(new Class[] { getServiceInterface(), RemoteClient.class }); pf.addAdvisor(new RemoteClientAdvisor(this)); pf.addAdvice(this); this.serviceProxy = pf.getProxy(getBeanClassLoader()); }
From source file:org.jdal.remoting.caucho.BurlapProxyFactoryBean.java
@Override public void afterPropertiesSet() { super.afterPropertiesSet(); ProxyFactory pf = new ProxyFactory(new Class[] { getServiceInterface(), RemoteClient.class }); pf.addAdvisor(new RemoteClientAdvisor(getRemoteReference())); pf.addAdvice(this); this.serviceProxy = pf.getProxy(getBeanClassLoader()); }
From source file:org.jdal.remoting.httpinvoker.HttpInvokerProxyFactoryBean.java
@Override public void afterPropertiesSet() { super.afterPropertiesSet(); if (getServiceInterface() == null) { throw new IllegalArgumentException("Property 'serviceInterface' is required"); }/*from ww w . j ava 2 s .c om*/ ProxyFactory pf = new ProxyFactory(new Class[] { getServiceInterface(), RemoteClient.class }); pf.addAdvisor(new RemoteClientAdvisor(getRemoteReference())); pf.addAdvice(this); this.serviceProxy = pf.getProxy(getBeanClassLoader()); }
From source file:net.alpha.velocity.view.EmbeddedVelocityToolboxView.java
private ServletContext getToolboxConfigFileAwareServletContext() { ProxyFactory factory = new ProxyFactory(); factory.setTarget(getServletContext()); factory.addAdvice(new GetResourceMethodInterceptor(getToolboxConfigLocation())); return (ServletContext) factory.getProxy(getClass().getClassLoader()); }
From source file:com.payu.ratel.client.ContextAnnotationAutowireCandidateResolver.java
protected Object buildLazyResolutionProxy(final DependencyDescriptor descriptor, final String beanName) { Assert.state(getBeanFactory() instanceof DefaultListableBeanFactory, "BeanFactory needs to be a DefaultListableBeanFactory"); final DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) getBeanFactory(); TargetSource ts = new TargetSource() { @Override// w w w . java 2s. c o m public Class<?> getTargetClass() { return descriptor.getDependencyType(); } @Override public boolean isStatic() { return false; } @Override public Object getTarget() { return beanFactory.doResolveDependency(descriptor, beanName, null, null); } @Override public void releaseTarget(Object target) { } }; ProxyFactory pf = new ProxyFactory(); pf.setTargetSource(ts); Class<?> dependencyType = descriptor.getDependencyType(); if (dependencyType.isInterface()) { pf.addInterface(dependencyType); } return pf.getProxy(beanFactory.getBeanClassLoader()); }
From source file:com.ryantenney.metrics.spring.AdvisingBeanPostProcessor.java
@Override public Object postProcessAfterInitialization(Object bean, String beanName) { if (bean instanceof AopInfrastructureBean) { return bean; }// ww w . j av a2 s .c o m final Class<?> targetClass = AopUtils.getTargetClass(bean); if (AopUtils.canApply(pointcut, targetClass)) { final Advice advice = adviceFactory.getAdvice(bean, targetClass); final Advisor advisor = new DefaultPointcutAdvisor(pointcut, advice); if (bean instanceof Advised) { LOG.debug("Bean {} is already proxied, adding Advisor to existing proxy", beanName); ((Advised) bean).addAdvisor(0, advisor); return bean; } else { LOG.debug("Proxying bean {} of type {}", beanName, targetClass.getCanonicalName()); final ProxyFactory proxyFactory = new ProxyFactory(bean); if (proxyConfig != null) { proxyFactory.copyFrom(proxyConfig); } proxyFactory.addAdvisor(advisor); final Object proxy = proxyFactory.getProxy(this.beanClassLoader); return proxy; } } return bean; }
From source file:prospring3.ch5.beanpostprocessor.DeassociateBeanPostProcessor.java
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof AopInfrastructureBean) { // Ignore AOP infrastructure such as scoped proxies. return bean; }// w w w .java 2s . co m Class<?> targetClass = AopUtils.getTargetClass(bean); if (AopUtils.canApply(this.deassociatePointcutAdvisor, targetClass)) { if (bean instanceof Advised) { ((Advised) bean).addAdvisor(this.deassociatePointcutAdvisor); return bean; } else { ProxyFactory proxyFactory = new ProxyFactory(bean); // Copy our properties (proxyTargetClass etc) inherited from ProxyConfig. proxyFactory.copyFrom(this); proxyFactory.addAdvisor(this.deassociatePointcutAdvisor); return proxyFactory.getProxy(this.classLoader); } } else { // This is not a repository. return bean; } }
From source file:org.pshow.ecm.security.MethodAuditPostProcessor.java
@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof AopInfrastructureBean) { // Ignore AOP infrastructure such as scoped proxies. return bean; }// w ww . j ava2 s. c o m Class<?> targetClass = AopUtils.getTargetClass(bean); if (AopUtils.canApply(this.advisor, targetClass)) { if (bean instanceof Advised) { ((Advised) bean).addAdvisor(this.advisor); return bean; } else { ProxyFactory proxyFactory = new ProxyFactory(bean); // Copy our properties (proxyTargetClass etc) inherited from // ProxyConfig. proxyFactory.copyFrom(this); proxyFactory.addAdvisor(this.advisor); return proxyFactory.getProxy(this.beanClassLoader); } } else { // This is not a repository. return bean; } }
From source file:flex.contrib.factories.config.SecurityExceptionTranslationPostProcessor.java
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { Class<?> targetClass = (bean instanceof Advised ? ((Advised) bean).getTargetSource().getTargetClass() : bean.getClass());/*from www. ja v a 2s . c o m*/ if (targetClass == null) { // Can't do much here return bean; } if (AopUtils.canApply(this.securityExceptionTranslationAdvisor, targetClass)) { if (bean instanceof Advised) { ((Advised) bean).addAdvisor(this.securityExceptionTranslationAdvisor); return bean; } else { ProxyFactory proxyFactory = new ProxyFactory(bean); // Copy our properties (proxyTargetClass etc) inherited from ProxyConfig. proxyFactory.copyFrom(this); proxyFactory.addAdvisor(this.securityExceptionTranslationAdvisor); return proxyFactory.getProxy(this.beanClassLoader); } } else { // This is not a repository. return bean; } }