// Path: shim/src/main/java/info/vancauwenberge/filedriver/api/IFileReadStrategy.java
// public interface IFileReadStrategy extends IPublisherStrategy{
// 	/**
// 	 * Tells the reader to prepare for reading a given file. The previous file (if any) was processed completly.
// 	 * @param trace
// 	 * @param f
// 	 * @throws IOException
// 	 */
// 	public void openFile(File f) throws ReadException;
//     /**
//      * Reads one record from the file. Return null if no more records can be read from the file.
//      * @param trace
//      * @return a map of key/value pairs. The key is the fieldname (String), the value is the String value for that field. Value can be null.
//      * @throws IOException
//      */
//     public Map<String,String> readRecord() throws ReadException;
//     /**
//      * Tells the reader that no more records will be read from this file (readRecord returned null). 
//      * The reader should release all resources associated with the file.
//      * @throws IOException
//      */
//     public void close() throws ReadException;
//     
//     
// 	/**
// 	 * Get the actual schema used by the file reader. This can differ than the schema configured on the driver (eg: headers in the CSV file).
// 	 * @return
// 	 */
// 	public String[] getActualSchema();
// }
// 
// Path: shim/src/main/java/info/vancauwenberge/filedriver/exception/ReadException.java
// public class ReadException extends Exception {
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 	/**
// 	 * @param message
// 	 * @param cause
// 	 */
// 	public ReadException(final String message, final Exception cause) {
// 		super(message,cause);
// 	}
// 	/**
// 	 * @param cause
// 	 */
// 	public ReadException(final Exception cause) {
// 		super(cause);
// 	}
// 
// 	public ReadException(final String message) {
// 		super(message);
// 	}
// }
// 
// Path: shim/src/main/java/info/vancauwenberge/filedriver/filepublisher/IPublisher.java
// public interface IPublisher {
// 
// 	/**
// 	 * Get the folder where files are moved to for processing
// 	 * @return
// 	 */
// 	public String getWorkDir();
// 
// 	/**
// 	 * Get the current file in process (should be in workDir).
// 	 * Note: files are only moved to the workdir just prior to processing. If multiple files are found for processing, only
// 	 * the first one is moved to 'workdir' and processed. After this, the next file is moved and processed etc...
// 	 * @return
// 	 */
// 	public File getCurrentFile();
// 
// }


import com.novell.nds.dirxml.driver.Trace;
import com.novell.nds.dirxml.driver.xds.Parameter;
import com.novell.nds.dirxml.driver.xds.XDSParameterException;
import info.vancauwenberge.filedriver.api.IFileReadStrategy;
import info.vancauwenberge.filedriver.exception.ReadException;
import info.vancauwenberge.filedriver.filepublisher.IPublisher;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
/*******************************************************************************
 * Copyright (c) 2007, 2018 Stefaan Van Cauwenberge
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0 (the "License"). If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *  	 
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
 * the specific language governing rights and limitations under the License.
 *
 * The Initial Developer of the Original Code is
 * Stefaan Van Cauwenberge. Portions created by
 *  the Initial Developer are Copyright (C) 2007, 2018 by
 * Stefaan Van Cauwenberge. All Rights Reserved.
 *
 * Contributor(s): none so far.
 *    Stefaan Van Cauwenberge: Initial API and implementation
 *******************************************************************************/
package info.vancauwenberge.filedriver.filereader;




public class DummyFileReader implements IFileReadStrategy{
	BufferedReader br;
	/**
	 * Get a Map of parameter definitions. Key=parameter name, value=Parameter object
	 * @param
	 * @return the map with parameter definitions
	 */
	public Map<String, Parameter> getParameterDefinitions(){
		return new HashMap<String, Parameter>(0);
	}
	
    /**
     * Initialize this file reader on startup
     * @param trace
     * @param driverParams
     * @throws XDSParameterException
     */
    public void init(Trace trace, Map<String, Parameter> driverParams, IPublisher publisher) throws XDSParameterException{

    }

    /* (non-Javadoc)
	 * @see info.vancauwenberge.filedriver.api.IFileReader#openFile(com.novell.nds.dirxml.driver.Trace, java.io.File)
	 */
// Path: shim/src/main/java/info/vancauwenberge/filedriver/api/IFileReadStrategy.java
// public interface IFileReadStrategy extends IPublisherStrategy{
// 	/**
// 	 * Tells the reader to prepare for reading a given file. The previous file (if any) was processed completly.
// 	 * @param trace
// 	 * @param f
// 	 * @throws IOException
// 	 */
// 	public void openFile(File f) throws ReadException;
//     /**
//      * Reads one record from the file. Return null if no more records can be read from the file.
//      * @param trace
//      * @return a map of key/value pairs. The key is the fieldname (String), the value is the String value for that field. Value can be null.
//      * @throws IOException
//      */
//     public Map<String,String> readRecord() throws ReadException;
//     /**
//      * Tells the reader that no more records will be read from this file (readRecord returned null). 
//      * The reader should release all resources associated with the file.
//      * @throws IOException
//      */
//     public void close() throws ReadException;
//     
//     
// 	/**
// 	 * Get the actual schema used by the file reader. This can differ than the schema configured on the driver (eg: headers in the CSV file).
// 	 * @return
// 	 */
// 	public String[] getActualSchema();
// }
// 
// Path: shim/src/main/java/info/vancauwenberge/filedriver/exception/ReadException.java
// public class ReadException extends Exception {
// 	/**
// 	 * 
// 	 */
// 	private static final long serialVersionUID = 1L;
// 	/**
// 	 * @param message
// 	 * @param cause
// 	 */
// 	public ReadException(final String message, final Exception cause) {
// 		super(message,cause);
// 	}
// 	/**
// 	 * @param cause
// 	 */
// 	public ReadException(final Exception cause) {
// 		super(cause);
// 	}
// 
// 	public ReadException(final String message) {
// 		super(message);
// 	}
// }
// 
// Path: shim/src/main/java/info/vancauwenberge/filedriver/filepublisher/IPublisher.java
// public interface IPublisher {
// 
// 	/**
// 	 * Get the folder where files are moved to for processing
// 	 * @return
// 	 */
// 	public String getWorkDir();
// 
// 	/**
// 	 * Get the current file in process (should be in workDir).
// 	 * Note: files are only moved to the workdir just prior to processing. If multiple files are found for processing, only
// 	 * the first one is moved to 'workdir' and processed. After this, the next file is moved and processed etc...
// 	 * @return
// 	 */
// 	public File getCurrentFile();
// 
// }


// Path: shim/src/main/java/info/vancauwenberge/filedriver/filereader/DummyFileReader.java
import com.novell.nds.dirxml.driver.Trace;
import com.novell.nds.dirxml.driver.xds.Parameter;
import com.novell.nds.dirxml.driver.xds.XDSParameterException;
import info.vancauwenberge.filedriver.api.IFileReadStrategy;
import info.vancauwenberge.filedriver.exception.ReadException;
import info.vancauwenberge.filedriver.filepublisher.IPublisher;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

/*******************************************************************************
 * Copyright (c) 2007, 2018 Stefaan Van Cauwenberge
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0 (the "License"). If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *  	 
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
 * the specific language governing rights and limitations under the License.
 *
 * The Initial Developer of the Original Code is
 * Stefaan Van Cauwenberge. Portions created by
 *  the Initial Developer are Copyright (C) 2007, 2018 by
 * Stefaan Van Cauwenberge. All Rights Reserved.
 *
 * Contributor(s): none so far.
 *    Stefaan Van Cauwenberge: Initial API and implementation
 *******************************************************************************/
package info.vancauwenberge.filedriver.filereader;




public class DummyFileReader implements IFileReadStrategy{
	BufferedReader br;
	/**
	 * Get a Map of parameter definitions. Key=parameter name, value=Parameter object
	 * @param
	 * @return the map with parameter definitions
	 */
	public Map<String, Parameter> getParameterDefinitions(){
		return new HashMap<String, Parameter>(0);
	}
	
    /**
     * Initialize this file reader on startup
     * @param trace
     * @param driverParams
     * @throws XDSParameterException
     */
    public void init(Trace trace, Map<String, Parameter> driverParams, IPublisher publisher) throws XDSParameterException{

    }

    /* (non-Javadoc)
	 * @see info.vancauwenberge.filedriver.api.IFileReader#openFile(com.novell.nds.dirxml.driver.Trace, java.io.File)
	 */
	public void openFile(File f) throws ReadException{