文字牧馬人
Text-Wrangler應用程序以定制Antlr4 DSL指定的轉換CSV數據。
用法
- 運行
mvn package生成Antlr4解析器 - 導入
main/java/resources/schema.sql中的mySQL模式 - 更新
main/java/resources/configuraiton.ini中的MySQL連接詳細信息 - 從app.java開始,以進行有關如何使用庫的演示
轉換DSL
-
main/java/resources/transformations.dsl提供了用於轉換的示例DSL - 描述DSL規則和語法的語法和Lexer可以建立在
srcmainantlr4orgluisaminiwrangler中
正則語法
- 支持Java Regex模式,可用於跳過數據
- 此外,通過映射的圖案util支持糖圖案
CSV解析器
- Antlr4也用於解析CSV
- 語法和Lexer描述CSV解析規則可以在
srcmainantlr4orgluisaminiwrangler中找到
CSV數據
- CSV數據樣本在
main/java/resources/orders.csv中 - 該示例沒有創建訂單
- 不匹配所提供模式的數據值(如果一個)跳過
假設
測試
- App.Java運行並保存給定數據和DSL樣本的訂單。
依賴性
- Mariadb為JBDC驅動程序
- DSL和CSV處理和解析支持的ANTL4
- JUNIT進行單位測試
Javadoc
- Javadoc在文件夾“ Doc”下,其中包含其他用法,假設和實施說明
未來的工作
- 重構以抽像類型順序(以// todo註釋標記的源代碼中給出的詳細信息),使得可以輕鬆地重用其他類型的數據
- 創建一個從數據庫中支持數據庫架構創建數據庫架構的實用程序(最喜歡帶上QueryDSL之類的依賴項並將其擴展以適合目的)
- 擴展DSL語法/Lexer,以允許設置格式化器以表示stdout中的目標對象
- 擴展DSL語法/LEXER,以允許濾波器正則施加構建
- 例如,擴展以支持其他DB語言,例如支持Redis非常有趣
- 擴展以支持映射<>減少處理器,以便與BigData並行合作
- 擴展以支持反應流和發布者/訂戶
- 添加適當的junit測試套件,其中包括豐富的示例
- 提供適當的技術文檔,例如課堂圖和互動圖