Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
A sample command line tool application that demonstrate the use of license3j and also a nice tool to help development.

Author(s):
Peter Verhas <peter@verhas.com>
  
  import java.io.File;
 import java.io.Writer;
 
Simple class containing public static main to encode and decode licenses from the command line.

Author(s):
Peter Verhas
 
 public class License3j {
 
 	private static final String commandLineString = "java -cp license3j.jar License3j";
 	private static CommandLineProcessor commandLine;
 	private static PrintStream errorOutput = .;
 
 	private void encode() throws Exception {
 		try {
 			os.write((new License().setLicense(
 					new File(.option("license-file"))).loadKey(
 					.option("keyring-file"),
 					.option("password"))).getBytes("utf-8"));
 			os.close();
 		} catch (Exception e) {
 					.print("Usage: "
 							+ " encode options\n"
 							+ " mandatory options are: \n"
 							+ "--license-file, --keyring-file, --key, --password, --output\n");
 			throw e;
 		}
 	}
 
 	private void decode() throws Exception {
 		try {
 			final License license;
 			if ((license = new License())
 					.loadKeyRing(.option("keyring-file"), null)
 							.option("license-file")).isVerified()) {
 				if (.optionExists("output")) {
 					os = new FileOutputStream(.option("output"));
 				}
 				Writer w = null;
 				if (.optionExists("charset")) {
 					w = new OutputStreamWriter(os,
 							.option("charset"));
 				} else {
 					w = new OutputStreamWriter(os);
 				}
 				w.write("---LICENSE STRING PLAIN TEXT START\n");
 				w.flush();
 				license.dumpLicense(os);
 				os.flush();
 				w.write("---LICENSE STRING PLAIN TEXT END\n");
 				w.write("Encoding license key id=" + license.getDecodeKeyId()
 						+ "L\n");
 				w.write("---KEY RING DIGEST START\n");
 				w.write("---KEY RING DIGEST END\n");
 				w.close();
 				os.close();
 			} else {
 				.println("The license can not be verified.");
 			}
 		} catch (Exception e) {
 			printUsage(null);
 			throw e;
 		}
 	}
 
 	private static void printUsage(String[] args) {
 		.print("Usage: " +  + " decode options\n"
 				+ " mandatory options are: \n"
 				+ "--license-file, --keyring-file, [ --output ] [--charset]\n");
 				.println("Usage: "
 						+ " command options\n"
 						+ "commands available: \n"
 						+ "      * encode\n"
"      * decode\n"
"arguments to the different commands type the command w/o args");
		if (args != null) {
			.println("Arguments on the command line:");
			int i = 1;
			for (String arg : args) {
				.println(i + ". " + arg);
				i++;
			}
			.println("Command line options:");
			i = 1;
			for (String opt : .getOptions().keySet()) {
				.println(i + ". option[" + opt + "]="
				i++;
			}
		}
		.println("Current working directory "
				+ System.getProperties().get("user.dir"));
	}

Call this method from the command line.

  java -cp license3j.jar License3j command options
   commands available:
       encode
       decode
 to get arguments to the different commands type the command w/o args
 
	public static void main(String[] argsthrows Exception {
		if (args == null || args.length == 0) {
			return;
		}
		if (.getFiles().size() < 1) {
			return;
		}
		String command = .getFiles().get(0);
		if ("encode".equals(command)) {
			// encode a license file
			new License3j().encode();
		}
		if ("decode".equals(command)) {
			new License3j().decode();
		}
	}
New to GrepCode? Check out our FAQ X