code: public Map<String,String> getMapForEntrancePI(SamzaEntranceProcessingItem epi, String filename, String filesystem) {
  		Map<String,String> map = getBasicSystemConfig();
  
  		// Set job name, task class (from SamzaEntranceProcessingItem)
  		setJobName(map, epi.getName());
  		setTaskClass(map, SamzaEntranceProcessingItem.class.getName());
  
  		// Input for the entrance task (from our custom consumer)
  		setTaskInputs(map, SYSTEM_NAME+"."+epi.getName());
  
  		// Output from entrance task
  		// Since entrancePI should have only 1 output stream
  		// there is no need for checking the batch size, setting different system names
  		// The custom consumer (samoa system) does not suuport reading from a specific index
  		// => no need for checkpointing
  		SamzaStream outputStream = (SamzaStream)epi.getOutputStream();
  		// Set samoa system factory
  		setValue(map, "systems."+SYSTEM_NAME+".samza.factory", SamoaSystemFactory.class.getName());
  		// Set Kafka system (only if there is an output stream)
  		if (outputStream != null)
  			setKafkaSystem(map, outputStream.getSystemName(), this.zookeeper, this.kafkaBrokerList, outputStream.getBatchSize());
  
  		// Processor file
  		setFileName(map, filename);
  		setFileSystem(map, filesystem);
  		
  		// Number of containers
  		setNumberOfContainers(map, 1, this.piPerContainerRatio);
  
  		return map;
  	}
docs: /*
  Generate a map of all config properties for the input SamzaProcessingItem