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); } } } } }
@SuppressWarnings({"UnusedDeclaration" }) public File computeGeneratedComponentClassFile(File exmlFile) throws IOException { File sourceDir = findSourceDir(exmlFile); String qName = CompilerUtils.qNameFromFile(sourceDir, exmlFile); String className = ExmlUtils.createComponentClassName(CompilerUtils.className(qName)); String packageName = CompilerUtils.packageName(qName); // compute potential file location of component class in source directory: File classFile = CompilerUtils.fileFromQName(packageName, className, sourceDir, Jooc.AS_SUFFIX); // component class is only generated if it is not already present as source: return classFile.exists() ? null : CompilerUtils.fileFromQName(packageName, className, getOutputDirectory(), Jooc.AS_SUFFIX); }
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)); try (BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file))) { parse(inputStream, model); } return model; }
/** * 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; }