Author: tchemit Date: 2010-11-28 13:33:19 +0100 (Sun, 28 Nov 2010) New Revision: 1013 Url: http://nuiton.org/repositories/revision/eugene/1013 Log: Evolution #1116: Remove deprecated in ChainedFileWriter api from 2.1.3 remove redundant initializer Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java trunk/eugene/src/main/java/org/nuiton/eugene/writer/AbstractChainedFileWriter.java trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriter.java trunk/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiChainedFileWriter.java trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoChainedFileWriter.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java 2010-11-28 11:24:27 UTC (rev 1012) +++ trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaGeneratorUtil.java 2010-11-28 12:33:19 UTC (rev 1013) @@ -73,7 +73,7 @@ for (ObjectModelOperation op : operations) { ObjectModelOperation resultOp; - ObjectModelModifier[] modifiers = null; + ObjectModelModifier[] modifiers; if (useVisibility) { // compute visibility modifer Modified: trunk/eugene/src/main/java/org/nuiton/eugene/writer/AbstractChainedFileWriter.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/writer/AbstractChainedFileWriter.java 2010-11-28 11:24:27 UTC (rev 1012) +++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/AbstractChainedFileWriter.java 2010-11-28 12:33:19 UTC (rev 1013) @@ -27,14 +27,12 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.util.StringUtil; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -114,23 +112,6 @@ Collections.unmodifiableMap(authorizedPropertyDescriptions); } - /** - * Generates some files for a given input, output and include pattern. - * - * @param configuration the shared configuration for all writers - * @param outputDir where to generate files - * @param inputDirectory where to pick up files - * @param includePattern pattern of files to include - * @throws IOException for any IO pb. - * @deprecated since 2.1.3, prefer use {@link #generate(ChainedFileWriterConfiguration, ChainedFileWriterData} - */ - @Deprecated - protected abstract void generate( - ChainedFileWriterConfiguration configuration, - File outputDir, - File inputDirectory, - String includePattern) throws IOException; - @Override public Map<String, String> getAuthorizedPropertyDescriptions() { return authorizedPropertyDescriptions; @@ -181,98 +162,7 @@ } } - @Deprecated @Override - public void generate(ChainedFileWriterConfiguration configuration) - throws IOException { - - long t0 = System.nanoTime(); - - initWriter(configuration); - - try { - File outputDir = getOutputDirectory( - configuration.getOutputDirectory(), - configuration.isTestPhase() - ); - - if (!outputDir.exists()) { - if (log.isDebugEnabled()) { - log.debug("[" + getInputProtocol() + - "] Create output directory " + outputDir); - } - boolean b = outputDir.mkdirs(); - if (!b) { - throw new IOException("Could not creat directory " + - outputDir); - } - } - - Map<File, List<String>> mergeEntries = mergeEntries(entries); - - generateEntries(configuration, outputDir, mergeEntries); - - } finally { - clear(); - } - } - - /** - * - * @param entries - * @return - * @deprecated since 2.1.3, will not be replaced. - */ - @Deprecated - protected Map<File, List<String>> mergeEntries(List<ChainedFileWriterEntry> entries) { - // merge entries if required - Map<File, List<String>> merge = new HashMap<File, List<String>>(); - - for (ChainedFileWriterEntry e : entries) { - File input = e.getInputDirectory(); - List<String> includes = merge.get(input); - if (includes == null) { - includes = new ArrayList<String>(); - merge.put(input, includes); - } - includes.add(e.getIncludePattern()); - } - return merge; - } - - - /** - * - * @param configuration - * @param outputDir - * @param entries - * @throws IOException - * @deprecated since 2.1.3, will not be replaced. - */ - @Deprecated - protected void generateEntries(ChainedFileWriterConfiguration configuration, - File outputDir, - Map<File, List<String>> entries) throws IOException { - - // apply from merge entries - for (Map.Entry<File, List<String>> e : entries.entrySet()) { - File input = e.getKey(); - List<String> includes = e.getValue(); - String includePattern = StringUtil.join(includes, ",", true); - if (log.isDebugEnabled()) { - log.debug("[" + getInputProtocol() + - "] Will generate entry " + input - + " : " + includePattern); - } - generate(configuration, - outputDir, - input, - includePattern - ); - } - } - - @Override public String getInputProtocol(String modelType) { // input protocol is the same for all model return acceptModel(modelType) ? getInputProtocol() : null; @@ -329,12 +219,19 @@ protected void initWriter(ChainedFileWriterConfiguration configuration) { Map<String, Object> map = configuration.getProperties(); + boolean verbose = configuration.isVerbose(); for (String key : getAuthorizedPropertyNames()) { //TODO-TC-20091217, should prefix keys by the inputProtocol to //TODO-TC-20091217 avoid collisions ? + if (map.containsKey(key)) { // keep this property - properties.put(key, map.get(key)); + Object value = map.get(key); + if (verbose) { + log.info("[" + getClass().getName() + "] add configuration property " + key + " = " + value); + } + properties.put(key, value); + } } } Modified: trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriter.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriter.java 2010-11-28 11:24:27 UTC (rev 1012) +++ trunk/eugene/src/main/java/org/nuiton/eugene/writer/ChainedFileWriter.java 2010-11-28 12:33:19 UTC (rev 1013) @@ -130,18 +130,6 @@ File getExtractDirectory(File outputBasedir, boolean testPhase); /** - * Launch the generation for this writer. - * - * @param configuration the share configuration of all writers. - * @throws IOException if any io pb. - * @deprecated since 2.1.3, use now the class-path capable - * {@link #generate(ChainedFileWriterConfiguration, ChainedFileWriterData)} - */ - @Deprecated - void generate(ChainedFileWriterConfiguration configuration) - throws IOException; - - /** * Launch the generation for this writer with all pre-computed data to * treate and resources to copy. * Modified: trunk/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java =================================================================== --- trunk/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2010-11-28 11:24:27 UTC (rev 1012) +++ trunk/eugene/src/test/java/org/nuiton/eugene/java/JavaBuilderTest.java 2010-11-28 12:33:19 UTC (rev 1013) @@ -301,12 +301,12 @@ ObjectModelClassifier classifier = builder.createClass("Person", "org.chorem.bonzoms"); - ObjectModelOperation result = builder.addOperation(classifier, - "methodName", "java.util.List<java.lang.String>", ObjectModelModifier.PUBLIC); + builder.addOperation(classifier, + "methodName", "java.util.List<java.lang.String>", ObjectModelModifier.PUBLIC); - result = builder.addOperation(classifier, - "addPropertyChangeListener", null, - ObjectModelModifier.PUBLIC, ObjectModelModifier.ABSTRACT); + builder.addOperation(classifier, + "addPropertyChangeListener", null, + ObjectModelModifier.PUBLIC, ObjectModelModifier.ABSTRACT); // Check imports ImportsManagerExtension ext = builder.getModel().getExtension( Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java =================================================================== --- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java 2010-11-28 11:24:27 UTC (rev 1012) +++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ModelChainedFileWriter.java 2010-11-28 12:33:19 UTC (rev 1013) @@ -32,13 +32,10 @@ import org.nuiton.eugene.TemplateConfiguration; import org.nuiton.eugene.models.Model; import org.nuiton.eugene.writer.ChainedFileWriterConfiguration; -import org.nuiton.plugin.PluginHelper; -import org.nuiton.plugin.PluginIOContext; import java.io.File; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -314,86 +311,4 @@ } } - @Override - @Deprecated - public void generate(ChainedFileWriterConfiguration configuration, - File outputDir, - File inputDirectory, - String includePattern) throws IOException { - - PluginIOContext ioContext = new PluginIOContext(); - ioContext.setInput(inputDirectory); - ioContext.setOutput(outputDir); - - // obtain files - - List<File> modelFiles = new ArrayList<File>(); - String[] includePatterns = includePattern.split(","); - - if (configuration.isVerbose()) { - getLog().info("Generating from " + inputDirectory + " : " + - includePattern); - } - - if (configuration.isVerbose()) { - getLog().info("Will use classLoader " + configuration.getClassLoader()); - } - - for (File srcDirGen : ioContext.getInputs()) { - - if (configuration.isVerbose()) { - getLog().info("Search for " + Arrays.toString(includePatterns) - + " in " + srcDirGen.getAbsolutePath()); - } - List<File> currentFiles = PluginHelper.getIncludedFiles( - srcDirGen, includePatterns, null); - - if (currentFiles.isEmpty()) { - getLog().info("No model to use."); - return; - } - - if (currentFiles.size() == 1) { - getLog().info("Using one model :"); - } else { - getLog().info("Using " + currentFiles.size() + " models :"); - } - for (File currentFile : currentFiles) { - getLog().info(" " + currentFile.getAbsolutePath()); - } - modelFiles.addAll(currentFiles); - } - - // read the model - - File[] filesToRead = modelFiles.toArray(new File[modelFiles.size()]); - - Model model = getModelReader().read(filesToRead); - - // get the last modified source timestamp from reader - long lastModifiedSource = getModelReader().getLastModifiedSource(); - - // apply all templates to the model - - for (Template<Model> template : getTemplatesList()) { - getLog().info("Apply generator " + template.getClass().getSimpleName()); - - // set the lastModified source property - template.setProperty(Template.PROP_LAST_MODIFIED_SOURCE, lastModifiedSource); - - template.setProperty(Template.PROP_WRITER_REPORT, getWriterReport()); - - if (configuration.isVerbose()) { - getLog().info(" overwrite = " + template.isOverwrite()); - getLog().info(" encoding = " + template.getEncoding()); - getLog().info(" lastModifiedSource = " + template.getLastModifiedSource()); - getLog().info(" exclude = " + template.getExcludeTemplates()); - } - - // apply template - template.applyTemplate(model, ioContext.getOutput()); - } - - } - } Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiChainedFileWriter.java =================================================================== --- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiChainedFileWriter.java 2010-11-28 11:24:27 UTC (rev 1012) +++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/XmiChainedFileWriter.java 2010-11-28 12:33:19 UTC (rev 1013) @@ -30,7 +30,6 @@ import org.nuiton.eugene.writer.ChainedFileWriterConfiguration; import org.nuiton.eugene.writer.WriterReport; import org.nuiton.plugin.PluginHelper; -import org.nuiton.plugin.PluginIOContext; import org.nuiton.util.FasterCachedResourceResolver; import org.nuiton.util.FileUtil; import org.nuiton.util.Resource; @@ -210,10 +209,6 @@ getStyleSheet(configuration.getModelType(), file); URL xsl = Resource.getURL(styleSheet); - //TC-20090820 : using recursive for xmi -// File result = new File(destDirModel, FileUtil.basename(file, -// acceptedSuffixes).concat(".").concat(getExtension())); - String newExtension = configuration.getModelType(); // get the mirror file in the ouput root directory @@ -225,16 +220,6 @@ // change the extension name to the modeltype File result = FileUtil.changeExtension(mirrorFile, newExtension); -// String filename = FileUtil.basename(file, extension). -// concat(".").concat(configuration.getModelType()); -// String relatifPath = file.getParentFile().getAbsolutePath(). -// substring(inputDirectory.getAbsolutePath().length()); -// File dstDir = outputDir; -// if (!relatifPath.isEmpty()) { -// dstDir = new File(dstDir, relatifPath); -// PluginHelper.createDirectoryIfNecessary(dstDir); -// } -// File result = new File(dstDir, filename); if (!configuration.isOverwrite() && file.lastModified() < result.lastModified()) { @@ -283,127 +268,6 @@ } } - @Override - @Deprecated - public void generate(ChainedFileWriterConfiguration configuration, - File outputDir, - File inputDirectory, - String includePattern) throws IOException { - - getLog().info("Processing XSL tranformation on " + - inputDirectory + " for " + includePattern); - - if (configuration.isVerbose()) { - getLog().info(" with fullPackagePath : " + getFullPackagePath()); - getLog().info(" with resolver : " + getResolver()); - } - // recuperation des fichiers a traiter - List<File> files = PluginHelper.getIncludedFiles( - inputDirectory, new String[]{includePattern}, null); - - // lancement des traitements xsl sur les fichiers trouvés - // dans le repertoire - actionXsl(configuration, - outputDir, - inputDirectory, - files - ); - - if (configuration.isVerbose()) { - getLog().info("Copy resources files."); - } - - PluginIOContext ioContext = new PluginIOContext(); - ioContext.setInput(inputDirectory); - ioContext.setOutput(outputDir); - PluginHelper.copyFiles(ioContext, - null, - new String[]{includePattern}, - configuration.isOverwrite() - ); - } - - @Deprecated - protected void actionXsl(ChainedFileWriterConfiguration configuration, - File outputDir, - File dir, - List<File> files) throws IOException { - - for (File file : files) { - try { - if (getLog().isDebugEnabled()) { - getLog().debug("treate file : " + file); - } - // Prepare resolver, stylesheet - URIResolver fileResolver = getUriResolver(configuration, file); - String styleSheet = - getStyleSheet(configuration.getModelType(), file); - URL xsl = Resource.getURL(styleSheet); - - //TC-20090820 : using recursive for xmi -// File result = new File(destDirModel, FileUtil.basename(file, -// acceptedSuffixes).concat(".").concat(getExtension())); - - String extension = "." + FileUtil.extension(file); - String filename = FileUtil.basename(file, extension). - concat(".").concat(configuration.getModelType()); - String relatifPath = file.getParentFile().getAbsolutePath(). - substring(dir.getAbsolutePath().length()); - File dstDir = outputDir; - if (!relatifPath.isEmpty()) { - dstDir = new File(dstDir, relatifPath); - PluginHelper.createDirectoryIfNecessary(dstDir); - } - File result = new File(dstDir, filename); - if (!configuration.isOverwrite() && file.lastModified() < result.lastModified()) { - - if (configuration.isVerbose()) { - getLog().info("Will not generate " + result + - " (up-to-date)."); - } - continue; - } - - WriterReport writerReport = getWriterReport(); - if (writerReport != null) { - - writerReport.addFile( - getClass().getName(), - result, - true - ); - } - - // Create the xsl transformer and set parameters - Transformer transformer = getTransformerFactory(). - newTransformer(new StreamSource(xsl.openStream())); - - transformer.setParameter(PROP_FULL_PACKAGE_PATH, - getFullPackagePath() - ); - transformer.setParameter(PROP_EXTRACTED_PACKAGES, - getExtractedPackages() - ); - - transformer.setURIResolver(fileResolver); - FileOutputStream output = new FileOutputStream(result); - try { - transformer.transform( - new StreamSource(file), - new StreamResult(output) - ); - } finally { - output.close(); - } - - } catch (IOException e) { - throw e; - } catch (Exception e) { - throw new IOException(e.getMessage(), e); - } - } - } - protected URIResolver getUriResolver( ChainedFileWriterConfiguration configuration, File model) { URIResolver result = null; Modified: trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoChainedFileWriter.java =================================================================== --- trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoChainedFileWriter.java 2010-11-28 11:24:27 UTC (rev 1012) +++ trunk/maven-eugene-plugin/src/main/java/org/nuiton/eugene/plugin/writer/ZargoChainedFileWriter.java 2010-11-28 12:33:19 UTC (rev 1013) @@ -30,7 +30,6 @@ import org.nuiton.eugene.writer.ChainedFileWriterConfiguration; import org.nuiton.eugene.writer.WriterReport; import org.nuiton.plugin.PluginHelper; -import org.nuiton.plugin.PluginIOContext; import org.nuiton.util.FileUtil; import java.io.File; @@ -124,7 +123,6 @@ ); expandFile(file, mirrorDirectory, XMI_FILE_FILTER, configuration); -// expandFile(file, outputDirectory, XMI_FILE_FILTER, configuration); // copy resources associated with the file copyResources(configuration, @@ -137,67 +135,6 @@ } } - @Override - @Deprecated - public void generate(ChainedFileWriterConfiguration configuration, - File outputDir, - File inputDirectory, - String includePattern) throws IOException { - - boolean overwrite = configuration.isOverwrite(); - - PluginIOContext ioContext = new PluginIOContext(); - ioContext.setInput(inputDirectory); - ioContext.setOutput(outputDir); - - getLog().info("Expanding xmi from " + inputDirectory + " : " + - includePattern); - - expandFiles(ioContext, - new String[]{includePattern}, - null, - XMI_FILE_FILTER, - configuration - ); - - getLog().info("Copying resources from " + inputDirectory + " : " + - includePattern); - - PluginHelper.copyFiles(ioContext, - null, - new String[]{includePattern}, - overwrite - ); - } - - @Deprecated - public void expandFiles(PluginIOContext p, - String[] includes, - String[] excludes, - String[] zipIncludes, - ChainedFileWriterConfiguration configuration) throws IOException { - - DirectoryScanner ds = new DirectoryScanner(); - - for (File input : p.getInputs()) { - ds.setBasedir(input); - if (includes != null) { - ds.setIncludes(includes); - } - if (excludes != null) { - - ds.setExcludes(excludes); - } - ds.addDefaultExcludes(); - ds.scan(); - for (String file : ds.getIncludedFiles()) { - File in = new File(input, file); - File out = new File(p.getOutput(), file).getParentFile(); - expandFile(in, out, zipIncludes, configuration); - } - } - } - public void expandFile(File src, File dst, String[] includes, @@ -209,10 +146,10 @@ String name = nextElement.getName(); for (String include : includes) { if (DirectoryScanner.match(include, name)) { -// if (configuration.isVerbose()) { + if (configuration.isVerbose()) { getLog().info("matching name : " + name + " with pattern " + include); -// } + } File dstFile = new File(dst, name); if (configuration.isOverwrite() || !dstFile.exists() ||