diff options
author | kitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-12-01 05:53:06 +0000 |
---|---|---|
committer | kitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-12-01 05:53:06 +0000 |
commit | 8ec2f7d6281c69b6dc3554f861f6bb1e4d1bea5b (patch) | |
tree | 790ef9138801a080177a56f9ff39c141a5c50507 | |
parent | fb2cdb3a6221ac91461e126f0e8555b9a872ec54 (diff) | |
download | ATCD-8ec2f7d6281c69b6dc3554f861f6bb1e4d1bea5b.tar.gz |
ChangeLogTag: Mon Nov 25 04:25:15 2002 Krishnakumar B <kitty@cs.wustl.edu>
-rw-r--r-- | ACEXML/compass/ComponentInstallation.cpp | 38 | ||||
-rw-r--r-- | ACEXML/compass/Container.cpp | 2 | ||||
-rw-r--r-- | ACEXML/compass/Deployment.cpp | 89 | ||||
-rw-r--r-- | ACEXML/compass/Deployment.h | 43 | ||||
-rw-r--r-- | ACEXML/compass/EC_Property.cpp | 80 | ||||
-rw-r--r-- | ACEXML/compass/EC_Property.h | 36 | ||||
-rw-r--r-- | ACEXML/compass/Property.h | 26 | ||||
-rw-r--r-- | ACEXML/compass/PropertyFile_Handler.cpp | 206 | ||||
-rw-r--r-- | ACEXML/compass/PropertyFile_Handler.h | 62 | ||||
-rw-r--r-- | ACEXML/compass/SoftPkg.cpp | 56 | ||||
-rw-r--r-- | ACEXML/compass/SoftPkg.h | 78 | ||||
-rw-r--r-- | ACEXML/compass/component.xml | 88 | ||||
-rw-r--r-- | ACEXML/compass/componentassembly.dtd | 326 | ||||
-rw-r--r-- | ACEXML/compass/componentassembly.xml | 138 | ||||
-rw-r--r-- | ACEXML/compass/corbacomponent.dtd | 302 | ||||
-rw-r--r-- | ACEXML/compass/eventchannel.cpf | 34 | ||||
-rw-r--r-- | ACEXML/compass/meta-inf | 44 | ||||
-rw-r--r-- | ACEXML/compass/properties.dtd | 82 | ||||
-rw-r--r-- | ACEXML/compass/properties.xml | 34 | ||||
-rw-r--r-- | ACEXML/compass/softpkg.dtd | 187 | ||||
-rw-r--r-- | ACEXML/compass/softpkg.xml | 44 | ||||
-rw-r--r-- | ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp | 7 |
22 files changed, 1843 insertions, 159 deletions
diff --git a/ACEXML/compass/ComponentInstallation.cpp b/ACEXML/compass/ComponentInstallation.cpp index 4b169ef5e46..76d72df5745 100644 --- a/ACEXML/compass/ComponentInstallation.cpp +++ b/ACEXML/compass/ComponentInstallation.cpp @@ -1,6 +1,7 @@ // $Id$ #include "ACEXML/compass/ComponentInstallation.h" +#include "ACEXML/common/ZipCharStream.h" using namespace Deployment; @@ -19,11 +20,44 @@ ComponentInstallation::install (const UUID& implUUID, ACE_THROW_SPEC ((InvalidLocation,InstallationFailure)) { if (implUUID == empty_string) - ACE_THROW (InstallationFailure()); + { + ACE_ERROR ((LM_ERROR, "Implementation id is an Empty string\n")); + ACE_THROW (InstallationFailure()); + } else if (component_loc == empty_string) - ACE_THROW (InvalidLocation()); + { + ACE_ERROR ((LM_ERROR, "Component Location is an Empty string\n")); + ACE_THROW (InvalidLocation()); + } else if (this->packages_->bind (implUUID, component_loc) != 0) + { + ACE_ERROR ((LM_ERROR, "Component %s already installed\n", + implUUID.c_str())); + ACE_THROW (InstallationFailure()); + } + ACEXML_StreamFactory factory; + ACEXML_CharStream* stream = factory.create_stream (component_loc.c_str()); + if (!stream) + { + ACE_ERROR ((LM_ERROR, "Unable to create a stream for the Component" + "location %s\n", component_loc.c_str())); + ACE_THROW (InstallationFailure()); + } + ACEXML_Char temp[MAXNAMLEN + 1] = "acefileXXXXXX"; + if (mkdtemp (temp) == 0) + { + ACE_ERROR ((LM_ERROR, "Unable to create safe temporary directory\n")); + ACE_THROW (InstallationFailure()); + } + ACEXML_String dsoname = temp + + FILE* dso = ACE_OS::fopen (temp, "w"); + if (dso == 0) + { + ACE_THROW (InstallationFailure()); + + + } void diff --git a/ACEXML/compass/Container.cpp b/ACEXML/compass/Container.cpp index ab15c08d0a8..8be3fb6cd5e 100644 --- a/ACEXML/compass/Container.cpp +++ b/ACEXML/compass/Container.cpp @@ -21,4 +21,4 @@ Container::install_home (const UUID& id, const string& entrypt, ACE_THROW_SPEC ((UnknownImplId, ImplEntryPointNotFound, InstallationFailure, InvalidConfiguration)) { - if (COMP + if (COMP_SER diff --git a/ACEXML/compass/Deployment.cpp b/ACEXML/compass/Deployment.cpp new file mode 100644 index 00000000000..9bf839fd0b3 --- /dev/null +++ b/ACEXML/compass/Deployment.cpp @@ -0,0 +1,89 @@ +// $Id$ + +#include "ACEXML/common/XML_Types.h" +#include "ACEXML/common/StreamFactory.h" +#include "ACEXML/parser/parser/Parser.h" +#include "ACEXML/compass/SoftPkgHandler.h" +#include "ace/Get_Opt.h" + +static void +usage (const ACE_TCHAR* program) +{ + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Usage: %s [-l <filename>]") + ACE_TEXT (" -l: Install components from filename") + program)); +} + +int +ACE_TMAIN (int argc, char* argv[]) +{ + ACEXML_Char* filename = 0; + ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("l:")); + int c; + + while ((c = get_opt ()) != EOF) + { + switch (c) + { + case 'l': + filename = get_opt.opt_arg (); + break; + default: + usage(argv[0]); + return -1; + } + } + if (filename == 0) + { + usage(argv[0]); + return -1; + } + const ACEXML_Char meta-inf[] = {'m', 'e', 't', 'a', '-', 'i', 'n', 'f'}; + const ACEXML_Char* path = 0; + size_t pos = ACE_OS::strlen (filename); + if ((ACEXML_Char* temp = ACE_OS::strrchr (filename, '.')) != 0) + pos = temp - filename + 1; + size_t len = pos + sizeof (meta-inf) + + sizeof (ACE_DIRECTORY_SEPARATOR_CHAR) + sizeof (ACE_TCHAR); + ACE_NEW_RETURN (path, ACEXML_Char[len], -1); + ACE_Auto_Basic_Array_Ptr<ACEXML_Char> cleanup_path (path); + + ACE_OS::strncpy (path, filename, pos); + path[pos++] = ACE_DIRECTORY_SEPARATOR_CHAR; + ACE_OS::strcpy (path + pos, meta-inf); + + ACEXML_StreamFactory factory; + ACEXML_CharStream* stream = factory.create_stream (path); + if (!stream) + { + ACE_ERROR ((LM_ERROR, "Failed to create input stream from %s\n", + path)); + return -1; + } + + ACEXML_DefaultHandler* handler = 0; + ACE_NEW_RETURN (handler, SoftPkgHandler (name), -1); + auto_ptr<ACEXML_DefaultHandler> cleanup_handler (handler); + + ACEXML_Parser parser; + ACEXML_InputSource input (stm); + + parser.setContentHandler (handler); + parser.setDTDHandler (handler); + parser.setErrorHandler (handler); + parser.setEntityResolver (handler); + + ACEXML_TRY_NEW_ENV + { + parser.parse (&input ACEXML_ENV_ARG_PARAMETER); + ACEXML_TRY_CHECK; + } + ACEXML_CATCH (ACEXML_SAXException, ex) + { + ACE_UNUSED_ARG (ex); + ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Exception occurred. Exiting...\n"))); + } + ACEXML_ENDTRY; + return 0; +} diff --git a/ACEXML/compass/Deployment.h b/ACEXML/compass/Deployment.h deleted file mode 100644 index 8c8473fffcb..00000000000 --- a/ACEXML/compass/Deployment.h +++ /dev/null @@ -1,43 +0,0 @@ -// $Id$ - -#ifndef COMPASS_DEPLOYMENT_H -#define COMPASS_DEPLOYMENT_H - -#include "ace/OS_String.h" -#include <vector> - -// *************** Packaging and Deployment *************** - -namespace Deployment -{ - typedef string UUID; - typedef string Location; - typedef unsigned long FailureReason; - typedef string Cookie; - - enum AssemblyState - { - INACTIVE, - INSERVICE - }; - - typedef string FeatureName; - - struct ConfigValue - { - FeatureName name; - string value; - }; - typedef vector<ConfigValue*> ConfigValues; - - struct UnknownImplId {}; - struct InvalidLocation {}; - struct InstallationFailure { FailureReason reason; }; - struct InvalidAssembly {}; - struct RemoveFailure { FailureReason reason; }; - - struct ImplEntryPointNotFound {}; - -}; - -#endif /* COMPASS_DEPLOYMENT_H */ diff --git a/ACEXML/compass/EC_Property.cpp b/ACEXML/compass/EC_Property.cpp new file mode 100644 index 00000000000..181956a8bf8 --- /dev/null +++ b/ACEXML/compass/EC_Property.cpp @@ -0,0 +1,80 @@ +// $Id$ + +#include "ACEXML/compass/EC_Property.h" +#include "ace/OS_String.h" + +ACEXML_EC_Property::ACEXML_EC_Property() + : ec_consumer_control_period_ (0), ec_supplier_control_period_ (0) +{} + +ACEXML_EC_Property::~ACEXML_EC_Property() +{} + +int +ACEXML_EC_Property::set (const ACEXML_String& property, + const ACEXML_String& value) +{ + const ACEXML_Char* prop = property.c_str(); + if (ACE_OS::strcmp (prop, "ECDispatching") == 0) + this->ec_dispatching_ = value; + else if (ACE_OS::strcmp (prop, "ECFiltering") == 0) + this->ec_filtering_ = value; + else if (ACE_OS::strcmp (prop, "ECSupplierFiltering") == 0) + this->ec_supplier_filtering_ = value; + else if (ACE_OS::strcmp (prop, "ECProxyConsumerLock") == 0) + this->ec_proxy_consumer_lock_ = value; + else if (ACE_OS::strcmp (prop, "ECProxySupplierLock") == 0) + this->ec_proxy_supplier_lock_ = value; + else if (ACE_OS::strcmp (prop, "ECConsumerControl") == 0) + this->ec_consumer_control_ = value; + else if (ACE_OS::strcmp (prop, "ECSupplierControl") == 0) + this->ec_supplier_control_ = value; + else + { + ACE_ERROR ((LM_ERROR, "Unknown property %s in property file", prop)); + return -1; + } + return 0; +} + +int +ACEXML_EC_Property::set (const ACEXML_String& property, const long value) +{ + const ACEXML_Char* prop = property.c_str(); + if (ACE_OS::strcmp (prop, "ECConsumerControlPeriod") == 0) + this->ec_consumer_control_period_ = value; + else if (ACE_OS::strcmp (prop, "ECSupplierControlPeriod") == 0) + this->ec_supplier_control_period_ = value; + else + { + ACE_ERROR ((LM_ERROR, "Unknown property %s in property file", prop)); + return -1; + } + return 0; +} + +ACEXML_Char* +ACEXML_EC_Property::dump() +{ + ACEXML_String argv ("-ECDispatching"); + argv += this->ec_dispatching_ + '\x20'; + argv += "-ECFiltering"; + argv += this->ec_filtering_ + '\x20'; + argv += "-ECSupplierFiltering"; + argv += this->ec_supplier_filtering_ + '\x20'; + argv += "-ECProxyConsumerLock"; + argv += this->ec_proxy_consumer_lock_+ '\x20'; + argv += "-ECProxySupplierLock"; + argv += this->ec_proxy_supplier_lock_ + '\x20'; + argv += "-ECConsumerControl"; + argv += this->ec_consumer_control_ + '\x20'; + argv += "-ECSupplierControl"; + argv += this->ec_supplier_control_ + '\x20'; + argv += "-ECConsumerControlPeriod"; + char temp[20] = {0}; + ACE_OS::sprintf (temp, "%ld", this->ec_consumer_control_period_); + argv += temp + '\x20'; + ACE_OS::sprintf (temp, "%ld", this->ec_supplier_control_period_); + argv += temp + '\x20'; + return argv.rep(); +} diff --git a/ACEXML/compass/EC_Property.h b/ACEXML/compass/EC_Property.h new file mode 100644 index 00000000000..7fc158ff73d --- /dev/null +++ b/ACEXML/compass/EC_Property.h @@ -0,0 +1,36 @@ +// $Id$ + +#ifndef ACEXML_EC_PROPERTY_H +#define ACEXML_EC_PROPERTY_H + +#include "ace/pre.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +#pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ACEXML/common/XML_Types.h" + +class ACEXML_EC_Property : public ACEXML_Property +{ +public: + ACEXML_EC_Property(); + virtual ~ACEXML_EC_Property(); + virtual int set (const ACEXML_String& property, const ACEXML_String& value); + virtual int set (const ACEXML_String& property, const long value); + virtual ACE_ARGV* dump() const; +private: + ACEXML_String ec_dispatching_; + ACEXML_String ec_filtering_; + ACEXML_String ec_supplier_filtering_; + ACEXML_String ec_proxy_consumer_lock_; + ACEXML_String ec_proxy_supplier_lock_; + ACEXML_String ec_consumer_control_; + ACEXML_String ec_supplier_control_; + long ec_consumer_control_period_; + long ec_supplier_control_period_; +}; + +#include "ace/post.h" + +#endif /* ACEXML_EC_PROPERTY_H */ diff --git a/ACEXML/compass/Property.h b/ACEXML/compass/Property.h new file mode 100644 index 00000000000..b9bcd7a0970 --- /dev/null +++ b/ACEXML/compass/Property.h @@ -0,0 +1,26 @@ +// $Id$ + +#ifndef ACEXML_PROPERTY_H +#define ACEXML_PROPERTY_H + +#include "ace/pre.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +#pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ACEXML/common/XML_Types.h" +#include "ace/ARGV.h" + +class ACEXML_Property +{ +public: + ACEXML_Property(void); + virtual ~ACEXML_Property(); + virtual set (const ACEXML_String& property, const ACEXML_String& value) = 0; + virtual ACE_ARGV* dump() const = 0; +} + +#include "ace/post.h" + +#endif /* ACEXML_PROPERTY_H */ diff --git a/ACEXML/compass/PropertyFile_Handler.cpp b/ACEXML/compass/PropertyFile_Handler.cpp index f556450d18e..febeed540c7 100644 --- a/ACEXML/compass/PropertyFile_Handler.cpp +++ b/ACEXML/compass/PropertyFile_Handler.cpp @@ -1,4 +1,4 @@ -// -*- C++ -*- $Id$ +// $Id$ #include "PropertyFile_Handler.h" #include "ace/ACE.h" @@ -8,8 +8,10 @@ # include "PropertyFile_Handler.inl" #endif /* __ACEXML_INLINE__ */ +static const ACEXML_Char empty_string[] = {0}; + ACEXML_PropertyFile_Handler::ACEXML_PropertyFile_Handler (const ACEXML_Char* filename) - : fileName_(ACE::strnew (filename)), locator_ (0) + : fileName_(ACE::strnew (filename)), locator_ (0), property_ (0) { // no-op } @@ -17,148 +19,174 @@ ACEXML_PropertyFile_Handler::ACEXML_PropertyFile_Handler (const ACEXML_Char* fil ACEXML_PropertyFile_Handler::~ACEXML_PropertyFile_Handler (void) { delete [] this->fileName_; + delete this->property_; +} + +const ACEXML_Property* +ACEXML_PropertyFile_Handler::get_property (void) const +{ + return this->property_; } void -ACEXML_PropertyFile_Handler::characters (const ACEXML_Char *cdata, - int start, - int length - ACEXML_ENV_ARG_DECL_NOT_USED) +ACEXML_PropertyFile_Handler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - - ACE_UNUSED_ARG (start); - ACE_UNUSED_ARG (length); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("%s"), - cdata)); } void -ACEXML_PropertyFile_Handler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) +ACEXML_PropertyFile_Handler::startElement (const ACEXML_Char *, + const ACEXML_Char *, + const ACEXML_Char *qName, + ACEXML_Attributes *alist + ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n"))); + this->name_ = qName; + if (ACE_OS::strcmp (qName, "properties") == 0 || + ACE_OS::strcmp (qName, "description") == 0) + return; + else if (ACE_OS::strcmp (qName, "struct") == 0 || + ACE_OS::strcmp (qName, "simple") == 0) + { + this->attname_.clear(); + this->atttype_.clear(); + for (size_t i = 0; i < alist->getLength (); ++i) + { + if (ACE_OS::strcmp (alist->getQName (i), "name") == 0) + this->attname_ = alist->getValue (i); + else if (ACE_OS::strcmp (alist->getQName (i), "type") == 0) + this->atttype_ = alist->getValue (i); + } + if (!this->property_ && this->atttype_ == "ACEXML_EC_Property") + ACE_NEW (this->property_, ACEXML_EC_Property); + } + else if (ACE_OS::strcmp (qName, "value") == 0) + this->cdata_.clear(); + else + { + ACE_ERROR ((LM_ERROR, "Unknown element %s encountered\n", qName)); + ACEXML_SAXParseException* exception = 0; + ACE_NEW_NORETURN (exception, + ACEXML_SAXParseException ("Unknown Element")); + ACEXML_ENV_RAISE (exception); + } + return; } void ACEXML_PropertyFile_Handler::endElement (const ACEXML_Char *, const ACEXML_Char *, const ACEXML_Char *qName - ACEXML_ENV_ARG_DECL_NOT_USED) + ACEXML_ENV_ARG_DECL) ACE_THROW_SPEC ((ACEXML_SAXException)) { - - - this->dec_indent (); - this->print_indent (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("</%s>"), - qName)); + if (this->name_ != qName) + { + ACE_ERROR ((LM_ERROR, "Mismatched element %s encountered\n", qName)); + ACEXML_SAXParseException* exception = 0; + ACE_NEW_NORETURN (exception, + ACEXML_SAXParseException ("Mismatched Element")); + ACEXML_ENV_RAISE (exception); + } + if (this->name_ == "description") + this->cdata_.clear(); + else if (this->name_ == "value") + this->value_ = this->cdata_; + else if (this->name_ == "simple") + { + if (this->atttype_ == "string") + { + if (this->property_->set (this->attname_, this->value_) != 0) + { + ACE_ERROR ((LM_ERROR, "Property %s = %s invalid\n", + this->attname_.c_str(), this->value.c_str())); + ACEXML_SAXParseException* exception = 0; + ACE_NEW_NORETURN (exception, + ACEXML_SAXParseException ("Invalid Property")); + ACEXML_ENV_RAISE (exception); + } + } + else if (this->atttype_ == "long") + { + long value = ACE_OS::strtol (this->value_.c_str(), 10); + if (this->property_->set (this->attname_, value) != 0) + ACE_ERROR ((LM_ERROR, "Property %s = %ld invalid\n", + this->attname_.c_str(), value)); + ACEXML_SAXParseException* exception = 0; + ACE_NEW_NORETURN (exception, + ACEXML_SAXParseException ("Invalid Property")); + ACEXML_ENV_RAISE (exception); + } + this->value_.clear(); + this->cdata_.clear(); + } + return; } void -ACEXML_PropertyFile_Handler::endPrefixMapping (const ACEXML_Char *prefix - ACEXML_ENV_ARG_DECL_NOT_USED) +ACEXML_PropertyFile_Handler::characters (const ACEXML_Char *cdata, + int, int + ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event endPrefixMapping (%s) ***************\n"), - prefix)); + if (this->cdata_.length()) + this->cdata_ += cdata; + this->cdata_ = cdata; } void -ACEXML_PropertyFile_Handler::ignorableWhitespace (const ACEXML_Char *, - int, - int ACEXML_ENV_ARG_DECL_NOT_USED) +ACEXML_PropertyFile_Handler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - // ACE_DEBUG ((LM_DEBUG, - // ACE_TEXT ("* Event ignorableWhitespace () ***************\n"))); + } void -ACEXML_PropertyFile_Handler::processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data - ACEXML_ENV_ARG_DECL_NOT_USED) +ACEXML_PropertyFile_Handler::endPrefixMapping (const ACEXML_Char * + ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - - - this->print_indent (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("<?%s %s>\n"), - target, data)); } void -ACEXML_PropertyFile_Handler::setDocumentLocator (ACEXML_Locator * locator) +ACEXML_PropertyFile_Handler::ignorableWhitespace (const ACEXML_Char *, + int, + int + ACEXML_ENV_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((ACEXML_SAXException)) { - this->locator_ = locator; - //ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("* Event setDocumentLocator () ***************\n"))); } void -ACEXML_PropertyFile_Handler::skippedEntity (const ACEXML_Char *name - ACEXML_ENV_ARG_DECL_NOT_USED) +ACEXML_PropertyFile_Handler::processingInstruction (const ACEXML_Char *, + const ACEXML_Char * + ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event skippedEntity (%s) ***************\n"), - name)); } void -ACEXML_PropertyFile_Handler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) - ACE_THROW_SPEC ((ACEXML_SAXException)) +ACEXML_PropertyFile_Handler::setDocumentLocator (ACEXML_Locator * locator) { - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event startDocument () ***************\n"))); + this->locator_ = locator; } void -ACEXML_PropertyFile_Handler::startElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName, - ACEXML_Attributes *alist - ACEXML_ENV_ARG_DECL_NOT_USED) +ACEXML_PropertyFile_Handler::skippedEntity (const ACEXML_Char * + ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - - - this->print_indent (); - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("<%s"), - qName)); - if (alist != 0) - for (size_t i = 0; i < alist->getLength (); ++i) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT (" %s = \"%s\""), - alist->getQName (i), alist->getValue (i))); - } - ACE_DEBUG ((LM_DEBUG, ACE_TEXT (">"))); - this->inc_indent (); } void -ACEXML_PropertyFile_Handler::startPrefixMapping (const ACEXML_Char * prefix, - const ACEXML_Char * uri ACEXML_ENV_ARG_DECL_NOT_USED) +ACEXML_PropertyFile_Handler::startPrefixMapping (const ACEXML_Char *, + const ACEXML_Char * + ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event startPrefixMapping () ***************\n"))); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Prefix = %s, URI = %s\n"), prefix, uri)); } @@ -167,7 +195,8 @@ ACEXML_PropertyFile_Handler::startPrefixMapping (const ACEXML_Char * prefix, void ACEXML_PropertyFile_Handler::notationDecl (const ACEXML_Char *, const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) + const ACEXML_Char * + ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { // No-op. @@ -177,7 +206,8 @@ void ACEXML_PropertyFile_Handler::unparsedEntityDecl (const ACEXML_Char *, const ACEXML_Char *, const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) + const ACEXML_Char * + ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { // No-op. diff --git a/ACEXML/compass/PropertyFile_Handler.h b/ACEXML/compass/PropertyFile_Handler.h index 6772dd1e047..aed7d03e5d1 100644 --- a/ACEXML/compass/PropertyFile_Handler.h +++ b/ACEXML/compass/PropertyFile_Handler.h @@ -13,7 +13,14 @@ #ifndef ACEXML_PROPERTYFILE_HANDLER_H #define ACEXML_PROPERTYFILE_HANDLER_H +#include "ace/pre.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +#pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + #include "ACEXML/common/DefaultHandler.h" +#include "ACEXML/compass/Property.h" /** * @class ACEXML_PropertyFile_Handler @@ -36,20 +43,20 @@ public: */ virtual ~ACEXML_PropertyFile_Handler (void); - // Methods inherit from ACEXML_ContentHandler. + // Methods inherited from ACEXML_ContentHandler. /* * Receive notification of character data. */ virtual void characters (const ACEXML_Char *ch, int start, int length ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive notification of the end of a document. */ virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive notification of the end of an element. @@ -57,20 +64,20 @@ public: virtual void endElement (const ACEXML_Char *namespaceURI, const ACEXML_Char *localName, const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * End the scope of a prefix-URI mapping. */ virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive notification of ignorable whitespace in element content. */ virtual void ignorableWhitespace (const ACEXML_Char *ch, int start, int length ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive notification of a processing instruction. @@ -78,7 +85,7 @@ public: virtual void processingInstruction (const ACEXML_Char *target, const ACEXML_Char *data ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive an object for locating the origin of SAX document events. @@ -89,14 +96,14 @@ public: * Receive notification of a skipped entity. */ virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)) + ACE_THROW_SPEC ((ACEXML_SAXException)) ; /* * Receive notification of the beginning of a document. */ virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive notification of the beginning of an element. @@ -105,16 +112,16 @@ public: const ACEXML_Char *localName, const ACEXML_Char *qName, ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Begin the scope of a prefix-URI Namespace mapping. */ virtual void startPrefixMapping (const ACEXML_Char *prefix, const ACEXML_Char *uri ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); - // *** Methods inherit from ACEXML_DTDHandler. + // *** Methods inherited from ACEXML_DTDHandler. /* * Receive notification of a notation declaration event. @@ -122,7 +129,7 @@ public: virtual void notationDecl (const ACEXML_Char *name, const ACEXML_Char *publicId, const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive notification of an unparsed entity declaration event. @@ -130,43 +137,52 @@ public: virtual void unparsedEntityDecl (const ACEXML_Char *name, const ACEXML_Char *publicId, const ACEXML_Char *systemId, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + const ACEXML_Char *notationName + ACEXML_ENV_ARG_DECL) + ACE_THROW_SPEC ((ACEXML_SAXException)); - // Methods inherit from ACEXML_EnitityResolver. + // Methods inherited from ACEXML_EnitityResolver. /* * Allow the application to resolve external entities. */ virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + const ACEXML_Char *systemId + ACEXML_ENV_ARG_DECL) + ACE_THROW_SPEC ((ACEXML_SAXException)); - // Methods inherit from ACEXML_ErrorHandler. + // Methods inherited from ACEXML_ErrorHandler. /* * Receive notification of a recoverable error. */ virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive notification of a non-recoverable error. */ virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); /* * Receive notification of a warning. */ virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ACE_THROW_SPEC ((ACEXML_SAXException)); + ACE_THROW_SPEC ((ACEXML_SAXException)); -private: + virtual const ACEXML_Property* get_property(void) const; +private: ACEXML_Char* fileName_; ACEXML_Locator* locator_; + ACEXML_Property* property_; + ACEXML_String cdata_; + ACEXML_String name_; + ACEXML_String attname_; + ACEXML_String atttype_; + ACEXML_String value_; }; #if defined (__ACEXML_INLINE__) diff --git a/ACEXML/compass/SoftPkg.cpp b/ACEXML/compass/SoftPkg.cpp new file mode 100644 index 00000000000..56c6033c582 --- /dev/null +++ b/ACEXML/compass/SoftPkg.cpp @@ -0,0 +1,56 @@ +// $Id$ + +#include "ACEXML/compass/SoftPkg.h" + +ACEXML_SoftPkg::ACEXML_SoftPkg() + : current_dep_ (0), current_impl_ (0) +{} + +ACEXML_SoftPkg::~ACEXML_SoftPkg() +{ + Dependency* dep = 0; + Dependencies::iterator dep_iter (this->deps_); + for (; dep_iter.next (dep); dep_iter.advance()) + delete dep; + Implementation* impl = 0; + Implementations::iterator impl_iter (this->impls_); + for (; impl_iter.next (impl); impl_iter.advance()) + delete impl; +} + +int +ACEXML_SoftPkg::add_impl (const ACEXML_String& id) +{ + Implementation* impl = 0; + ACE_NEW_RETURN (impl, Implementation, -1); + impl.id_ = id; + if (this->impls_.insert (impl) < 0) + { + ACE_ERROR ((LM_ERROR, "Implementation already exists\n")); + return -1; + } + + + + + int add_dep (const ACEXML_String& type); + Implementation* get_current_impl (void); + const ACE_Unbouded_Set<Implementation*>& get_all_impl (void) const; +private: + ACEXML_String name_; + ACEXML_String version_; + ACEXML_String pkgtype_; + ACEXML_String title_; + ACEXML_String author_; + ACEXML_String company_; + ACEXML_String webpage_; + ACEXML_String description_; + Dependency* current_dep_; + Implementation* current_impl_; + ACE_Unbouded_Set<Dependency*> deps_; + ACE_Unbouded_Set<Implementation*> impls_; +}; + +#include "ace/post.h" + +#endif /* ACEXML_SOFTPKG_H */ diff --git a/ACEXML/compass/SoftPkg.h b/ACEXML/compass/SoftPkg.h new file mode 100644 index 00000000000..c16eb54f719 --- /dev/null +++ b/ACEXML/compass/SoftPkg.h @@ -0,0 +1,78 @@ +// $Id$ + +#ifndef ACEXML_SOFTPKG_H +#define ACEXML_SOFTPKG_H + +#include "ace/pre.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +#pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ACEXML/common/XML_Types.h" +#include "ace/Unbounded_Set.h" + +class ACEXML_SoftPkg +{ +public: + typedef ACEXML_String Localfile; + typedef ACEXML_String Fileinarchive; + typedef ACEXML_String EntryPoint; + typedef ACEXML_String Processor; + typedef ACEXML_String Compiler; + typedef ACEXML_String ProgLang; + typedef PropertyFile Fileinarchive; + + struct Dependency + { + ACEXML_String type_; + localfile localfile_; + }; + struct OperSys + { + ACEXML_String name_; + ACEXML_String version_; + }; + struct Code + { + ACEXML_String type_; + Fileinarchive file_; + EntryPoint func_; + }; + struct Implementation + { + ACEXML_String id_; + OperSys os_; + Processor cpu_; + Compiler compiler_; + ProgLang lang_; + PropertyFile propfile_; + Code code_; + }; + typedef ACE_Unbouded_Set<Dependency*> Dependencies; + typedef ACE_Unbouded_Set<Implementation*> Implementations; + + ACEXML_SoftPkg(); + ~ACEXML_SoftPkg(); + int add_impl (const ACEXML_String& id); + int add_dep (const ACEXML_String& type); + Implementation* get_current_impl (void); + const ACE_Unbouded_Set<Implementation*>& get_all_impl (void) const; +private: + ACEXML_String name_; + ACEXML_String version_; + ACEXML_String pkgtype_; + ACEXML_String title_; + ACEXML_String author_; + ACEXML_String company_; + ACEXML_String webpage_; + ACEXML_String description_; + Dependency* current_dep_; + Implementation* current_impl_; + Implementations deps_; + Dependencies impls_; +}; + +#include "ace/post.h" + +#endif /* ACEXML_SOFTPKG_H */ diff --git a/ACEXML/compass/component.xml b/ACEXML/compass/component.xml new file mode 100644 index 00000000000..4d7fe61424b --- /dev/null +++ b/ACEXML/compass/component.xml @@ -0,0 +1,88 @@ +<?xml version="1.0"?> + <!DOCTYPE corbacomponent SYSTEM "corbacomponent.dtd"> +<corbacomponent> + <corbaversion> 3.0 </corbaversion> + <componentrepid repid="IDL:BookStore:1.0" /> + <homerepid repid="IDL:BookStoreHome:1.0" /> + <componentkind> + <entity> <servant lifetime="component" /> </entity> + </componentkind> + <security rightsfamily="corba" rightscombinator="secallrights"> </security> + <threading policy="multithread" /> + <configurationcomplete set="true" /> + <segment name="bookseg" segmenttag="1"> + <segmentmember facettag="1" /> + <segmentmember facettag="2" /> + <containermanagedpersistence> + <storagehome id="PSDL:BookHome:1.0" /> + <pssimplementation id="ACME-PSS" /> + <catalog type="PSDL:BookCatalog:1.0" /> + <accessmode mode="READ_ONLY" /> + <psstransaction policy="TRANSACTIONAL" > + <psstransactionisolationlevel level="SERIALIZABLE" /> + </psstransaction> + <params> <param name="x" value="1" /> </params> + </containermanagedpersistence> + </segment> + <homefeatures name="BookStoreHome" repid="IDL:BookStoreHome:1.0"> + <operationpolicies> + <operation name="*"> <transaction use="never" /> </operation> + </operationpolicies> + </homefeatures> + <componentfeatures name="BookStore" repid="IDL:BookStore:1.0"> + <inheritscomponent repid="IDL:Acme/Store:1.0" /> + <ports> + <provides providesname="book_search" repid="IDL:BookSearch:1.0" + facettag="1"> + <operationpolicies> + <operation name="getByAuthor"> + <requiredrights> <right name="get"/> </requiredrights> + </operation> + <operation name="getByTitle"> + <requiredrights> <right name="get"/> </requiredrights> + </operation> + <operation name="getByISBN"> + <requiredrights> <right name="get"/> </requiredrights> + </operation> + </operationpolicies> + </provides> + <provides providesname="shopping_cart" repid="IDL:CartFactory:1.0" + facettag="2" /> + <uses usesname="ups_rates" repid="IDL:ShippingRates:1.0" /> + <uses usesname="fedex_rates" repid="IDL:ShippingRates:1.0" /> + <emits emitsname="low_stock" eventtype="StockRecord"> + <eventpolicy policy="normal" /> + </emits> + <publishes publishesname="offer_alert" eventtype="SpecialOffer"> + <eventpolicy policy="normal" /> + </publishes> + </ports> + </componentfeatures> + <componentfeatures name="Store" repid="IDL:Acme/Store"> + <supportsinterface repid="IDL:Acme/GeneralStore"> + <operationpolicies> + <operation name="*"> <transaction use="required" /> </operation> + </operationpolicies> + </supportsinterface> + <ports> <provides providesname="admin" repid="IDL:Acme/StoreAdmin:1.0" + facettag="3" /> + </ports> + </componentfeatures> + <interface name="BookSearch" repid="IDL:BookSearch:1.0"> + <inheritsinterface repid="IDL:SearchEngine:1.0" /> + </interface> + <interface name="SearchEngine" repid="IDL:SearchEngine:1.0"/> + <interface name="CartFactory" repid="IDL:CartFactory:1.0"/> + <interface name="ShippingRates" repid="IDL:ShippingRates:1.0"/> + <interface name="StoreAdmin" repid="IDL:Acme/StoreAdmin:1.0"> + <operationpolicies> + <operation name="*"> + <transaction use="required" /> + <requiredrights> + <right name="manage"/> <right name="set"/> + </requiredrights> + </operation> + </operationpolicies> + </interface> + <interface name="GeneralStore" repid="IDL:Acme/GeneralStore:1.0"/> +</corbacomponent> diff --git a/ACEXML/compass/componentassembly.dtd b/ACEXML/compass/componentassembly.dtd new file mode 100644 index 00000000000..92c819d9b9b --- /dev/null +++ b/ACEXML/compass/componentassembly.dtd @@ -0,0 +1,326 @@ +<!-- DTD for Component Assembly Descriptor. The root element is + <componentassembly>. Elements are listed alphabetically. --> + +<!-- Simple xml link attributes based on W3C WD-xlink-19980303. May change + slightly when XLL is finalized. --> +<!ENTITY % simple-link-attributes " + xml:link CDATA #FIXED 'SIMPLE' + href CDATA #REQUIRED " > + +<!-- If file not available locally, then download via codebase link --> +<!ELEMENT codebase EMPTY > +<!ATTLIST codebase filename CDATA #IMPLIED + %simple-link-attributes; > + +<!ELEMENT componentassembly + ( description? + , componentfiles + , partitioning + , connections? + , extension* ) > +<!ATTLIST componentassembly + id ID #REQUIRED + derivedfrom CDATA #IMPLIED > + +<!ELEMENT componentfile + ( fileinarchive + | codebase + | link ) > +<!ATTLIST componentfile + id ID #REQUIRED + type CDATA #IMPLIED > + +<!ELEMENT componentfileref EMPTY > +<!ATTLIST componentfileref + idref CDATA #REQUIRED > + +<!ELEMENT componentfiles ( componentfile+ ) > + +<!ELEMENT componentimplref EMPTY > +<!ATTLIST componentimplref + idref CDATA #REQUIRED > + +<!ELEMENT componentinstantiation + ( usagename? + , componentproperties? + , registercomponent* + , extension* ) > +<!ATTLIST componentinstantiation + id ID #REQUIRED > + +<!ELEMENT componentinstantiationref EMPTY > +<!ATTLIST componentinstantiationref + idref CDATA #REQUIRED > + +<!ELEMENT componentproperties + ( fileinarchive + | codebase) > + +<!ELEMENT componentsupportedinterface + ( componentinstantiationref + | findby )> + +<!ELEMENT connectevent + ( consumesport + , ( emitsport + | publishesport + ) + ) > +<!ATTLIST connectevent + id ID #IMPLIED > + +<!ELEMENT connecthomes + ( proxyhome + , destinationhome ) > +<!ATTLIST connecthomes + id ID #IMPLIED > + +<!ELEMENT connectinterface + ( usesport + , ( providesport + | componentsupportedinterface + | existinginterface + | homeinterface + ) + ) > +<!ATTLIST connectinterface + id ID #IMPLIED > + +<!ELEMENT connections + ( connectinterface + | connectevent + | connecthomes + | extension )* > + +<!ELEMENT consumesidentifier ( #PCDATA ) > + +<!ELEMENT consumesport + ( consumesidentifier + , ( componentinstantiationref + | findby + ) + )> + +<!ELEMENT description ( #PCDATA ) > + +<!ELEMENT destination ( #PCDATA ) > + +<!ELEMENT destinationhome + ( homeplacementref + | findby ) > + +<!ELEMENT emitsidentifier (#PCDATA ) > + +<!ELEMENT emitsport + ( emitsidentifier + , ( componentinstantiationref + | findby + ) + )> + +<!ELEMENT executableplacement + ( usagename? + , componentfileref + , componentimplref? + , invocation? + , destination? + , extension* ) > +<!ATTLIST executableplacement + id ID #REQUIRED + cardinality CDATA "1" > + +<!ELEMENT existinginterface ( findby )> + +<!-- The "extension" element is used for vendor-specific extensions --> + +<!ELEMENT extension (#PCDATA) > +<!ATTLIST extension + class CDATA #REQUIRED + origin CDATA #REQUIRED + id ID #IMPLIED + extra CDATA #IMPLIED + html-form CDATA #IMPLIED > + +<!-- The "fileinarchive" element is used to specify a file in the archive. + If the file is independent of an archive then link is used to point to + the archive in which the file may be found. --> + +<!ELEMENT fileinarchive ( link? ) > +<!ATTLIST fileinarchive + name CDATA #REQUIRED > + +<!ELEMENT findby + ( namingservice + | stringifiedobjectref + | traderquery + | homefinder + | extension + ) > + +<!ELEMENT homefinder EMPTY > +<!ATTLIST homefinder name CDATA #REQUIRED > + +<!ELEMENT homeinterface ( homeplacementref | findby )> + +<!ELEMENT homeplacement + ( usagename? + , componentfileref + , componentimplref? + , homeproperties? + , componentproperties? + , registerwithhomefinder* + , registerwithnaming* + , registerwithtrader* + , componentinstantiation* + , destination? + , extension* ) > +<!ATTLIST homeplacement + id ID #REQUIRED + cardinality CDATA "1" + > + +<!ELEMENT homeplacementref EMPTY > +<!ATTLIST homeplacementref idref CDATA #REQUIRED > + +<!ELEMENT homeproperties + ( fileinarchive + | codebase ) > + +<!ELEMENT hostcollocation + ( usagename? + , impltype? + , ( homeplacement + | executableplacement + | processcollocation + | extension )+ + , destination? ) > +<!ATTLIST hostcollocation + id ID #IMPLIED + cardinality CDATA "1" > + +<!ELEMENT impltype EMPTY > +<!ATTLIST impltype + language CDATA #REQUIRED + version CDATA #IMPLIED > + +<!ELEMENT invocation EMPTY > +<!ATTLIST invocation + args CDATA #REQUIRED > + +<!ELEMENT link ( #PCDATA ) > +<!ATTLIST link + %simple-link-attributes; > + +<!ELEMENT namingservice EMPTY > +<!ATTLIST namingservice name CDATA #REQUIRED > + +<!ELEMENT partitioning + ( homeplacement + | executableplacement + | processcollocation + | hostcollocation + | extension + )* > + +<!ELEMENT processcollocation + ( usagename? + , impltype? + , ( homeplacement + | extension + )+ + , destination? + ) > +<!ATTLIST processcollocation + id ID #IMPLIED + cardinality CDATA "1" > + +<!ELEMENT providesidentifier ( #PCDATA ) > + +<!ELEMENT providesport + ( providesidentifier + , ( componentinstantiationref + | findby + ) + )> + +<!ELEMENT publishesidentifier ( #PCDATA ) > + +<!ELEMENT publishesport + ( publishesidentifier + , ( componentinstantiationref + | findby + ) + )> + +<!ELEMENT registercomponent + ( ( emitsidentifier + | providesidentifier + | publishesidentifier + )? + , ( registerwithnaming + | registerwithtrader )+ + ) > + +<!ELEMENT registerwithhomefinder EMPTY > +<!ATTLIST registerwithhomefinder + name CDATA #REQUIRED > + +<!ELEMENT registerwithnaming EMPTY > +<!ATTLIST registerwithnaming + name CDATA #IMPLIED > + +<!ELEMENT registerwithtrader ( traderproperties ) > +<!ATTLIST registerwithtrader + tradername CDATA #IMPLIED > + +<!-- DEVNOTE: is tradername necessary? --> + +<!-- DEVNOTE: Should trader properties be specified in component file? And + in assembly file? --> + +<!ELEMENT proxyhome ( homeplacementref | findby ) > + +<!ELEMENT stringifiedobjectref ( #PCDATA ) > + +<!ELEMENT traderconstraint ( #PCDATA ) > + +<!ELEMENT traderexport ( traderservicetypename , traderproperties ) > + +<!ELEMENT traderpolicy ( traderpolicyname , traderpolicyvalue ) > + +<!ELEMENT traderpolicyname ( #PCDATA ) > + +<!ELEMENT traderpolicyvalue ( #PCDATA ) > + +<!ELEMENT traderpreference ( #PCDATA ) > + +<!ELEMENT traderproperties ( traderproperty+ ) > + +<!ELEMENT traderproperty ( traderpropertyname , traderpropertyvalue ) > + +<!ELEMENT traderpropertyname ( #PCDATA ) > + +<!ELEMENT traderpropertyvalue ( #PCDATA ) > + +<!ELEMENT traderquery + ( traderservicetypename + , traderconstraint + , traderpreference? + , traderpolicy* + , traderspecifiedprop* + ) > + +<!ELEMENT traderservicetypename ( #PCDATA ) > + +<!ELEMENT traderspecifiedprop ( #PCDATA ) > + +<!ELEMENT usagename ( #PCDATA ) > + +<!ELEMENT usesidentifier ( #PCDATA ) > + +<!ELEMENT usesport + ( usesidentifier + , ( componentinstantiationref + | findby + ) + ) > diff --git a/ACEXML/compass/componentassembly.xml b/ACEXML/compass/componentassembly.xml new file mode 100644 index 00000000000..247c11c01a7 --- /dev/null +++ b/ACEXML/compass/componentassembly.xml @@ -0,0 +1,138 @@ +<!DOCTYPE componentassembly SYSTEM "componentassembly.dtd"> +<componentassembly id="ZZZ123"> + <description>Example assembly"</description> + + <componentfiles> + <componentfile id="A"> <fileinarchive name="ca.ccsd"/> </componentfile> + <componentfile id="B"> <fileinarchive name="cb.ccsd"/> </componentfile> + <componentfile id="C"> + <fileinarchive name="cc.ccsd"> + <link href="ftp://www.xyz.com/car/cc.car"/> + </fileinarchive> + </componentfile> + <componentfile id="D"> <fileinarchive name="cd.ccsd"/> </componentfile> + <componentfile id="E"> <fileinarchive name="ce.ccsd"/> </componentfile> + <componentfile id="F"> <fileinarchive name="cf.ccsd"/> </componentfile> + </componentfiles> + + <partitioning> + <homeplacement id="AaHome"> + <componentfileref idref="A"/> <componentinstantiation id="Aa"/> + </homeplacement> + + <processcollocation cardinality="*"> + <usagename>Example process collocation</usagename> + <impltype language="C++" /> + <!-- optional --> + <homeplacement id="BbHome"> + <componentfileref idref="B"/> <componentinstantiation id="Bb"/> + </homeplacement> + <homeplacement id="CcHome"> + <componentfileref idref="C"/> + <componentinstantiation id="Cc"/> + </homeplacement> + </processcollocation> + + <hostcollocation cardinality="1"> + <usagename>Example host collocation</usagename> + + <processcollocation cardinality="*"> + + <homeplacement id="DdHome"> + <componentfileref idref="D"/> + <componentinstantiation id="Dd"/> + </homeplacement> + + <homeplacement id="EdHome"> + <componentfileref idref="E"/> + <componentinstantiation id="Ee"/> + </homeplacement> + + </processcollocation> + + <homeplacement id="FfHome"> + <componentfileref idref="F"/> + <componentinstantiation id="Ff"/> + </homeplacement> + + </hostcollocation> + + <homeplacement id="AaaHome"> + + <usagename>Example home for A components</usagename> + <componentfileref idref="A"/> + <componentimplref idref="an A impl"/> + + <homeproperties> + <fileinarchive name="AHomeProperties.cpf"/> + </homeproperties> + + <componentproperties> + <fileinarchive name="defaultAProperties.cpf"/> + </componentproperties> + + <registerwithhomefinder name="AaHome"/> + + <componentinstantiation id="Aaa"> + <usagename>Example component instantiation </usagename> + + <componentproperties> + <fileinarchive name="AaaProperties.cpf"/> + </componentproperties> + + <registercomponent> + <registerwithnaming name="sink"/> + + <registerwithtrader> + + <traderproperties> + + <traderproperty> + <traderpropertyname>ppm</traderpropertyname> + <traderpropertyvalue>10</traderpropertyvalue> + </traderproperty> + + <traderproperty> + <traderpropertyname>weight</traderpropertyname> + <traderpropertyvalue>333</traderpropertyvalue> + </traderproperty> + + </traderproperties> + + </registerwithtrader> + + </registercomponent> + + </componentinstantiation> + + </homeplacement> + + </partitioning> + + <connections> + + <connectinterface> + <usesport> + <usesidentifier>abc</usesidentifier> + <componentinstantiationref idref="Aa"/> + </usesport> + <providesport> + <providesidentifier>abc</providesidentifier> + <componentinstantiationref idref="Bb"/> + </providesport> + </connectinterface> + + <connectevent> + <consumesport> + <consumesidentifier>pqr</consumesidentifier> + <componentinstantiationref idref="Aaa"/> + </consumesport> + <emitsport> + <emitsidentifier>mno</emitsidentifier> + <componentinstantiationref idref="Ee"/> + </emitsport> + </connectevent> + + </connections> + +</componentassembly> diff --git a/ACEXML/compass/corbacomponent.dtd b/ACEXML/compass/corbacomponent.dtd new file mode 100644 index 00000000000..8b8963b85c9 --- /dev/null +++ b/ACEXML/compass/corbacomponent.dtd @@ -0,0 +1,302 @@ +<!-- DTD for CORBA Component Descriptor. The root element is + <corbacomponent>. Elements are listed alphabetically. --> + +<!-- Simple xml link attributes based on W3C WD-xlink-19980303. May change + when XLL is finalized. --> + +<!ENTITY % simple-link-attributes " + xml:link CDATA #FIXED 'SIMPLE' + href CDATA #REQUIRED "> + +<!ELEMENT accessmode EMPTY> +<!ATTLIST accessmode + mode (READ_ONLY|READ_WRITE) #REQUIRED > + +<!ELEMENT catalog EMPTY> +<!ATTLIST catalog + type CDATA #REQUIRED > + +<!ELEMENT componentfeatures + ( inheritscomponent? + , supportsinterface* + , ports + , operationpolicies? + , extension* ) > +<!ATTLIST componentfeatures + name CDATA #REQUIRED + repid CDATA #REQUIRED > + +<!ELEMENT componentkind + ( service + | session + | process + | entity + | unclassified ) > + +<!ELEMENT componentproperties ( fileinarchive ) > + +<!ELEMENT componentrepid EMPTY > +<!ATTLIST componentrepid + repid CDATA #IMPLIED > + +<!ELEMENT containermanagedpersistence + ( storagehome + , pssimplementation? + , catalog? + , accessmode + , psstransaction + , params? ) > + +<!ELEMENT configurationcomplete EMPTY > +<!ATTLIST configurationcomplete + set ( true | false ) #REQUIRED > + +<!ELEMENT consumes + ( eventpolicy + , extension* + ) > +<!ATTLIST consumes + consumesname CDATA #REQUIRED + eventtype CDATA #REQUIRED > + +<!ELEMENT corbacomponent + ( corbaversion + , componentrepid + , homerepid + , componentkind + , interop? + , transaction? + , security? + , threading + , configurationcomplete + , extendedpoapolicy* + , repository? + , segment* + , componentproperties? + , homeproperties? + , homefeatures+ + , componentfeatures+ + , interface* + , extension* + ) > + +<!ELEMENT corbaversion (#PCDATA) > + +<!ELEMENT description ( #PCDATA ) > + +<!ELEMENT emits ( eventpolicy , extension* ) > +<!ATTLIST emits + emitsname CDATA #REQUIRED + eventtype CDATA #REQUIRED > + +<!ELEMENT entity ( servant ) > + +<!ELEMENT eventpolicy EMPTY> +<!ATTLIST eventpolicy + policy ( normal | default | transaction ) #IMPLIED> + +<!ELEMENT extendedpoapolicy EMPTY> +<!ATTLIST extendedpoapolicy + name CDATA #REQUIRED + value CDATA #REQUIRED > + +<!-- The "extension" element is used for vendor-specific extensions --> +<!ELEMENT extension (#PCDATA) > +<!ATTLIST extension + class CDATA #REQUIRED + origin CDATA #REQUIRED + id ID #IMPLIED + extra CDATA #IMPLIED + html-form CDATA #IMPLIED > + +<!-- The "fileinarchive" element is used to specify a file in the archive. + If the file is in another archive then link is used to point to the + archive in which the file may be found. --> + +<!ELEMENT fileinarchive ( link? ) > +<!ATTLIST fileinarchive + name CDATA #REQUIRED > + +<!ELEMENT homefeatures + ( inheritshome? + , operationpolicies? + , extension* + ) > +<!ATTLIST homefeatures + name CDATA #REQUIRED + repid CDATA #REQUIRED > + +<!ELEMENT homeproperties ( fileinarchive ) > + +<!ELEMENT homerepid EMPTY > +<!ATTLIST homerepid + repid CDATA #IMPLIED > + +<!ELEMENT inheritscomponent EMPTY> +<!ATTLIST inheritscomponent + repid CDATA #REQUIRED> + +<!ELEMENT inheritshome EMPTY> +<!ATTLIST inheritshome + repid CDATA #REQUIRED> + +<!ELEMENT inheritsinterface EMPTY> +<!ATTLIST inheritsinterface + repid CDATA #REQUIRED> + +<!ELEMENT ins EMPTY> +<!ATTLIST ins + name CDATA #REQUIRED > + +<!ELEMENT interface + ( inheritsinterface* + , operationpolicies? ) > +<!ATTLIST interface + name CDATA #REQUIRED + repid CDATA #REQUIRED > + +<!ELEMENT interop EMPTY> +<!ATTLIST interop + type CDATA #REQUIRED + direction ( hasview | isview) #REQUIRED + descriptor CDATA #REQUIRED > + +<!ELEMENT link ( #PCDATA ) > +<!ATTLIST link + %simple-link-attributes; > + +<!ELEMENT objref EMPTY> +<!ATTLIST objref + string CDATA #REQUIRED > + +<!ELEMENT operation + ( transaction? + , requiredrights? ) > +<!ATTLIST operation + name CDATA #REQUIRED > +<!-- an operation name of "*" specifies all operations in the current + scope --> + +<!ELEMENT operationpolicies ( operation+ ) > + +<!ELEMENT param EMPTY > +<!ATTLIST param + name CDATA #REQUIRED + value CDATA #REQUIRED > + +<!ELEMENT params (param+) > + +<!ELEMENT poapolicies EMPTY> +<!ATTLIST poapolicies + thread ( ORB_CTRL_MODEL | SINGLE_THREAD_SAFE ) #REQUIRED + lifespan ( TRANSIENT | PERSISTENT ) #REQUIRED + iduniqueness ( UNIQUE_ID | MULTIPLE_ID ) #REQUIRED + idassignment ( USER_ID | SYSTEM_ID ) #REQUIRED + servantretention ( RETAIN | NON_RETAIN ) #REQUIRED + requestprocessing ( USE_ACTIVE_OBJECT_MAP_ONLY + | USE_DEFAULT_SERVANT + | USE_SERVANT_MANAGER) #REQUIRED + implicitactivation ( IMPLICIT_ACTIVATION + | NON_IMPLICIT_ACTIVATION ) #REQUIRED> + +<!ELEMENT ports + ( uses + | provides + | emits + | publishes + | consumes + )* > + +<!ELEMENT process (servant ) > + +<!ELEMENT provides ( operationpolicies? , extension* ) > +<!ATTLIST provides + providesname CDATA #REQUIRED + repid CDATA #REQUIRED + facettag CDATA #REQUIRED > + +<!ELEMENT pssimplementation EMPTY> +<!ATTLIST pssimplementation + id CDATA #REQUIRED > + +<!ELEMENT psstransaction (psstransactionisolationlevel?) > +<!ATTLIST psstransaction + policy (TRANSACTIONAL|NON_TRANSACTIONAL) #REQUIRED > + +<!ELEMENT psstransactionisolationlevel EMPTY> +<!ATTLIST psstransactionisolationlevel + level ( READ_UNCOMMITTED + | READ_COMMITTED + | REPEATABLE_READ + | SERIALIZABLE ) #REQUIRED > + +<!ELEMENT publishes ( eventpolicy , extension* ) > +<!ATTLIST publishes + publishesname CDATA #REQUIRED + eventtype CDATA #REQUIRED > + +<!ELEMENT repository ( ins | objref | link ) > +<!ATTLIST repository + type CDATA #IMPLIED > + +<!ELEMENT requiredrights ( right* ) > + +<!ELEMENT right (description? ) > +<!ATTLIST right + name CDATA #REQUIRED > + +<!ELEMENT security ( requiredrights? ) > +<!ATTLIST security + rightsfamily CDATA #REQUIRED + rightscombinator (secallrights | secanyrights) #REQUIRED > + +<!ELEMENT segment + ( segmentmember+ + , containermanagedpersistence? + , extension* + ) > +<!ATTLIST segment + name CDATA #REQUIRED + segmenttag CDATA #REQUIRED > + +<!ELEMENT segmentmember EMPTY> +<!ATTLIST segmentmember + facettag CDATA #REQUIRED > + +<!ELEMENT servant EMPTY > +<!ATTLIST servant + lifetime (component|method|transaction|container) #REQUIRED > + +<!ELEMENT service EMPTY > + +<!ELEMENT session ( servant ) > + +<!ELEMENT storagehome EMPTY> +<!ATTLIST storagehome + id CDATA #REQUIRED > + +<!ELEMENT supportsinterface (operationpolicies? , extension* ) > +<!ATTLIST supportsinterface + repid CDATA #REQUIRED > + +<!ELEMENT threading EMPTY> +<!ATTLIST threading + policy (serialize | multithread ) #REQUIRED > + +<!ELEMENT transaction EMPTY > +<!ATTLIST transaction + use ( self-managed + | not-supported + | required + | supports + | requiresnew + | mandatory + | never + ) #REQUIRED > + +<!ELEMENT unclassified ( poapolicies ) > + +<!ELEMENT uses (extension* ) > +<!ATTLIST uses + usesname CDATA #REQUIRED + repid CDATA #REQUIRED > diff --git a/ACEXML/compass/eventchannel.cpf b/ACEXML/compass/eventchannel.cpf new file mode 100644 index 00000000000..4a88992bfa5 --- /dev/null +++ b/ACEXML/compass/eventchannel.cpf @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE properties SYSTEM "properties.dtd"> +<properties> + <struct name="ECProperties" type="ACEXML_EC_Property"> + <description>Configuration for a Simple Event Channel</description> + <simple name="ECDispatching" type="string"> + <value>reactive</value> + </simple> + <simple name="ECFiltering" type="string"> + <value>basic</value> + </simple> + <simple name="ECSupplierFiltering" type="string"> + <value>per-supplier</value> + </simple> + <simple name="ECProxyConsumerLock" type="string"> + <value>thread</value> + </simple> + <simple name="ECProxySupplierLock" type="string"> + <value>thread</value> + </simple> + <simple name="ECConsumerControl" type="string"> + <value>reactive</value> + </simple> + <simple name="ECSupplierControl" type="string"> + <value>reactive</value> + </simple> + <simple name="ECConsumerControlPeriod" type="long"> + <value>50000</value> + </simple> + <simple name="ECSupplierControlPeriod" type="long"> + <value>50000</value> + </simple> + </struct> +</properties> diff --git a/ACEXML/compass/meta-inf b/ACEXML/compass/meta-inf new file mode 100644 index 00000000000..f52a318b2ef --- /dev/null +++ b/ACEXML/compass/meta-inf @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE softpkg SYSTEM "softpkg.dtd"> +<softpkg name="EventChannelPkg" version="0.1"> + <pkgtype>CORBA Component</pkgtype> + <title>EventChannel</title> + <author> <company>DOC group </company> + <webpage href="http://www.cs.wustl.edu/~doc"/> + </author> + <description>A simple Event Channel test </description> + <dependency type="DSO" > + <localfile name="libTAO.so"/> + </dependency> + <implementation id="EventChannel" > + <os name="Linux" version="2,4,0,0" /> + <processor name="x86" /> + <compiler name="gcc" /> + <programminglanguage name="C++" /> + <propertyfile> <fileinarchive name="eventchannel.cpf"/></propertyfile> + <code type="DSO" > + <fileinarchive name="libService.so"/> + <entrypoint>createEventChannel</entrypoint> + </code> + </implementation> + <implementation id="Supplier" > + <os name="Linux" version="2,4,0,0" /> + <processor name="x86" /> + <compiler name="gcc" /> + <programminglanguage name="C++" /> + <code type="DSO"> + <fileinarchive name="libSupplier.so"/> + <entrypoint>createSupplier</entrypoint> + </code> + </implementation> + <implementation id="Consumer" > + <os name="Linux" version="2,4,0,0" /> + <processor name="x86" /> + <compiler name="gcc" /> + <programminglanguage name="C++" /> + <code type="DSO" > + <fileinarchive name="libConsumer.so"/> + <entrypoint>createConsumer</entrypoint> + </code> + </implementation> +</softpkg> diff --git a/ACEXML/compass/properties.dtd b/ACEXML/compass/properties.dtd new file mode 100644 index 00000000000..2dd070fb8ec --- /dev/null +++ b/ACEXML/compass/properties.dtd @@ -0,0 +1,82 @@ +<!-- DTD for CORBA Component property file. The root element is + <properties>. Elements are listed alphabetically. --> + +<!ELEMENT choice (#PCDATA ) > + +<!ELEMENT choices ( choice | range )+ > + +<!ELEMENT defaultvalue ( #PCDATA ) > + +<!ELEMENT description ( #PCDATA ) > + +<!ELEMENT value ( #PCDATA) > + +<!ELEMENT properties + ( description? + , ( simple + | sequence + | struct + | valuetype + )* + ) > + +<!ELEMENT range (value, value) > + +<!ELEMENT simple + ( description? + , value + , choices? + , defaultvalue? + ) > +<!ATTLIST simple + name CDATA #IMPLIED + type ( boolean + | char + | double + | float + | short + | long + | objref + | octet + | short + | string + | ulong + | ushort + ) #REQUIRED > + +<!ELEMENT sequence + ( description? + , ( simple* + | struct* + | sequence* + | valuetype* + ) + ) > +<!ATTLIST sequence + name CDATA #IMPLIED + type CDATA #REQUIRED > + +<!ELEMENT struct + ( description? + , ( simple + | sequence + | struct + | valuetype + )* + ) > +<!ATTLIST struct + name CDATA #IMPLIED + type CDATA #REQUIRED > + +<!ELEMENT valuetype + ( description? + , ( simple + | sequence + | struct + | valuetype + )* + ) > +<!ATTLIST valuetype + name CDATA #IMPLIED + type CDATA #REQUIRED + primarykey (true | false) "false" > diff --git a/ACEXML/compass/properties.xml b/ACEXML/compass/properties.xml new file mode 100644 index 00000000000..06a0da9bc15 --- /dev/null +++ b/ACEXML/compass/properties.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE properties SYSTEM "properties.dtd"> +<properties> + <struct name="ECProperties" type="EC_Properties"> + <description>Configuration for a Simple Event Channel</description> + <simple name="ECDispactching" type="string"> + <value>reactive</value> + </simple> + <simple name="ECFiltering" type="string"> + <value>basic</value> + </simple> + <simple name="ECSupplierFiltering" type="string"> + <value>per-supplier</value> + </simple> + <simple name="ECProxyConsumerLock" type="string"> + <value>thread</value> + </simple> + <simple name="ECProxySupplierLock" type="string"> + <value>thread</value> + </simple> + <simple name="ECConsumerControl" type="string"> + <value>reactive</value> + </simple> + <simple name="ECSupplierControl" type="string"> + <value>reactive</value> + </simple> + <simple name="ECConsumerControlPeriod" type="long"> + <value>50000</value> + </simple> + <simple name="ECSupplierControlPeriod" type="long"> + <value>50000</value> + </simple> + </struct> +</properties> diff --git a/ACEXML/compass/softpkg.dtd b/ACEXML/compass/softpkg.dtd new file mode 100644 index 00000000000..feab0f69da8 --- /dev/null +++ b/ACEXML/compass/softpkg.dtd @@ -0,0 +1,187 @@ +<!-- DTD for softpkg. Used to describe CORBA Component implementations. The + root element is <softpkg>. Elements are listed alphabetically. --> + +<!-- Simple xml link attributes based on W3C WD-xlink-19980303. May change + when XLL is finalized. --> + +<!ENTITY % simple-link-attributes + " xml:link CDATA #FIXED 'SIMPLE' + href CDATA #REQUIRED "> + +<!ELEMENT author ( name | company | webpage)* > + +<!ELEMENT code ( ( codebase + | fileinarchive + | link + ) + , entrypoint? + , usage? + ) > +<!ATTLIST code type CDATA #IMPLIED > + +<!-- If file not available locally, then download via codebase link --> +<!ELEMENT codebase EMPTY > +<!ATTLIST codebase + filename CDATA #IMPLIED + %simple-link-attributes; > + +<!ELEMENT compiler EMPTY > +<!ATTLIST compiler + name CDATA #REQUIRED + version CDATA #IMPLIED > + +<!ELEMENT company ( #PCDATA ) > + +<!ELEMENT dependency + ( softpkgref + | codebase + | fileinarchive + | localfile + | name + | valuetypefactory ) > +<!ATTLIST dependency + type CDATA #IMPLIED + action (assert | install) "assert"> + +<!ELEMENT description ( #PCDATA ) > + +<!ELEMENT descriptor ( link | fileinarchive ) > +<!ATTLIST descriptor + type CDATA #IMPLIED> + +<!ELEMENT entrypoint ( #PCDATA) > + +<!-- The "extension" element is used for vendor-specific extensions --> +<!ELEMENT extension (#PCDATA) > +<!ATTLIST extension + class CDATA #REQUIRED + origin CDATA #REQUIRED + id ID #IMPLIED + extra CDATA #IMPLIED + html-form CDATA #IMPLIED > + +<!-- The "fileinarchive" element is used to specify a file in the archive. + If the file is in another archive then link is used to point to the + archive in which the file may be found. --> + +<!ELEMENT fileinarchive ( link? ) > +<!ATTLIST fileinarchive + name CDATA #REQUIRED > + +<!ELEMENT idl ( link | fileinarchive | repository ) > +<!ATTLIST idl + id CDATA #REQUIRED > + +<!ELEMENT implementation + ( description + | code + | compiler + | dependency + | descriptor + | extension + | programminglanguage + | humanlanguage + | os + | propertyfile + | processor + | runtime + )* > +<!ATTLIST implementation + id ID #IMPLIED + variation CDATA #IMPLIED > + +<!ELEMENT implref EMPTY > +<!ATTLIST implref + idref CDATA #REQUIRED > + +<!ELEMENT humanlanguage EMPTY > +<!ATTLIST humanlanguage + name CDATA #REQUIRED > + +<!ELEMENT license ( #PCDATA ) > +<!ATTLIST license + %simple-link-attributes; > + +<!ELEMENT link ( #PCDATA ) > +<!ATTLIST link + %simple-link-attributes; > + +<!-- A file that should be available in the local environment --> + +<!ELEMENT localfile EMPTY > +<!ATTLIST localfile + name CDATA #REQUIRED > + +<!ELEMENT name ( #PCDATA ) > + +<!ELEMENT os EMPTY > +<!ATTLIST os + name CDATA #REQUIRED + version CDATA #IMPLIED> + +<!ELEMENT pkgtype ( #PCDATA ) > +<!ATTLIST pkgtype + version CDATA #IMPLIED > + +<!ELEMENT processor EMPTY > +<!ATTLIST processor + name CDATA #REQUIRED > + +<!ELEMENT programminglanguage EMPTY> +<!ATTLIST programminglanguage + name CDATA #REQUIRED + version CDATA #IMPLIED > + +<!ELEMENT propertyfile + ( fileinarchive + | link + ) > +<!ATTLIST propertyfile + type CDATA #IMPLIED > + +<!ELEMENT repository ( ins | objref | link ) > +<!ATTLIST repository + type CDATA #IMPLIED > + +<!ELEMENT runtime EMPTY > +<!ATTLIST runtime + name CDATA #REQUIRED + version CDATA #IMPLIED> + +<!ELEMENT softpkg + ( title + | pkgtype + | author + | description? + | license + | idl + | propertyfile + | dependency + | descriptor + | implementation + | extension + )* > +<!ATTLIST softpkg + name ID #REQUIRED + version CDATA #IMPLIED > + +<!ELEMENT softpkgref + ( ( fileinarchive + | link ) + , implref? ) > + +<!ELEMENT title ( #PCDATA ) > + +<!ELEMENT usage ( #PCDATA ) > + +<!ELEMENT valuetypefactory + ( codebase + | fileinarchive + | link ) > +<!ATTLIST valuetypefactory + repid CDATA #REQUIRED + valueentrypoint CDATA #IMPLIED + factoryentrypoint CDATA #IMPLIED > + +<!ELEMENT webpage ( #PCDATA ) > +<!ATTLIST webpage %simple-link-attributes; > diff --git a/ACEXML/compass/softpkg.xml b/ACEXML/compass/softpkg.xml new file mode 100644 index 00000000000..e61cb4f4a6d --- /dev/null +++ b/ACEXML/compass/softpkg.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE softpkg SYSTEM "softpkg.dtd"> +<softpkg name="EventChannelPkg" version="0.1"> + <pkgtype>CORBA Component</pkgtype> + <title>EventChannel</title> + <author> <company>DOC group </company> + <webpage href="http://www.cs.wustl.edu/~doc"/> + </author> + <description>A simple Event Channel test </description> + <dependency type="DSO" > + <localfile name="libTAO.so"/> + </dependency> + <implementation id="EventChannel" > + <os name="Linux" version="4,0,0,0" /> + <processor name="x86" /> + <compiler name="gcc" /> + <programminglanguage name="C++" /> + <propertyfile> <fileinarchive name="eventchannel.cpf"/></propertyfile> + <code type="DSO" > + <fileinarchive name="libService.so"/> + <entrypoint>createEventChannel</entrypoint> + </code> + </implementation> + <implementation id="Supplier" > + <os name="Linux" version="4,0,0,0" /> + <processor name="x86" /> + <compiler name="gcc" /> + <programminglanguage name="C++" /> + <code type="DSO"> + <fileinarchive name="libSupplier.so"/> + <entrypoint>createSupplier</entrypoint> + </code> + </implementation> + <implementation id="Consumer" > + <os name="Linux" version="4,0,0,0" /> + <processor name="x86" /> + <compiler name="gcc" /> + <programminglanguage name="C++" /> + <code type="DSO" > + <fileinarchive name="libConsumer.so"/> + <entrypoint>createConsumer</entrypoint> + </code> + </implementation> +</softpkg> diff --git a/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp b/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp index d3df75a3766..dd09a189647 100644 --- a/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp +++ b/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp @@ -69,12 +69,15 @@ ACEXML_SAXPrint_Handler::endPrefixMapping (const ACEXML_Char *prefix } void -ACEXML_SAXPrint_Handler::ignorableWhitespace (const ACEXML_Char *, +ACEXML_SAXPrint_Handler::ignorableWhitespace (const ACEXML_Char * cdata, int, int ACEXML_ENV_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((ACEXML_SAXException)) { - // ACE_DEBUG ((LM_DEBUG, + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("%s"), + cdata)); +// ACE_DEBUG ((LM_DEBUG, // ACE_TEXT ("* Event ignorableWhitespace () ***************\n"))); } |