package edu.brown.benchmark.articles;
import org.voltdb.VoltProcedure;
import edu.brown.benchmark.AbstractProjectBuilder;
import edu.brown.api.BenchmarkComponent;
import edu.brown.benchmark.articles.procedures.*;
public class ArticlesProjectBuilder extends AbstractProjectBuilder{
// REQUIRED: Retrieved via reflection by BenchmarkController
public static final Class<? extends BenchmarkComponent> m_clientClass = ArticlesClient.class;
// REQUIRED: Retrieved via reflection by BenchmarkController
public static final Class<? extends BenchmarkComponent> m_loaderClass = ArticlesLoader.class;
@SuppressWarnings("unchecked")
public static final Class<? extends VoltProcedure> PROCEDURES[] = (Class<? extends VoltProcedure>[]) new Class<?>[] {
GetArticle.class,
GetComments.class,
AddComment.class,
UpdateUserInfo.class
};
{
// Transaction Frequencies
addTransactionFrequency(GetArticle.class, ArticlesConstants.FREQUENCY_GET_ARTICLE);
addTransactionFrequency(GetComments.class, ArticlesConstants.FREQUENCY_GET_COMMENTS);
addTransactionFrequency(AddComment.class, ArticlesConstants.FREQUENCY_ADD_COMMENT);
addTransactionFrequency(UpdateUserInfo.class, ArticlesConstants.FREQUENCY_UPDATE_USER_INFO);
}
public static final String PARTITIONING[][] = new String[][] {
{ ArticlesConstants.TABLENAME_ARTICLES, "A_ID" },
{ ArticlesConstants.TABLENAME_USERS, "U_ID" },
{ ArticlesConstants.TABLENAME_COMMENTS, "C_A_ID" }
};
public ArticlesProjectBuilder() {
super("articles", ArticlesProjectBuilder.class, PROCEDURES, PARTITIONING);
}
}