Search in sources :

Example 21 with Entity

use of com.hp.octane.integrations.dto.entities.Entity in project octane-ci-java-sdk by MicroFocus.

the class PullRequestAndBranchServiceImpl method buildOctaneBranchForUpdate.

private Entity buildOctaneBranchForUpdate(Branch ciBranch, CommitUserIdPicker idPicker) {
    Entity entity = DTOFactory.getInstance().newDTO(Entity.class);
    entity.setType(EntityConstants.ScmRepository.ENTITY_NAME);
    if (ciBranch.getOctaneId() != null) {
        entity.setId(ciBranch.getOctaneId());
    }
    entity.setField(EntityConstants.ScmRepository.IS_MERGED_FIELD, ciBranch.getIsMerged());
    entity.setField(EntityConstants.ScmRepository.LAST_COMMIT_SHA_FIELD, ciBranch.getLastCommitSHA());
    entity.setField(EntityConstants.ScmRepository.LAST_COMMIT_TIME_FIELD, FetchUtils.convertLongToISO8601DateString(ciBranch.getLastCommitTime()));
    entity.setField(EntityConstants.ScmRepository.SCM_USER_FIELD, idPicker.getUserIdForCommit(ciBranch.getLastCommiterEmail(), ciBranch.getLastCommiterName()));
    entity.setField(EntityConstants.ScmRepository.SCM_USER_EMAIL_FIELD, ciBranch.getLastCommiterEmail());
    return entity;
}
Also used : Entity(com.hp.octane.integrations.dto.entities.Entity)

Example 22 with Entity

use of com.hp.octane.integrations.dto.entities.Entity in project octane-ci-java-sdk by MicroFocus.

the class OctaneSDK method testOctaneConfigurationAndFetchAvailableWorkspaces.

/**
 * This method allows to test Octane configuration prior to creating full functioning Octane client (use case - test connection in UI)
 * In case of failed configuration , IllegalArgumentException is thrown
 *
 * @param octaneServerUrl base Octane server URL
 * @param sharedSpaceId   shared space ID
 * @param client          client / api key
 * @param secret          secret / api secret
 * @param pluginServicesClass class that extends CIPluginServices
 * @return   List of available workspaces
 * @throws IOException in case of basic connectivity failure
 */
public static List<Entity> testOctaneConfigurationAndFetchAvailableWorkspaces(String octaneServerUrl, String sharedSpaceId, String client, String secret, Class<? extends CIPluginServices> pluginServicesClass) throws IOException {
    // instance ID is a MUST parameter but not needed for configuration validation, therefore RANDOM value provided
    OctaneConfiguration configuration = OctaneConfiguration.create(UUID.randomUUID().toString(), octaneServerUrl, sharedSpaceId);
    configuration.setSecret(secret);
    configuration.setClient(client);
    if (pluginServicesClass == null) {
        throw new IllegalArgumentException("plugin services provider is invalid");
    }
    CIPluginServices pluginServices;
    try {
        pluginServices = pluginServicesClass.newInstance();
    } catch (InstantiationException | IllegalAccessException e) {
        throw new IllegalArgumentException("failed to instantiate plugin services '" + pluginServicesClass.getSimpleName() + "'", e);
    }
    SDKServicesConfigurer configurer = new SDKServicesConfigurer(configuration, pluginServices);
    RestService restService = RestService.newInstance(configurer);
    ConfigurationService configurationService = ConfigurationService.newInstance(configurer, restService);
    OctaneConnectivityStatus octaneConnectivityStatus = configurationService.validateConfigurationAndGetConnectivityStatus();
    if (!CIPluginSDKUtils.isSdkSupported(octaneConnectivityStatus)) {
        throw new OctaneConnectivityException(0, OctaneConnectivityException.UNSUPPORTED_SDK_VERSION_KEY, OctaneConnectivityException.UNSUPPORTED_SDK_VERSION_MESSAGE);
    }
    try {
        EntitiesService entitiesService = EntitiesService.newInstance(configurer, restService);
        List<Entity> workspaces = entitiesService.getEntities(null, /*no workspace*/
        EntityConstants.Workspaces.COLLECTION_NAME, null, /*no conditions*/
        Arrays.asList(EntityConstants.Base.NAME_FIELD));
        return workspaces;
    } catch (Exception e) {
        logger.error(configuration.getLocationForLog() + "Failed to fetch workspaces in testOctaneConfigurationAndFetchAvailableWorkspaces : " + e.getMessage());
        return null;
    }
}
Also used : OctaneConnectivityException(com.hp.octane.integrations.exceptions.OctaneConnectivityException) Entity(com.hp.octane.integrations.dto.entities.Entity) IOException(java.io.IOException) OctaneConnectivityException(com.hp.octane.integrations.exceptions.OctaneConnectivityException) OctaneConnectivityStatus(com.hp.octane.integrations.dto.general.OctaneConnectivityStatus) ConfigurationService(com.hp.octane.integrations.services.configuration.ConfigurationService) EntitiesService(com.hp.octane.integrations.services.entities.EntitiesService) RestService(com.hp.octane.integrations.services.rest.RestService)

Example 23 with Entity

use of com.hp.octane.integrations.dto.entities.Entity in project octane-ci-java-sdk by MicroFocus.

the class EntityImpl method deserializeEntityListFromMap.

private ResponseEntityList deserializeEntityListFromMap(Map<String, Object> map) {
    ResponseEntityList list = dtoFactory.newDTO(ResponseEntityList.class);
    list.setTotalCount((int) map.get(COLLECTION_TOTAL_COUNT_FIELD));
    List<Map<String, Object>> data = (List) map.get(COLLECTION_DATA_FIELD);
    for (Map<String, Object> entry : data) {
        Entity entity = deserializeEntityFromMap(entry);
        list.addEntity(entity);
    }
    return list;
}
Also used : Entity(com.hp.octane.integrations.dto.entities.Entity) List(java.util.List) ResponseEntityList(com.hp.octane.integrations.dto.entities.ResponseEntityList) Map(java.util.Map) HashMap(java.util.HashMap) ResponseEntityList(com.hp.octane.integrations.dto.entities.ResponseEntityList)

Example 24 with Entity

use of com.hp.octane.integrations.dto.entities.Entity in project octane-ci-java-sdk by MicroFocus.

the class PullRequestAndBranchServiceImpl method buildOctaneBranchForCreate.

private Entity buildOctaneBranchForCreate(String rootId, Branch ciBranch, CommitUserIdPicker idPicker) {
    Entity parent = DTOFactory.getInstance().newDTO(Entity.class);
    parent.setType(EntityConstants.ScmRepositoryRoot.ENTITY_NAME);
    parent.setId(rootId);
    Entity entity = buildOctaneBranchForUpdate(ciBranch, idPicker);
    entity.setField(EntityConstants.ScmRepository.PARENT_FIELD, parent);
    entity.setField(EntityConstants.ScmRepository.NAME_FIELD, ciBranch.getName());
    return entity;
}
Also used : Entity(com.hp.octane.integrations.dto.entities.Entity)

Example 25 with Entity

use of com.hp.octane.integrations.dto.entities.Entity in project octane-ci-java-sdk by MicroFocus.

the class TestExecutionServiceImpl method getReleaseOrThrow.

private Entity getReleaseOrThrow(Long workspaceId, Long optionalReleaseId) {
    Entity release;
    if (optionalReleaseId == null) {
        Optional<Entity> defaultRelease = this.getDefaultRelease(workspaceId);
        if (!defaultRelease.isPresent()) {
            throw new RuntimeException("Failed to find default release ");
        }
        release = defaultRelease.get();
    } else {
        release = dtoFactory.newDTO(Entity.class).setType(EntityConstants.Release.ENTITY_NAME).setId(Long.toString(optionalReleaseId));
    }
    return release;
}
Also used : Entity(com.hp.octane.integrations.dto.entities.Entity)

Aggregations

Entity (com.hp.octane.integrations.dto.entities.Entity)34 EntitiesService (com.hp.octane.integrations.services.entities.EntitiesService)6 EntityConstants (com.hp.octane.integrations.dto.entities.EntityConstants)5 OctaneBulkException (com.hp.octane.integrations.exceptions.OctaneBulkException)5 QueryHelper (com.hp.octane.integrations.services.entities.QueryHelper)5 SdkStringUtils (com.hp.octane.integrations.utils.SdkStringUtils)5 java.util (java.util)5 Function (java.util.function.Function)5 Collectors (java.util.stream.Collectors)5 LogManager (org.apache.logging.log4j.LogManager)5 Logger (org.apache.logging.log4j.Logger)5 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)4 RestService (com.hp.octane.integrations.services.rest.RestService)4 IOException (java.io.IOException)4 OctaneSDK (com.hp.octane.integrations.OctaneSDK)3 DTOFactory (com.hp.octane.integrations.dto.DTOFactory)3 HttpMethod (com.hp.octane.integrations.dto.connectivity.HttpMethod)3 OctaneRequest (com.hp.octane.integrations.dto.connectivity.OctaneRequest)3 OctaneResponse (com.hp.octane.integrations.dto.connectivity.OctaneResponse)3 TestToRunData (com.hp.octane.integrations.executor.TestToRunData)3