public static void main(String[] args) { // PER IL TRANSLATOR Trans t = new Trans( "mina:tcp://localhost:6886?textline=true&sync=false", String.class, "file://log?fileName=report.txt", String.class); t.setTransformLogic(SimpleMediator.class, "transMethod"); t.start(); // PER LO SPLITTER Split split = new Split( "mina:tcp://localhost:6887?textline=true&sync=false", String.class, "file://log?fileName=report.txt", ArrayList.class); split.setSplittingLogic(SimpleMediator.class, "splitMethod"); split.start(); // PER IL MERGE Split split2 = new Split( "mina:tcp://localhost:6894?textline=true&sync=false", String.class, "vm:porta1", String.class); split2.setSplittingLogic(SimpleMediator.class, "splitMethod2"); Merge m = new Merge("vm:porta1", String.class, "vm:porta2", ArrayList.class); m.setCompletitionSize(4); Trans t2 = new Trans("vm:porta2", ArrayList.class, "file://log?fileName=report.txt", String.class); t2.setTransformLogic(SimpleMediator.class, "transMethod2"); CompoundTerm ct = new Plug(t2, new Plug(m, split2)); ct.start(); // PER L'ORDER ArrayList<Class> in_types = new ArrayList<Class>(); in_types.add(String.class); ArrayList<Class> out_types = new ArrayList<Class>(); out_types.add(String.class); Split split3 = new Split( "mina:tcp://localhost:6889?textline=true&sync=false", String.class, "vm:door1", String.class); split3.setSplittingLogic(SimpleMediator.class, "splitMethod2"); // split3.start(); Order o = new Order("vm:door1", in_types, "vm:door2", out_types); o.setSequenceSize(5); o.setPermutation(new SimpleMediator(), "orderMethod"); // o.start(); Merge merge2 = new Merge("vm:door2", String.class, "vm:door3", ArrayList.class); merge2.setCompletitionSize(5); // merge2.start(); Trans t3 = new Trans("vm:door3", String.class, "file://log?fileName=report.txt", String.class); t3.setTransformLogic(SimpleMediator.class, "transMethod2"); // t3.start(); CompoundTerm ct2 = new Plug(t3, new Plug(merge2, (new Plug(o, split3)))); ct2.start(); }