Skip to content

Conversation

@jas-valgotar
Copy link
Contributor

This pull request introduces several enhancements and refactorings to the Microsoft PowerFx Connectors library, including the addition of new POCO (Plain Old CLR Object) classes, utility methods for handling delegation operators, and improvements to table and schema handling. The changes aim to improve the library's extensibility, maintainability, and support for metadata-driven operations.

New POCO Classes and Capabilities

  • Introduced CapabilitiesPoco, ColumnCapabilitiesPoco, GetTablePoco, and TableSchemaPoco classes to represent metadata for sorting, filtering, and schema definitions. These classes include support for JSON serialization attributes for easier integration with external systems. [1] [2] [3] [4]

Utility Methods for Delegation Operators

  • Added a ToStr extension method in Extensions.cs to convert DelegationOperator enums to lowercase string representations.
  • Created a Utilities class with a ToDelegationOp method to parse strings into DelegationOperator enums, enabling robust handling of filter function support.

Refactoring of Internal Objects

  • Refactored the GetTables and RawTable classes to improve encapsulation and simplify post-processing logic. GetTables now uses an enumerable for RawTable instances, and post-processing logic has been integrated into property setters. [1] [2]
  • Changed CdpTable constructors to use IEnumerable<RawTable> instead of IReadOnlyCollection<RawTable> for better flexibility. (F09e88dfL25R25, [1] [2]

Enhancements to Metadata Handling

  • Updated the ConnectorType constructor to include logic for adding column capabilities to serviceCapabilities when available.
  • Adjusted the CdpServiceBase.GetObject method to remove unused post-processing logic, simplifying the deserialization process.

Minor Improvements

  • Added a URI construction comment in CdpTableResolver.cs for clarity when fetching table metadata.

@jas-valgotar jas-valgotar requested a review from a team as a code owner May 22, 2025 17:35
@jas-valgotar jas-valgotar force-pushed the jas/moveConnectorValidator branch from 6a1fbd9 to abe4128 Compare May 22, 2025 17:38
@jas-valgotar jas-valgotar enabled auto-merge (squash) May 22, 2025 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants