[Design of JBossXB] - Re: annotations on properties declared in interfaces
by wolfc
There is something wicked in this corner. If I remove EnterpriseBeanMetaData.getEnterpriseBeansMetaData() the beans info SPI will throw this at me:
org.jboss.xb.binding.JBossXBException: Failed to parse source: file:/home/carlo/work/metadata/target/eclipse-classes/org/jboss/test/metadata/ejb/EjbJar3xEverything_testEverything.xml@8,26
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:194)
| at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:139)
| at org.jboss.test.metadata.javaee.JBossXBTestDelegate.unmarshal(JBossXBTestDelegate.java:150)
| at org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest.unmarshal(AbstractJavaEEMetaDataTest.java:196)
| at org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest.unmarshal(AbstractJavaEEMetaDataTest.java:152)
| at org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest.unmarshal(AbstractJavaEEMetaDataTest.java:118)
| at org.jboss.test.metadata.ejb.EjbJar3xEverythingUnitTestCase.unmarshal(EjbJar3xEverythingUnitTestCase.java:91)
| at org.jboss.test.metadata.ejb.EjbJar3xEverythingUnitTestCase.testEverything(EjbJar3xEverythingUnitTestCase.java:98)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at junit.framework.TestCase.runTest(TestCase.java:154)
| at junit.framework.TestCase.runBare(TestCase.java:127)
| at junit.framework.TestResult$1.protect(TestResult.java:106)
| at junit.framework.TestResult.runProtected(TestResult.java:124)
| at junit.framework.TestResult.run(TestResult.java:109)
| at junit.framework.TestCase.run(TestCase.java:118)
| at junit.framework.TestSuite.runTest(TestSuite.java:208)
| at junit.framework.TestSuite.run(TestSuite.java:203)
| at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
| at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
| at junit.framework.TestResult.runProtected(TestResult.java:124)
| at junit.extensions.TestSetup.run(TestSetup.java:23)
| at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
| at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
| at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
| at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
| at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
| at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
| Caused by: java.lang.RuntimeException: Unable to determine right PropertyInfo on AbstractBeanInfo(a)16e1eea8{name=org.jboss.metadata.ejb.spec.SessionBeanMetaData classInfo= properties=[interceptorBinding, removeMethods, messageDestinationReferences, postConstructs, stateless, ejbReferences, id, home, ejbJarMetaData, preDestroys, persistenceContextRefs, environmentEntries, ejbName, jndiEnvironmentRefsGroup, persistenceUnitRefs, class, entity, methodPermissions, remote, CMT, BMT, ejbClass, securityRoleRefs, initMethods, session, resourceReferences, aroundInvokes, descriptionGroup, containerTransactions, assemblyDescriptor, transactionType, local, stateful, postActivates, localHome, businessLocals, resourceEnvironmentReferences, sessionType, messageDriven, name, ejbLocalReferences, prePassivates, serviceEndpoint, securityIdentity, key, mappedName, businessRemotes, serviceReferences, timeoutMethod, enterpriseBeansMetaData, enterpriseBeansMetaData, excludeList] methods=[setEjbName, hashCode, getBusinessRemotes, setBusinessRemotes, setHome, getMethodPermissions, setPostActivates, getTransactionType, setTimeoutMethod, getPersistenceUnitRefs, getPrePassivates, setMappedName, setEjbClass, getKey, getBusinessLocals, getTimeoutMethod, setAroundInvokes, setDescriptionGroup, getEjbName, getServiceEndpoint, getPreDestroys, getAssemblyDescriptor, getResourceReferenceByName, wait, wait, wait, setJndiEnvironmentRefsGroup, notify, isCMT, getEnvironmentEntries, isEntity, setRemoveMethods, getEjbReferenceByName, getMethodTransactionType, getMethodTransactionType, getResourceEnvironmentReferences, getServiceReferenceByName, setServiceEndpoint, getInitMethods, setPrePassivates, setId, getEjbLocalReferences, setSecurityIdentity, getSessionType, setSecurityRoleRefs, getHome, getExcludeList, isStateful, isStateless, setInitMethods, isBMT, getName, getResourceEnvironmentReferenceByName, setBusinessLocals, getPostActivates, getLocalHome, isMessageDriven, getMappedName, getPostConstructs, clone, getEnvironmentEntryByName, merge, merge, merge, getEjbReferences, getResourceReferences, getEjbLocalReferenceByName, getMessageDestinationReferenceByName, setEnterpriseBeansMetaData, setEnterpriseBeansMetaData, getDescriptionGroup, setTransactionType, getSecurityIdentity, getAroundInvokes, getServiceReferences, equals, getRemote, setSessionType, getId, setLocalHome, getClass, toString, getPersistenceContextReferenceByName, setRemote, getLocal, getEjbJarMetaData, getContainerTransactions, notifyAll, getRemoveMethods, getPersistenceUnitReferenceByName, setName, setLocal, getPersistenceContextRefs, getSecurityRoleRefs, getJndiEnvironmentRefsGroup, isSession, getMessageDestinationReferences, getEjbClass, getInterceptorBinding] constructors=[] events=} by name: enterpriseBeansMetaData
| at org.jboss.metadata.ejb.spec.SessionBeanMetaData.enterpriseBeansMetaData
| at org.jboss.metadata.ejb.spec.EjbJar30MetaData.enterpriseBeans
| at org.jboss.metadata.ejb.spec.EjbJar30MetaData
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.rethrowWithLocation(JBossXBNoSchemaBuilder.java:1806)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.createRootElementBinding(JBossXBNoSchemaBuilder.java:285)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.createRootElements(JBossXBNoSchemaBuilder.java:260)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.build(JBossXBNoSchemaBuilder.java:184)
| at org.jboss.xb.builder.JBossXBBuilder.build(JBossXBBuilder.java:102)
| at org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest$1.resolve(AbstractJavaEEMetaDataTest.java:238)
| at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.startElement(SundayContentHandler.java:302)
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$DelegatingContentHandler.startElement(SaxJBossXBParser.java:412)
| at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
| at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source)
| at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
| at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
| at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
| at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
| at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
| at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
| at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
| at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
| at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:190)
| ... 29 more
| Caused by: java.lang.IllegalArgumentException: Unable to determine right PropertyInfo on AbstractBeanInfo(a)16e1eea8{name=org.jboss.metadata.ejb.spec.SessionBeanMetaData classInfo= properties=[interceptorBinding, removeMethods, messageDestinationReferences, postConstructs, stateless, ejbReferences, id, home, ejbJarMetaData, preDestroys, persistenceContextRefs, environmentEntries, ejbName, jndiEnvironmentRefsGroup, persistenceUnitRefs, class, entity, methodPermissions, remote, CMT, BMT, ejbClass, securityRoleRefs, initMethods, session, resourceReferences, aroundInvokes, descriptionGroup, containerTransactions, assemblyDescriptor, transactionType, local, stateful, postActivates, localHome, businessLocals, resourceEnvironmentReferences, sessionType, messageDriven, name, ejbLocalReferences, prePassivates, serviceEndpoint, securityIdentity, key, mappedName, businessRemotes, serviceReferences, timeoutMethod, enterpriseBeansMetaData, enterpriseBeansMetaData, excludeList] methods=[setEjbName, hashCode, getBusinessRemotes, setBusinessRemotes, setHome, getMethodPermissions, setPostActivates, getTransactionType, setTimeoutMethod, getPersistenceUnitRefs, getPrePassivates, setMappedName, setEjbClass, getKey, getBusinessLocals, getTimeoutMethod, setAroundInvokes, setDescriptionGroup, getEjbName, getServiceEndpoint, getPreDestroys, getAssemblyDescriptor, getResourceReferenceByName, wait, wait, wait, setJndiEnvironmentRefsGroup, notify, isCMT, getEnvironmentEntries, isEntity, setRemoveMethods, getEjbReferenceByName, getMethodTransactionType, getMethodTransactionType, getResourceEnvironmentReferences, getServiceReferenceByName, setServiceEndpoint, getInitMethods, setPrePassivates, setId, getEjbLocalReferences, setSecurityIdentity, getSessionType, setSecurityRoleRefs, getHome, getExcludeList, isStateful, isStateless, setInitMethods, isBMT, getName, getResourceEnvironmentReferenceByName, setBusinessLocals, getPostActivates, getLocalHome, isMessageDriven, getMappedName, getPostConstructs, clone, getEnvironmentEntryByName, merge, merge, merge, getEjbReferences, getResourceReferences, getEjbLocalReferenceByName, getMessageDestinationReferenceByName, setEnterpriseBeansMetaData, setEnterpriseBeansMetaData, getDescriptionGroup, setTransactionType, getSecurityIdentity, getAroundInvokes, getServiceReferences, equals, getRemote, setSessionType, getId, setLocalHome, getClass, toString, getPersistenceContextReferenceByName, setRemote, getLocal, getEjbJarMetaData, getContainerTransactions, notifyAll, getRemoveMethods, getPersistenceUnitReferenceByName, setName, setLocal, getPersistenceContextRefs, getSecurityRoleRefs, getJndiEnvironmentRefsGroup, isSession, getMessageDestinationReferences, getEjbClass, getInterceptorBinding] constructors=[] events=} by name: enterpriseBeansMetaData
| at org.jboss.beans.info.plugins.NestedPropertyInfo.getUnderlyingAnnotation(NestedPropertyInfo.java:201)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateType(JBossXBNoSchemaBuilder.java:1041)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateBean(JBossXBNoSchemaBuilder.java:695)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateBean(JBossXBNoSchemaBuilder.java:683)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateTypeBinding(JBossXBNoSchemaBuilder.java:462)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.resolveTypeBinding(JBossXBNoSchemaBuilder.java:421)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateType(JBossXBNoSchemaBuilder.java:1002)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateBean(JBossXBNoSchemaBuilder.java:695)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateBean(JBossXBNoSchemaBuilder.java:683)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateCollection(JBossXBNoSchemaBuilder.java:626)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateTypeBinding(JBossXBNoSchemaBuilder.java:453)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.resolveTypeBinding(JBossXBNoSchemaBuilder.java:421)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateType(JBossXBNoSchemaBuilder.java:1526)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateBean(JBossXBNoSchemaBuilder.java:695)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateBean(JBossXBNoSchemaBuilder.java:683)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.generateTypeBinding(JBossXBNoSchemaBuilder.java:462)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.resolveTypeBinding(JBossXBNoSchemaBuilder.java:421)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.createElementBinding(JBossXBNoSchemaBuilder.java:300)
| at org.jboss.xb.builder.JBossXBNoSchemaBuilder.createRootElementBinding(JBossXBNoSchemaBuilder.java:280)
| ... 47 more
I would expect the annotation on the setter to be returned.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4098859#4098859
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4098859
17 years, 4 months