This content has been marked as final.
Show 3 replies
-
1. Re: Setting dynamic metadata
rkadayam Aug 10, 2004 6:41 PM (in response to rkadayam)I think there is a bug in AspectManager.addClassMetaData. The line
if (meta.matches(advisor, advisor.getClass()))
should actually beif (meta.matches(advisor, ((ClassAdvisor)advisor).getClazz()))
I've rephrased the method implementation here.public void addClassMetaData(ClassMetaDataBinding meta) { removeClassMetaData(meta.getName()); synchronized (advisors) { Iterator it = advisors.values().iterator(); while (it.hasNext()) { Advisor advisor = (Advisor) it.next(); if (advisor instanceof ClassAdvisor) { if (meta.matches(advisor, ((ClassAdvisor)advisor).getClazz())) { meta.addAdvisor(advisor); } } } synchronized (classMetaData) { classMetaData.put(meta.getName(), meta); } }
After this fix, I managed to get the meta-data that were set dynamically as illustrated in the previous post.
Would it be possible to roll this fix into the CVS Head
thanks
rajiv -
2. Re: Setting dynamic metadata
rkadayam Aug 24, 2004 2:28 PM (in response to rkadayam)I think there is a bug in AspectManager.addClassMetaData. The line
if (meta.matches(advisor, advisor.getClass()))
should actually beif (meta.matches(advisor, ((ClassAdvisor)advisor).getClazz()))
I've rephrased the method implementation here.public void addClassMetaData(ClassMetaDataBinding meta) { removeClassMetaData(meta.getName()); synchronized (advisors) { Iterator it = advisors.values().iterator(); while (it.hasNext()) { Advisor advisor = (Advisor) it.next(); if (advisor instanceof ClassAdvisor) { if (meta.matches(advisor, ((ClassAdvisor)advisor).getClazz())) { meta.addAdvisor(advisor); } } } synchronized (classMetaData) { classMetaData.put(meta.getName(), meta); } }
After this fix, I managed to get the meta-data that were set dynamically as illustrated in the previous post.
Would it be possible to roll this fix into the CVS Head
thanks
rajiv -
3. Re: Setting dynamic metadata
bill.burke Aug 25, 2004 2:25 PM (in response to rkadayam)fixed in RC1