boolean (Profile profile ) { Activation activation = profile.getActivation(); ActivationFile actFile = activation.getFile(); if ( actFile != null ) { // check if the file exists, if it does then the profile will be active String fileString = actFile.getExists(); RegexBasedInterpolator interpolator = new RegexBasedInterpolator(); try { interpolator.addValueSource( new EnvarBasedValueSource() ); } catch ( IOException e ) { // ignored } interpolator.addValueSource( new MapBasedValueSource( System.getProperties() ) ); try { if ( StringUtils.isNotEmpty(fileString) ) { fileString = StringUtils.replace( interpolator.interpolate( fileString, "" ), "\\", "/" ); return fileExists(fileString); } // check if the file is missing, if it is then the profile will be active fileString = actFile.getMissing(); if ( StringUtils.isNotEmpty( fileString ) ) { fileString = StringUtils.replace( interpolator.interpolate( fileString, "" ), "\\", "/" ); return !fileExists(fileString); } } catch ( InterpolationException e ) { if ( logger.isDebugEnabled() ) { logger.debug( "Failed to interpolate missing file location for profile activator: " + fileString, e ); } else { logger.warn( "Failed to interpolate missing file location for profile activator: " + fileString + ". Run in debug mode (-X) for more information." ); } } } return false; }