[jboss-user] [Microcontainer] - Re: annotation plugin - mismatch
obrien
do-not-reply at jboss.com
Thu Feb 12 18:45:02 EST 2009
"alesj" wrote :
| You didn't "copy" ALR's code well enough. ;-)
|
| Your BeanAnnotationAdapter is not a singleton.
| See
| * BeanAnnotationAdapterFactory
| * AnnotationsAction
|
sorry, I changed it last night when I couldn't figure out what's wrong. So this is now fixed
| BeanAnnotationAdapter beanAnnotationAdapter = BeanAnnotationAdapterFactory.getInstance().getBeanAnnotationAdapter();
| String beanAnnotationAdapterBindName = "MyBeanAnnotationAdapter";
| BeanMetaDataBuilder bmdb = BeanMetaDataBuilder.createBuilder(beanAnnotationAdapterBindName, beanAnnotationAdapter.getClass().getName());
| bmdb.addMethodInstallCallback("addAnnotationPlugin");
| bmdb.addMethodUninstallCallback("removeAnnotationPlugin");
| //bmdb.setAccessMode(BeanAccessMode.FIELDS);
| kernel.getController().install(bmdb.getBeanMetaData(), beanAnnotationAdapter);
|
but to get FieldAnnotationPlugin to work, I had to delete/comment out setter in my class, like:
| public class Library {
| @DoSomething
| private String name;
|
| public Library() {
| }
|
| public String getName() {
| return name;
| }
| /*
|
| public void setName(String name) {
| this.name = name;
| }
| */
| }
|
Digging down to the code, I've found couple things I don't understand:
- when 'access-mode=FIELDS' then field filter is set only to IsPublicFieldFilter, and the 'name' wouldn't get handled
- when 'access-mode=ALL' field filter is AllFieldFilter, but then within FieldBeanInfo.setProperties property precedes and it seems like FieldAnnotationPlugin is not used, unless setter property is not present. What annotation plugin I have to extend?
Is this correct behaviour? And if it is, can you point me in the right direction where to look for explanation why?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4209728#4209728
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4209728
More information about the jboss-user
mailing list