public static CtClass classToJavassist(Class<?> clazz) throws NotFoundException { ClassPool pool = AspectManager.instance().findClassPool(clazz); CtClass ct = pool.get(clazz.getName()); return ct; }
protected static boolean includeInvisibleAnnotation(String annotation) { for(String includedAnnotation : AspectManager.instance().getIncludedInvisibleAnnotations()) { if(includedAnnotation.equals("*") || annotation.startsWith(includedAnnotation)) { return true; } } return false; } }
private static Interceptor[] finalizeChain(ArrayList<Interceptor> newinterceptors) { Interceptor[] interceptors = (newinterceptors.size() > 0) ? newinterceptors.toArray(new Interceptor[newinterceptors.size()]) : null; if (interceptors != null) { if (interceptors[0] instanceof GeneratedAdvisorInterceptor) { } interceptors = PrecedenceSorter.applyPrecedence(interceptors, AspectManager.instance()); } return interceptors; }
public ClassPool getPoolForLoader(ClassLoader cl) { return AspectManager.instance().registerClassLoader(cl); }
public static synchronized AspectManager instance() { return instance(SecurityActions.getContextClassLoader()); }
private byte[] aspectTransform(String className, ClassLoader loader, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) { try { //Make sure that we use the correct classloader, in order to get the correct domain if it is a scoped loader return AspectManager.instance(loader).transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer); } catch (Exception e) { throw new RuntimeException(e); } } }
public static void deployXML(URL url) throws Exception { deployXML(url, null, AspectManager.instance()); }
public static void undeployXML(URL url) throws Exception { undeployXML(url, AspectManager.instance()); }
/** * Constructor. * @param hotSwapper a hot swapper is necessary for this strategy. */ public HotSwapStrategy(HotSwapper hotSwapper) { this.hotSwapper = hotSwapper; this.joinpointUpdates = new ArrayList<JoinpointStatusUpdate>(); this.instrumentor = InstrumentorFactory.getInstrumentor(AspectManager.instance(), getJoinpointClassifier()); }
public static Package aopClassMap() { Map<Class<?>, WeakReference<Advisor>> advisors = AspectManager.instance().getAdvisors(); Iterator<Class<?>> it = advisors.keySet().iterator(); Package root = new Package("classes"); while (it.hasNext()) { Class<?> clazz = it.next(); parse(clazz, root); } return root; } }
protected static ClassFile getClassFile(Class<?> clazz) throws NotFoundException { ClassPool pool = AspectManager.instance().findClassPool(SecurityActions.getClassLoader(clazz)); CtClass ct = pool.get(clazz.getName()); ClassFile cf = ct.getClassFile2(); return cf; }
public static boolean matchesTypedef(CtClass clazz, ClassExpression classExpr, Advisor advisor) { String original = classExpr.getOriginal(); String typedefName = original.substring("$typedef{".length(), original.lastIndexOf("}")); AspectManager manager = (advisor != null) ? advisor.getManager() : AspectManager.instance(); Typedef typedef = manager.getTypedef(typedefName); if (typedef == null) return false; return typedef.matches(advisor, clazz); }
public static boolean matchesTypedef(Class<?> clazz, ClassExpression classExpr, Advisor advisor) { String original = classExpr.getOriginal(); String typedefName = original.substring("$typedef{".length(), original.lastIndexOf("}")); AspectManager manager = (advisor != null) ? advisor.getManager() : AspectManager.instance(); Typedef typedef = manager.getTypedef(typedefName); if (typedef == null) return false; return typedef.matches(advisor, clazz); }
protected ConsumerContainer getConsumerContainer(int ejbIndex, JBossConsumerBeanMetaData beanMetaData) throws Exception { String containerName = getAspectDomain(ejbIndex, defaultConsumerDomain); DomainDefinition domain = AspectManager.instance().getContainer(containerName); if (domain == null) { throw new RuntimeException("Could not get container for bean class " + beanMetaData.getEjbClass() + " with bean name " + beanMetaData.getEjbName() + " because no container configured with name '" + containerName + "'"); } return new ConsumerContainer(ejbNames.get(ejbIndex), (Domain) domain.getManager(), di.getClassLoader(), className, ctxProperties, deployment, beanMetaData); }
private void initClassContainer() { if (Advised.class.isAssignableFrom(key.getClazz())) { classAdvisor = AspectManager.instance().getAdvisor(key.getClazz()); } else { classAdvisor = getCachedContainer(manager); if (classAdvisor == null) { classAdvisor = createAndCacheContainer(); } } }
public Object visit(ASTCall node, Object data) { try { if (!(node.getBehavior() instanceof ASTConstructor)) return Boolean.FALSE; ASTConstructor astCon = (ASTConstructor) node.getBehavior(); Advisor calledAdvisor = AspectManager.instance().getTempClassAdvisorIfNotExist(calledClass); ConstructorMatcher constructorMatcher = new ConstructorMatcher(calledAdvisor, calledConstructor, null); return constructorMatcher.matches(astCon); } catch (Exception e) { throw new RuntimeException(e); //To change body of catch statement use Options | File Templates. } }
protected EJBContainer getStatelessContainer(int ejbIndex, JBossSessionBeanMetaData beanMetaData) throws Exception { String containerName = getAspectDomain(ejbIndex, defaultSLSBDomain); DomainDefinition domain = AspectManager.instance().getContainer(containerName); if (domain == null) { throw new RuntimeException("Could not get container for bean class " + beanMetaData.getEjbClass() + " with bean name " + beanMetaData.getEjbName() + " because no container configured with name '" + containerName + "'"); } return new StatelessContainer(di.getClassLoader(), className, ejbNames.get(ejbIndex), (Domain) domain .getManager(), ctxProperties, deployment, beanMetaData, deployment.getAsynchronousProcessor()); }
protected ServiceContainer getServiceContainer(int ejbIndex, JBossServiceBeanMetaData beanMetaData) throws Exception { String containerName = getAspectDomain(ejbIndex, defaultServiceDomain); DomainDefinition domain = AspectManager.instance().getContainer(containerName); if (domain == null) { throw new RuntimeException("Could not get container for bean class " + beanMetaData.getEjbClass() + " with bean name " + beanMetaData.getEjbName() + " because no container configured with name '" + containerName + "'"); } return new ServiceContainer(deployment.getMbeanServer(), di.getClassLoader(), className, ejbNames.get(ejbIndex), (Domain) domain.getManager(), ctxProperties, deployment, beanMetaData); }
protected StatefulContainer getStatefulContainer(int ejbIndex, JBossSessionBeanMetaData beanMetaData) throws Exception { String containerName = getAspectDomain(ejbIndex, defaultSFSBDomain); DomainDefinition domain = AspectManager.instance().getContainer(containerName); if (domain == null) { throw new RuntimeException("Could not get container for bean class " + beanMetaData.getEjbClass() + " with bean name " + beanMetaData.getEjbName() + " because no container configured with name '" + containerName + "'"); } return new StatefulContainer(di.getClassLoader(), className, ejbNames.get(ejbIndex), (Domain) domain.getManager(), ctxProperties, deployment, beanMetaData, deployment .getAsynchronousProcessor()); }
public static void premain(String agentArgs, Instrumentation inst) { StandaloneClassPoolFactory factory = new StandaloneClassPoolFactory(); AspectManager.setClassPoolFactory(factory); // necessary for configuration AspectManager.instance(); ClassPoolRepository.getInstance().setPrune(false); inst.addTransformer(new EclipseTestTransformer()); } }