private void joinAndStoreCompositeResourcebundle ( CompositeResourceBundle composite ) { stopProcessIfNeeded ( ) ; BundleProcessingStatus status = new BundleProcessingStatus ( BundleProcessingStatus . FILE_PROCESSING_TYPE , composite , resourceHandler , config ) ; // Collect all variant names from child bundles Map < String , VariantSet > compositeBundleVariants = new HashMap <> ( ) ; for ( JoinableResourceBundle childbundle : composite . getChildBundles ( ) ) { if ( childbundle . getVariants ( ) != null ) compositeBundleVariants = VariantUtils . concatVariants ( compositeBundleVariants , childbundle . getVariants ( ) ) ; } composite . setVariants ( compositeBundleVariants ) ; if ( needToSearchForVariantInPostProcess || hasVariantPostProcessor ( composite ) ) { status . setSearchingPostProcessorVariants ( true ) ; joinAndPostProcessBundle ( composite , status ) ; Map < String , VariantSet > postProcessVariants = status . getPostProcessVariants ( ) ; if ( ! postProcessVariants . isEmpty ( ) ) { if ( LOGGER . isDebugEnabled ( ) ) { LOGGER . debug ( "Post process variants found for bundle " + composite . getId ( ) + ":" + postProcessVariants ) ; } Map < String , VariantSet > newVariants = VariantUtils . concatVariants ( composite . getVariants ( ) , postProcessVariants ) ; composite . setVariants ( newVariants ) ; status . setSearchingPostProcessorVariants ( false ) ; joinAndPostProcessBundle ( composite , status ) ; } } else { status . setSearchingPostProcessorVariants ( false ) ; joinAndPostProcessBundle ( composite , status ) ; } }
Joins the members of a composite bundle in all its variants storing in a separate file for each variant .