Mark Estrada created VELOCITY-912:
-------------------------------------

             Summary: Hyphen Handling in Identifiers that are inside java 
collection
                 Key: VELOCITY-912
                 URL: https://issues.apache.org/jira/browse/VELOCITY-912
             Project: Velocity
          Issue Type: Bug
          Components: Engine
    Affects Versions: 2.1
            Reporter: Mark Estrada


I have this template:

hello-world.properties.vm 
---------------------------------------------------------- 
Slash: ${sample-slash}
Slash in a Map: ${map.sample-slash}


----------------------------------------------------------
And I have this sample test case:

public class ApacheVelocityTest {
 private final String RESOURCES_DIR = "src/test/resources";

@Test
 public void testVelocity() {
 Path templatePath = Paths.get(RESOURCES_DIR, "templates", 
"hello-world.properties.vm");


 VelocityEngine ve = new VelocityEngine();
 ve.setProperty(Velocity.PARSER_HYPHEN_ALLOWED, true);

ve.init();
 Template t = ve.getTemplate(templatePath.toString());

VelocityContext context = new VelocityContext();

context.put("sample-slash", "SLASH");

Map<String, String> sampleData = createData();
 context.put("map", sampleData);

StringWriter writer = new StringWriter();
 t.merge(context, writer);

System.out.println(writer.toString());
 }

public Map<String, String> createData() {
 Map<String, String> mapData = new HashMap<String, String>();

mapData.put("sample-slash", "USER1");

return mapData;

}
}

Now, the first "sample-slash" is rendered correctly but the one that is in the 
config map is not..it is throwing out an error like this:

---------------------------------------------------------------------
org.apache.velocity.exception.ParseErrorException: Encountered "-slash}" at 
src\test\resources\templates\hello-world.properties.vm[line 5, column 22]
Was expecting one of:
 "[" ...
 "|" ...
 "}" ...
 "}" ...
 
 at org.apache.velocity.Template.process(Template.java:154)


The parser exception is being thrown by the object that is embedded into the 
java map.

Do I have any workaround for this developers? Any pointers are greatly 
appreciated.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to