public String evaluatePolicy_innerMethod(
			TransferredFile policyFileToTransfer,
			TransferredFile dbSQLDumpFileToTransfer,
			Context initialContext, long gid) {


		logger.writeLog(Level.ALL,"Method evaluatePolicy_innerMethod, gid:"+gid+", thread number:"+Thread.currentThread().getId());
		logger.writeLog(Level.ALL,("DBA_utils-Instance #"+this.toString()));

		
		this.gid = gid;

		DataHandler dbDumpFileDataHandler;
		try {
			dbDumpFileDataHandler = convertZipFile(dbSQLDumpFileToTransfer, dbSQLDumpFileToTransfer.getFileName());
		} catch (ZipException e2) {
			e2.printStackTrace();
			return "-1, Error: The given file is not a Zip file";
		} catch (FileNotFoundException e2) {
			e2.printStackTrace();
			return "-2, Error: Impossible to find the specified file";
		} catch (IOException e2) {
			e2.printStackTrace();
			return "-3, I/O Error";
		}

		Context initContext = null;

		/*
		 * if initialContext == null
		 * we expect the execution to be hosted in
		 * an application server
		 */
		if (initialContext == null) {
			try {
				initContext = new InitialContext();
			} catch (NamingException e1) {
				e1.printStackTrace();
			} 
		} else {
			// we are not in an application server context!
			initContext = initialContext;
		}

		if (initContext == null) {
			return "-4, Error: Null context";
		}

		
			MySQLQueryFactory mySQLFactory = null;
			try {
				mySQLFactory = setupAndApplyDBDump(initContext, dbDumpFileDataHandler.getInputStream());
			} catch (IOException e) {
				e.printStackTrace();
				return "-5, Problem with input DB dump";
			}
		
		if (mySQLFactory == null) {
			return "-5, Problem with input DB dump";
		}
		
		
		String result = policyRiskEvaluator(policyFileToTransfer, "", "", true);
		
		mySQLFactory.dropWorkingViews(gid);
		mySQLFactory.dropWorkingTable(gid);
		
		MySQLResultsManager rs = new MySQLResultsManager();
		rs.storeResult(gid, result);
		
		return result;
	}