env-avis je knihovna Java pro čtení a ukládání dat do DBF pro výměnu dat s AVIS.
env-avis je AGPL.
Mezi evidenčním systémem sanace ekologických zátěží a účetnictvím vedeným v AVIS probíhá výměna dat. V rámci této výměny se do AVIS posílají soubory:
- SUP.DBF - číselník supervizorů
- CISPOD.DBF - ekologické smlouvy
- CISPOD3.DBF - realizační smlouvy
Z AVIS do evidenčího systému sanace ekologických zátěží se posílají aktuální data ekologických faktur.
- faktLN.dbf
Knihovna používá knihovnu JavaDBF.
Architektura knihovny je prostá. Knihovna obsahuje jedinou třídu cz.sysnet.env.Utils, která pracuje s modelem pomocí statických metod. Soubory DBF se ukládají v kódování Windoze 1250.
Datové objekty vyměňovaných dat jsou popsány v modelu jako 4 třídy, jejich názvy respektují historické pojmenování:
- cz.sysnet.env.model.Sup supervizor
- cz.sysnet.env.model.Cisdod ekologická smlouva
- cz.sysnet.env.model.Cisdod3 realizační smlouva
- cz.sysnet.env.model.Faktura ekologická faktura
Knihovna umožňuje uložit seznam objektů do souboru DBF, načist seznam objektů z DBF a zkonvertovat soubor DBF do standardního CSV v kódování UTF-8.
	String dbfFilename = "FAKTURY.DBF";
	String csvFilePath = cz.sysnet.env.Utils.dbfToCsv(dbfFilename);
Supervizor
	List<Sup> supList = new ArrayList<Sup>();
	.
	. naplnit seznam
	.
	String dbfFilename = "SUP.DBF";
	cz.sysnet.env.Utils.storeSupToDbf(supList, dbfFilename);
Ekologické smlouvy
	List<Cisdod> cisdodList = new ArrayList<Cisdod>();
	.
	. naplnit seznam
	.
	String dbfFilename = "CISDOD.DBF";
	cz.sysnet.env.Utils.storeCisdodToDbf(cisdodList, dbfFilename);
Realizační smlouva
	List<Cisdod3> cisdod3List = new ArrayList<Cisdod3>();
	.
	. naplnit seznam
	.
	String dbfFilename = "CISDOD3.DBF";
	cz.sysnet.env.Utils.storeCisdod3ToDbf(cisdod3List, dbfFilename);
Tento příklad načte do proměnné fakturaList 1000 datových objektů ze souboru, počínaje 51. objektem (řádkem).
	List<Faktura> fakturaList = null;
	int fromItem = 50;
	int itemCount = 1000;		
	String dbfFilename = "fakturyLN.dbf";
	fakturaList = cz.sysnet.env.Utils.loadFakturaList(dbfFilename, fromItem, itemCount);		
	git clone https://github.com/SYSNET-CZ/env-avis.git
	cd env-avis
	mvn clean package