private ResourceDefn loadResource(String n, Map<String, ResourceDefn> map, boolean sandbox) throws Exception { String src = sandbox ? sndBoxDir : srcDir; File spreadsheet = new CSFile( (sandbox ? sndBoxDir : srcDir) + n + File.separatorChar + n + "-spreadsheet.xml"); if (!spreadsheet.exists()) spreadsheet = new CSFile((sandbox ? sndBoxDir : srcDir) + n + File.separatorChar + n + "-def.xml"); SpreadsheetParser sparser = new SpreadsheetParser( new CSFileInputStream(spreadsheet), spreadsheet.getName(), definitions, src, logger, registry); ResourceDefn root; try { root = sparser.parseResource(); } catch (Exception e) { throw new Exception("Error Parsing Resource " + n + ": " + e.getMessage(), e); } root.setSandbox(sandbox); for (EventDefn e : sparser.getEvents()) processEvent(e, root.getRoot()); // EK: Commented this out, seems double with next statement, since // loadResource() // is always called with definitions.getResources in its map argument. // definitions.getResources().put(root.getName(), root); if (map != null) { map.put(root.getName(), root); definitions .getKnownResources() .put(root.getName(), new DefinedCode(root.getName(), root.getRoot().getDefinition(), n)); } root.setStatus(ini.getStringProperty("status", n)); return root; }