@Override
	public void appendRepositoryData(String repoName, int noRecords,
			float avgFSize, float storageReq, float informativeness,
			String schema) throws IOException {

		// TODO Auto-generated method stub
		String sFileName = "Federation" + "_GeneralInfo" + ".csv";
		ConfigureLogger conf = new ConfigureLogger();

		Properties props = new Properties();
		try {
			props.load(new FileInputStream("configure.properties"));
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			System.exit(-1);
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			System.exit(-1);
		}
		;
		File anls = new File(props.getProperty(AnalyticsConstants.resultsPath)
				+ "Analysis_Results");

		if (!anls.exists())
			anls.mkdir();

		File dir = new File(anls, "Federation");
		if (!dir.exists())
			dir.mkdir();

		File file = new File(dir, sFileName);

		if (!file.exists())
			file.createNewFile();

		Logger logger = conf.getLogger("generalInfo", anls + File.separator
				+ "repoGeneralInfo.log");

		StringBuffer logString = new StringBuffer();

		FileWriter writer;
		BufferedWriter bw = null;
		try {
			writer = new FileWriter(file, true);
			bw = new BufferedWriter(writer);

			if (!isAppendData()) {

				setAppend(true);
				// create header
				bw.append("Repository Name");

				bw.append(",");
				bw.append("Number of records");
				bw.append(",");
				bw.append("Average file size(bytes)");
				bw.append(",");
				bw.append("Approximate Storage requirements(bytes)");
				bw.append(",");
				bw.append("AVG informativeness(bits)");
				bw.append(",");
				bw.append("Metadata schema namespace");
				bw.newLine();
				bw.append(repoName);
				logString.append(repoName);
				bw.append(",");
				bw.append(String.valueOf(noRecords));
				logString.append(" " + String.valueOf(noRecords));
				bw.append(",");
				bw.append(String.valueOf(avgFSize));
				logString.append(" " + String.valueOf(avgFSize));
				bw.append(",");
				bw.append(String.valueOf(storageReq));
				logString.append(" " + String.valueOf(storageReq));
				bw.append(",");
				bw.append(String.valueOf(informativeness));
				logString.append(" " + String.valueOf(informativeness));
				bw.append(",");
				bw.append(schema);
				logString.append(" " + String.valueOf(schema));
				bw.newLine();
				bw.close();

			} else {
				// insert data
				bw.append(repoName);
				logString.append(repoName);
				bw.append(",");
				bw.append(String.valueOf(noRecords));
				logString.append(" " + String.valueOf(noRecords));
				bw.append(",");
				bw.append(String.valueOf(avgFSize));
				logString.append(" " + String.valueOf(avgFSize));
				bw.append(",");
				bw.append(String.valueOf(storageReq));
				logString.append(" " + String.valueOf(storageReq));
				bw.append(",");
				bw.append(String.valueOf(informativeness));
				logString.append(" " + String.valueOf(informativeness));
				bw.append(",");
				bw.append(schema);
				logString.append(" " + String.valueOf(schema));
				bw.newLine();
				bw.close();
			}
			logger.info(logString.toString());

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if (bw != null)
					bw.close();
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}

	}