Search in sources :

Example 1 with FrodoProceedingJoinPoint

use of com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint in project frodo by android10.

the class LogEverythingObservableTest method shouldFillInObservableBasicInfo.

@Test
public void shouldFillInObservableBasicInfo() throws Throwable {
    loggableObservable.get(observableRule.stringType()).subscribe(subscriber);
    final ObservableInfo observableInfo = loggableObservable.getInfo();
    final FrodoProceedingJoinPoint frodoProceedingJoinPoint = observableRule.joinPoint();
    assertThat(observableInfo.getClassSimpleName()).isEqualTo(frodoProceedingJoinPoint.getClassSimpleName());
    assertThat(observableInfo.getJoinPoint()).isEqualTo(frodoProceedingJoinPoint);
    assertThat(observableInfo.getMethodName()).isEqualTo(frodoProceedingJoinPoint.getMethodName());
}
Also used : FrodoProceedingJoinPoint(com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint) Test(org.junit.Test)

Example 2 with FrodoProceedingJoinPoint

use of com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint in project frodo by android10.

the class ObservableRule method apply.

@Override
public Statement apply(Statement statement, Description description) {
    final TestJoinPoint testJoinPoint = new TestJoinPoint.Builder(declaringType).withReturnType(Observable.class).withReturnValue(OBSERVABLE_STREAM_VALUE).build();
    final TestProceedingJoinPoint testProceedingJoinPoint = new TestProceedingJoinPoint(testJoinPoint);
    frodoProceedingJoinPoint = new FrodoProceedingJoinPoint(testProceedingJoinPoint);
    observableInfo = new ObservableInfo(frodoProceedingJoinPoint);
    return statement;
}
Also used : TestProceedingJoinPoint(com.fernandocejas.frodo.joinpoint.TestProceedingJoinPoint) FrodoProceedingJoinPoint(com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint) TestJoinPoint(com.fernandocejas.frodo.joinpoint.TestJoinPoint)

Example 3 with FrodoProceedingJoinPoint

use of com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint in project frodo by android10.

the class LogObservable method methodAnnotatedWithRxLogObservable.

@Pointcut(METHOD)
public static boolean methodAnnotatedWithRxLogObservable(ProceedingJoinPoint joinPoint) {
    final FrodoProceedingJoinPoint frodoJoinPoint = new FrodoProceedingJoinPoint(joinPoint);
    final Annotation annotation = frodoJoinPoint.getAnnotation(RxLogObservable.class);
    return ((MethodSignature) joinPoint.getSignature()).getReturnType() == Observable.class && ((RxLogObservable) annotation).value() != RxLogObservable.Scope.NOTHING;
}
Also used : FrodoProceedingJoinPoint(com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint) MethodSignature(org.aspectj.lang.reflect.MethodSignature) RxLogObservable(com.fernandocejas.frodo.annotation.RxLogObservable) Annotation(java.lang.annotation.Annotation) FrodoObservable(com.fernandocejas.frodo.internal.observable.FrodoObservable) Observable(rx.Observable) RxLogObservable(com.fernandocejas.frodo.annotation.RxLogObservable) Pointcut(org.aspectj.lang.annotation.Pointcut)

Example 4 with FrodoProceedingJoinPoint

use of com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint in project frodo by android10.

the class LogObservable method weaveAroundJoinPoint.

@Around("methodAnnotatedWithRxLogObservable(joinPoint)")
public Object weaveAroundJoinPoint(ProceedingJoinPoint joinPoint) throws Throwable {
    final FrodoProceedingJoinPoint proceedingJoinPoint = new FrodoProceedingJoinPoint(joinPoint);
    final MessageManager messageManager = new MessageManager();
    final LoggableObservableFactory observableFactory = new LoggableObservableFactory(proceedingJoinPoint, messageManager, new ObservableInfo(proceedingJoinPoint));
    return new FrodoObservable(proceedingJoinPoint, messageManager, observableFactory).getObservable();
}
Also used : ObservableInfo(com.fernandocejas.frodo.internal.observable.ObservableInfo) FrodoProceedingJoinPoint(com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint) MessageManager(com.fernandocejas.frodo.internal.MessageManager) LoggableObservableFactory(com.fernandocejas.frodo.internal.observable.LoggableObservableFactory) FrodoObservable(com.fernandocejas.frodo.internal.observable.FrodoObservable) Around(org.aspectj.lang.annotation.Around)

Aggregations

FrodoProceedingJoinPoint (com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint)4 FrodoObservable (com.fernandocejas.frodo.internal.observable.FrodoObservable)2 RxLogObservable (com.fernandocejas.frodo.annotation.RxLogObservable)1 MessageManager (com.fernandocejas.frodo.internal.MessageManager)1 LoggableObservableFactory (com.fernandocejas.frodo.internal.observable.LoggableObservableFactory)1 ObservableInfo (com.fernandocejas.frodo.internal.observable.ObservableInfo)1 TestJoinPoint (com.fernandocejas.frodo.joinpoint.TestJoinPoint)1 TestProceedingJoinPoint (com.fernandocejas.frodo.joinpoint.TestProceedingJoinPoint)1 Annotation (java.lang.annotation.Annotation)1 Around (org.aspectj.lang.annotation.Around)1 Pointcut (org.aspectj.lang.annotation.Pointcut)1 MethodSignature (org.aspectj.lang.reflect.MethodSignature)1 Test (org.junit.Test)1 Observable (rx.Observable)1