0 Replies Latest reply on Jul 14, 2008 9:04 AM by Adrian Brock

    AltDD processing missing from MultipleVFSParsingDeployer

    Adrian Brock Master

      Since the RARParsingDeployer moved to the new MultipleVFSParsingDeployer
      the AltDD test is failing:
      http://hudson.jboss.org/hudson/job/JBoss-AS-5.0.x-TestSuite-sun15/lastBuild/testReport/org.jboss.test.deployers.ear.test/EARAltDDConnectorDeploymentUnitTestCase/testEARDeployment/

      This is because it is not using the alternate deployment descriptor specified in the
      ear deployment descriptor.

      Caused by: org.xml.sax.SAXException: Content is not allowed in prolog. @ vfszip:/home/ejort/jboss-head/testsuite/output/lib/testdeployers-ear-altdd-connector.ear/testdeployers-invalidmcf.rar/META-INF/ra.xml[1,1]
       at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$MetaDataErrorHandler.fatalError(SaxJBossXBParser.java:432)
       at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
       at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.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:199)
       ... 69 more
      14:13:30,058 WARN [MainDeployer] Failed to deploy: file:/home/ejort/jboss-head/testsuite/output/lib/testdeployers-ear-altdd-connector.ear
      


      The processing that is missing is to look for the .altDD attachment.
      See AbstractVFSParsingDeployer.

      In fact, The MultipleVFSParsingDeployer overrides the wrong method.

      1) It is wrong for it to check for the altDD on the "merged" metadata class name
      in the method inherited from AbstractVFSParsingDeployer.
      It should be checking for the "expectedType".getName() + ".altDD"
      attachment.

      2) If there's an altDD, the original metadata file may not even exist
      (currently the deployment would be ignored altogether in this case).
      so it should be matching against the name of the file not assuming the file exists.