private void loadCompartments() throws FileNotFoundException, Exception { XLSXmlParser xml = new XLSXmlParser(new CSFileInputStream(srcDir + "compartments.xml"), "compartments.xml"); Sheet sheet = xml.getSheets().get("compartments"); for (int row = 0; row < sheet.rows.size(); row++) { Compartment c = new Compartment(); c.setName(sheet.getColumn(row, "Name")); if (!c.getName().startsWith("!")) { c.setTitle(sheet.getColumn(row, "Title")); c.setDescription(sheet.getColumn(row, "Description")); c.setIdentity(sheet.getColumn(row, "Identification")); c.setMembership(sheet.getColumn(row, "Inclusion")); definitions.getCompartments().add(c); } } sheet = xml.getSheets().get("resources"); for (int row = 0; row < sheet.rows.size(); row++) { String mn = sheet.getColumn(row, "Resource"); if (!mn.startsWith("!")) { ResourceDefn r = definitions.getResourceByName(mn); for (Compartment c : definitions.getCompartments()) { c.getResources().put(r, sheet.getColumn(row, c.getName())); } } } }
private void loadPrimitives() throws Exception { XLSXmlParser xls = new XLSXmlParser(new CSFileInputStream(dtDir + "primitives.xml"), "primitives"); Sheet sheet = xls.getSheets().get("Imports"); for (int row = 0; row < sheet.rows.size(); row++) { processImport(sheet, row); } sheet = xls.getSheets().get("String Patterns"); for (int row = 0; row < sheet.rows.size(); row++) { processStringPattern(sheet, row); } }
private void loadStatusCodes() throws FileNotFoundException, Exception { XLSXmlParser xml = new XLSXmlParser(new CSFileInputStream(srcDir + "status-codes.xml"), "compartments.xml"); Sheet sheet = xml.getSheets().get("Status Codes"); for (int row = 0; row < sheet.rows.size(); row++) { String path = sheet.getColumn(row, "Path"); ArrayList<String> codes = new ArrayList<String>(); for (int i = 1; i <= 80; i++) { String s = sheet.getColumn(row, "c" + Integer.toString(i)); if (!Utilities.noString(s)) codes.add(s); } definitions.getStatusCodes().put(path, codes); } }
public List<BindingSpecification> parse() throws Exception { List<BindingSpecification> results = new ArrayList<BindingSpecification>(); // BindingSpecification n = new BindingSpecification(); // n.setName("*unbound*"); // n.setBinding(BindingSpecification.Binding.Unbound); // results.add(n); xls = new XLSXmlParser(file, filename); Sheet sheet = xls.getSheets().get("Bindings"); for (int row = 0; row < sheet.rows.size(); row++) { processLine(results, sheet, row); } return results; }
public boolean loadCodes(BindingSpecification cd) throws Exception { // TODO Auto-generated method stub Sheet sheet = xls.getSheets().get(cd.getReference().substring(1)); if (sheet == null) return false; for (int row = 0; row < sheet.rows.size(); row++) { DefinedCode c = new DefinedCode(); c.setId(sheet.getColumn(row, "Id")); c.setCode(sheet.getColumn(row, "Code")); c.setDisplay(sheet.getColumn(row, "Display")); c.setSystem(sheet.getColumn(row, "System")); c.setDefinition(sheet.getColumn(row, "Definition")); c.setComment(sheet.getColumn(row, "Comment")); c.setV2Map(sheet.getColumn(row, "v2")); c.setV3Map(sheet.getColumn(row, "v3")); cd.getCodes().add(c); } return true; }
private String loadCompositeType(String n, Map<String, ElementDefn> map) throws Exception { TypeParser tp = new TypeParser(); List<TypeRef> ts = tp.parse(n); definitions.getKnownTypes().addAll(ts); try { TypeRef t = ts.get(0); File csv = new CSFile(dtDir + t.getName().toLowerCase() + ".xml"); if (csv.exists()) { SpreadsheetParser p = new SpreadsheetParser( new CSFileInputStream(csv), csv.getName(), definitions, srcDir, logger, registry); ElementDefn el = p.parseCompositeType(); map.put(t.getName(), el); el.getAcceptableGenericTypes().addAll(ts.get(0).getParams()); return el.getName(); } else { String p = ini.getStringProperty("types", n); csv = new CSFile(dtDir + p.toLowerCase() + ".xml"); if (!csv.exists()) throw new Exception("unable to find a definition for " + n + " in " + p); XLSXmlParser xls = new XLSXmlParser(new CSFileInputStream(csv), csv.getAbsolutePath()); Sheet sheet = xls.getSheets().get("Restrictions"); boolean found = false; for (int i = 0; i < sheet.rows.size(); i++) { if (sheet.getColumn(i, "Name").equals(n)) { found = true; Invariant inv = new Invariant(); inv.setId(n); inv.setEnglish(sheet.getColumn(i, "Rules")); inv.setOcl(sheet.getColumn(i, "OCL")); inv.setXpath(sheet.getColumn(i, "XPath")); definitions.getConstraints().put(n, new DefinedCode(n, sheet.getColumn(i, "Rules"), p)); definitions.getConstraintInvariants().put(n, inv); } } if (!found) throw new Exception("Unable to find definition for " + n); return n; } } catch (Exception e) { throw new Exception("Unable to load " + n + ": " + e.getMessage(), e); } }