package com.hmsonline.virgil;
import com.hmsonline.virgil.cli.VirgilCommand;
import com.hmsonline.virgil.config.VirgilConfiguration;
import com.hmsonline.virgil.exception.KeyspaceExceptionMapper;
import com.hmsonline.virgil.health.CassandraHealthCheck;
import com.hmsonline.virgil.resource.DataResource;
import com.hmsonline.virgil.resource.MapReduceResource;
import com.yammer.dropwizard.Service;
import com.yammer.dropwizard.bundles.AssetsBundle;
import com.yammer.dropwizard.config.Environment;
public class VirgilService extends Service<VirgilConfiguration> {
public static CassandraStorage storage = null;
VirgilConfiguration config = null;
public static void main(String[] args) throws Exception {
new VirgilService().run(args);
}
protected VirgilService() {
super("cirrus");
addBundle(new AssetsBundle("/ui", "/"));
addCommand(new VirgilCommand("cassandra"));
}
@Override
protected void initialize(VirgilConfiguration conf, Environment env) throws Exception {
env.addResource(new MapReduceResource(this));
env.addResource(new DataResource(this));
env.addHealthCheck(new CassandraHealthCheck(this));
env.addProvider(new KeyspaceExceptionMapper());
}
public CassandraStorage getStorage() {
return storage;
}
public void setStorage(CassandraStorage storage) {
VirgilService.storage = storage;
}
public VirgilConfiguration getConfig() {
return config;
}
public void setConfig(VirgilConfiguration config) {
this.config = config;
}
}