Example usage for org.apache.commons.configuration ConfigurationException printStackTrace

List of usage examples for org.apache.commons.configuration ConfigurationException printStackTrace

Introduction

In this page you can find the example usage for org.apache.commons.configuration ConfigurationException printStackTrace.

Prototype

public void printStackTrace() 

Source Link

Usage

From source file:com.kantenkugel.kanzebot.core.config.GlobalConfigImpl.java

public static void main(String[] args) {
    try {//from  w w w . j  a v  a 2 s  . com
        Injector.inject(GlobalConfig.class, "instance", new GlobalConfigImpl(), null);
        System.out.println(GlobalConfig.getInstance().inAuthMode());
    } catch (ConfigurationException e) {
        e.printStackTrace();
    }
}

From source file:edu.uw.sig.frames2owl.util.BatchConverter.java

/**
 * @param args//from   w w  w . j a v  a  2 s.  c  o m
 */
public static void main(String[] args) {
    BatchConverter converter;
    try {
        converter = new BatchConverter("resource/ocdm/ocdm_batch.xml");
        converter.runBatch();
    } catch (ConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

From source file:com.github.ipaas.ideploy.plugin.util.XmlUtil.java

public static void main(String[] args) throws IOException {
    System.out.println(XmlUtil.getString(
            "D:/Users/TY-Chenql/runtime-EclipseApplication/crs_mave_ice/script/assembly.xml", "id", "sc"));
    try {//from  w ww .j  av a2s . co m
        XMLConfiguration config = new XMLConfiguration("D:/Users/TY-Chenql/workspace/crs_mave_ice/pom.xml");
        // ??????
        String str = config.getString("build.plugins.plugin.configuration.descriptors.descriptor");
        // System.out.println(str);
        // // ?.????
        // List<Object> names = config.getList("student.name");
        // System.out.println(Arrays.toString(names.toArray()));
        // // ???a,b,c,d ???
        // List<Object> titles = config.getList("title");
        // System.out.println(Arrays.toString(titles.toArray()));
        // // ? ??[@??] ??
        // String size = config.getString("ball[@size]");
        // System.out.println(size);
        // // ???? ??(??) ??
        // String id = config.getString("student(1)[@id]");
        // System.out.println(id);
        //
        // String go = config.getString("student.name(0)[@go]");
        // System.out.println(go);
        // /**
        // * ? tom [lily, lucy] [abc, cbc, bbc, bbs] 20 2 common1
        // *
        // */
    } catch (ConfigurationException e) {
        e.printStackTrace();
    }

}

From source file:edu.hawaii.soest.pacioos.text.TextSourceApp.java

/**
 * @param args/*from   w w w  . j  a  v a  2s . com*/
 */
public static void main(String[] args) {

    String xmlConfiguration = null;
    if (args.length != 1) {
        log.error("Please provide the path to the instrument's XML configuration file "
                + "as a single parameter.");
        System.exit(1);
    } else {
        xmlConfiguration = args[0];
    }
    try {
        textSource = TextSourceFactory.getSimpleTextSource(xmlConfiguration);

        if (textSource != null) {
            textSource.start();

        }

        // Handle ctrl-c's and other abrupt death signals to the process
        Runtime.getRuntime().addShutdownHook(new Thread() {
            // stop the streaming process
            public void run() {
                log.info("Stopping the SimpleTextSource driver due to user request");
                textSource.stop();
            }
        });

    } catch (ConfigurationException e) {
        if (log.isDebugEnabled()) {
            e.printStackTrace();
        }

        log.error("There was a problem configuring the driver.  The error message was: " + e.getMessage());
        System.exit(1);

    }
}

From source file:edu.uw.sig.frames2owl.util.BatchFromIncludeConverter.java

/**
 * @param args//from   ww w .j  a  v  a  2  s . c  o  m
 */
public static void main(String[] args) {
    BatchFromIncludeConverter converter;
    try {
        converter = new BatchFromIncludeConverter(args[0]);
        converter.runBatch();
    } catch (ConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

From source file:mpaf.Main.java

public static void main(String[] args) {
    // Apache commons configuration
    CompositeConfiguration config = new CompositeConfiguration();
    try {//from  ww w  .  j  a va 2s  .  c  o m

        XMLConfiguration user = new XMLConfiguration("mpaf.properties.user.xml");
        XMLConfiguration defaults = new XMLConfiguration("mpaf.properties.default.xml");

        // careful configuration is read from top to bottom if you want a
        // config to overwrite the user config, add it as first element
        // also make it optional to load, check if the file exists and THEN
        // load it!
        if (user != null)
            config.addConfiguration(user);
        config.addConfiguration(defaults);
    } catch (ConfigurationException e1) {
        e1.printStackTrace();
    }

    SqlHandler sqlH = null;
    sqlH = new SqlHandler();
    sqlH.setDbtype(config.getString("db.type", "sqlite"));
    sqlH.setDbhost(config.getString("db.host", "127.0.0.1"));
    sqlH.setDbport(config.getString("db.port", "3306"));
    sqlH.setDbname(config.getString("db.name", "mpaf.db"));
    sqlH.setDbuser(config.getString("db.user"));
    sqlH.setDbpass(config.getString("db.password"));

    IceModel iceM = new IceModel(config);
    IceController iceC;
    try {
        iceC = new IceController(iceM, sqlH.getConnection());
    } catch (ClassNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
        return;
    } catch (SQLException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
        return;
    }

    Server server = new Server();

    ConsoleParser parser = new ConsoleParser(iceC, iceM, server);
    new Thread(parser).start();

    // will be called once a shutdown event is thrown(like ctrl+c or sigkill
    // etc.)
    ShutdownThread shutdown = new ShutdownThread(iceC);
    Runtime.getRuntime().addShutdownHook(new Thread(shutdown));

    if (config.getBoolean("jetty.enabled")) {
        SocketConnector connector = new SocketConnector();
        connector.setPort(config.getInt("jetty.ports.http", 10001));
        server.setConnectors(new Connector[] { connector });

        ServletContextHandler servletC = new ServletContextHandler(ServletContextHandler.SESSIONS);
        servletC.setContextPath("/");
        servletC.setAttribute("sqlhandler", sqlH);
        servletC.setAttribute("iceController", iceC);
        servletC.setAttribute("iceModel", iceM);
        // To add a servlet:
        ServletHolder holder = new ServletHolder(new DefaultCacheServlet());
        holder.setInitParameter("cacheControl", "max-age=3600,public");
        holder.setInitParameter("resourceBase", "web");
        servletC.addServlet(holder, "/");
        servletC.addServlet(new ServletHolder(new ServerList()), "/serverlist");
        servletC.addServlet(new ServletHolder(new ChannelList()), "/channellist");
        servletC.addServlet(new ServletHolder(new HandlerList()), "/handlerlist");
        servletC.addServlet(new ServletHolder(new ServerManage()), "/servermanage");
        servletC.addServlet(new ServletHolder(new Login()), "/login");
        servletC.addServlet(new ServletHolder(new Logout()), "/logout");
        servletC.addServlet(new ServletHolder(new UserCreate()), "/usercreate");
        servletC.addServlet(new ServletHolder(new UserInfo()), "/userinfo");
        servletC.addServlet(new ServletHolder(new UserList()), "/userlist");

        server.setHandler(servletC);
        try {
            server.start();
            server.join();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

From source file:ch.epfl.lsir.xin.test.MostPopularTest.java

/**
 * @param args//w  w  w .j a v a  2  s.  c  om
 */
public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub

    PrintWriter logger = new PrintWriter(".//results//MostPopular");
    PropertiesConfiguration config = new PropertiesConfiguration();
    config.setFile(new File(".//conf//MostPopular.properties"));
    try {
        config.load();
    } catch (ConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    logger.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " Read rating data...");
    DataLoaderFile loader = new DataLoaderFile(".//data//MoveLens100k.txt");
    loader.readSimple();
    DataSetNumeric dataset = loader.getDataset();
    System.out.println("Number of ratings: " + dataset.getRatings().size() + " Number of users: "
            + dataset.getUserIDs().size() + " Number of items: " + dataset.getItemIDs().size());
    logger.println("Number of ratings: " + dataset.getRatings().size() + ", Number of users: "
            + dataset.getUserIDs().size() + ", Number of items: " + dataset.getItemIDs().size());
    logger.flush();

    TrainTestSplitter splitter = new TrainTestSplitter(dataset);
    splitter.splitFraction(config.getDouble("TRAIN_FRACTION"));
    ArrayList<NumericRating> trainRatings = splitter.getTrain();
    ArrayList<NumericRating> testRatings = splitter.getTest();

    HashMap<String, Integer> userIDIndexMapping = new HashMap<String, Integer>();
    HashMap<String, Integer> itemIDIndexMapping = new HashMap<String, Integer>();
    //create rating matrix
    for (int i = 0; i < dataset.getUserIDs().size(); i++) {
        userIDIndexMapping.put(dataset.getUserIDs().get(i), i);
    }
    for (int i = 0; i < dataset.getItemIDs().size(); i++) {
        itemIDIndexMapping.put(dataset.getItemIDs().get(i), i);
    }
    RatingMatrix trainRatingMatrix = new RatingMatrix(dataset.getUserIDs().size(), dataset.getItemIDs().size());
    for (int i = 0; i < trainRatings.size(); i++) {
        trainRatingMatrix.set(userIDIndexMapping.get(trainRatings.get(i).getUserID()),
                itemIDIndexMapping.get(trainRatings.get(i).getItemID()), trainRatings.get(i).getValue());
    }
    RatingMatrix testRatingMatrix = new RatingMatrix(dataset.getUserIDs().size(), dataset.getItemIDs().size());
    for (int i = 0; i < testRatings.size(); i++) {
        //only consider 5-star rating in the test set
        //         if( testRatings.get(i).getValue() < 5 )
        //            continue;
        testRatingMatrix.set(userIDIndexMapping.get(testRatings.get(i).getUserID()),
                itemIDIndexMapping.get(testRatings.get(i).getItemID()), testRatings.get(i).getValue());
    }
    System.out.println("Training: " + trainRatingMatrix.getTotalRatingNumber() + " vs Test: "
            + testRatingMatrix.getTotalRatingNumber());

    logger.println("Initialize a most popular based recommendation model.");
    MostPopular algo = new MostPopular(trainRatingMatrix);
    algo.setLogger(logger);
    algo.build();
    algo.saveModel(".//localModels//" + config.getString("NAME"));
    logger.println("Save the model.");
    logger.flush();

    HashMap<Integer, ArrayList<ResultUnit>> results = new HashMap<Integer, ArrayList<ResultUnit>>();
    for (int i = 0; i < testRatingMatrix.getRow(); i++) {
        ArrayList<ResultUnit> rec = algo.getRecommendationList(i);
        if (rec == null)
            continue;
        int total = testRatingMatrix.getUserRatingNumber(i);
        if (total == 0)//this user is ignored
            continue;
        results.put(i, rec);
    }

    RankResultGenerator generator = new RankResultGenerator(results, algo.getTopN(), testRatingMatrix,
            trainRatingMatrix);
    System.out.println("Precision@N: " + generator.getPrecisionN());
    System.out.println("Recall@N: " + generator.getRecallN());
    System.out.println("MAP@N: " + generator.getMAPN());
    System.out.println("MRR@N: " + generator.getMRRN());
    System.out.println("NDCG@N: " + generator.getNDCGN());
    System.out.println("AUC@N: " + generator.getAUC());
    logger.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "\n" + "Precision@N: "
            + generator.getPrecisionN() + "\n" + "Recall@N: " + generator.getRecallN() + "\n" + "MAP@N: "
            + generator.getMAPN() + "\n" + "MRR@N: " + generator.getMRRN() + "\n" + "NDCG@N: "
            + generator.getNDCGN() + "\n" + "AUC@N: " + generator.getAUC());
    logger.flush();
    logger.close();
}

From source file:ch.epfl.lsir.xin.test.UserAverageTest.java

/**
 * @param args//w  ww. j  ava 2 s .c o m
 */
public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub

    PrintWriter logger = new PrintWriter(".//results//UserAverage");
    PropertiesConfiguration config = new PropertiesConfiguration();
    config.setFile(new File(".//conf//UserAverage.properties"));
    try {
        config.load();
    } catch (ConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    logger.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " Read rating data...");
    DataLoaderFile loader = new DataLoaderFile(".//data//MoveLens100k.txt");
    loader.readSimple();
    DataSetNumeric dataset = loader.getDataset();
    System.out.println("Number of ratings: " + dataset.getRatings().size() + " Number of users: "
            + dataset.getUserIDs().size() + " Number of items: " + dataset.getItemIDs().size());
    logger.println("Number of ratings: " + dataset.getRatings().size() + " Number of users: "
            + dataset.getUserIDs().size() + " Number of items: " + dataset.getItemIDs().size());
    logger.flush();

    double totalMAE = 0;
    double totalRMSE = 0;
    int F = 5;
    logger.println(F + "- folder cross validation.");
    ArrayList<ArrayList<NumericRating>> folders = new ArrayList<ArrayList<NumericRating>>();
    for (int i = 0; i < F; i++) {
        folders.add(new ArrayList<NumericRating>());
    }
    while (dataset.getRatings().size() > 0) {
        int index = new Random().nextInt(dataset.getRatings().size());
        int r = new Random().nextInt(F);
        folders.get(r).add(dataset.getRatings().get(index));
        dataset.getRatings().remove(index);
    }
    for (int folder = 1; folder <= F; folder++) {
        logger.println("Folder: " + folder);
        System.out.println("Folder: " + folder);
        ArrayList<NumericRating> trainRatings = new ArrayList<NumericRating>();
        ArrayList<NumericRating> testRatings = new ArrayList<NumericRating>();
        for (int i = 0; i < folders.size(); i++) {
            if (i == folder - 1)//test data
            {
                testRatings.addAll(folders.get(i));
            } else {//training data
                trainRatings.addAll(folders.get(i));
            }
        }

        //create rating matrix
        HashMap<String, Integer> userIDIndexMapping = new HashMap<String, Integer>();
        HashMap<String, Integer> itemIDIndexMapping = new HashMap<String, Integer>();
        for (int i = 0; i < dataset.getUserIDs().size(); i++) {
            userIDIndexMapping.put(dataset.getUserIDs().get(i), i);
        }
        for (int i = 0; i < dataset.getItemIDs().size(); i++) {
            itemIDIndexMapping.put(dataset.getItemIDs().get(i), i);
        }
        RatingMatrix trainRatingMatrix = new RatingMatrix(dataset.getUserIDs().size(),
                dataset.getItemIDs().size());
        for (int i = 0; i < trainRatings.size(); i++) {
            trainRatingMatrix.set(userIDIndexMapping.get(trainRatings.get(i).getUserID()),
                    itemIDIndexMapping.get(trainRatings.get(i).getItemID()), trainRatings.get(i).getValue());
        }
        trainRatingMatrix.calculateGlobalAverage();
        RatingMatrix testRatingMatrix = new RatingMatrix(dataset.getUserIDs().size(),
                dataset.getItemIDs().size());
        for (int i = 0; i < testRatings.size(); i++) {
            testRatingMatrix.set(userIDIndexMapping.get(testRatings.get(i).getUserID()),
                    itemIDIndexMapping.get(testRatings.get(i).getItemID()), testRatings.get(i).getValue());
        }
        System.out.println("Training: " + trainRatingMatrix.getTotalRatingNumber() + " vs Test: "
                + testRatingMatrix.getTotalRatingNumber());

        logger.println("Initialize a recommendation model based on user average method.");
        UserAverage algo = new UserAverage(trainRatingMatrix);
        algo.setLogger(logger);
        algo.build();
        algo.saveModel(".//localModels//" + config.getString("NAME"));
        logger.println("Save the model.");
        System.out.println(trainRatings.size() + " vs. " + testRatings.size());

        double RMSE = 0;
        double MAE = 0;
        int count = 0;
        for (int i = 0; i < testRatings.size(); i++) {
            NumericRating rating = testRatings.get(i);
            double prediction = algo.predict(userIDIndexMapping.get(rating.getUserID()),
                    itemIDIndexMapping.get(rating.getItemID()));
            if (Double.isNaN(prediction)) {
                System.out.println("no prediction");
                continue;
            }
            MAE = MAE + Math.abs(rating.getValue() - prediction);
            RMSE = RMSE + Math.pow((rating.getValue() - prediction), 2);
            count++;
        }
        MAE = MAE / count;
        RMSE = Math.sqrt(RMSE / count);

        logger.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " MAE: " + MAE
                + " RMSE: " + RMSE);
        logger.flush();
        totalMAE = totalMAE + MAE;
        totalRMSE = totalRMSE + RMSE;
    }

    System.out.println("MAE: " + totalMAE / F + " RMSE: " + totalRMSE / F);
    logger.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " Final results: MAE: "
            + totalMAE / F + " RMSE: " + totalRMSE / F);
    logger.flush();
    logger.close();
    //MAE: 0.8353035962363073 RMSE: 1.0422971886952053 (MovieLens 100k)
}

From source file:integratedtoolkit.util.RuntimeConfigManager.java

public static void main(String[] args) {
    try {//w  w w .  java  2s .c o m
        RuntimeConfigManager config = new RuntimeConfigManager("/home/jorgee/it.properties");
        config.setProjectFile("/home/jorgee/project.xml");
        config.setResourcesFile("/home/jorgee/resources.xml");
        config.setGraph(true);
        config.setTracing(false);
        config.setLog4jConfiguration("/home/jorgee/log4j.properties");
        config.setGATBrokerAdaptor("sshtrilled");
        config.setGATFileAdaptor("sshtrilled");

        config.save();

        config = new RuntimeConfigManager("/home/jorgee/it.properties");
        System.out.println(ITConstants.IT_PROJ_FILE + "=" + config.getProjectFile());
        System.out.println(ITConstants.IT_RES_FILE + "=" + config.getResourcesFile());
        System.out.println(ITConstants.LOG4J + "=" + config.getLog4jConfiguration());
        System.out.println(ITConstants.GAT_BROKER_ADAPTOR + config.getGATBrokerAdaptor());
        System.out.println(ITConstants.GAT_FILE_ADAPTOR + "=" + config.getGATFileAdaptor());
        System.out.println(ITConstants.IT_GRAPH + "=" + config.isGraph());
        System.out.println(ITConstants.IT_TRACING + "=" + config.isTracing());
        System.out.println(ITConstants.IT_TO_FILE + "=" + config.isToFile());
        System.out.println(ITConstants.IT_LIB + "=" + config.getITLib());
        System.out.println(ITConstants.IT_LANG + "=" + config.getLang());
        System.out.println(ITConstants.IT_MONITOR + "=" + config.getMonitorInterval());
        System.out.println(ITConstants.IT_INTERACT_PERIOD + "=" + config.getOptimisPeriod());
        System.out.println(ITConstants.GAT_ADAPTOR + "=" + config.getGATAdaptor());

    } catch (ConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

From source file:ch.epfl.lsir.xin.test.GlobalMeanTest.java

/**
 * @param args/*from  w  ww  .  java2s. co m*/
 */
public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub

    PrintWriter logger = new PrintWriter(".//results//GlobalMean");

    PropertiesConfiguration config = new PropertiesConfiguration();
    config.setFile(new File("conf//GlobalMean.properties"));
    try {
        config.load();
    } catch (ConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    logger.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " Read rating data...");
    DataLoaderFile loader = new DataLoaderFile(".//data//MoveLens100k.txt");
    loader.readSimple();
    DataSetNumeric dataset = loader.getDataset();
    System.out.println("Number of ratings: " + dataset.getRatings().size() + " Number of users: "
            + dataset.getUserIDs().size() + " Number of items: " + dataset.getItemIDs().size());
    logger.println("Number of ratings: " + dataset.getRatings().size() + ", Number of users: "
            + dataset.getUserIDs().size() + ", Number of items: " + dataset.getItemIDs().size());

    double totalMAE = 0;
    double totalRMSE = 0;
    int F = 5;
    logger.println(F + "- folder cross validation.");
    logger.flush();
    ArrayList<ArrayList<NumericRating>> folders = new ArrayList<ArrayList<NumericRating>>();
    for (int i = 0; i < F; i++) {
        folders.add(new ArrayList<NumericRating>());
    }
    while (dataset.getRatings().size() > 0) {
        int index = new Random().nextInt(dataset.getRatings().size());
        int r = new Random().nextInt(F);
        folders.get(r).add(dataset.getRatings().get(index));
        dataset.getRatings().remove(index);
    }
    for (int folder = 1; folder <= F; folder++) {
        System.out.println("Folder: " + folder);
        logger.println("Folder: " + folder);
        ArrayList<NumericRating> trainRatings = new ArrayList<NumericRating>();
        ArrayList<NumericRating> testRatings = new ArrayList<NumericRating>();
        for (int i = 0; i < folders.size(); i++) {
            if (i == folder - 1)//test data
            {
                testRatings.addAll(folders.get(i));
            } else {//training data
                trainRatings.addAll(folders.get(i));
            }
        }

        //create rating matrix
        HashMap<String, Integer> userIDIndexMapping = new HashMap<String, Integer>();
        HashMap<String, Integer> itemIDIndexMapping = new HashMap<String, Integer>();
        for (int i = 0; i < dataset.getUserIDs().size(); i++) {
            userIDIndexMapping.put(dataset.getUserIDs().get(i), i);
        }
        for (int i = 0; i < dataset.getItemIDs().size(); i++) {
            itemIDIndexMapping.put(dataset.getItemIDs().get(i), i);
        }
        RatingMatrix trainRatingMatrix = new RatingMatrix(dataset.getUserIDs().size(),
                dataset.getItemIDs().size());
        for (int i = 0; i < trainRatings.size(); i++) {
            trainRatingMatrix.set(userIDIndexMapping.get(trainRatings.get(i).getUserID()),
                    itemIDIndexMapping.get(trainRatings.get(i).getItemID()), trainRatings.get(i).getValue());
        }
        RatingMatrix testRatingMatrix = new RatingMatrix(dataset.getUserIDs().size(),
                dataset.getItemIDs().size());
        for (int i = 0; i < testRatings.size(); i++) {
            testRatingMatrix.set(userIDIndexMapping.get(testRatings.get(i).getUserID()),
                    itemIDIndexMapping.get(testRatings.get(i).getItemID()), testRatings.get(i).getValue());
        }
        System.out.println("Training: " + trainRatingMatrix.getTotalRatingNumber() + " vs Test: "
                + testRatingMatrix.getTotalRatingNumber());

        logger.println("Initialize a recommendation model based on global average method.");
        GlobalAverage algo = new GlobalAverage(trainRatingMatrix);
        algo.setLogger(logger);
        algo.build();
        algo.saveModel(".//localModels//" + config.getString("NAME"));
        logger.println("Save the model.");
        logger.flush();

        System.out.println(trainRatings.size() + " vs. " + testRatings.size());

        double RMSE = 0;
        double MAE = 0;
        int count = 0;
        for (int i = 0; i < testRatings.size(); i++) {
            NumericRating rating = testRatings.get(i);
            double prediction = algo.predict(rating.getUserID(), rating.getItemID());
            if (Double.isNaN(prediction)) {
                System.out.println("no prediction");
                continue;
            }
            MAE = MAE + Math.abs(rating.getValue() - prediction);
            RMSE = RMSE + Math.pow((rating.getValue() - prediction), 2);
            count++;
        }
        MAE = MAE / count;
        RMSE = Math.sqrt(RMSE / count);

        //         System.out.println("MAE: " + MAE + " RMSE: " + RMSE);
        logger.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " MAE: " + MAE
                + " RMSE: " + RMSE);
        logger.flush();
        totalMAE = totalMAE + MAE;
        totalRMSE = totalRMSE + RMSE;
    }

    System.out.println("MAE: " + totalMAE / F + " RMSE: " + totalRMSE / F);
    logger.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " Final results: MAE: "
            + totalMAE / F + " RMSE: " + totalRMSE / F);
    logger.flush();
    logger.close();
    //MAE: 0.9338607074893257 RMSE: 1.1170971131112037 (MovieLens1M)
    //MAE: 0.9446876509332618 RMSE: 1.1256517870920375 (MovieLens100K)

}