private void joinAndPostProcessBundle ( CompositeResourceBundle composite , BundleProcessingStatus status ) { JoinableResourceBundleContent store ; stopProcessIfNeeded ( ) ; List < Map < String , String > > allVariants = VariantUtils . getAllVariants ( composite . getVariants ( ) ) ; // Add the default bundle variant (the non variant one) allVariants . add ( null ) ; // Process all variants for ( Map < String , String > variants : allVariants ) { status . setBundleVariants ( variants ) ; store = new JoinableResourceBundleContent ( ) ; for ( JoinableResourceBundle childbundle : composite . getChildBundles ( ) ) { if ( ! childbundle . getInclusionPattern ( ) . isIncludeOnlyOnDebug ( ) ) { JoinableResourceBundleContent childContent = joinAndPostprocessBundle ( childbundle , variants , status ) ; // Do unitary postprocessing. status . setProcessingType ( BundleProcessingStatus . FILE_PROCESSING_TYPE ) ; StringBuffer content = executeUnitaryPostProcessing ( composite , status , childContent . getContent ( ) , this . unitaryCompositePostProcessor ) ; childContent . setContent ( content ) ; store . append ( childContent ) ; } } // Post process composite bundle as needed store = postProcessJoinedCompositeBundle ( composite , store . getContent ( ) , status ) ; String variantKey = VariantUtils . getVariantKey ( variants ) ; String name = VariantUtils . getVariantBundleName ( composite . getId ( ) , variantKey , false ) ; storeBundle ( name , store ) ; initBundleDataHashcode ( composite , store , variantKey ) ; } }
Joins and post process the variant composite bundle