Package edu.brown.designer.placement

Source Code of edu.brown.designer.placement.TransformCatalog

package edu.brown.designer.placement;

import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;

import org.apache.log4j.Logger;
import org.voltdb.catalog.Cluster;
import org.voltdb.catalog.Database;
import org.voltdb.catalog.Host;
import org.voltdb.catalog.Site;

import edu.brown.catalog.CatalogUtil;
import edu.brown.utils.FileUtil;

public class TransformCatalog {
    private static final Logger LOG = Logger.getLogger(TransformTransactionTraces.class);

    /**
     * Processes the catalog information and writes it File format like the
     * following: # of sites site # : host #
     *
     * @param host_site
     */
    public static void transform(Database catalogDb) {
        StringBuilder sb = new StringBuilder();
        sb.append(CatalogUtil.getNumberOfPartitions(catalogDb) + " " + CatalogUtil.getNumberOfSites(catalogDb) + "\n");

        TreeMap<Integer, Integer> site_host = new TreeMap<Integer, Integer>();
        Iterator<Cluster> cluster_it = catalogDb.getCatalog().getClusters().iterator();
        int total_sites = 0;
        int host = 0;
        while (cluster_it.hasNext()) {
            Cluster c = cluster_it.next();
            Iterator<Host> host_it = c.getHosts().iterator();
            while (host_it.hasNext()) {
                Host h = host_it.next();
                Iterator<Site> site_it = CatalogUtil.getSitesForHost(h).iterator();
                while (site_it.hasNext()) {
                    site_host.put(site_it.next().getId(), host);
                    total_sites++;
                }
                host++;
            }
        }
        for (Map.Entry<Integer, Integer> site : site_host.entrySet()) {
            sb.append(site.getValue() + ":" + site.getKey() + "\n");
        }
        assert (total_sites > 0) : "No sites!!!!";

        try {
            FileUtil.writeStringToFile("/home/sw47/Desktop/system.info", sb.toString()); // FIXME
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
TOP

Related Classes of edu.brown.designer.placement.TransformCatalog

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.