[aspectwerkz-dev] making some progress with annotations
christoph sturm <chrisml-Ws/[email protected]>
| Newsgroups | gmane.comp.java.aspectwerkz.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi all!
looking at a new annotation sample in aspectwerkz cvs i found out that
my previous problem was that my mixin class was not static. this works now:
/**
* @Implements within(com.schaumwelt.aspects.IdentifyableClass)
*/
public Identifyable serializable;
but this doesnt:
/**
* @Introduce within(@Identity *..*) deploymentModel=perInstance
*/
public static class MyConcreteImpl implements Identifyable
...
it produces this exception:
org.codehaus.aspectwerkz.exception.DefinitionException: expression is
not well-formed [within(@Identity*..*)]:
at
org.codehaus.aspectwerkz.expression.ExpressionInfo.<init>(ExpressionInfo.java:50)
at
org.codehaus.aspectwerkz.definition.DefinitionParserHelper.createIntroductionDefinition(DefinitionParserHelper.java:248)
at
org.codehaus.aspectwerkz.definition.DefinitionParserHelper.createAndAddIntroductionDefToAspectDef(DefinitionParserHelper.java:169)
at
org.codehaus.aspectwerkz.annotation.AspectAnnotationParser.parseClassAttributes(AspectAnnotationParser.java:191)
at
org.codehaus.aspectwerkz.annotation.AspectAnnotationParser.parse(AspectAnnotationParser.java:55)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parseAspectElements(DocumentParser.java:251)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parsePackageElements(DocumentParser.java:190)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parseSystemElement(DocumentParser.java:144)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parseSystemElements(DocumentParser.java:107)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parse(DocumentParser.java:94)
at
org.codehaus.aspectwerkz.definition.XmlParser.parseNoCache(XmlParser.java:155)
at
org.codehaus.aspectwerkz.definition.DefinitionLoader.getDefaultDefinition(DefinitionLoader.java:175)
at
org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.registerClassLoader(SystemDefinitionContainer.java:108)
at
org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getHierarchicalDefs(SystemDefinitionContainer.java:212)
at org.codehaus.aspectwerkz.transform.Context.<init>(Context.java:62)
at
org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor._preProcess(AspectWerkzPreProcessor.java:170)
at
org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor.preProcess(AspectWerkzPreProcessor.java:152)
at
org.codehaus.aspectwerkz.hook.impl.ClassPreProcessorHelper.defineClass0Pre(ClassPreProcessorHelper.java:116)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
org.codehaus.aspectwerkz.expression.ast.ParseException: Encountered
"within( @Identity*..* )" at line 1, column 1.
Was expecting one of:
<POINTCUT_REFERENCE> ...
"call(" ...
"execution(" ...
"set(" ...
"get(" ...
"handler(" ...
"within(" <CLASS_ATTRIBUTE> <CLASS_ATTRIBUTE> ...
"within(" <CLASS_ATTRIBUTE> <CLASS_NOT> ...
"within(" <CLASS_ATTRIBUTE> "public" ...
"within(" <CLASS_ATTRIBUTE> "protected" ...
"within(" <CLASS_ATTRIBUTE> "private" ...
"within(" <CLASS_ATTRIBUTE> "static" ...
"within(" <CLASS_ATTRIBUTE> "abstract" ...
"within(" <CLASS_ATTRIBUTE> "final" ...
"within(" <CLASS_ATTRIBUTE> <CLASS_PATTERN> ...
"withincode(" ...
"staticinitialization(" ...
"cflow(" ...
"cflowbelow(" ...
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.generateParseException(ExpressionParser.java:2948)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.jj_consume_token(ExpressionParser.java:2808)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.Pointcut(ExpressionParser.java:380)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.UnaryExpression(ExpressionParser.java:305)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.OrExpression(ExpressionParser.java:243)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.AndExpression(ExpressionParser.java:197)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.Expression(ExpressionParser.java:184)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.Root(ExpressionParser.java:145)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.parse(ExpressionParser.java:131)
at
org.codehaus.aspectwerkz.expression.ast.ExpressionParser.parse(ExpressionParser.java:126)
at
org.codehaus.aspectwerkz.expression.ExpressionInfo.<init>(ExpressionInfo.java:39)
at
org.codehaus.aspectwerkz.definition.DefinitionParserHelper.createIntroductionDefinition(DefinitionParserHelper.java:248)
at
org.codehaus.aspectwerkz.definition.DefinitionParserHelper.createAndAddIntroductionDefToAspectDef(DefinitionParserHelper.java:169)
at
org.codehaus.aspectwerkz.annotation.AspectAnnotationParser.parseClassAttributes(AspectAnnotationParser.java:191)
at
org.codehaus.aspectwerkz.annotation.AspectAnnotationParser.parse(AspectAnnotationParser.java:55)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parseAspectElements(DocumentParser.java:251)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parsePackageElements(DocumentParser.java:190)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parseSystemElement(DocumentParser.java:144)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parseSystemElements(DocumentParser.java:107)
at
org.codehaus.aspectwerkz.definition.DocumentParser.parse(DocumentParser.java:94)
at
org.codehaus.aspectwerkz.definition.XmlParser.parseNoCache(XmlParser.java:155)
at
org.codehaus.aspectwerkz.definition.DefinitionLoader.getDefaultDefinition(DefinitionLoader.java:175)
at
org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.registerClassLoader(SystemDefinitionContainer.java:108)
at
org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getHierarchicalDefs(SystemDefinitionContainer.java:212)
at org.codehaus.aspectwerkz.transform.Context.<init>(Context.java:62)
at
org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor._preProcess(AspectWerkzPreProcessor.java:170)
at
org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor.preProcess(AspectWerkzPreProcessor.java:152)
at
org.codehaus.aspectwerkz.hook.impl.ClassPreProcessorHelper.defineClass0Pre(ClassPreProcessorHelper.java:116)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
its strange because i copied this basically from the annotations sample.
thanks
chris