package com.indeed.proctor.webapp.db;
import com.indeed.proctor.store.FileBasedProctorStore;
import com.indeed.proctor.store.ProctorStore;
import com.indeed.proctor.store.GitProctor;
import org.springframework.beans.factory.FactoryBean;
public class GitProctorFactory implements FactoryBean<ProctorStore> {
private String gitUrl;
private String username;
private String password;
private String testDefinitionsDirectory = FileBasedProctorStore.DEFAULT_TEST_DEFINITIONS_DIRECTORY;
public void setGitUrl(final String gitUrl) {
this.gitUrl = gitUrl;
}
public void setUsername(final String username) {
this.username = username;
}
public void setPassword(final String password) {
this.password = password;
}
public void setTestDefinitionsDirectory(final String testDefinitionsDirectory) {
this.testDefinitionsDirectory = testDefinitionsDirectory;
}
@Override
public ProctorStore getObject() throws Exception {
return new GitProctor(gitUrl, username, password, testDefinitionsDirectory);
}
@Override
public Class<?> getObjectType() {
return ProctorStore.class;
}
@Override
public boolean isSingleton() {
return true;
}
}