private void generateResourcesFile(final File resfile) { final Framework framework = projectResourceMgr.getFramework(); final NodeEntryImpl node = framework.createFrameworkNode(); node.setFrameworkProject(getName()); final NodesFileGenerator generator; if (resfile.getName().endsWith(".xml")) { generator = new ResourceXMLGenerator(resfile); } else if (resfile.getName().endsWith(".yaml")) { generator = new NodesYamlGenerator(resfile); } else { getLogger() .error( "Unable to generate resources file. Unrecognized extension for dest file: " + resfile.getAbsolutePath()); return; } generator.addNode(node); try { generator.generate(); } catch (IOException e) { getLogger().error("Unable to generate resources file: " + e.getMessage(), e); } catch (NodesGeneratorException e) { getLogger().error("Unable to generate resources file: " + e.getMessage(), e); } getLogger().debug("generated resources file: " + resfile.getAbsolutePath()); }
private void generateResourcesFile(final File resfile, final String format) throws ResourceModelSourceException { final NodeEntryImpl node = framework.createFrameworkNode(); node.setFrameworkProject(configuration.project); final ResourceFormatGenerator generator; if (null != format) { try { generator = framework.getResourceFormatGeneratorService().getGeneratorForFormat(format); } catch (UnsupportedFormatException e) { throw new ResourceModelSourceException(e); } } else { try { generator = framework.getResourceFormatGeneratorService().getGeneratorForFileExtension(resfile); } catch (UnsupportedFormatException e) { throw new ResourceModelSourceException(e); } } if (configuration.includeServerNode) { NodeSetImpl nodes = new NodeSetImpl(); nodes.putNode(node); if (!resfile.getParentFile().exists()) { if (!resfile.getParentFile().mkdirs()) { throw new ResourceModelSourceException( "Parent dir for resource file does not exists, and could not be created: " + resfile); } } try { final FileOutputStream stream = new FileOutputStream(resfile); try { generator.generateDocument(nodes, stream); } finally { stream.close(); } } catch (IOException e) { throw new ResourceModelSourceException(e); } catch (ResourceFormatGeneratorException e) { throw new ResourceModelSourceException(e); } } }