1 23 24 package protoactive; 25 26 import org.objectweb.fractal.api.Component; 27 import org.objectweb.fractal.api.factory.GenericFactory; 28 import org.objectweb.fractal.api.type.ComponentType; 29 30 import org.objectweb.fractal.util.Fractal; 31 32 public class ProtoActive { 33 34 private ProtoActive () { 35 } 36 37 public static Component createActive ( 38 final ComponentType type, 39 final String className) 40 { 41 try { 42 Component boot = Fractal.getBootstrapComponent(); 43 GenericFactory cf = Fractal.getGenericFactory(boot); 44 Component comp = cf.newFcInstance(type, "primitive", className); 45 Fractal.getLifeCycleController(comp).startFc(); 46 return comp; 47 } catch (Exception e) { 48 e.printStackTrace(); 49 System.exit(0); 50 return null; 51 } 52 } 53 54 public static void main (final String [] args) throws Exception { 55 56 Component treeComp = ProtoActive.createActive( 57 BinaryTreeImpl.getType(), "protoactive.BinaryTreeImpl"); 58 59 BinaryTree t = (BinaryTree)treeComp.getFcInterface("server"); 60 61 t.put(1, "one"); 62 t.put(2, "two"); 63 t.put(3, "three"); 64 t.put(4, "four"); 65 66 System.err.println("Value associated to key 3 = " + t.get(3)); 67 System.err.println("Value associated to key 4 = " + t.get(4)); 68 System.err.println("Value associated to key 2 = " + t.get(2)); 69 System.err.println("Value associated to key 1 = " + t.get(1)); 70 } 71 } 72 | Popular Tags |