# Simple JPython script to launch the AppMans # @author : Sriram Krishnan[srikrish@extreme.indiana.edu] import sys import cca from xcat.framework.util import EnvObj from java.lang import String, Object from jarray import zeros # pack the environment object # this will not be needed if xml is used generatorComponent = EnvObj() generatorComponent.put("component-type", "java") generatorComponent.put("creation-mech-path","/usr/local/bin/ssh") generatorComponent.put("exec-dir", "/u/srikrish/extreme-cvs/xcat/src/java/scripts") generatorComponent.put("exec-script", "JavaComponentScript.sh") generatorComponent.put("exec-name", "generatorComponent") generatorComponent.put("exec-fqn", "samples.testObjectGenerator.TestObjectGeneratorComponent") generatorComponent.put("ssh-output-home", "/u/srikrish/extreme-cvs/xcat") printerComponent = EnvObj() printerComponent.put("component-type", "java") printerComponent.put("creation-mech-path","/usr/local/bin/ssh") printerComponent.put("exec-dir", "/u/srikrish/extreme-cvs/xcat/src/java/scripts") printerComponent.put("exec-script", "JavaComponentScript.sh") printerComponent.put("exec-name", "printerComponent") printerComponent.put("exec-fqn", "samples.testObjectPrinter.TestObjectPrinterComponent") printerComponent.put("ssh-output-home", "/u/srikrish/extreme-cvs/xcat") # create component wrappers generator = cca.createComponent(generatorComponent) printer = cca.createComponent(printerComponent) # assign a machine name cca.setMachineName(generator, "exodus.extreme.indiana.edu") cca.setMachineName(printer, "exodus.extreme.indiana.edu") # set a creation mechanism cca.setCreationMechanism(generator, "ssh") cca.setCreationMechanism(printer, "ssh") # create live instances cca.createInstance(generator) cca.createInstance(printer) # connect their ports cca.connectPorts(generator, "testObjectUsesPort", printer, "testObjectProvidesPort") # start the components usesPortClassName = "samples.idl.control.UsesControl" usesPortType = "http://www.extreme.indiana.edu/xcat/samples/wsdl#control" providesPortName = "controlProvidesPort" methodName = "start" methodParams = zeros(0, Object) cca.invokeMethodOnComponent(generator, usesPortClassName, usesPortType, providesPortName, methodName, methodParams)