@Override public String toString() { return ToStringBuilder.forInstance(this) .append("id", getId()) .append("name", getName()) .append("version", getVersion()) .append("description", getDescription()) .append("category", getCategory()) .build(); } }
@Mapping(from = org.ovirt.engine.api.model.ClusterFeature.class, to = AdditionalFeature.class) public static AdditionalFeature map(org.ovirt.engine.api.model.ClusterFeature model, AdditionalFeature template) { AdditionalFeature entity = template != null ? template : new AdditionalFeature(); entity.setName(model.getName()); entity.setId(Guid.createGuidFromString(model.getId())); return entity; }
@Mapping(from = AdditionalFeature.class, to = org.ovirt.engine.api.model.ClusterFeature.class) public static org.ovirt.engine.api.model.ClusterFeature map(AdditionalFeature entity, org.ovirt.engine.api.model.ClusterFeature template) { org.ovirt.engine.api.model.ClusterFeature model = template != null ? template : new org.ovirt.engine.api.model.ClusterFeature(); model.setName(entity.getName()); model.setId(entity.getId().toString()); return model; }
public static AdditionalFeature getClusterFeature(BackendResource resource, String version, Guid id) { Set<AdditionalFeature> addlFeatures = getClusterFeatures(resource, version); return addlFeatures.stream() .filter(f -> f.getId().equals(id)) .findFirst() .orElse(null); } }
private SupportedAdditionalClusterFeature buildSupportedFeature(Guid featureId, Guid clusterId, boolean enabled) { SupportedAdditionalClusterFeature supportedAdditionalClusterFeature = new SupportedAdditionalClusterFeature(); supportedAdditionalClusterFeature.setClusterId(clusterId); supportedAdditionalClusterFeature.setEnabled(enabled); supportedAdditionalClusterFeature.setFeature(new AdditionalFeature()); supportedAdditionalClusterFeature.getFeature().setId(featureId); return supportedAdditionalClusterFeature; }
private void verifyFeaturesReturned(Set<AdditionalFeature> featuresFromDb, List<String> featuresExpdected) { assertNotNull(featuresFromDb, "Failed to retrive additional features for the version and category"); assertEquals(featuresFromDb.size(), featuresExpdected.size(), "Failed to retrive correct set of features for the given version and category"); for (AdditionalFeature feature : featuresFromDb) { assertThat("Wrong feature returned from DB", featuresExpdected, hasItem(feature.getName())); } }
@Override public void setId(Pair<Guid, Guid> id) { getFeature().setId(id.getFirst()); setClusterId(id.getSecond()); } }
public static Cluster getClusterWithFeatureDisabled(BackendResource resource, Guid clusterId, Guid id) { Cluster cluster = getClusterEntity(resource, clusterId); SupportedAdditionalClusterFeature feature = cluster.getAddtionalFeaturesSupported() .stream() .filter(f -> f.getFeature().getId().equals(id)) .findFirst() .orElse(null); if (feature != null) { feature.setEnabled(false); } return cluster; }
@Test public void testGetAllByClusterId() { Set<SupportedAdditionalClusterFeature> featuresSupportedInCluster = dao.getAllByClusterId(EXISTING_CLUSTER); List<String> expectedFeatures = Arrays.asList("TEST_FEATURE_1", "TEST_FEATURE_2", "TEST_FEATURE_3"); assertNotNull(featuresSupportedInCluster, "Failed to retrive supported additional features for the cluster"); assertThat("Failed to retrive correct set of features for the given version and category", featuresSupportedInCluster, hasSize(expectedFeatures.size())); for (SupportedAdditionalClusterFeature supportedFeatures : featuresSupportedInCluster) { assertThat("Wrong feature returned from DB", expectedFeatures, hasItem(supportedFeatures.getFeature().getName())); } }
public static SupportedAdditionalClusterFeature getEnabledFeature(BackendResource resource, Guid clusterId, Guid id) { Set<SupportedAdditionalClusterFeature> addlFeatures = resource.getOptionalEntity(Set.class, QueryType.GetClusterFeaturesByClusterId, new IdQueryParameters(clusterId), clusterId.toString(), false); SupportedAdditionalClusterFeature feature = Optional.ofNullable(addlFeatures) .orElse(Collections.emptySet()) .stream() .filter(f -> f.getFeature().getId().equals(id) && f.isEnabled()) .findFirst() .orElse(null); return feature; }
@Override public Pair<Guid, Guid> getId() { return new Pair<>(getFeature().getId(), getClusterId()); }
@Override protected MapSqlParameterSource createFullParametersMapper(SupportedAdditionalClusterFeature entity) { return getCustomMapSqlParameterSource() .addValue("cluster_id", entity.getClusterId()) .addValue("feature_id", entity.getFeature().getId()) .addValue("is_enabled", entity.isEnabled()); }
@Override public Response add(ClusterFeature feature) { validateParameters(feature); org.ovirt.engine.core.common.businessentities.AdditionalFeature featureEntity = map(feature, null); org.ovirt.engine.core.common.businessentities.Cluster cluster = BackendClusterFeatureHelper.getClusterEntity(this, clusterId); SupportedAdditionalClusterFeature supportedFeature = new SupportedAdditionalClusterFeature(); supportedFeature.setFeature(featureEntity); supportedFeature.setEnabled(true); supportedFeature.setClusterId(clusterId); cluster.getAddtionalFeaturesSupported().add(supportedFeature); ManagementNetworkOnClusterOperationParameters param = new ManagementNetworkOnClusterOperationParameters(cluster); return performCreate(ActionType.UpdateCluster, param, new ClusterFeatureIdResolver(clusterId, featureEntity.getId())); }