protected boolean doFixedURLsPass ( final BuildData buildData ) throws BuildProcessingException { log . info ( "Doing Fixed URL Pass" ) ; final Set < String > processedFileNames = new HashSet < String > ( ) ; final Set < SpecNode > nodesWithoutFixedUrls = new HashSet < SpecNode > ( ) ; boolean success = true ; try { // Collect any current fixed urls or nodes that need configuring FixedURLGenerator . collectFixedUrlInformation ( buildData . getBuildDatabase ( ) . getAllSpecNodes ( ) , nodesWithoutFixedUrls , processedFileNames ) ; // Warn the user about using temporary fixed urls if ( ! nodesWithoutFixedUrls . isEmpty ( ) ) { log . info ( "\tUsing " + nodesWithoutFixedUrls . size ( ) + " temporary Fixed URLs" ) ; } // Generate the fixed urls for the missing nodes FixedURLGenerator . generateFixedUrlForNodes ( nodesWithoutFixedUrls , processedFileNames , buildData . getServerEntities ( ) . getFixedUrlPropertyTagId ( ) ) ; } catch ( Exception e ) { success = false ; log . debug ( "" , e ) ; throw new BuildProcessingException ( "Failed to update the Fixed URLs. Please try again and if the issue persists please log a bug." ) ; } return success ; }
This method does a pass over all the spec nodes and attempts to create unique Fixed URL if one does not already exist .