public File computeConfigClassTarget(String configClassName) { return CompilerUtils.fileFromQName(getConfigClassPackage(), configClassName, getOutputDirectory(), Jooc.AS_SUFFIX); }
@Override public File generateXsd() { // Maybe even the directory does not exist. File targetPackageFolder = getConfig().getResourceOutputDirectory(); if(!targetPackageFolder.exists()) { //noinspection ResultOfMethodCallIgnored targetPackageFolder.mkdirs(); // NOSONAR } File result = new File(targetPackageFolder, getConfig().getConfigClassPackage() + ".xsd"); Writer writer = null; try { writer = new OutputStreamWriter(new FileOutputStream(result), net.jangaroo.exml.api.Exmlc.OUTPUT_CHARSET); configClassRegistry.generateXsd(writer); } catch (Exception e) { throw new ExmlcException("unable to generate xsd file: " + e.getMessage(), e); } finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { //never happen } } return result; }
private String computeConfigClassName(File exmlFile) { return CompilerUtils.qName( getConfig().getConfigClassPackage(), CompilerUtils.uncapitalize(CompilerUtils.removeExtension(exmlFile.getName()))); }
@Override public File generateXsd() { // Maybe even the directory does not exist. File targetPackageFolder = getConfig().getResourceOutputDirectory(); if(!targetPackageFolder.exists()) { //noinspection ResultOfMethodCallIgnored targetPackageFolder.mkdirs(); // NOSONAR } File result = new File(targetPackageFolder, getConfig().getConfigClassPackage() + ".xsd"); Writer writer = null; try { writer = new OutputStreamWriter(new FileOutputStream(result), net.jangaroo.exml.api.Exmlc.OUTPUT_CHARSET); configClassRegistry.generateXsd(writer); } catch (Exception e) { throw new ExmlcException("unable to generate xsd file: " + e.getMessage(), e); } finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { //never happen } } return result; }
private String computeConfigClassName(File exmlFile) { return CompilerUtils.qName( getConfig().getConfigClassPackage(), CompilerUtils.uncapitalize(CompilerUtils.removeExtension(exmlFile.getName()))); }
private String computeConfigClassNameFromTargetClassName(String targetClassName) { return CompilerUtils.qName(getConfig().getConfigClassPackage(), CompilerUtils.uncapitalize(CompilerUtils.className(targetClassName))); }
private String computeConfigClassNameFromTargetClassName(String targetClassName) { return CompilerUtils.qName(getConfig().getConfigClassPackage(), CompilerUtils.uncapitalize(CompilerUtils.className(targetClassName))); }
private void scanAsFiles(Map<String, File> sourceFilesByName) { InputSource configPackageInputSource = sourcePathInputSource.getChild(config.getConfigClassPackage().replace('.', File.separatorChar)); if (configPackageInputSource != null) { for (InputSource source : configPackageInputSource.list()) { File file = ((FileInputSource) source).getFile(); if (file.isFile() && file.getName().endsWith(Jooc.AS_SUFFIX)) { try { File sourceDir = getConfig().findSourceDir(file); String qName = CompilerUtils.qNameFromFile(sourceDir, file); ConfigClass actionScriptConfigClass = findActionScriptConfigClass(qName); if (actionScriptConfigClass != null) { addSourceConfigClass(sourceFilesByName, file, actionScriptConfigClass); } } catch (IOException e) { throw new ExmlcException("could not read AS file", e); } } } } }
private void scanAsFiles(Map<String, File> sourceFilesByName) { InputSource configPackageInputSource = sourcePathInputSource.getChild(config.getConfigClassPackage().replace('.', File.separatorChar)); if (configPackageInputSource != null) { for (InputSource source : configPackageInputSource.list()) { File file = ((FileInputSource) source).getFile(); if (file.isFile() && file.getName().endsWith(Jooc.AS_SUFFIX)) { try { File sourceDir = getConfig().findSourceDir(file); String qName = CompilerUtils.qNameFromFile(sourceDir, file); ConfigClass actionScriptConfigClass = findActionScriptConfigClass(qName); if (actionScriptConfigClass != null) { addSourceConfigClass(sourceFilesByName, file, actionScriptConfigClass); } } catch (IOException e) { throw new ExmlcException("could not read AS file", e); } } } } }
public ExmlSourceFile(ConfigClassRegistry configClassRegistry, File sourceFile) throws IOException { this.configClassRegistry = configClassRegistry; this.sourceFile = sourceFile; configClassName = CompilerUtils.qName(configClassRegistry.getConfig().getConfigClassPackage(), CompilerUtils.uncapitalize(CompilerUtils.removeExtension(sourceFile.getName()))); File sourceDir = configClassRegistry.getConfig().findSourceDir(sourceFile); String exmlClassName = CompilerUtils.qNameFromFile(sourceDir, sourceFile); targetClassName = CompilerUtils.qName(CompilerUtils.packageName(exmlClassName), ExmlUtils.createComponentClassName(CompilerUtils.className(exmlClassName))); }
public ExmlSourceFile(ConfigClassRegistry configClassRegistry, File sourceFile) throws IOException { this.configClassRegistry = configClassRegistry; this.sourceFile = sourceFile; configClassName = CompilerUtils.qName(configClassRegistry.getConfig().getConfigClassPackage(), CompilerUtils.uncapitalize(CompilerUtils.removeExtension(sourceFile.getName()))); File sourceDir = configClassRegistry.getConfig().findSourceDir(sourceFile); String exmlClassName = CompilerUtils.qNameFromFile(sourceDir, sourceFile); targetClassName = CompilerUtils.qName(CompilerUtils.packageName(exmlClassName), ExmlUtils.createComponentClassName(CompilerUtils.className(exmlClassName))); }
/** * Parses the exml file into an ExmlModel * @param file the file to parse * @return the parsed model * @throws IOException if the input stream could not be read * @throws SAXException if the XML was not well-formed */ public ExmlModel parse(File file) throws IOException, SAXException { ExmlModel model = new ExmlModel(); String qName = CompilerUtils.qNameFromFile(registry.getConfig().findSourceDir(file), file); String className = CompilerUtils.className(qName); model.setClassName(ExmlUtils.createComponentClassName(className)); ConfigClass configClassByName = registry.getConfigClassByName(registry.getConfig().getConfigClassPackage() + "." + ConfigClass.createConfigClassName(className)); model.setConfigClass(configClassByName); model.setPackageName(CompilerUtils.packageName(qName)); BufferedInputStream inputStream = null; try { inputStream = new BufferedInputStream(new FileInputStream(file)); parse(inputStream, model); } finally { if (inputStream != null) { inputStream.close(); } } return model; }
public void generateXsd(Writer output) throws IOException, TemplateException { exmlConfigPackageXsdGenerator.generateXsdFile(getSourceConfigClasses(), config.getConfigClassPackage(), output); if (getConfig().getValidationMode() != ValidationMode.OFF) { try { new ExmlValidator(getConfig()).validateAllExmlFiles(); } catch (Exception e) { throw new ExmlcException("unable to start validation", e); } } }
public void generateXsd(Writer output) throws IOException, TemplateException { exmlConfigPackageXsdGenerator.generateXsdFile(getSourceConfigClasses(), config.getConfigClassPackage(), output); if (getConfig().getValidationMode() != ValidationMode.OFF) { try { new ExmlValidator(getConfig()).validateAllExmlFiles(); } catch (Exception e) { throw new ExmlcException("unable to start validation", e); } } }
/** * Parses the exml file into an ExmlModel * @param file the file to parse * @return the parsed model * @throws IOException if the input stream could not be read * @throws SAXException if the XML was not well-formed */ public ExmlModel parse(File file) throws IOException, SAXException { ExmlModel model = new ExmlModel(); String qName = CompilerUtils.qNameFromFile(registry.getConfig().findSourceDir(file), file); String className = CompilerUtils.className(qName); model.setClassName(ExmlUtils.createComponentClassName(className)); ConfigClass configClassByName = registry.getConfigClassByName(registry.getConfig().getConfigClassPackage() + "." + ConfigClass.createConfigClassName(className)); model.setConfigClass(configClassByName); model.setPackageName(CompilerUtils.packageName(qName)); try (BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file))) { parse(inputStream, model); } return model; }