ODCSImporter

Struct ODCSImporter 

Source
pub struct ODCSImporter { /* private fields */ }
Expand description

ODCS parser service for parsing Open Data Contract Standard YAML files. Handles ODCS v3.1.0 (primary format) and legacy ODCL formats (converted to ODCS).

Implementations§

Source§

impl ODCSImporter

Source

pub fn new() -> ODCSImporter

Create a new ODCS parser instance.

§Example
use data_modelling_core::import::odcs::ODCSImporter;

let mut importer = ODCSImporter::new();
Source

pub fn import( &mut self, yaml_content: &str, ) -> Result<ImportResult, ImportError>

Import ODCS/ODCL YAML content and create Table (SDK interface).

Supports ODCS v3.1.0 (primary), legacy ODCL formats (converted to ODCS), and Liquibase formats.

§Arguments
  • yaml_content - ODCS/ODCL YAML content as a string
§Returns

An ImportResult containing the extracted table and any parse errors.

§Example
use data_modelling_core::import::odcs::ODCSImporter;

let mut importer = ODCSImporter::new();
let yaml = r#"
apiVersion: v3.1.0
kind: DataContract
id: 550e8400-e29b-41d4-a716-446655440000
version: 1.0.0
name: users
schema:
  fields:
    - name: id
      type: bigint
"#;
let result = importer.import(yaml).unwrap();
assert_eq!(result.tables.len(), 1);
Source

pub fn parse_table( &mut self, yaml_content: &str, ) -> Result<(Table, Vec<ParserError>), Error>

Parse ODCS/ODCL YAML content and create Table (public method for native app use).

This method returns the full Table object with all metadata, suitable for use in native applications that need direct access to the parsed table structure. For API use, prefer the import() method which returns ImportResult.

§Returns

Returns a tuple of (Table, list of errors/warnings). Errors list is empty if parsing is successful.

Source

pub fn parse_struct_type_from_string( &self, field_name: &str, type_str: &str, field_data: &Map<String, Value>, ) -> Result<Vec<Column>, Error>

Parse STRUCT type definition from string (e.g., “ARRAY<STRUCT<ID: STRING, NAME: STRING>>”). Parse STRUCT type from string and create nested columns This is public so it can be used by SQL importer to parse STRUCT types

Trait Implementations§

Source§

impl Default for ODCSImporter

Source§

fn default() -> ODCSImporter

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more