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.
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! ...