Re: template.merge output an empty file

"Craig K. Dalrymple" <[email protected]>
Newsgroups gmane.comp.jakarta.velocity.user
Message-ID <[email protected]>
Sometimes you just need that extra set of eyes.  For example, look at some of my earlier posts....


-------- Original Message --------
From: Garey Mills <[email protected]>
Sent: Thu Feb 21 13:19:34 CST 2013
To: Velocity Users List <[email protected]>
Cc: Sergiu Dumitriu <[email protected]>
Subject: Re: template.merge output an empty file

That's it. I'm so embarassed.

Garey Mills

On 2/21/2013 10:54 AM, Sergiu Dumitriu wrote:
> On 02/21/2013 01:50 PM, Garey Mills wrote:
>> Hi -
>>
>>      I am trying to user VelocityEngine.
>>
>>     Here is my code:
>>
>> Properties vp = new Properties();
>>              vp.setProperty("file.resource.loader.path",
>> templatesDirectory + "/");
>>
>>              VelocityEngine ve = new VelocityEngine();
>>
>>              ve.setProperty(VelocityEngine.RUNTIME_LOG_LOGSYSTEM,
>> fysclLogger);
>>              ve.init(vp);
>>
>>              VelocityContext context = new VelocityContext();
>>              context.put("coll", coll);
>>              context.put("metsArk", metsArk);
>>
>>              Template template = null;
>>
>>              try {
>>                  FileWriter fw = new FileWriter(new File(metsDirectory +
>> "/" + metsFileName));
>>
>>                  template = ve.getTemplate("metsTemplate.vm");
>>
>>                  template.merge(context, fw);
>>
>>              } catch(ResourceNotFoundException rnfe) {
>>                  System.out.println("Resource not found exception trying
>> to get template: " + rnfe);
>>              } catch(ParseErrorException pee) {
>>                  System.out.println("Parse error exception trying to get
>> template: " + pee);
>>              } catch(MethodInvocationException mie) {
>>                  System.out.println("Method invocation exception trying
>> to get template: " + mie);
>>              } catch(Exception e) {
>>                  System.out.println("Exception trying to get template: "
>> + e);
>>              }
>>
>> Here is my template (reduced for debugging):
>>
>>   OBJID="${metsArk}"
>>   LABEL="${coll.getTitle()}"
>>
>> And here is the logging output:
>>
>> Initializing Velocity, Calling init()...
>> *******************************************************************
>> Starting Apache Velocity v1.7 (compiled: 2010-11-19 12:14:37)
>> RuntimeInstance initializing.
>> Default Properties File:
>> org/apache/velocity/runtime/defaults/velocity.properties
>> Default ResourceManager initializing. (class
>> org.apache.velocity.runtime.resource.ResourceManagerImpl)
>> ResourceLoader instantiated:
>> org.apache.velocity.runtime.resource.loader.FileResourceLoader
>> FileResourceLoader : initialization starting.
>> Do unicode file recognition:  false
>> FileResourceLoader : adding path '/data/apps/fysclmgr/web/templates/'
>> FileResourceLoader : initialization complete.
>> ResourceCache: initialized (class
>> org.apache.velocity.runtime.resource.ResourceCacheImpl) with class
>> java.util.Collections$SynchronizedMap cache map.
>> Default ResourceManager initialization complete.
>> Loaded System Directive: org.apache.velocity.runtime.directive.Stop
>> Loaded System Directive: org.apache.velocity.runtime.directive.Define
>> Loaded System Directive: org.apache.velocity.runtime.directive.Break
>> Loaded System Directive: org.apache.velocity.runtime.directive.Evaluate
>> Loaded System Directive: org.apache.velocity.runtime.directive.Literal
>> Loaded System Directive: org.apache.velocity.runtime.directive.Macro
>> Loaded System Directive: org.apache.velocity.runtime.directive.Parse
>> Loaded System Directive: org.apache.velocity.runtime.directive.Include
>> Loaded System Directive: org.apache.velocity.runtime.directive.Foreach
>> Created '20' parsers.
>> Velocimacro : initialization starting.
>> Velocimacro : "velocimacro.library" is not set.  Trying default library:
>> VM_global_library.vm
>> Velocimacro : Default library not found.
>> Velocimacro : allowInline = true : VMs can be defined inline in templates
>> Velocimacro : allowInlineToOverride = false : VMs defined inline may NOT
>> replace previous VM definitions
>> Velocimacro : allowInlineLocal = false : VMs defined inline will be
>> global in scope if allowed.
>> Velocimacro : autoload off : VM system will not automatically reload
>> global library macros
>> Velocimacro : Velocimacro : initialization complete.
>> RuntimeInstance successfully initialized.
>> Velocity Engine initialized
>> ResourceManager : found metsTemplate.vm with loader
>> org.apache.velocity.runtime.resource.loader.FileResourceLoader
>>
>>
>> The result is always the same, the output file is empty.
>>
>>
>> And ideas about what I can try?
>>
> Try adding a fw.close() at the end?
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

-- 
Garey Mills
Library Systems Office
UC Berkeley


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.