/// <summary> /// Retrieves all available dataflows. /// </summary> private IComplexStructureQuery RetrieveDataflows() { var dataflowRefBean = new StructureReferenceImpl(SdmxStructureType.GetFromEnum(SdmxStructureEnumType.Dataflow)); IRestStructureQuery structureQueryDataflow = new RESTStructureQueryCore(dataflowRefBean); IBuilder <IComplexStructureQuery, IRestStructureQuery> transformerDataFlow = new StructureQuery2ComplexQueryBuilder(); IComplexStructureQuery complexStructureQueryDataflow = transformerDataFlow.Build(structureQueryDataflow); IList <SdmxStructureType> specificObjects = new List <SdmxStructureType>(); specificObjects.Add(SdmxStructureType.GetFromEnum(SdmxStructureEnumType.Dsd)); IComplexStructureQueryMetadata complexStructureQueryMetadataWithDsd = new ComplexStructureQueryMetadataCore(false, ComplexStructureQueryDetail.GetFromEnum(ComplexStructureQueryDetailEnumType.Full), ComplexMaintainableQueryDetail.GetFromEnum(ComplexMaintainableQueryDetailEnumType.Full), StructureReferenceDetail.GetFromEnum(StructureReferenceDetailEnumType.Specific), specificObjects); IComplexStructureQuery complexStructureQueryTempDataflow = new ComplexStructureQueryCore( complexStructureQueryDataflow.StructureReference, complexStructureQueryMetadataWithDsd); return(complexStructureQueryTempDataflow); }
/// <summary> /// Initializes a new instance of the <see cref="ComplexAnnotationReferenceCore"/> class. /// </summary> /// <param name="returnMatchedArtefact"> /// The return matched artefatc. /// </param> /// <param name="queryDetail"> /// The query detail. /// </param> /// <param name="referencesQueryDetail"> /// The references query detail. /// </param> /// <param name="referenceDetail"> /// The reference detail. /// </param> /// <param name="referenceSpecificStructures"> /// The reference specific structures. /// </param> public ComplexStructureQueryMetadataCore(bool returnMatchedArtefact, ComplexStructureQueryDetail queryDetail, ComplexMaintainableQueryDetail referencesQueryDetail, StructureReferenceDetail referenceDetail, IList<SdmxStructureType> referenceSpecificStructures) { this._returnMatchedArtefact = returnMatchedArtefact; if (queryDetail != null) { this._queryDetail = queryDetail; } if (referencesQueryDetail != null) this._referencesQueryDetail = referencesQueryDetail; if (referenceDetail == null) { throw new SdmxSemmanticException("Reference Detail cannot be null."); } this._referenceDetail = referenceDetail; this._referenceSpecificStructures = referenceSpecificStructures; }
/// <summary> /// Initializes a new instance of the <see cref="ComplexAnnotationReferenceCore" /> class. /// </summary> /// <param name="returnMatchedArtefact">The return matched artefact.</param> /// <param name="processConstraints">if set to <c>true</c> [process constraints].</param> /// <param name="queryDetail">The query detail.</param> /// <param name="referencesQueryDetail">The references query detail.</param> /// <param name="referenceDetail">The reference detail.</param> /// <param name="referenceSpecificStructures">The reference specific structures.</param> public ComplexStructureQueryMetadataCore(bool returnMatchedArtefact, bool processConstraints, ComplexStructureQueryDetail queryDetail, ComplexMaintainableQueryDetail referencesQueryDetail, StructureReferenceDetail referenceDetail, IList<SdmxStructureType> referenceSpecificStructures) : this(returnMatchedArtefact, queryDetail, referencesQueryDetail, referenceDetail, referenceSpecificStructures) { this._processConstraints = processConstraints; }
/// <summary> /// Converts the specified complex structure query detail. /// </summary> /// <param name="complexStructureQueryDetail">The complex structure query detail.</param> /// <param name="referenceDetail">The reference detail.</param> /// <returns>The <see cref="StructureQueryDetail"/>.</returns> private static StructureQueryDetail Convert(ComplexStructureQueryDetail complexStructureQueryDetail, ComplexMaintainableQueryDetail referenceDetail) { StructureQueryDetailEnumType structureQueryDetail; switch (complexStructureQueryDetail.EnumType) { case ComplexStructureQueryDetailEnumType.Full: if (referenceDetail.EnumType == ComplexMaintainableQueryDetailEnumType.Full || referenceDetail.EnumType == ComplexMaintainableQueryDetailEnumType.Null) { structureQueryDetail = StructureQueryDetailEnumType.Full; } else { structureQueryDetail = StructureQueryDetailEnumType.ReferencedStubs; } break; case ComplexStructureQueryDetailEnumType.CompleteStub: case ComplexStructureQueryDetailEnumType.Stub: structureQueryDetail = StructureQueryDetailEnumType.AllStubs; break; default: structureQueryDetail = StructureQueryDetailEnumType.Null; break; } return StructureQueryDetail.GetFromEnum(structureQueryDetail); }