Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // FlexibleComputerLanguage
- //
- // Created by Dileepa Jayathilaka on 5/8/18.
- // Copyright (c) 2018 Dileepa Jayathilaka. All rights reserved.
- //
- #include <iostream>
- #include "Tests.h"
- #include "json.hpp"
- #include "MemMan.h"
- #include "Node.h"
- #include "DefFileReader.h"
- #include "ScriptReader.h"
- #include "MetaData.h"
- #include "ExecutionTemplateList.h"
- #include "ExecutionContext.h"
- using json = nlohmann::json;
- int id = 0;
- void print(json j, Node* root)
- {
- for (auto& x : json::iterator_wrapper(j))
- {
- json a = x.value();
- if (a.is_object() || a.is_array())
- {
- std::cout << "going inside" << '\n';
- print(a, root);
- } else {
- Node* n = MemoryManager::Inst.CreateNode(++id);
- n->SetLValue((char *)x.key().c_str());
- n->SetValue((char *)x.value().dump().c_str());
- n->SetLValue((char *)x.value().dump().c_str());
- // n->SetRValue(x.value().c_str());
- root->AppendNode(n);
- std::cout << "key: " << x.key() << ", value: " << x.value() << '\n';
- }
- }
- }
- void run(Node* root)
- {
- DefFileReader dfr;
- MetaData* pMD = dfr.Read("/Users/MurtazaA/99X/Backend/FlexibleComputerLanguage/tests/test5/Defs.txt");
- ScriptReader sr;
- ScriptReaderOutput op;
- bool bSucc = sr.ProcessScript(pMD->s_RuleFileName, pMD, op);
- if(!bSucc)
- {
- std::wcout<<"\nFailed to read script\n";
- }
- ExecutionContext ec;
- ec.p_mapFunctions = &op.map_Functions;
- ec.p_MD = pMD;
- Node* pY = MemoryManager::Inst.CreateNode(++id);
- ec.map_Var["X"] = root;
- ec.map_Var["Y"] = pY;
- op.p_ETL->Execute(&ec);
- }
- int main(int argc, const char * argv[])
- {
- Node* root = MemoryManager::Inst.CreateNode(++id);
- root->AddNode();
- std::cout << root->GetID();
- json j1 = {"one", "two", 3, 4.5, false, {{"a", "aa"},{"b","bb"}}};
- json j = "[{\"00208\":{\"id\":\"5af2d44f7233140001b9aa25\",\"previousIDs\":[\"5af2d3ca7233140001b9aa23\"],\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00208\",\"traceabilityDataPackets\":[{\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00208\",\"userID\":\"\",\"timestamp\":\"2018-05-16T08:07:50.559Z\",\"traceabilityData\":[{\"type\":5,\"key\":\"orderId\",\"val\":\"1066\"}],\"traceabilityProfileIDs\":null,\"workflowRevision\":0}],\"timestamp\":\"2018-05-16T08:07:50.559Z\",\"item\":{\"itemName\":\"Avocado\",\"itemID\":\"5ab35a5da052b50014e94014\"},\"identifier\":null},\"00207\":{\"id\":\"5af2d3ca7233140001b9aa23\",\"previousIDs\":[\"5af2d37c7233140001b9aa21\"],\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00207\",\"traceabilityDataPackets\":[{\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00207\",\"userID\":\"\",\"timestamp\":\"2018-05-16T08:07:50.561Z\",\"traceabilityData\":[{\"type\":3,\"key\":\"packedDateAndTime\",\"val\":\"2018-06-09T10:57:00.000Z\"},{\"type\":7,\"key\":\"packingType\",\"val\":\"MAP\"},{\"type\":7,\"key\":\"packingMode\",\"val\":\"Retail\"},{\"type\":1,\"key\":\"packSize\",\"val\":500},{\"type\":0,\"key\":\"readyToConsume\",\"val\":true}],\"traceabilityProfileIDs\":null,\"workflowRevision\":0}],\"timestamp\":\"2018-05-16T08:07:50.561Z\",\"item\":{\"itemName\":\"Avocado\",\"itemID\":\"5ab35a5da052b50014e94014\"},\"identifier\":null},\"00206\":{\"id\":\"5af2d37c7233140001b9aa21\",\"previousIDs\":[\"5af2d3487233140001b9aa1f\"],\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00206\",\"traceabilityDataPackets\":[{\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00206\",\"userID\":\"\",\"timestamp\":\"2018-05-16T08:07:50.562Z\",\"traceabilityData\":[{\"type\":7,\"key\":\"typeOfStorage\",\"val\":\"Ambient (F)\"},{\"type\":1,\"key\":\"temperature\",\"val\":27},{\"type\":1,\"key\":\"humidity\",\"val\":80}],\"traceabilityProfileIDs\":null,\"workflowRevision\":0}],\"timestamp\":\"2018-05-16T08:07:50.562Z\",\"item\":{\"itemName\":\"Avocado\",\"itemID\":\"5ab35a5da052b50014e94014\"},\"identifier\":null},\"00205\":{\"id\":\"5af2d3487233140001b9aa1f\",\"previousIDs\":[\"5af2d2af7233140001b9aa1d\"],\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00205\",\"traceabilityDataPackets\":[{\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00205\",\"userID\":\"\",\"timestamp\":\"2018-05-16T08:07:50.563Z\",\"traceabilityData\":[{\"type\":1,\"key\":\"quantityIn\",\"val\":7},{\"type\":7,\"key\":\"productHandling\",\"val\":\"Triple Washed\"},{\"type\":7,\"key\":\"gradingOnSize\",\"val\":\"Small\"},{\"type\":7,\"key\":\"gradingOnRipeness\",\"val\":\"Ripe\"},{\"type\":7,\"key\":\"gradingOnMaturity\",\"val\":\"Mature\"},{\"type\":0,\"key\":\"productGraded\",\"val\":true},{\"type\":1,\"key\":\"cleanedQuantity\",\"val\":6}],\"traceabilityProfileIDs\":null,\"workflowRevision\":0}],\"timestamp\":\"2018-05-16T08:07:50.563Z\",\"item\":{\"itemName\":\"Avocado\",\"itemID\":\"5ab35a5da052b50014e94014\"},\"identifier\":null},\"00204\":{\"id\":\"5af2d2af7233140001b9aa1d\",\"previousIDs\":[\"5af2d2207233140001b9aa1b\"],\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00204\",\"traceabilityDataPackets\":[{\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00204\",\"userID\":\"\",\"timestamp\":\"2018-05-16T08:07:50.563Z\",\"traceabilityData\":[{\"type\":3,\"key\":\"receivedDateAndTime\",\"val\":\"2018-04-09T10:52:00.000Z\"},{\"type\":1,\"key\":\"receivedQuantity\",\"val\":10},{\"type\":1,\"key\":\"acceptedQuantity\",\"val\":7},{\"type\":7,\"key\":\"reasonsForRejects\",\"val\":\"Not Complying to Specification\"},{\"type\":4,\"key\":\"photos\"}],\"traceabilityProfileIDs\":null,\"workflowRevision\":0}],\"timestamp\":\"2018-05-16T08:07:50.563Z\",\"item\":{\"itemName\":\"Avocado\",\"itemID\":\"5ab35a5da052b50014e94014\"},\"identifier\":null},\"00203\":{\"id\":\"5af2d2207233140001b9aa1b\",\"previousIDs\":[\"5af2d1aa7233140001b9aa19\"],\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00203\",\"traceabilityDataPackets\":[{\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00203\",\"userID\":\"\",\"timestamp\":\"2018-05-16T08:07:50.564Z\",\"traceabilityData\":[{\"type\":7,\"key\":\"trasportProvider\",\"val\":\"Farmer\"},{\"type\":3,\"key\":\"startDateAndTime\",\"val\":\"2018-03-09T10:49:00.000Z\"},{\"type\":5,\"key\":\"vehicleNumber\",\"val\":\"WP CQ1122\"},{\"type\":5,\"key\":\"driverName\",\"val\":\"ABC Perera\"},{\"type\":0,\"key\":\"vehicleColdChainMaintained\",\"val\":true},{\"type\":1,\"key\":\"loadedQuantity\",\"val\":10}],\"traceabilityProfileIDs\":null,\"workflowRevision\":0}],\"timestamp\":\"2018-05-16T08:07:50.564Z\",\"item\":{\"itemName\":\"Avocado\",\"itemID\":\"5ab35a5da052b50014e94014\"},\"identifier\":null},\"00201\":{\"id\":\"5af2d1967233140001b9aa17\",\"previousIDs\":[],\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00201\",\"traceabilityDataPackets\":[{\"tenantID\":\"afb56d80-2d95-11e8-88f3-03122bd405e1\",\"stageID\":\"00201\",\"userID\":\"\",\"timestamp\":\"2018-05-16T08:07:50.564Z\",\"traceabilityData\":[{\"type\":6,\"key\":\"farm\",\"val\":{\"location\":\"Bagathale\",\"farmerName\":\"Siripala\",\"farmName\":\"Bagathale Farm\"}},{\"type\":7,\"key\":\"weedingType\",\"val\":\"Manual\"}],\"traceabilityProfileIDs\":null,\"workflowRevision\":0}],\"timestamp\":\"2018-05-16T08:07:50.564Z\",\"item\":{\"itemName\":\"Avocado\",\"itemID\":\"5ab35a5da052b50014e94014\"},\"identifier\":null}}]"_json;
- // Tests t = Tests();
- // t.RunTest1();
- print(j, root);
- run(root);
- std::cout << "Hello, World! Murtaza here!\n";
- return 0;
- }
Add Comment
Please, Sign In to add comment