Search in sources :

Example 11 with Pipeline

use of com.epam.pipeline.entity.pipeline.Pipeline in project cloud-pipeline by epam.

the class PipelineManager method update.

@Transactional(propagation = Propagation.REQUIRED)
public Pipeline update(final PipelineVO pipelineVO) {
    String pipelineVOName = pipelineVO.getName();
    Assert.notNull(pipelineVOName, messageHelper.getMessage(MessageConstants.ERROR_PIPELINE_NAME_IS_EMPTY));
    Assert.isTrue(GitUtils.checkGitNaming(pipelineVOName), messageHelper.getMessage(MessageConstants.ERROR_INVALID_PIPELINE_NAME, pipelineVOName));
    Pipeline dbPipeline = load(pipelineVO.getId());
    dbPipeline.setName(pipelineVOName);
    dbPipeline.setDescription(pipelineVO.getDescription());
    dbPipeline.setParentFolderId(pipelineVO.getParentFolderId());
    setFolderIfPresent(dbPipeline);
    pipelineDao.updatePipeline(dbPipeline);
    return dbPipeline;
}
Also used : Pipeline(com.epam.pipeline.entity.pipeline.Pipeline) Transactional(org.springframework.transaction.annotation.Transactional)

Example 12 with Pipeline

use of com.epam.pipeline.entity.pipeline.Pipeline in project cloud-pipeline by epam.

the class PipelineVersionManager method addConfiguration.

public List<ConfigurationEntry> addConfiguration(Long id, ConfigurationEntry configuration) throws GitClientException {
    Assert.isTrue(configuration.checkConfigComplete(), messageHelper.getMessage(MessageConstants.ERROR_CONFIG_INVALID));
    String configurationName = configuration.getName();
    Pipeline pipeline = pipelineManager.load(id, true);
    List<ConfigurationEntry> currentConfigurations = getCurrentConfigurations(pipeline);
    checkDefaultConfig(configuration, currentConfigurations);
    List<ConfigurationEntry> updatedConf = removeConfig(configurationName, currentConfigurations);
    updatedConf.add(configuration);
    String message = messageHelper.getMessage(MessageConstants.INFO_CONFIG_UPDATE, configurationName);
    return saveUpdatedConfiguration(configurationName, pipeline, updatedConf, message);
}
Also used : ConfigurationEntry(com.epam.pipeline.entity.configuration.ConfigurationEntry) Pipeline(com.epam.pipeline.entity.pipeline.Pipeline)

Example 13 with Pipeline

use of com.epam.pipeline.entity.pipeline.Pipeline in project cloud-pipeline by epam.

the class PipelineVersionManager method renameConfiguration.

public List<ConfigurationEntry> renameConfiguration(Long id, String oldName, String newName) throws GitClientException {
    Assert.isTrue(StringUtils.hasText(oldName), messageHelper.getMessage(MessageConstants.ERROR_CONFIG_NAME_REQUIRED));
    Assert.isTrue(StringUtils.hasText(newName), messageHelper.getMessage(MessageConstants.ERROR_CONFIG_NAME_REQUIRED));
    Pipeline pipeline = pipelineManager.load(id, true);
    List<ConfigurationEntry> currentConfigurations = getCurrentConfigurations(pipeline);
    ConfigurationEntry oldConfig = findConfigByName(currentConfigurations, oldName);
    Assert.notNull(oldConfig, messageHelper.getMessage(MessageConstants.ERROR_CONFIG_NOT_FOUND, oldName));
    Assert.isTrue(findConfigByName(currentConfigurations, newName) == null, messageHelper.getMessage(MessageConstants.ERROR_CONFIG_NAME_EXISTS, newName));
    currentConfigurations.forEach(config -> {
        if (oldName.equals(config.getName())) {
            config.setName(newName);
        }
    });
    String message = messageHelper.getMessage(MessageConstants.INFO_CONFIG_RENAME, oldName, newName);
    return saveUpdatedConfiguration(newName, pipeline, currentConfigurations, message);
}
Also used : ConfigurationEntry(com.epam.pipeline.entity.configuration.ConfigurationEntry) Pipeline(com.epam.pipeline.entity.pipeline.Pipeline)

Example 14 with Pipeline

use of com.epam.pipeline.entity.pipeline.Pipeline in project cloud-pipeline by epam.

the class PipelineVersionManager method getWorkflowGraph.

public TaskGraphVO getWorkflowGraph(Long id, String version) {
    Pipeline pipeline = pipelineManager.load(id);
    try {
        gitManager.loadRevision(pipeline, version);
    } catch (GitClientException e) {
        LOGGER.error(e.getMessage(), e);
        throw new IllegalArgumentException(e.getMessage());
    }
    File config = gitManager.getConfigFile(pipeline, version);
    TaskGraphVO result = new GraphReader().readGraph(graphScript, config.getParentFile().getAbsolutePath(), CONFIG_FILE_NAME);
    mergeToolsRequirements(result);
    try {
        FileUtils.deleteDirectory(config.getParentFile());
    } catch (IOException e) {
        LOGGER.error(e.getMessage(), e);
    }
    return result;
}
Also used : GraphReader(com.epam.pipeline.manager.python.GraphReader) GitClientException(com.epam.pipeline.exception.git.GitClientException) TaskGraphVO(com.epam.pipeline.controller.vo.TaskGraphVO) IOException(java.io.IOException) File(java.io.File) Pipeline(com.epam.pipeline.entity.pipeline.Pipeline)

Example 15 with Pipeline

use of com.epam.pipeline.entity.pipeline.Pipeline in project cloud-pipeline by epam.

the class PipelineVersionManager method deleteConfiguration.

public List<ConfigurationEntry> deleteConfiguration(Long id, String configName) throws GitClientException {
    Assert.notNull(configName, messageHelper.getMessage(MessageConstants.ERROR_CONFIG_NAME_REQUIRED));
    Pipeline pipeline = pipelineManager.load(id, true);
    List<ConfigurationEntry> currentConfigurations = getCurrentConfigurations(pipeline);
    List<ConfigurationEntry> updatedConf = removeConfig(configName, currentConfigurations);
    Assert.isTrue(currentConfigurations.size() != updatedConf.size(), messageHelper.getMessage(MessageConstants.ERROR_CONFIG_NOT_FOUND, configName));
    String message = messageHelper.getMessage(MessageConstants.INFO_CONFIG_DELETE, configName);
    return saveUpdatedConfiguration(configName, pipeline, updatedConf, message);
}
Also used : ConfigurationEntry(com.epam.pipeline.entity.configuration.ConfigurationEntry) Pipeline(com.epam.pipeline.entity.pipeline.Pipeline)

Aggregations

Pipeline (com.epam.pipeline.entity.pipeline.Pipeline)88 Test (org.junit.Test)41 AbstractManagerTest (com.epam.pipeline.manager.AbstractManagerTest)25 Transactional (org.springframework.transaction.annotation.Transactional)18 AbstractSpringTest (com.epam.pipeline.AbstractSpringTest)16 GitCommitEntry (com.epam.pipeline.entity.git.GitCommitEntry)14 PipelineRun (com.epam.pipeline.entity.pipeline.PipelineRun)13 Revision (com.epam.pipeline.entity.pipeline.Revision)12 Folder (com.epam.pipeline.entity.pipeline.Folder)10 Before (org.junit.Before)9 GitFile (com.epam.pipeline.entity.git.GitFile)8 GitRepositoryEntry (com.epam.pipeline.entity.git.GitRepositoryEntry)7 EnvVarsBuilderTest (com.epam.pipeline.manager.execution.EnvVarsBuilderTest)7 Date (java.util.Date)7 List (java.util.List)7 GitTagEntry (com.epam.pipeline.entity.git.GitTagEntry)6 PipelineUser (com.epam.pipeline.entity.user.PipelineUser)6 IsEmptyString.isEmptyString (org.hamcrest.text.IsEmptyString.isEmptyString)6 Matchers.anyString (org.mockito.Matchers.anyString)6 EntityVO (com.epam.pipeline.controller.vo.EntityVO)5