package slacknotifications.teamcity;
import com.intellij.util.containers.HashMap;
import jetbrains.buildServer.BuildProject;
import jetbrains.buildServer.BuildTypeDescriptor.CheckoutType;
import jetbrains.buildServer.messages.Status;
import jetbrains.buildServer.parameters.ParametersProvider;
import jetbrains.buildServer.parameters.ValueResolver;
import jetbrains.buildServer.serverSide.*;
import jetbrains.buildServer.serverSide.identifiers.DuplicateExternalIdException;
import jetbrains.buildServer.users.User;
import jetbrains.buildServer.vcs.DuplicateVcsRootNameException;
import jetbrains.buildServer.vcs.SVcsRoot;
import jetbrains.buildServer.vcs.UnknownVcsException;
import jetbrains.buildServer.vcs.VcsRootInstance;
import org.jdom.Element;
import java.io.File;
import java.util.*;
public class MockSProject implements SProject {
private String name;
private String description;
private String projectId;
private String projectExternalId;
private File configDirectory;
private Status status;
private SBuildType buildType;
private SProject parentProject;
private Map<String,SBuildType> buildTypes = new HashMap<String, SBuildType>();
private List<SProject> parentPath = new ArrayList<SProject>();
private List<SProject> childProjects = new ArrayList<SProject>();
public MockSProject(String name, String description, String projectId, String projectExternalId,
SBuildType buildType)
{
this.name = name;
this.description = description;
this.projectId = projectId;
this.projectExternalId = projectExternalId;
this.buildType = buildType;
this.parentPath.add(this);
addANewBuildTypeToTheMock(buildType);
}
public boolean containsBuildType(String arg0) {
// TODO Auto-generated method stub
return false;
}
public SBuildType createBuildType(SBuildType arg0, String arg1,
CopyOptions arg2) throws MaxNumberOfBuildTypesReachedException {
// TODO Auto-generated method stub
return null;
}
public SBuildType createBuildType(String arg0, String arg1, int arg2,
CheckoutType arg3) throws DuplicateBuildTypeNameException,
MaxNumberOfBuildTypesReachedException {
// TODO Auto-generated method stub
return null;
}
public SBuildType createBuildType(SBuildType arg0, String arg1,
boolean arg2, boolean arg3)
throws MaxNumberOfBuildTypesReachedException {
// TODO Auto-generated method stub
return null;
}
public SBuildType findBuildTypeById(String btName) {
return buildTypes.get(btName);
}
public void addANewBuildTypeToTheMock(SBuildType build){
this.buildTypes.put(build.getBuildTypeId(), build);
}
public SBuildType findBuildTypeByName(String arg0) {
// TODO Auto-generated method stub
return null;
}
public File getArtifactsDirectory() {
// TODO Auto-generated method stub
return this.buildType.getArtifactsDirectory();
}
public List<SBuildType> getBuildTypes() {
return new ArrayList<SBuildType>(this.buildTypes.values());
}
public File getConfigDirectory() {
return this.configDirectory;
}
public File getConfigurationFile() {
// TODO Auto-generated method stub
return null;
}
public List<SVcsRoot> getVcsRoots() {
// TODO Auto-generated method stub
return null;
}
public boolean hasBuildTypes() {
// TODO Auto-generated method stub
return false;
}
public boolean isInModel() {
// TODO Auto-generated method stub
return false;
}
public void persist() throws PersistFailedException {
// TODO Auto-generated method stub
}
public void removeBuildType(String arg0) {
// TODO Auto-generated method stub
}
public void removeBuildTypes() {
// TODO Auto-generated method stub
}
public void setDescription(String arg0) {
this.description = arg0;
}
public void setName(String arg0) {
this.name = arg0;
}
public void updateProjectInTransaction(ProjectUpdater arg0)
throws PersistFailedException {
// TODO Auto-generated method stub
}
public void writeTo(Element arg0) {
// TODO Auto-generated method stub
}
public String getDescription() {
return this.description;
}
public String getName() {
return this.name;
}
public String getProjectId() {
return this.projectId;
}
public Status getStatus() {
return this.status;
}
public int compareTo(BuildProject o) {
// TODO Auto-generated method stub
return 0;
}
public void addParameter(Parameter arg0) {
// TODO Auto-generated method stub
}
public Map<String, String> getParameters() {
// TODO Auto-generated method stub
return null;
}
public Collection<Parameter> getParametersCollection() {
// TODO Auto-generated method stub
return null;
}
public void removeParameter(String arg0) {
// TODO Auto-generated method stub
}
public SBuildType createBuildType(String arg0)
throws DuplicateBuildTypeNameException,
MaxNumberOfBuildTypesReachedException {
// TODO Auto-generated method stub
return null;
}
public SBuildType createBuildTypeFromTemplate(BuildTypeTemplate arg0,
String arg1, CopyOptions arg2)
throws MaxNumberOfBuildTypesReachedException,
InvalidVcsRootScopeException {
// TODO Auto-generated method stub
return null;
}
public BuildTypeTemplate createBuildTypeTemplate(String arg0)
throws DuplicateTemplateNameException {
// TODO Auto-generated method stub
return null;
}
public BuildTypeTemplate createBuildTypeTemplate(BuildTypeTemplate arg0,
String arg1, CopyOptions arg2) throws InvalidVcsRootScopeException {
// TODO Auto-generated method stub
return null;
}
public BuildTypeTemplate createBuildTypeTemplate(SBuildType arg0,
String arg1, CopyOptions arg2) throws InvalidVcsRootScopeException {
// TODO Auto-generated method stub
return null;
}
public BuildTypeTemplate findBuildTypeTemplateById(String arg0) {
// TODO Auto-generated method stub
return null;
}
public BuildTypeTemplate findBuildTypeTemplateByName(String arg0) {
// TODO Auto-generated method stub
return null;
}
public Date getArchivingTime() {
// TODO Auto-generated method stub
return null;
}
public User getArchivingUser() {
// TODO Auto-generated method stub
return null;
}
public List<BuildTypeTemplate> getBuildTypeTemplates() {
// TODO Auto-generated method stub
return null;
}
public String getExtendedName() {
// TODO Auto-generated method stub
return null;
}
public List<User> getPotentiallyResponsibleUsers() {
// TODO Auto-generated method stub
return null;
}
public List<VcsRootInstance> getVcsRootInstances() {
// TODO Auto-generated method stub
return null;
}
public boolean isArchived() {
// TODO Auto-generated method stub
return false;
}
public void removeBuildTypeTemplate(String arg0)
throws TemplateCannotBeRemovedException {
// TODO Auto-generated method stub
}
public void setArchived(boolean arg0, User arg1) {
// TODO Auto-generated method stub
}
// From 7.1
@Override
public ParametersProvider getParametersProvider() {
// TODO Auto-generated method stub
return null;
}
@Override
public ValueResolver getValueResolver() {
// TODO Auto-generated method stub
return null;
}
// From 8.0
@Override
public String getExternalId() {
return projectExternalId;
}
@Override
public String getFullName() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getParentProjectExternalId() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getParentProjectId() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isRootProject() {
// TODO Auto-generated method stub
return false;
}
@Override
public SPersistentEntity getParent() {
// TODO Auto-generated method stub
return null;
}
@Override
public Map<String, String> getOwnParameters() {
// TODO Auto-generated method stub
return null;
}
@Override
public Collection<Parameter> getOwnParametersCollection() {
// TODO Auto-generated method stub
return null;
}
@Override
public String describe(boolean arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean belongsTo(SProject arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public SBuildType copyBuildType(SBuildType arg0, String arg1, String arg2,
CopyOptions arg3) throws MaxNumberOfBuildTypesReachedException,
InvalidVcsRootScopeException, DuplicateExternalIdException {
// TODO Auto-generated method stub
return null;
}
@Override
public BuildTypeTemplate copyBuildTypeTemplate(BuildTypeTemplate arg0,
String arg1, String arg2) throws InvalidVcsRootScopeException {
// TODO Auto-generated method stub
return null;
}
@Override
public SVcsRoot copyVcsRoot(SVcsRoot arg0, String arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public SBuildType createBuildType(String arg0, String arg1)
throws DuplicateExternalIdException,
DuplicateBuildTypeNameException,
MaxNumberOfBuildTypesReachedException {
// TODO Auto-generated method stub
return null;
}
@Override
public SBuildType createBuildTypeFromTemplate(BuildTypeTemplate arg0,
String arg1, String arg2)
throws MaxNumberOfBuildTypesReachedException,
InvalidVcsRootScopeException, DuplicateExternalIdException {
// TODO Auto-generated method stub
return null;
}
@Override
public BuildTypeTemplate createBuildTypeTemplate(String arg0, String arg1)
throws DuplicateTemplateNameException, DuplicateExternalIdException {
// TODO Auto-generated method stub
return null;
}
@Override
public SProject createProject(String arg0, String arg1)
throws InvalidIdentifierException, InvalidNameException,
DuplicateProjectNameException, DuplicateExternalIdException {
// TODO Auto-generated method stub
return null;
}
@Override
public SVcsRoot createVcsRoot(String arg0, String arg1,
Map<String, String> arg2) throws UnknownVcsException,
DuplicateVcsRootNameException {
// TODO Auto-generated method stub
return null;
}
@Override
public SVcsRoot createVcsRoot(String arg0, String arg1, String arg2)
throws DuplicateExternalIdException, DuplicateVcsRootNameException {
// TODO Auto-generated method stub
return null;
}
@Override
public BuildTypeTemplate extractBuildTypeTemplate(SBuildType arg0,
String arg1, String arg2) throws InvalidVcsRootScopeException,
InvalidIdentifierException, DuplicateExternalIdException {
// TODO Auto-generated method stub
return null;
}
@Override
public BuildTypeIdentity findBuildTypeIdentityByName(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public BuildTypeTemplate findBuildTypeTemplateByExternalId(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public SProject findProjectByName(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public SVcsRoot findVcsRootByName(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<BuildTypeTemplate> getAvailableTemplates() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getExtendedFullName() {
// TODO Auto-generated method stub
return null;
}
@Override
public List<BuildTypeTemplate> getOwnBuildTypeTemplates() {
// TODO Auto-generated method stub
return null;
}
@Override
public List<SBuildType> getOwnBuildTypes() {
return getBuildTypes();
}
@Override
public List<SProject> getOwnProjects() {
return this.childProjects;
}
@Override
public List<SVcsRoot> getOwnVcsRoots() {
// TODO Auto-generated method stub
return null;
}
@Override
public SProject getParentProject() {
return this.parentProject;
}
public void setParentProject(SProject project){
this.parentPath = new ArrayList<SProject>();
this.parentPath.add(project);
this.parentPath.add(this);
this.parentProject = project;
}
@Override
public File getPluginDataDirectory(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public File getPluginSettingsFile() {
// TODO Auto-generated method stub
return null;
}
@Override
public List<SProject> getProjectPath() {
return this.parentPath;
}
@Override
public List<SProject> getProjects() {
// TODO Auto-generated method stub
return null;
}
@Override
public List<SVcsRoot> getUsedVcsRoots() {
// TODO Auto-generated method stub
return null;
}
@Override
public void moveToProject(SProject arg0) throws CyclicDependencyException,
InvalidVcsRootScopeException {
// TODO Auto-generated method stub
}
@Override
public void remove() {
// TODO Auto-generated method stub
}
@Override
public void setExternalId(String arg0) throws InvalidIdentifierException,
DuplicateExternalIdException {
// TODO Auto-generated method stub
}
public void addChildProjectToMock(SProject sProject) {
this.childProjects.add(sProject);
}
}