Skip to content

Instantly share code, notes, and snippets.

William Speirs wspeirs

Block or report user

Report or block wspeirs

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@wspeirs
wspeirs / merged
Created Jan 20, 2013
Merged template and context.
View merged
Dear Bill-
This is an e-mail because you signed up for www.sop4j.com and we're really happy that you did.
Here are 3 cool articles you can read:
- Welcome
- Parsing the Command Line
- Document Templating or Mail Merge
@wspeirs
wspeirs / Velocity1.java
Created Jan 20, 2013
Configuring the Velocity engine
View Velocity1.java
// create the velocity engine
final VelocityEngine velocity = new VelocityEngine();
// set the logger to our Log4J root logger
velocity.setProperty("runtime.log.logsystem.log4j.logger", "root");
// use the resource loader as it's easy with Maven's path setup
velocity.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
velocity.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
@wspeirs
wspeirs / Velocity3.java
Created Jan 20, 2013
Merging Velocity context and template together.
View Velocity3.java
// get the template
final Template template = velocity.getTemplate("my_template.vm");
final StringWriter sw = new StringWriter();
// merge the template and context
template.merge(context, sw);
// print out the resulting document
System.out.println(sw.toString());
@wspeirs
wspeirs / Velocity2.java
Created Jan 20, 2013
Setting the Velocity context.
View Velocity2.java
// create the context to set all the variables
final VelocityContext context = new VelocityContext();
// setup the context
context.put("user", new UserBean("bill"));
context.put("site", "www.sop4j.com");
context.put("articles", Arrays.asList(new ArticleBean("Welcome"),
new ArticleBean("Parsing the Command Line"),
new ArticleBean("Document Templating or Mail Merge")));
@wspeirs
wspeirs / BasicOptions1.java
Created Jan 18, 2013
Methods for creation an Option
View BasicOptions1.java
Options options = new Options();
// create the simple option without using the OptionBuilder
options.addOption("o", "opt", false, "An option, no args");
// simple help option using the builder
options.addOption(OptionBuilder.withLongOpt("help")
.create("h"));
// an option with a value separator, defaults to =
@wspeirs
wspeirs / BasicOptions2.java
Created Jan 18, 2013
Parsing a command line
View BasicOptions2.java
final GnuParser parser = new GnuParser();
final Options options = configureOptions();
// parse with the parser
CommandLine cmdLine = null;
try {
cmdLine = parser.parse(options, args);
} catch(ParseException e) {
e.printStackTrace();
return;
View BasicOptions3.java
// check to see if they need help
// notice we only use the short-version, but it checks both!
if(cmdLine.hasOption("h")) {
new HelpFormatter().printHelp("sop4j-cli", options);
return;
}
// check to see if they passed in an opt
// recommended to use the long version as it's more readable
if(cmdLine.hasOption("opt")) {
You can’t perform that action at this time.