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;
}
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;
}
}
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;
}
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;
}
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;
}
Aggregations