View Javadoc

1   /*
2    * Created on Apr 22, 2005, Copyright UC Regents
3    */
4   package net.sf.sail.common.example;
5   
6   import static net.sf.sail.core.util.BinaryUtils.writeCurnit;
7   import static net.sf.sail.core.util.PodUtils.createBeanInPod;
8   import static net.sf.sail.core.util.PodUtils.nextPod;
9   
10  import java.io.File;
11  import java.io.FileOutputStream;
12  
13  import net.sf.sail.common.apps.PreviewCurnit;
14  import net.sf.sail.core.beans.Pod;
15  import net.sf.sail.core.entity.Rim;
16  import net.sf.sail.core.util.PodUtils;
17  import net.sf.sail.core.uuid.CurnitUuid;
18  
19  /**
20   * Builds and runs a curnit that contains the the RimExampleRootPodBean as its
21   * root
22   * 
23   * @author turadg
24   */
25  
26  public class BuildRimExampleCurnit {
27  
28  	private static final String CURNIT_TITLE = "Simple-rim-example";
29  
30  	public static final CurnitUuid CURNIT_ID = new CurnitUuid(
31  			"cccccccc-0009-0000-0000-000000000000");
32  
33  	protected static Pod getRootPod() throws Exception {
34  		String pre = "dddddddd-0002-";
35  		String post = "-0000-000000000000";
36  		// make a Pod for our root pod
37  		Pod rootPod = nextPod(pre, post);
38  		// make a bean in that pod that will listen for session events
39  		RimExampleSessionListeningBean bean = createBeanInPod(rootPod, RimExampleSessionListeningBean.class,
40  				"Rim example in root pod");
41  		// set its properties
42  		bean.setPrompt("What do you have to say?");
43  		// make a rim in the pod for the bean to use
44  		Rim<String> rim = PodUtils.createRimInPod(rootPod, String.class, "havetosay");
45  		// tell the bean to use it
46  		bean.setRim(rim);
47  		return rootPod;
48  	}
49  
50  	/**
51  	 * Build and run a curnit containing RimExampleRootPodBean
52  	 * 
53  	 * @param args
54  	 * @throws Exception
55  	 */
56  	public static void main(String[] args) throws Exception {
57  		File outputFile = new File("target/curnit-" + CURNIT_TITLE + ".jar");
58  		writeCurnit(CURNIT_ID, CURNIT_TITLE, getRootPod(),
59  				new FileOutputStream(outputFile));
60  		PreviewCurnit.main(new String[] { outputFile.getPath() });
61  		System.exit(0);
62  	}
63  
64  }