Skip to content

Commit

Permalink
test(domain): add transpilter to application
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Aug 28, 2023
1 parent e8e2743 commit 5882f09
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 7 deletions.
11 changes: 11 additions & 0 deletions counit-server/src/application.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@ use std::sync::Arc;
use anyhow::{bail, Result};
use tracing::warn;
use crate::configuration::Configuration;
use crate::domain::domain_transpiler::DomainTranspiler;
use crate::repository::semantic::Semantic;

#[derive(Clone)]
pub struct Application {
/// User-provided configuration
pub config: Arc<Configuration>,

pub transpiler: Arc<DomainTranspiler>,

/// Semantic search subsystem
pub(crate) semantic: Option<Semantic>,
}
Expand All @@ -32,8 +35,16 @@ impl Application {
}
};

let mut transpiler: Arc<DomainTranspiler>;
if config.domain_language_dir.is_some() {
transpiler = Arc::new(DomainTranspiler::new(config.domain_language_dir.as_ref().unwrap()));
} else {
transpiler = Arc::new(DomainTranspiler::empty());
};

Ok(Application {
config,
transpiler,
semantic,
})
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,29 @@ pub struct DomainTranspiler {
}

impl DomainTranspiler {
pub fn new() -> Self {

pub fn empty() -> Self {
DomainTranspiler {
domain_records: Vec::new(),
}
}

pub fn load<P: AsRef<Path>>(&mut self, path: P) {
pub fn new<P: AsRef<Path>>(path: P) -> Self {
let mut transpiler = DomainTranspiler {
domain_records: Vec::new(),
};

// check path is exists
if !path.as_ref().exists() {
return transpiler;
}

transpiler.load(path);

return transpiler;
}

fn load<P: AsRef<Path>>(&mut self, path: P) {
use walkdir::WalkDir;
for entry in WalkDir::new(path) {
let entry = entry.unwrap();
Expand Down Expand Up @@ -80,8 +96,7 @@ mod tests {
let model_dir = domain_dir();


let mut loader = DomainTranspiler::new();
loader.load(model_dir);
let mut loader = DomainTranspiler::new(model_dir);
assert_eq!(loader.domain_records.len(), 29);
}

Expand All @@ -97,8 +112,7 @@ mod tests {
fn transpile() {
let model_dir = domain_dir();

let mut loader = DomainTranspiler::new();
loader.load(model_dir);
let mut loader = DomainTranspiler::new(model_dir);
assert_eq!(loader.domain_records.len(), 29);

assert_eq!(loader.transpile("本币"), "本币(Domestic Currency)");
Expand Down
2 changes: 1 addition & 1 deletion counit-server/src/domain/mod.rs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pub mod domain_record;
pub mod domain_loader;
pub mod domain_transpiler;
1 change: 1 addition & 0 deletions counit-server/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ use tracing::info;

use crate::application::Application;
use crate::configuration::Configuration;
use crate::domain::domain_transpiler::DomainTranspiler;

Check warning on line 11 in counit-server/src/main.rs

View workflow job for this annotation

GitHub Actions / Rust project

unused import: `crate::domain::domain_transpiler::DomainTranspiler`
use crate::server::{agent_api, archguard_api, semantic_api, translate_api};

pub mod server;
Expand Down

0 comments on commit 5882f09

Please sign in to comment.