protected void initWorkingDirectory(Map<String, String> configMap, IConfig config) throws FileNotFoundException {
		final String sourceMethod = "initWorkingDirectory"; //$NON-NLS-1$
		boolean isTraceLogging = log.isLoggable(Level.FINER);
		if (isTraceLogging) {
			log.entering(sourceClass, sourceMethod, new Object[]{configMap});
		}
		String versionString = Long.toString(contributingBundle.getBundleId());
		if (TypeUtil.asBoolean(config.getProperty(DISABLEBUNDLEIDDIRSCOPING_PROPNAME, null)) ||
			TypeUtil.asBoolean(getOptions().getOption(DISABLEBUNDLEIDDIRSCOPING_PROPNAME))) {
			versionString = null;
		}
		// Add the list of bundle ids with the same symbolic name as the contributing bundle so
		// that the subdirectories for any bundles still installed on the system won't be deleted.
		Collection<String> versionsToRetain = new HashSet<String>();
		Bundle[] bundles = Platform.getBundles(contributingBundle.getSymbolicName(), null);
		for (Bundle bundle : bundles) {
			versionsToRetain.add(Long.toString(bundle.getBundleId()));
		}

		File baseDir = new File(Platform.getStateLocation(contributingBundle).toFile(), "JAGGR"); //$NON-NLS-1$
		baseDir.mkdir();
		workdir = super.initWorkingDirectory(baseDir, configMap, versionString, versionsToRetain);

		if (isTraceLogging) {
			log.exiting(sourceClass, sourceMethod);
		}
	}
protected void initWorkingDirectory ( Map < String , String > configMap , IConfig config ) throws FileNotFoundException { final String sourceMethod = "initWorkingDirectory" ; boolean isTraceLogging = log . isLoggable ( Level . FINER ) ; if ( isTraceLogging ) { log . entering ( sourceClass , sourceMethod , new Object [ ] { configMap } ) ; } String versionString = Long . toString ( contributingBundle . getBundleId ( ) ) ; if ( TypeUtil . asBoolean ( config . getProperty ( DISABLEBUNDLEIDDIRSCOPING_PROPNAME , null ) ) || TypeUtil . asBoolean ( getOptions ( ) . getOption ( DISABLEBUNDLEIDDIRSCOPING_PROPNAME ) ) ) { versionString = null ; } Collection < String > versionsToRetain = new HashSet < String > ( ) ; Bundle [ ] bundles = Platform . getBundles ( contributingBundle . getSymbolicName ( ) , null ) ; for ( Bundle bundle : bundles ) { versionsToRetain . add ( Long . toString ( bundle . getBundleId ( ) ) ) ; } File baseDir = new File ( Platform . getStateLocation ( contributingBundle ) . toFile ( ) , "JAGGR" ) ; baseDir . mkdir ( ) ; workdir = super . initWorkingDirectory ( baseDir , configMap , versionString , versionsToRetain ) ; if ( isTraceLogging ) { log . exiting ( sourceClass , sourceMethod ) ; } }
Initialize the working directory for the servlet.  The working directory is in the plugin's
workspace directory (returned by {@link Platform#getStateLocation(Bundle)} and is
qualified with the id of the contributing bundle (so that multiple versions can co-exist
in the framework without stepping on each other and so that new versions will start with
a clean cache).

@param configMap
Map of config name/value pairs
@param config
aggregator config object

@throws FileNotFoundException