/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package edu.ucsb.jpregel.clouds.modules;
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;
import edu.ucsb.jpregel.clouds.CloudFileSystem;
import edu.ucsb.jpregel.system.FileSystem;
import org.jclouds.apis.ApiMetadata;
import org.jclouds.blobstore.TransientApiMetadata;
import org.jclouds.compute.stub.StubApiMetadata;
/**
*
* @author Charles
*/
public class StubModule extends AbstractModule {
private final String sAccess;
private final String sModify;
StubModule(String sAccess, String sModify) {
this.sAccess = sAccess;
this.sModify = sModify;
}
@Override
protected void configure() {
bind(FileSystem.class).to(CloudFileSystem.class);
bind(ApiMetadata.class).annotatedWith(Names.named("storage")).toInstance(new StubApiMetadata());
bind(ApiMetadata.class).annotatedWith(Names.named("compute")).toInstance(new TransientApiMetadata());
bindConstant().annotatedWith(Names.named("sAccess")).to(sAccess);
bindConstant().annotatedWith(Names.named("sModify")).to(sModify);
bindConstant().annotatedWith(Names.named("cUser")).to(sAccess);
bindConstant().annotatedWith(Names.named("cPass")).to(sModify);
}
}