com.greenpepper.server.domain.dao.SystemUnderTestDao Maven / Gradle / Ivy
package com.greenpepper.server.domain.dao;
import java.util.List;
import com.greenpepper.server.GreenPepperServerException;
import com.greenpepper.server.domain.EnvironmentType;
import com.greenpepper.server.domain.Reference;
import com.greenpepper.server.domain.Runner;
import com.greenpepper.server.domain.Specification;
import com.greenpepper.server.domain.SystemUnderTest;
/**
* SystemUnderTestDao interface.
*
* @author oaouattara
* @version $Id: $Id
*/
public interface SystemUnderTestDao
{
/**
* Retrieves the EnvironmentType for the specified name.
*
*
* @param name of the EnvironmentType
* @return the EnvironmentType for the specified name.
*/
public EnvironmentType getEnvironmentTypeByName(String name);
/**
* Retrieves all the Environment Types available.
*
*
* @return all the Environment Types available.
*/
public List getAllEnvironmentTypes();
/**
* Creates the EnvironmentType
*
*
* @param environmentType a {@link com.greenpepper.server.domain.EnvironmentType} object.
* @return the new environmentType.
*/
public EnvironmentType create(EnvironmentType environmentType);
/**
* Retrieves the Runner for the specified name.
*
*
* @param name of the runner
* @return the Runner for the specified name.
*/
public Runner getRunnerByName(String name);
/**
* Retrieves All available runners.
*
*
* @return All available runners.
*/
public List getAllRunners();
/**
* Creates the Runner
*
*
* @param runner a {@link com.greenpepper.server.domain.Runner} object.
* @return the new runner.
* @throws com.greenpepper.server.GreenPepperServerException if any.
*/
public Runner create(Runner runner) throws GreenPepperServerException;
/**
* Updates the runner.
*
*
* @param oldRunnerName a {@link java.lang.String} object.
* @param runner a {@link com.greenpepper.server.domain.Runner} object.
* @return the updated runner.
* @throws com.greenpepper.server.GreenPepperServerException if any.
*/
public Runner update(String oldRunnerName, Runner runner) throws GreenPepperServerException;
/**
* Removes the runner.
*
*
* @param runnerName a {@link java.lang.String} object.
* @throws com.greenpepper.server.GreenPepperServerException if any.
*/
public void removeRunner(String runnerName) throws GreenPepperServerException;
/**
* Retrieves the SystemUnderTest for the specified name.
*
*
* @return the SystemUnderTest for the specified name.
* @param projectName a {@link java.lang.String} object.
* @param sutName a {@link java.lang.String} object.
*/
public SystemUnderTest getByName(String projectName, String sutName);
/**
* Retrieves all the SystemUnderTest for the registered Project.
*
*
* @param projectName a {@link java.lang.String} object.
* @return all the SystemUnderTest for the registered Project.
*/
public List getAllForProject(String projectName);
/**
* Retrieves all the SystemUnderTest for the registered Runner.
*
*
* @param runnerName a {@link java.lang.String} object.
* @return all the SystemUnderTest for the registered Runner.
*/
public List getAllForRunner(String runnerName);
/**
* Saves the specified SystemUnderTest.
*
*
* @param newSystemUnderTest a {@link com.greenpepper.server.domain.SystemUnderTest} object.
* @return the new SystemUnderTest.
* @throws com.greenpepper.server.GreenPepperServerException if any.
*/
public SystemUnderTest create(SystemUnderTest newSystemUnderTest) throws GreenPepperServerException;
/**
* Updates the specified SystemUnderTest.
*
*
* @param oldSutName a {@link java.lang.String} object.
* @param updatedSystemUnderTest a {@link com.greenpepper.server.domain.SystemUnderTest} object.
* @return the updated SystemUnderTest.
* @throws com.greenpepper.server.GreenPepperServerException if any.
*/
public SystemUnderTest update(String oldSutName, SystemUnderTest updatedSystemUnderTest) throws GreenPepperServerException;
/**
* Deletes the specified SystemUnderTest.
*
*
* @throws com.greenpepper.server.GreenPepperServerException if any.
* @param projectName a {@link java.lang.String} object.
* @param sutName a {@link java.lang.String} object.
*/
public void remove(String projectName, String sutName) throws GreenPepperServerException;
/**
* Set the specified SystemUnderTest as the new project default.
*
*
* @throws com.greenpepper.server.GreenPepperServerException if any.
* @param systemUnderTest a {@link com.greenpepper.server.domain.SystemUnderTest} object.
*/
public void setAsDefault(SystemUnderTest systemUnderTest) throws GreenPepperServerException;
/**
* Retrieves all references that depends on the SystemUnderTest
*
*
* @param sut a {@link com.greenpepper.server.domain.SystemUnderTest} object.
* @return all references that depends on the SystemUnderTest
*/
public List getAllReferences(SystemUnderTest sut);
/**
* Retrieves all specifications that depends on the SystemUnderTest
*
*
* @param sut a {@link com.greenpepper.server.domain.SystemUnderTest} object.
* @return all specifications that depends on the SystemUnderTest
*/
public List getAllSpecifications(SystemUnderTest sut);
}