public static ErrorLogs DAOController(Generator generator,
			TransactionSet transactionSet, RuleSet ruleSet) {
		System.out.println("Starting DAO Controller");
		ErrorLogs errorLogs = new ErrorLogs();
		VendorPersistenceController vpc = new VendorPersistenceController();
		TransactionPersistenceController tpc = new TransactionPersistenceController();
		RulePersistenceController rpc = new RulePersistenceController();
		TransactionSetPersistenceController tspc = new TransactionSetPersistenceController();
		RuleSetPersistenceController rspc = new RuleSetPersistenceController();
		GeneratorPersistenceController gpc = new GeneratorPersistenceController();
		int errorCount = 0;
		String daoString = "MySQL";
		gpc.setDAO(daoString);
		vpc.setDAO(daoString);
		tspc.setDAO(daoString);
		tpc.setDAO(daoString);
		rspc.setDAO(daoString);
		rpc.setDAO(daoString);
		System.out.println("Starting Database Persistence Controllers...");
		System.out.println("Starting Persist Vendor...");
		for (int i = 0; i < transactionSet.getVendorSet().size(); i++) {
			Vendor vendor = transactionSet.getVendorSet().get(i);
			vpc.persistVendor(vendor);
			//System.out
					//.println("vendor " + i + " is " + vendor.getVendor_name());
		}
		int vpc_errors = vpc.getErrorLogs().getErrorMsgs().size();
		System.out.println("Finished Persist Vendor");
		errorCount += vpc_errors;
		if (errorCount != 0) {
			errorLogs.add("DATABASE ERROR: VENDOR TABLE");
			errorLogs.add(vpc.getErrorLogs());
			System.out.println("size: " + errorLogs.getErrorMsgs().size());
			return errorLogs;
		}

		
		// iterate through tranactionset to get individual transactions
		//int i = 0;

		System.out.println("Starting Persist TransactionSet...");
		tspc.persistTransactionSet(transactionSet);
		int tspc_errors = tspc.getErrorLogs().getErrorMsgs().size();
		errorCount += tspc_errors;
		System.out.println("Finished Persist TransactionSet");
		if (errorCount != 0) {
			errorLogs.add("DATABASE ERROR: TRANSACTIONSET TABLE");
			errorLogs.add(tspc.getErrorLogs());
			System.out.println("size: " + errorLogs.getErrorMsgs().size());
			return errorLogs;
		}
		//System.out.println("errorCount: " + errorCount);
		System.out.println("Starting Persist Transaction...");
		for (Transaction transaction : transactionSet.getTransactionSet()) {
			tpc.persistTransaction(transaction);
		}
		System.out.println("Finished Persist Transaction");
		int tpc_errors = tpc.getErrorLogs().getErrorMsgs().size();
		errorCount += tpc_errors;
		//System.out.println("errorCount: " + errorCount);
		
		if (errorCount != 0) {
			errorLogs.add("DATABASE ERROR: TRANSACTION TABLE");
			errorLogs.add(tpc.getErrorLogs());
			System.out.println("size: " + errorLogs.getErrorMsgs().size());
			return errorLogs;
		}


		System.out.println("Starting Persist Generator...");
		gpc.persistGenerator(generator.getGenerator_minSupportLevel(),
				generator.getGenerator_minConfidenceLevel());
		//System.out.println("Finished Persist Generator");
		int gpc_errors = gpc.getErrorLogs().getErrorMsgs().size();
		errorCount += gpc_errors;
		if (errorCount != 0) {
			errorLogs.add("DATABASE ERROR: GENERATOR TABLE");
			errorLogs.add(gpc.getErrorLogs());
			return errorLogs;
		}
		System.out.println("Finished Persist Generator");
		
		// iterate through ruleset to get individual rules
		System.out.println("Starting Persist RuleSet...");
		rspc.persistRuleSet(ruleSet);
		int rspc_errors = rspc.getErrorLogs().getErrorMsgs().size();
		errorCount += rspc_errors;
		//System.out.println("errorCount: " + errorCount);
		if (errorCount != 0) {
			errorLogs.add("DATABASE ERROR: RULESET TABLE");
			errorLogs.add(rspc.getErrorLogs());
			System.out.println("size: " + errorLogs.getErrorMsgs().size());
			return errorLogs;
		}

		System.out.println("Finished Persist RuleSet");
		System.out.println("Starting Persist Rule...");
		for (Rule rule : ruleSet.getRuleSet()) {
			rpc.persistRule(rule);
		}
		System.out.println("Finished Persist Rule");
		int rpc_errors = rpc.getErrorLogs().getErrorMsgs().size();
		errorCount += rpc_errors;
		//System.out.println("errorCount: " + errorCount);
		if (errorCount != 0) {
			errorLogs.add("DATABASE ERROR: RULE TABLE");
			errorLogs.add(rpc.getErrorLogs());
			System.out.println("size: " + errorLogs.getErrorMsgs().size());
			return errorLogs;
		}

		System.out.println("Final errorCount: " + errorCount);
		System.out.println("Finished DAO Peristence Controllers");
		//System.out.println("size: " + errorLogs.getErrorMsgs().size());
		return errorLogs;
	}