Author: tchemit Date: 2008-12-14 23:18:59 +0000 (Sun, 14 Dec 2008) New Revision: 400 Modified: lutingenerator/trunk/src/main/java/org/codelutin/generator/ObjectModelGenerator.java maven-generator-plugin/trunk/src/main/java/org/codelutin/generator/plugin/Xmi2Model.java Log: make up-to-date works again :) Modified: lutingenerator/trunk/src/main/java/org/codelutin/generator/ObjectModelGenerator.java =================================================================== --- lutingenerator/trunk/src/main/java/org/codelutin/generator/ObjectModelGenerator.java 2008-12-14 22:52:15 UTC (rev 399) +++ lutingenerator/trunk/src/main/java/org/codelutin/generator/ObjectModelGenerator.java 2008-12-14 23:18:59 UTC (rev 400) @@ -292,7 +292,9 @@ * @throws java.io.IOException */ public void generate(ObjectModel model, File destDir) throws IOException { + long newTime = System.currentTimeMillis(); { + this.model = model; String filename = getFilenameForModel(model); @@ -302,6 +304,9 @@ log.debug("file " + outputFile + " is up-to-date"); } } else { + if (!outputFile.exists() && log.isDebugEnabled()) { + log.debug("not up-to-date "+outputFile.lastModified()+" <"+outputFile+">"); + } try { StringWriter out = new StringWriter(); MonitorWriter monitorOut = new MonitorWriter(out); @@ -324,6 +329,9 @@ } continue; } + if (!outputFile.exists() && log.isDebugEnabled()) { + log.debug("not up-to-date "+outputFile.lastModified()+" <"+outputFile+">"); + } try { StringWriter out = new StringWriter(); MonitorWriter monitorOut = new MonitorWriter(out); @@ -345,6 +353,9 @@ } continue; } + if (!outputFile.exists() && log.isDebugEnabled()) { + log.debug("not up-to-date "+outputFile.lastModified()+" <"+outputFile+">"); + } try { StringWriter out = new StringWriter(); MonitorWriter monitorOut = new MonitorWriter(out); @@ -366,6 +377,9 @@ } continue; } + if (!outputFile.exists() && log.isDebugEnabled()) { + log.debug("not up-to-date "+outputFile.lastModified()+" <"+outputFile+">"); + } try { StringWriter out = new StringWriter(); MonitorWriter monitorOut = new MonitorWriter(out); Modified: maven-generator-plugin/trunk/src/main/java/org/codelutin/generator/plugin/Xmi2Model.java =================================================================== --- maven-generator-plugin/trunk/src/main/java/org/codelutin/generator/plugin/Xmi2Model.java 2008-12-14 22:52:15 UTC (rev 399) +++ maven-generator-plugin/trunk/src/main/java/org/codelutin/generator/plugin/Xmi2Model.java 2008-12-14 23:18:59 UTC (rev 400) @@ -106,37 +106,34 @@ private void actionXsl() throws MojoExecutionException { List<File> files = FileUtil.getFilteredElements(srcDirXmi, new FileFilter() { public boolean accept(File pathname) { - if (pathname != null && pathname.getName().endsWith(".xmi")) { - return true; - } - return false; - } + return pathname != null && pathname.getName().endsWith(".xmi"); + } }, false); destDirObjectModel.mkdirs(); TransformerFactory factory = TransformerFactory.newInstance(); URIResolver resolver = new ResourceResolver(); + URL xsl = Resource.getURL(getStyleSheet()); + for (File file : files) { try { - URL xsl = Resource.getURL(getStyleSheet()); File result = new File(destDirObjectModel, FileUtil.basename(file, ".xmi").concat( ".").concat(getExtension())); - + if (!overwrite && file.lastModified() < result.lastModified()) { + getLog().info("file up-to-date : "+result); + continue; + } Transformer transformer = factory .newTransformer(new StreamSource(xsl.openStream())); transformer.setURIResolver(resolver); transformer.transform(new StreamSource(file), new StreamResult( new FileOutputStream(result))); - transformer = null; } catch (Exception e) { - e.printStackTrace(); - throw new MojoExecutionException(e.getMessage()); + throw new MojoExecutionException(e.getMessage(),e); } } - factory = null; - resolver = null; } private void actionCopy() {