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); } }
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; }
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()); }
@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; }
@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())); }
@Override public String toString() { return ToStringBuilder.forInstance(this) .append("id", getId()) .append("name", getName()) .append("version", getVersion()) .append("description", getDescription()) .append("category", getCategory()) .build(); } }