Information
We are currently investigating an issue with the editor of some pages. Please save your work and avoid to create new pages until this banner is gone.
In case you haven't done this step already, you must Build and install IDL first.
cd ~/workspace getTemplateForDirectory MODROOT_WS jHelloComp cd jHelloComp/src mkdir -p acsws/workshop/HelloComponentImpl touch acsws/workshop/HelloComponentImpl/HelloComponentImpl.java cp ../../idlHelloComp/src/acsws/workshop/HelloComponentImpl/HelloComponentComponentHelper.java.tpl acsws/workshop/HelloComponentImpl/HelloComponentComponentHelper.java vim Makefile
We modify the Makefile for this component:
... JARFILES = HelloComponentImpl HelloComponentImpl_DIRS = acsws ...
We fill the component code as follows:
vim acsws/workshop/HelloComponentImpl/HelloComponentImpl.java
//Suggested: import alma.<Module>.<Interface>Impl; //But anything, really package acsws.workshop.HelloComponentImpl; //Base component implementation, including container services and component lifecycle infrastructure import alma.acs.component.ComponentImplBase; //Skeleton interface for server implementation import acsws.workshop.HelloComponentOperations; //ClassName usually is <Interface>Impl, but can be anything public class HelloComponentImpl extends ComponentImplBase implements HelloComponentOperations { public HelloComponentImpl() { } public String printHello() { System.out.println("Just printing 'Hello World!'"); return new String("Hello World!"); } }
make all install
vim $ACS_CDB/CDB/MACI/Components/Components.xml
Add the following item:
<e Name="HelloWorldJava" Code="acsws.workshop.HelloComponentImpl.HelloComponentComponentHelper" Type="IDL:acsws/workshop/HelloComponent:1.0" Container="frodoContainer" ImplLang="java" />
Check ~/workspace/jHelloComp/src/acsws/workshop/HelloComponentImpl directory. There should be two files:
`-- HelloComponentImpl |-- HelloComponentComponentHelper.java `-- HelloComponentImpl.java
If no helper file is found, copy it from the IDL directory
cp ~/workspace/idlHelloComp/src/acsws/workshop/HelloComponentImpl/HelloComponentComponentHelper.java.tpl ~/workspace/jHelloComp/src/acsws/workshop/HelloComponentImpl/HelloComponentComponentHelper.java
Create client python file:
cd ~/workspace touch client.py vim client.py
We fill it as follow:
from Acspy.Clients.SimpleClient import PySimpleClient client = PySimpleClient() component = client.getComponent("HelloWorldJava") print(component.printHello())
Run component:
# in one terminal acsStop acsStart # in a different terminal acsStartContainer -java frodoContainer # in a different terminal python client.py
... Hello World! ...