Hello,

Did anybody try AspectJ with Rife-Crud ?

With JumpStart, everything is fine, but with eCalendar I get exception from AspectJ (see below). It seems the culprit is ListScheduledArticles...

Any idea ?

Pierre

=================================================================
aspect file:
package com.uwyn.ecalendar.aop;

public aspect TestAop {
pointcut toBeTraced(): call(public static String com.uwyn.ecalendar.ApplicationVersion.getVersion()); after (): toBeTraced() {
       System.out.println("test aop: toBeTraced after getVersion");
   }

}
=================================================================
AspectJ exception:

java.lang.IllegalStateException
at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:609) at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:590) at org.aspectj.weaver.ReferenceType.getDeclaredMethods(ReferenceType.java:380)
at org.aspectj.weaver.ResolvedType.addAndRecurse(ResolvedType.java:252)
at org.aspectj.weaver.ResolvedType.addAndRecurse(ResolvedType.java:291)
at org.aspectj.weaver.ResolvedType.getMethodsWithoutIterator(ResolvedType.java:247) at org.aspectj.weaver.ResolvedType.lookupResolvedMember(ResolvedType.java:365) at org.aspectj.weaver.JoinPointSignatureIterator.findSignaturesFromSupertypes(JoinPointSignatureIterator.java:167) at org.aspectj.weaver.JoinPointSignatureIterator.findSignaturesFromSupertypes(JoinPointSignatureIterator.java:188) at org.aspectj.weaver.JoinPointSignatureIterator.findSignaturesFromSupertypes(JoinPointSignatureIterator.java:188) at org.aspectj.weaver.JoinPointSignatureIterator.hasNext(JoinPointSignatureIterator.java:68) at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:129) at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:105)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:143)
at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:55)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:143)
at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:64)
at org.aspectj.weaver.Advice.match(Advice.java:109)
at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:97)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:1749)
at org.aspectj.weaver.bcel.BcelClassWeaver.matchInvokeInstruction(BcelClassWeaver.java:1736)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:1533)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:1359)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:382)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:98)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1478)
at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1443)
at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1217)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1039)
at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:300) at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:178) at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:367) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:759) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:225) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:151) at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:122) at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191)

trouble in:
public class com.uwyn.ecalendar.elements.ListScheduledArticles extends com.uwyn.rife.engine.Element:
 private com.uwyn.rife.database.Datasource mDatasource
 static Class class$0
 public void <init>():
ALOAD_0 // com.uwyn.ecalendar.elements.ListScheduledArticles this (line 22)
                   INVOKESPECIAL com.uwyn.rife.engine.Element.<init> ()V
constructor-execution(void com.uwyn.ecalendar.elements.ListScheduledArticles.<init>())
   |               RETURN
constructor-execution(void com.uwyn.ecalendar.elements.ListScheduledArticles.<init>())
 end public void <init>()

public void setDatasource(com.uwyn.rife.database.Datasource) org.aspectj.weaver.MethodDeclarationLineNumber: 25:794
:
method-execution(void com.uwyn.ecalendar.elements.ListScheduledArticles.setDatasource(com.uwyn.rife.database.Datasource)) | ALOAD_0 // com.uwyn.ecalendar.elements.ListScheduledArticles this (line 25) | ALOAD_1 // com.uwyn.rife.database.Datasource datasource | PUTFIELD com.uwyn.ecalendar.elements.ListScheduledArticles.mDatasource Lcom/uwyn/rife/database/Datasource;
   |               RETURN
method-execution(void com.uwyn.ecalendar.elements.ListScheduledArticles.setDatasource(com.uwyn.rife.database.Datasource))
 end public void setDatasource(com.uwyn.rife.database.Datasource)

public void processElement() org.aspectj.weaver.MethodDeclarationLineNumber: 27:877
:
method-execution(void com.uwyn.ecalendar.elements.ListScheduledArticles.processElement()) | ALOAD_0 // com.uwyn.ecalendar.elements.ListScheduledArticles this (line 28)
   |               LDC "pub.scheduled_articles"
| method-call(com.uwyn.rife.template.Template com.uwyn.ecalendar.elements.ListScheduledArticles.getHtmlTemplate(java.lang.String)) | | INVOKEVIRTUAL com.uwyn.ecalendar.elements.ListScheduledArticles.getHtmlTemplate (Ljava/lang/String;)Lcom/uwyn/rife/template/Template; | method-call(com.uwyn.rife.template.Template com.uwyn.ecalendar.elements.ListScheduledArticles.getHtmlTemplate(java.lang.String))
   |               ASTORE_1
   |               NEW java.text.SimpleDateFormat   (line 29)
   |               DUP
   |               LDC "MMMM d"
| INVOKESPECIAL java.text.SimpleDateFormat.<init> (Ljava/lang/String;)V
   |               ASTORE_2
   |               NEW java.text.SimpleDateFormat   (line 30)
   |               DUP
   |               LDC "'Week' w, MMMM d yyyy"
| INVOKESPECIAL java.text.SimpleDateFormat.<init> (Ljava/lang/String;)V
   |               ASTORE_3
   | method-call(java.util.Calendar java.util.Calendar.getInstance())
| | INVOKESTATIC java.util.Calendar.getInstance ()Ljava/util/Calendar; (line 32)
   | method-call(java.util.Calendar java.util.Calendar.getInstance())
   |               ASTORE 4
| ALOAD 4 // java.util.Calendar current_week_firstday (line 33)
   |               BIPUSH 7
   |               ALOAD 4     // java.util.Calendar current_week_firstday
   | method-call(int java.util.Calendar.getFirstDayOfWeek())
   | |             INVOKEVIRTUAL java.util.Calendar.getFirstDayOfWeek ()I
   | method-call(int java.util.Calendar.getFirstDayOfWeek())
   | method-call(void java.util.Calendar.set(int, int))
   | |             INVOKEVIRTUAL java.util.Calendar.set (II)V
   | method-call(void java.util.Calendar.set(int, int))
| NEW com.uwyn.rife.cmf.dam.ContentQueryManager (line 36)
   |               DUP
| ALOAD_0 // com.uwyn.ecalendar.elements.ListScheduledArticles this | GETFIELD com.uwyn.ecalendar.elements.ListScheduledArticles.mDatasource Lcom/uwyn/rife/database/Datasource;
   |               LDC com.uwyn.ecalendar.beans.Article
| INVOKESPECIAL com.uwyn.rife.cmf.dam.ContentQueryManager.<init> (Lcom/uwyn/rife/database/Datasource;Ljava/lang/Class;)V
   |               ASTORE 5
| ALOAD 5 // com.uwyn.rife.cmf.dam.ContentQueryManager manager (line 37) | ALOAD 5 // com.uwyn.rife.cmf.dam.ContentQueryManager manager (line 38) | method-call(com.uwyn.rife.database.querymanagers.generic.RestoreQuery com.uwyn.rife.cmf.dam.ContentQueryManager.getRestoreQuery()) | | INVOKEVIRTUAL com.uwyn.rife.cmf.dam.ContentQueryManager.getRestoreQuery ()Lcom/uwyn/rife/database/querymanagers/generic/RestoreQuery; | method-call(com.uwyn.rife.database.querymanagers.generic.RestoreQuery com.uwyn.rife.cmf.dam.ContentQueryManager.getRestoreQuery())
   |               LDC "Publication"
| GETSTATIC com.uwyn.rife.database.queries.Select.ON Lcom/uwyn/rife/database/queries/Select$JoinCondition;
   |               LDC "publicationId = Publication.id"
| method-call(com.uwyn.rife.database.querymanagers.generic.RestoreQuery com.uwyn.rife.database.querymanagers.generic.RestoreQuery.joinInner(java.lang.String, com.uwyn.rife.database.queries.Select$JoinCondition, java.lang.String)) | | INVOKEVIRTUAL com.uwyn.rife.database.querymanagers.generic.RestoreQuery.joinInner (Ljava/lang/String;Lcom/uwyn/rife/database/queries/Select$JoinCondition;Ljava/lang/String;)Lcom/uwyn/rife/database/querymanagers/generic/RestoreQuery; | method-call(com.uwyn.rife.database.querymanagers.generic.RestoreQuery com.uwyn.rife.database.querymanagers.generic.RestoreQuery.joinInner(java.lang.String, com.uwyn.rife.database.queries.Select$JoinCondition, java.lang.String))
   |               LDC "Articletype"   (line 39)
| GETSTATIC com.uwyn.rife.database.queries.Select.ON Lcom/uwyn/rife/database/queries/Select$JoinCondition;
   |               LDC "articletypeId = Articletype.id"
| INVOKEVIRTUAL com.uwyn.rife.database.querymanagers.generic.RestoreQuery.joinInner (Ljava/lang/String;Lcom/uwyn/rife/database/queries/Select$JoinCondition;Ljava/lang/String;)Lcom/uwyn/rife/database/querymanagers/generic/RestoreQuery;
   |               LDC "Author"   (line 40)
| GETSTATIC com.uwyn.rife.database.queries.Select.ON Lcom/uwyn/rife/database/queries/Select$JoinCondition;
   |               LDC "authorId = Author.id"
| INVOKEVIRTUAL com.uwyn.rife.database.querymanagers.generic.RestoreQuery.joinInner (Ljava/lang/String;Lcom/uwyn/rife/database/queries/Select$JoinCondition;Ljava/lang/String;)Lcom/uwyn/rife/database/querymanagers/generic/RestoreQuery;
   |               LDC "scheduledate"   (line 41)
   |               LDC ">="
   |               ALOAD 4     // java.util.Calendar current_week_firstday
| INVOKEVIRTUAL com.uwyn.rife.database.querymanagers.generic.RestoreQuery.where (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lcom/uwyn/rife/database/queries/AbstractWhereDelegateQuery; | CHECKCAST com.uwyn.rife.database.querymanagers.generic.RestoreQuery
   |               LDC "scheduledate"   (line 42)
| INVOKEVIRTUAL com.uwyn.rife.database.querymanagers.generic.RestoreQuery.orderBy (Ljava/lang/String;)Lcom/uwyn/rife/database/querymanagers/generic/RestoreQuery;
   |               NEW com.uwyn.ecalendar.elements.ListScheduledArticles$1
   |               DUP
| ALOAD_0 // com.uwyn.ecalendar.elements.ListScheduledArticles this
   |               ALOAD_1     // com.uwyn.rife.template.Template template
| ALOAD_3 // java.text.SimpleDateFormat week_date_format
   |               ALOAD_2     // java.text.SimpleDateFormat date_format
| INVOKESPECIAL com.uwyn.ecalendar.elements.ListScheduledArticles$1.<init> (Lcom/uwyn/ecalendar/elements/ListScheduledArticles;Lcom/uwyn/rife/template/Template;Ljava/text/SimpleDateFormat;Ljava/text/SimpleDateFormat;)V | INVOKEVIRTUAL com.uwyn.rife.cmf.dam.ContentQueryManager.restore (Lcom/uwyn/rife/database/querymanagers/generic/RestoreQuery;Lcom/uwyn/rife/database/DbRowProcessor;)Z (line 37)
   |               POP
| ALOAD_0 // com.uwyn.ecalendar.elements.ListScheduledArticles this (line 81)
   |               ALOAD_1     // com.uwyn.rife.template.Template template
| INVOKEVIRTUAL com.uwyn.ecalendar.elements.ListScheduledArticles.print (Lcom/uwyn/rife/template/Template;)V
   |               RETURN   (line 82)
method-execution(void com.uwyn.ecalendar.elements.ListScheduledArticles.processElement())
 end public void processElement()

end public class com.uwyn.ecalendar.elements.ListScheduledArticles

when matching pointcut (call(public static java.lang.String com.uwyn.ecalendar.ApplicationVersion.getVersion()) && persingleton(com.uwyn.ecalendar.aop.TestAop)) when matching shadow method-call(com.uwyn.rife.database.querymanagers.generic.RestoreQuery com.uwyn.rife.database.querymanagers.generic.RestoreQuery.joinInner(java.lang.String, com.uwyn.rife.database.queries.Select$JoinCondition, java.lang.String))
when weaving type com.uwyn.ecalendar.elements.ListScheduledArticles
when weaving classes
when weaving
when batch building BuildConfig[C:\DEV\eclipse\workspace\.metadata\.plugins\org.eclipse.ajdt.core\ecalendar.generated.lst] #Files=22



_______________________________________________
Rife-users mailing list
[email protected]
http://www.uwyn.com/mailman/listinfo/rife-users

Reply via email to