Search in sources :

Example 1 with JobDetailsAccessor2

use of com.synopsys.integration.alert.common.persistence.accessor.JobDetailsAccessor2 in project hub-alert by blackducksoftware.

the class StaticJobAccessor method createJobWithId.

private DistributionJobModel createJobWithId(UUID jobId, DistributionJobRequestModel requestModel, OffsetDateTime createdAt, @Nullable OffsetDateTime lastUpdated) {
    String channelDescriptorName = requestModel.getChannelDescriptorName();
    DistributionJobEntity jobToSave = new DistributionJobEntity(jobId, requestModel.getName(), requestModel.isEnabled(), requestModel.getDistributionFrequency().name(), requestModel.getProcessingType().name(), channelDescriptorName, requestModel.getChannelGlobalConfigId(), createdAt, lastUpdated);
    DistributionJobEntity savedJobEntity = distributionJobRepository.save(jobToSave);
    UUID savedJobId = savedJobEntity.getJobId();
    BlackDuckJobDetailsEntity savedBlackDuckJobDetails = blackDuckJobDetailsAccessor.saveBlackDuckJobDetails(savedJobId, requestModel);
    savedJobEntity.setBlackDuckJobDetails(savedBlackDuckJobDetails);
    DistributionJobDetailsModel distributionJobDetails = requestModel.getDistributionJobDetails();
    if (distributionJobDetails.isA(ChannelKeys.AZURE_BOARDS)) {
        AzureBoardsJobDetailsEntity savedAzureBoardsJobDetails = azureBoardsJobDetailsAccessor.saveAzureBoardsJobDetails(savedJobId, distributionJobDetails.getAs(DistributionJobDetailsModel.AZURE));
        savedJobEntity.setAzureBoardsJobDetails(savedAzureBoardsJobDetails);
    } else if (distributionJobDetails.isA(ChannelKeys.JIRA_CLOUD)) {
        JiraCloudJobDetailsEntity savedJiraCloudJobDetails = jiraCloudJobDetailsAccessor.saveJiraCloudJobDetails(savedJobId, distributionJobDetails.getAs(DistributionJobDetailsModel.JIRA_CLOUD));
        savedJobEntity.setJiraCloudJobDetails(savedJiraCloudJobDetails);
    } else if (distributionJobDetails.isA(ChannelKeys.MS_TEAMS)) {
        MSTeamsJobDetailsEntity savedMSTeamsJobDetails = msTeamsJobDetailsAccessor.saveMSTeamsJobDetails(savedJobId, distributionJobDetails.getAs(DistributionJobDetailsModel.MS_TEAMS));
        savedJobEntity.setMsTeamsJobDetails(savedMSTeamsJobDetails);
    } else if (distributionJobDetails.isA(ChannelKeys.SLACK)) {
        SlackJobDetailsEntity savedSlackJobDetails = slackJobDetailsAccessor.saveSlackJobDetails(savedJobId, distributionJobDetails.getAs(DistributionJobDetailsModel.SLACK));
        savedJobEntity.setSlackJobDetails(savedSlackJobDetails);
    } else {
        // In the future the contents of this else case should be the complete implementation of this method
        ChannelKey channelKey = ChannelKeys.getChannelKey(channelDescriptorName);
        if (jobDetailsAccessorMap.containsKey(channelKey) && distributionJobDetails.isA(channelKey)) {
            JobDetailsAccessor2<? extends DistributionJobDetailsModel> accessor = jobDetailsAccessorMap.get(channelKey);
            DistributionJobDetailsModel savedJobDetails = accessor.saveJobDetails(savedJobId, distributionJobDetails);
            return convertToDistributionJobModel(savedJobEntity, savedJobDetails);
        }
    }
    return convertToDistributionJobModel(savedJobEntity);
}
Also used : DistributionJobDetailsModel(com.synopsys.integration.alert.common.persistence.model.job.details.DistributionJobDetailsModel) JiraCloudJobDetailsEntity(com.synopsys.integration.alert.database.job.jira.cloud.JiraCloudJobDetailsEntity) MSTeamsJobDetailsEntity(com.synopsys.integration.alert.database.job.msteams.MSTeamsJobDetailsEntity) JobDetailsAccessor2(com.synopsys.integration.alert.common.persistence.accessor.JobDetailsAccessor2) DistributionJobEntity(com.synopsys.integration.alert.database.job.DistributionJobEntity) AzureBoardsJobDetailsEntity(com.synopsys.integration.alert.database.job.azure.boards.AzureBoardsJobDetailsEntity) ChannelKey(com.synopsys.integration.alert.descriptor.api.model.ChannelKey) UUID(java.util.UUID) SlackJobDetailsEntity(com.synopsys.integration.alert.database.job.slack.SlackJobDetailsEntity) BlackDuckJobDetailsEntity(com.synopsys.integration.alert.database.job.blackduck.BlackDuckJobDetailsEntity)

Aggregations

JobDetailsAccessor2 (com.synopsys.integration.alert.common.persistence.accessor.JobDetailsAccessor2)1 DistributionJobDetailsModel (com.synopsys.integration.alert.common.persistence.model.job.details.DistributionJobDetailsModel)1 DistributionJobEntity (com.synopsys.integration.alert.database.job.DistributionJobEntity)1 AzureBoardsJobDetailsEntity (com.synopsys.integration.alert.database.job.azure.boards.AzureBoardsJobDetailsEntity)1 BlackDuckJobDetailsEntity (com.synopsys.integration.alert.database.job.blackduck.BlackDuckJobDetailsEntity)1 JiraCloudJobDetailsEntity (com.synopsys.integration.alert.database.job.jira.cloud.JiraCloudJobDetailsEntity)1 MSTeamsJobDetailsEntity (com.synopsys.integration.alert.database.job.msteams.MSTeamsJobDetailsEntity)1 SlackJobDetailsEntity (com.synopsys.integration.alert.database.job.slack.SlackJobDetailsEntity)1 ChannelKey (com.synopsys.integration.alert.descriptor.api.model.ChannelKey)1 UUID (java.util.UUID)1