Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
grammar
lib
models
test
README.md
SalesContract_EN.rtf
SalesContract_RU.rtf
package.json
request.json
sample.txt
state.json

README.md

Accord Project Template: car-rental-tr

This is a Sales Contract prepared in Russian Language.

Parse

Use the cicero parse command to load a template from a directory on disk and then use it to parse input text, echoing the result of parsing. If the input text is valid the parsing result will be a JSON serialized instance of the Template Mode:

Sample template.tem:

[{seller}] именуемый в дальнейшем Продавец, и [{buyer}], именуемый в дальнейшем Покупатель, заключили настоящий Договор о нижеследующем:

4.2.	Продажа товара на настоящему договору осуществляется [{counterparty}], объем который указывается в соответствующих накладных.

5.3.	Форма оплаты- безналичный расчет. Расчеты производятся [{currencyType}].

8.4.	Споры, возникающие при исполнении настоящего договора, разрешаются путем переговоров. В случае не достижения согласия путем переговоров, Стороны вправе обратиться в экономический суд Российская Федерация по месту нахождения ответчика, предъявив предварительно другой стороне письменную претензию. Срок рассмотрения претензии- [{appealPeriod}] календарных дней со дня ее получения. Не получение ответа на претензию в установленный срок не препятствует Стороне обратиться непосредственно в судебные органы за защитой своих интересов.

8.6.	Во всем остальном, не предусмотренном настоящим договором, стороны руководствуются [{countryLegislation}].

Sample.txt:

"продавец" именуемый в дальнейшем Продавец, и "покупатель", именуемый в дальнейшем Покупатель, заключили настоящий Договор о нижеследующем:

4.2.	Продажа товара на настоящему договору осуществляется "партиями", объем который указывается в соответствующих накладных.

5.3.	Форма оплаты- безналичный расчет. Расчеты производятся "в российские рубли".

8.4.	Споры, возникающие при исполнении настоящего договора, разрешаются путем переговоров. В случае не достижения согласия путем переговоров, Стороны вправе обратиться в экономический суд Российская Федерация по месту нахождения ответчика, предъявив предварительно другой стороне письменную претензию. Срок рассмотрения претензии- "7" календарных дней со дня ее получения. Не получение ответа на претензию в установленный срок не препятствует Стороне обратиться непосредственно в судебные органы за защитой своих интересов.

8.6.	Во всем остальном, не предусмотренном настоящим договором, стороны руководствуются "законодательством Российская Федерация".

cicero parse --template ./car-rental-tr/ --dsl ./car-rental-tr/sample.txt
Setting clause data: {"$class": "org.accordru.salescontract.MyRequest","input": "Contract Valid"}

Execute

Use the cicero execute command to load a template from a directory on disk, instantiate a clause based on input text, and then invoke the clause using an incoming JSON payload.

data.json:
{
    "$class": "org.accordru.salescontract.MyRequest",
    "input": "Contract Valid"
}
cicero execute --template ./salescontract/ --dsl ./salescontract/sample.txt --data ./salescontract/data.json 

The results of execution (a JSON serialized object) are displayed. They include:

  • Details of the clause executed (name, version, SHA256 hash of clause data)
  • The incoming request object
  • The output response object
{
  "clause": "car-rental-tr@0.0.0-f63fb789bcc0dd2ae58fb11b15ba59a22383fd46b289f2b9e5e2611be753259c",
  "request": {
    "$class": "org.accordru.salescontract.MyRequest",
    "input": "Contract Valid"
  },
  "response": {
    "$class": "org.accordru.salescontract.MyResponse",
    "output": "Contract Valid",
    "transactionId": "7399e8d6-fc43-4c42-aa71-beabc23e74fe",
    "timestamp": "2018-07-31T12:35:19.835Z"
  },
  "state": {
    "$class": "org.accordproject.cicero.contract.AccordContractState",
    "stateId": "org.accordproject.cicero.contract.AccordContractState#1"
  },
  "emit": []
}