User development, A new message was posted in the thread "AnnotatedElementMetaDataLoader component metadata optimization":
http://community.jboss.org/message/527038#527038 Author : Kabir Khan Profile : http://community.jboss.org/people/kabir.k...@jboss.com Message: -------------------------------------------------------------- I have gone back to making AEMDL.getCMDR() return null if there are no annotations. It is the fastest way, and is the least affected by caching. To preserve backwards compatibility and to not have to change any tests, I have added this fix to make MetaDataRetrievalToMetaDataBridge always return something even if there is no component metadata: public MetaData getComponentMetaData(Signature signature) { MetaDataRetrieval component = retrieval.getComponentMetaDataRetrieval(signature); if (component == null) //return null; return NullComponentMetaData.INSTANCE; return new MetaDataRetrievalToMetaDataBridge(component); } ... private static class NullComponentMetaData implements MetaData { final static NullComponentMetaData INSTANCE = new NullComponentMetaData(); public <T extends Annotation> T getAnnotation(Class<T> annotationType) { return null; } public Annotation[] getAnnotations() { return MetaData.NO_ANNOTATIONS; } public Annotation[] getAnnotationsAnnotatedWith(Class<? extends Annotation> meta) { return MetaData.NO_ANNOTATIONS; } public MetaData getComponentMetaData(Signature signature) { return null; } public Annotation[] getLocalAnnotations() { return MetaData.NO_ANNOTATIONS; } public Object[] getLocalMetaData() { return MetaData.NO_METADATA; } public <T> T getMetaData(Class<T> type) { return null; } public Object[] getMetaData() { return MetaData.NO_METADATA; } public Object getMetaData(String name) { return null; } public <T> T getMetaData(String name, Class<T> type) { return null; } public MetaData getScopeMetaData(ScopeLevel level) { return null; } public long getValidTime() { return 0; } public boolean isAnnotationPresent(Class<? extends Annotation> annotationType) { return false; } public boolean isEmpty() { return true; } public boolean isMetaDataPresent(Class<?> type) { return false; } public boolean isMetaDataPresent(String name) { return false; } public boolean isMetaDataPresent(String name, Class<?> type) { return false; } } -------------------------------------------------------------- To reply to this message visit the message page: http://community.jboss.org/message/527038#527038
_______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user