From: Robert L. <rle...@us...> - 2007-02-23 13:15:14
|
Update of /cvsroot/ccmtools/ccmtools/test/JavaAssembly/deploy_logger In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv20023/test/JavaAssembly/deploy_logger Added Files: logger.idl Makefile Main.java console.idl .cvsignore ConsolestderrImpl.java io.idl stderr_logger.assembly OutputStreamLoggerloggerImpl.java stderr_logger.idl Log Message: deploys and creates all components by name --- NEW FILE: .cvsignore --- gen --- NEW FILE: stderr_logger.idl --- #include "logger.idl" #include "console.idl" module wamas { module helpers { component StdErrLogger { provides wamas::io::LoggerItf logger; }; home StdErrLoggerHome manages StdErrLogger {}; }; // /module helpers }; // /module wamas --- NEW FILE: io.idl --- #ifndef wamas_io_IDL #define wamas_io_IDL module wamas { module io { interface InputStream { char read(); }; interface OutputStream { void write(in char c); }; }; // /module io }; // /module wamas #endif --- NEW FILE: ConsolestderrImpl.java --- /** * This file was automatically generated by CCM Tools version 0.9.0 * <http://ccmtools.sourceforge.net> * * CCM_OutputStreamImpl facet implementation. * * // TODO: WRITE YOUR DESCRIPTION HERE ! * * @author * @version */ package wamas.system; import Components.CCMException; import wamas.io.CCM_OutputStream; import wamas.io.OutputStream; /** * This class implements a component facet's methods. * * // TODO: WRITE YOUR DESCRIPTION HERE ! * * @author * @version */ public class ConsolestderrImpl implements CCM_OutputStream { /** Reference to the facet's component implementation */ private ConsoleImpl component; public ConsolestderrImpl(ConsoleImpl component) { this.component = component; } /** Business logic implementations */ public void write(char c) throws CCMException { System.err.print(c); } } --- NEW FILE: Makefile --- all: ccmjava -iface -local -app -o gen *.idl ccmjava -assembly -o gen *.assembly *.idl cp ConsolestderrImpl.java gen/wamas/system cp OutputStreamLoggerloggerImpl.java gen/wamas/io cp Main.java gen/wamas cd gen && javac `find . -name '*.java'` cd gen && java wamas.Main clean: rm -rf gen --- NEW FILE: Main.java --- package wamas; import Components.CCMException; import Components.CCMHome; import Components.HomeFinder; import wamas.helpers.*; public class Main { public static void main( String[] args ) { try { deploy(); business_logic(); undeploy(); } catch (Exception e) { e.printStackTrace(); System.exit(1); } } private static void deploy() throws CCMException { wamas.io.OutputStreamLoggerHomeDeployment.deploy("OutputStreamLogger"); wamas.system.ConsoleHomeDeployment.deploy("Console"); wamas.helpers.StdErrLoggerHomeDeployment.deploy("StdErrLogger"); } private static void undeploy() { wamas.io.OutputStreamLoggerHomeDeployment.undeploy("OutputStreamLogger"); wamas.system.ConsoleHomeDeployment.undeploy("Console"); wamas.helpers.StdErrLoggerHomeDeployment.undeploy("StdErrLogger"); } private static void business_logic() throws Exception { CCMHome home = HomeFinder.instance().find_home_by_name("StdErrLogger"); StdErrLogger comp = ((StdErrLoggerHomeAdapter) home).create(); wamas.io.LoggerItf logger = comp.provide_logger(); comp.configuration_complete(); logger.print("Hello World!"); comp.remove(); } } --- NEW FILE: logger.idl --- #ifndef wamas_logger_IDL #define wamas_logger_IDL #include "io.idl" module wamas { module io { interface LoggerItf { void print(in string message); }; component OutputStreamLogger { provides LoggerItf logger; uses OutputStream stream; }; home OutputStreamLoggerHome manages OutputStreamLogger {}; }; // /module io }; // /module wamas #endif --- NEW FILE: console.idl --- #ifndef wamas_console_IDL #define wamas_console_IDL #include "io.idl" module wamas { module system { component Console { provides wamas::io::InputStream stdin; provides wamas::io::OutputStream stdout; provides wamas::io::OutputStream stderr; }; home ConsoleHome manages Console { }; }; // /module system }; // /module wamas #endif --- NEW FILE: OutputStreamLoggerloggerImpl.java --- /** * This file was automatically generated by CCM Tools version 0.9.0 * <http://ccmtools.sourceforge.net> * * CCM_LoggerItfImpl facet implementation. * * // TODO: WRITE YOUR DESCRIPTION HERE ! * * @author * @version */ package wamas.io; import Components.CCMException; import Components.CCMExceptionReason; /** * This class implements a component facet's methods. * * // TODO: WRITE YOUR DESCRIPTION HERE ! * * @author * @version */ public class OutputStreamLoggerloggerImpl implements CCM_LoggerItf { /** Reference to the facet's component implementation */ private OutputStreamLoggerImpl component; public OutputStreamLoggerloggerImpl(OutputStreamLoggerImpl component) { this.component = component; } /** Business logic implementations */ public void print( String message ) throws CCMException { try { wamas.io.OutputStream os = component.ctx.get_connection_stream(); for (int i = 0; i < message.length(); ++i) { os.write(message.charAt(i)); } os.write('\n'); } catch (Exception e) { throw new CCMException(e.getMessage(), CCMExceptionReason.SYSTEM_ERROR); } } } --- NEW FILE: stderr_logger.assembly --- module wamas { module helpers { assembly implements StdErrLogger { component wamas::system::Console console; component wamas::io::OutputStreamLogger os_logger; connect console.stderr to os_logger.stream; connect os_logger.logger to this.logger; }; }; // /module helpers }; // /module wamas |