private JBossConvergedSipMetaData mergeSipMetaDataAndSipAnnMetaData ( final DeploymentUnit deploymentUnit ) { final WarMetaData warMetaData = deploymentUnit . getAttachment ( WarMetaData . ATTACHMENT_KEY ) ; SipMetaData sipMetaData = deploymentUnit . getAttachment ( SipMetaData . ATTACHMENT_KEY ) ; SipAnnotationMetaData sipAnnotationMetaData = deploymentUnit . getAttachment ( SipAnnotationMetaData . ATTACHMENT_KEY ) ; JBossConvergedSipMetaData mergedMetaData = new JBossConvergedSipMetaData ( ) ; final JBossWebMetaData override = warMetaData . getJBossWebMetaData ( ) ; final WebMetaData original = null ; JBossWebMetaDataMerger . merge ( mergedMetaData , override , original ) ; if ( sipMetaData == null && sipAnnotationMetaData != null && sipAnnotationMetaData . isSipApplicationAnnotationPresent ( ) ) { // http://code.google.com/p/sipservlets/issues/detail?id=168 // When no sip.xml but annotations only, Application is not recognized as SIP App by AS7 sipMetaData = new Sip11MetaData ( ) ; } if ( sipMetaData != null ) { try { augmentAnnotations ( mergedMetaData , sipMetaData , sipAnnotationMetaData ) ; } catch ( ServletException e ) { logger . error ( "Error while augmenting annotation: " + e . getMessage ( ) , e ) ; } } else { logger . debug ( "Deployment does not consist SIP application." ) ; } return mergedMetaData ; }
merge DD and annotation meta data and store in WarMetaData . mergedJBossWebMetaData based on SIPWebContext code