Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 325249

Summary: Warning when the file path is an empty String
Product: [Modeling] Acceleo Reporter: Gonzague Reydet <gonzague.reydet>
Component: CoreAssignee: Project Inbox <acceleo-inbox>
Status: CLOSED FIXED QA Contact:
Severity: trivial    
Priority: P3 CC: stephane.begaudeau
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Patch v1.0 none

Description Gonzague Reydet CLA 2010-09-14 09:35:02 EDT
Build Identifier: 

When the file path generated inside a file block is an empty string, a file not found exception is generated in the error log. This should be logged has a warning by Acceleo.

The complete stack:
java.io.FileNotFoundException: D:\Acceleo3\workspace\org.acceleo.module.pim.uml21.gen.c.tests\src (Accès refusé)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationContext.saveProtectedAreas(AcceleoEvaluationContext.java:732)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationContext.openNested(AcceleoEvaluationContext.java:537)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.createFileWriter(AcceleoEvaluationVisitor.java:238)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.delegateCreateFileWriter(AcceleoEvaluationVisitor.java:1129)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoFileBlock(AcceleoEvaluationVisitor.java:311)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1487)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:912)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:781)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1467)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:912)
at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(QueryImpl.java:152)
at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvaluate(AcceleoEngine.java:267)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate(AcceleoEngine.java:131)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerateTemplate(AcceleoService.java:544)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate(AcceleoService.java:389)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.generate(AbstractAcceleoGenerator.java:120)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.doGenerate(AbstractAcceleoGenerator.java:99)
at org.acceleo.module.pim.uml21.gen.c.Module.doGenerate(Module.java:148)
at org.acceleo.module.pim.uml21.gen.c.migrated.files.Main.main(Main.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchOperation.run(AcceleoLaunchOperation.java:105)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:220)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:123)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:53)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:923)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1126)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Reproducible: Always
Comment 1 Stephane Begaudeau CLA 2010-09-14 11:04:45 EDT
Created attachment 178841 [details]
Patch v1.0
Comment 2 Stephane Begaudeau CLA 2010-09-14 11:20:38 EDT
Contributed and available in Acceleo 3.1.0 M2