You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2006/12/16 08:48:31 UTC
svn commit: r487770 [2/3] - in /incubator/tuscany/cpp/sca/runtime: core/src/
core/src/tuscany/sca/core/ core/src/tuscany/sca/model/
core/src/tuscany/sca/util/ extensions/cpp/src/osoa/sca/
extensions/cpp/src/tuscany/sca/cpp/ extensions/php/src/tuscany/s...
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logger.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logger.cpp?view=diff&rev=487770&r1=487769&r2=487770
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logger.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logger.cpp Fri Dec 15 23:48:29 2006
@@ -38,219 +38,222 @@
{
namespace sca
{
- LogWriter* Logger::logWriter = getLogWriter();
-
- char* Logger::pid = NULL;
-
- LogWriter* Logger::getLogWriter()
+ namespace util
{
- if (logWriter == 0)
- {
- setLogWriter(0);
-
- pid = new char[10];
+ LogWriter* Logger::logWriter = getLogWriter();
+
+ char* Logger::pid = NULL;
+
+ LogWriter* Logger::getLogWriter()
+ {
+ if (logWriter == 0)
+ {
+ setLogWriter(0);
+
+ pid = new char[10];
#if defined(WIN32) || defined (_WINDOWS)
- sprintf(pid, "%d", _getpid());
+ sprintf(pid, "%d", _getpid());
#else
- sprintf(pid, "%d", getpid());
+ sprintf(pid, "%d", getpid());
#endif
+ }
+ return logWriter;
}
- return logWriter;
- }
-
- void Logger::setLogWriter(LogWriter* writer)
- {
- if (logWriter != writer
- && logWriter != 0)
+
+ void Logger::setLogWriter(LogWriter* writer)
{
- delete logWriter;
+ if (logWriter != writer
+ && logWriter != 0)
+ {
+ delete logWriter;
+ }
+
+ if (writer == 0)
+ {
+ char* loggingVar = 0;
+ loggingVar = getenv("TUSCANY_SCACPP_LOG");
+ if (loggingVar == 0)
+ logWriter = new DefaultLogWriter;
+ else
+ logWriter = new FileLogWriter(loggingVar);
+ }
+ else
+ {
+ logWriter = writer;
+ }
}
-
- if (writer == 0)
+
+ int Logger::loggingLevel = setLogging();
+
+ int Logger::setLogging()
{
char* loggingVar = 0;
- loggingVar = getenv("TUSCANY_SCACPP_LOG");
+ loggingVar = getenv("TUSCANY_SCACPP_LOGGING");
if (loggingVar == 0)
- logWriter = new DefaultLogWriter;
+ return 0;
else
- logWriter = new FileLogWriter(loggingVar);
+ return atoi(loggingVar);
}
- else
- {
- logWriter = writer;
- }
- }
-
- int Logger::loggingLevel = setLogging();
-
- int Logger::setLogging()
- {
- char* loggingVar = 0;
- loggingVar = getenv("TUSCANY_SCACPP_LOGGING");
- if (loggingVar == 0)
- return 0;
- else
- return atoi(loggingVar);
- }
-
- void Logger::setLogging(int level)
- {
- loggingLevel = level;
- }
- void Logger::log(int level, const char* msg)
- {
- if (level <= loggingLevel)
+ void Logger::setLogging(int level)
{
- logWriter->log(level, pid, msg);
+ loggingLevel = level;
}
- }
-
- void Logger::logArgs(int level, const char* msg, ...)
- {
- if (level <= loggingLevel)
+
+ void Logger::log(int level, const char* msg)
{
- va_list variableArguments;
- va_start(variableArguments, msg);
- char messageBuffer[256];
- int size = vsnprintf(messageBuffer, 255, msg, variableArguments);
-#if defined(WIN32) || defined (_WINDOWS)
- if (size == -1)
- {
- size = _vscprintf(msg, variableArguments);
- char* bigMessageBuffer = new char[size+1];
- vsnprintf(bigMessageBuffer, size, msg, variableArguments);
- bigMessageBuffer[size] = '\0';
- logWriter->log(level, pid, bigMessageBuffer);
- delete bigMessageBuffer;
- }
-#else
- if (size > 255)
+ if (level <= loggingLevel)
{
- char* bigMessageBuffer = new char[size+1];
- vsnprintf(bigMessageBuffer, size, msg, variableArguments);
- bigMessageBuffer[size] = '\0';
- logWriter->log(level, pid, bigMessageBuffer);
- delete bigMessageBuffer;
+ logWriter->log(level, pid, msg);
}
-#endif
- else
- {
- messageBuffer[255] = '\0';
- logWriter->log(level, pid, messageBuffer);
- }
- va_end(variableArguments);
}
- }
-
- void Logger::logArgs0(const char* msg, ...)
- {
- if (0 <= loggingLevel)
+
+ void Logger::logArgs(int level, const char* msg, ...)
{
- va_list variableArguments;
- va_start(variableArguments, msg);
- char messageBuffer[256];
- int size = vsnprintf(messageBuffer, 255, msg, variableArguments);
-#if defined(WIN32) || defined (_WINDOWS)
- if (size == -1)
+ if (level <= loggingLevel)
{
- size = _vscprintf(msg, variableArguments);
- char* bigMessageBuffer = new char[size+1];
- vsnprintf(bigMessageBuffer, size, msg, variableArguments);
- bigMessageBuffer[size] = '\0';
- logWriter->log(0, pid, bigMessageBuffer);
- delete bigMessageBuffer;
- }
+ va_list variableArguments;
+ va_start(variableArguments, msg);
+ char messageBuffer[256];
+ int size = vsnprintf(messageBuffer, 255, msg, variableArguments);
+#if defined(WIN32) || defined (_WINDOWS)
+ if (size == -1)
+ {
+ size = _vscprintf(msg, variableArguments);
+ char* bigMessageBuffer = new char[size+1];
+ vsnprintf(bigMessageBuffer, size, msg, variableArguments);
+ bigMessageBuffer[size] = '\0';
+ logWriter->log(level, pid, bigMessageBuffer);
+ delete bigMessageBuffer;
+ }
#else
- if (size > 255)
- {
- char* bigMessageBuffer = new char[size+1];
- vsnprintf(bigMessageBuffer, size, msg, variableArguments);
- bigMessageBuffer[size] = '\0';
- logWriter->log(0, pid, bigMessageBuffer);
- delete bigMessageBuffer;
- }
+ if (size > 255)
+ {
+ char* bigMessageBuffer = new char[size+1];
+ vsnprintf(bigMessageBuffer, size, msg, variableArguments);
+ bigMessageBuffer[size] = '\0';
+ logWriter->log(level, pid, bigMessageBuffer);
+ delete bigMessageBuffer;
+ }
#endif
- else
- {
- messageBuffer[255] = '\0';
- logWriter->log(0, pid, messageBuffer);
+ else
+ {
+ messageBuffer[255] = '\0';
+ logWriter->log(level, pid, messageBuffer);
+ }
+ va_end(variableArguments);
}
- va_end(variableArguments);
}
- }
- void Logger::logArgs1(const char* msg, ...)
- {
- if (1 <= loggingLevel)
+
+ void Logger::logArgs0(const char* msg, ...)
{
- va_list variableArguments;
- va_start(variableArguments, msg);
- char messageBuffer[256];
- int size = vsnprintf(messageBuffer, 255, msg, variableArguments);
-#if defined(WIN32) || defined (_WINDOWS)
- if (size == -1)
+ if (0 <= loggingLevel)
{
- size = _vscprintf(msg, variableArguments);
- char* bigMessageBuffer = new char[size+1];
- vsnprintf(bigMessageBuffer, size, msg, variableArguments);
- bigMessageBuffer[size] = '\0';
- logWriter->log(1, pid, bigMessageBuffer);
- delete bigMessageBuffer;
- }
+ va_list variableArguments;
+ va_start(variableArguments, msg);
+ char messageBuffer[256];
+ int size = vsnprintf(messageBuffer, 255, msg, variableArguments);
+#if defined(WIN32) || defined (_WINDOWS)
+ if (size == -1)
+ {
+ size = _vscprintf(msg, variableArguments);
+ char* bigMessageBuffer = new char[size+1];
+ vsnprintf(bigMessageBuffer, size, msg, variableArguments);
+ bigMessageBuffer[size] = '\0';
+ logWriter->log(0, pid, bigMessageBuffer);
+ delete bigMessageBuffer;
+ }
#else
- if (size > 255)
- {
- char* bigMessageBuffer = new char[size+1];
- vsnprintf(bigMessageBuffer, size, msg, variableArguments);
- bigMessageBuffer[size] = '\0';
- logWriter->log(1, pid, bigMessageBuffer);
- delete bigMessageBuffer;
- }
+ if (size > 255)
+ {
+ char* bigMessageBuffer = new char[size+1];
+ vsnprintf(bigMessageBuffer, size, msg, variableArguments);
+ bigMessageBuffer[size] = '\0';
+ logWriter->log(0, pid, bigMessageBuffer);
+ delete bigMessageBuffer;
+ }
#endif
- else
- {
- messageBuffer[255] = '\0';
- logWriter->log(1, pid, messageBuffer);
- }
- va_end(variableArguments);
- }
- }
- void Logger::logArgs2(const char* msg, ...)
- {
- if (2 <= loggingLevel)
- {
- va_list variableArguments;
- va_start(variableArguments, msg);
- char messageBuffer[256];
- int size = vsnprintf(messageBuffer, 255, msg, variableArguments);
+ else
+ {
+ messageBuffer[255] = '\0';
+ logWriter->log(0, pid, messageBuffer);
+ }
+ va_end(variableArguments);
+ }
+ }
+ void Logger::logArgs1(const char* msg, ...)
+ {
+ if (1 <= loggingLevel)
+ {
+ va_list variableArguments;
+ va_start(variableArguments, msg);
+ char messageBuffer[256];
+ int size = vsnprintf(messageBuffer, 255, msg, variableArguments);
#if defined(WIN32) || defined (_WINDOWS)
- if (size == -1)
- {
- size = _vscprintf(msg, variableArguments);
- char* bigMessageBuffer = new char[size+1];
- vsnprintf(bigMessageBuffer, size, msg, variableArguments);
- bigMessageBuffer[size] = '\0';
- logWriter->log(2, pid, bigMessageBuffer);
- delete bigMessageBuffer;
- }
+ if (size == -1)
+ {
+ size = _vscprintf(msg, variableArguments);
+ char* bigMessageBuffer = new char[size+1];
+ vsnprintf(bigMessageBuffer, size, msg, variableArguments);
+ bigMessageBuffer[size] = '\0';
+ logWriter->log(1, pid, bigMessageBuffer);
+ delete bigMessageBuffer;
+ }
#else
- if (size > 255)
- {
- char* bigMessageBuffer = new char[size+1];
- vsnprintf(bigMessageBuffer, size, msg, variableArguments);
- bigMessageBuffer[size] = '\0';
- logWriter->log(2, pid, bigMessageBuffer);
- delete bigMessageBuffer;
- }
+ if (size > 255)
+ {
+ char* bigMessageBuffer = new char[size+1];
+ vsnprintf(bigMessageBuffer, size, msg, variableArguments);
+ bigMessageBuffer[size] = '\0';
+ logWriter->log(1, pid, bigMessageBuffer);
+ delete bigMessageBuffer;
+ }
#endif
- else
- {
- messageBuffer[255] = '\0';
- logWriter->log(2, pid, messageBuffer);
+ else
+ {
+ messageBuffer[255] = '\0';
+ logWriter->log(1, pid, messageBuffer);
+ }
+ va_end(variableArguments);
+ }
+ }
+ void Logger::logArgs2(const char* msg, ...)
+ {
+ if (2 <= loggingLevel)
+ {
+ va_list variableArguments;
+ va_start(variableArguments, msg);
+ char messageBuffer[256];
+ int size = vsnprintf(messageBuffer, 255, msg, variableArguments);
+#if defined(WIN32) || defined (_WINDOWS)
+ if (size == -1)
+ {
+ size = _vscprintf(msg, variableArguments);
+ char* bigMessageBuffer = new char[size+1];
+ vsnprintf(bigMessageBuffer, size, msg, variableArguments);
+ bigMessageBuffer[size] = '\0';
+ logWriter->log(2, pid, bigMessageBuffer);
+ delete bigMessageBuffer;
+ }
+#else
+ if (size > 255)
+ {
+ char* bigMessageBuffer = new char[size+1];
+ vsnprintf(bigMessageBuffer, size, msg, variableArguments);
+ bigMessageBuffer[size] = '\0';
+ logWriter->log(2, pid, bigMessageBuffer);
+ delete bigMessageBuffer;
+ }
+#endif
+ else
+ {
+ messageBuffer[255] = '\0';
+ logWriter->log(2, pid, messageBuffer);
+ }
+ va_end(variableArguments);
}
- va_end(variableArguments);
}
- }
+ } // End namespace util
} // End namespace sca
} // End namespace tuscany
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logger.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logger.h?view=diff&rev=487770&r1=487769&r2=487770
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logger.h (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logger.h Fri Dec 15 23:48:29 2006
@@ -28,104 +28,107 @@
{
namespace sca
{
- /**
- * Provide a logging interface.
- */
- class Logger {
-
- public:
- /**
- * Set the log writer to use.
- * @param writer The writer to use for all subsequent logging.
- */
- SCA_API static void setLogWriter(LogWriter* writer);
-
- /**
- * Set or reset the logging level. Any message with a higher logging
- * level than this value will be filtered (i.e. not shown).
- * @param level The level of logging to use for all subsequent logging.
- */
- SCA_API static void setLogging(int level);
-
- /**
- * Log a message.
- * @param level The log level of this message.
- * @param msg The message to be logged.
- */
- SCA_API static void log(int level, const char* msg);
-
- /**
- * Log a message with variable arguments.
- * @param level The log level of this message.
- * @param msg The message to be logged. Must include template
- * characters as described in printf.
- * @param ... Variable arguments.
- */
- SCA_API static void logArgs(int level, const char* msg, ...);
- SCA_API static void logArgs0(const char* msg, ...);
- SCA_API static void logArgs1(const char* msg, ...);
- SCA_API static void logArgs2(const char* msg, ...);
-
- /**
- * The currently set logging level
- */
- SCA_API static int loggingLevel;
-
- private:
- /**
- * The current log writer.
- */
- static LogWriter* logWriter;
-
- /**
- * The current process ID
- */
- static char* pid;
-
- /**
- * Get the current log writer.
- * @return The current log writer.
- */
- static LogWriter* getLogWriter();
-
- /**
- * Retrieves the logging level set as an environment variable.
- */
- static int setLogging();
-
+ namespace util
+ {
/**
- * Message buffer
+ * Provide a logging interface.
*/
- static char messageBuffer[4096];
+ class Logger {
+
+ public:
+ /**
+ * Set the log writer to use.
+ * @param writer The writer to use for all subsequent logging.
+ */
+ SCA_API static void setLogWriter(LogWriter* writer);
+
+ /**
+ * Set or reset the logging level. Any message with a higher logging
+ * level than this value will be filtered (i.e. not shown).
+ * @param level The level of logging to use for all subsequent logging.
+ */
+ SCA_API static void setLogging(int level);
+
+ /**
+ * Log a message.
+ * @param level The log level of this message.
+ * @param msg The message to be logged.
+ */
+ SCA_API static void log(int level, const char* msg);
+
+ /**
+ * Log a message with variable arguments.
+ * @param level The log level of this message.
+ * @param msg The message to be logged. Must include template
+ * characters as described in printf.
+ * @param ... Variable arguments.
+ */
+ SCA_API static void logArgs(int level, const char* msg, ...);
+ SCA_API static void logArgs0(const char* msg, ...);
+ SCA_API static void logArgs1(const char* msg, ...);
+ SCA_API static void logArgs2(const char* msg, ...);
+
+ /**
+ * The currently set logging level
+ */
+ SCA_API static int loggingLevel;
+
+ private:
+ /**
+ * The current log writer.
+ */
+ static LogWriter* logWriter;
+
+ /**
+ * The current process ID
+ */
+ static char* pid;
+
+ /**
+ * Get the current log writer.
+ * @return The current log writer.
+ */
+ static LogWriter* getLogWriter();
+
+ /**
+ * Retrieves the logging level set as an environment variable.
+ */
+ static int setLogging();
+
+ /**
+ * Message buffer
+ */
+ static char messageBuffer[4096];
+
+ };
- };
-
- class LogEntry
- {
- public:
-
- LogEntry(const char* func)
- : funcName(func)
+ class LogEntry
{
- if (tuscany::sca::Logger::loggingLevel >= 2)
+ public:
+
+ LogEntry(const char* func)
+ : funcName(func)
{
- Logger::logArgs(2, ">> %s", funcName);
+ if (Logger::loggingLevel >= 2)
+ {
+ Logger::logArgs(2, ">> %s", funcName);
+ }
}
- }
-
- ~LogEntry()
- {
- if (tuscany::sca::Logger::loggingLevel >= 2)
+
+ ~LogEntry()
{
- tuscany::sca::Logger::logArgs(2, "<< %s", funcName);
+ if (Logger::loggingLevel >= 2)
+ {
+ Logger::logArgs(2, "<< %s", funcName);
+ }
}
- }
+
+ private:
+ const char *funcName;
- private:
- const char *funcName;
-
- };
+ };
+ } // End namespace util
} // End namespace sca
} // End namespace tuscany
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logging.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logging.h?view=diff&rev=487770&r1=487769&r2=487770
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logging.h (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/Logging.h Fri Dec 15 23:48:29 2006
@@ -26,19 +26,19 @@
#if defined(WIN32) || defined (_WINDOWS)
#define logentry() \
-const tuscany::sca::LogEntry __LOGENTRY__(__FUNCTION__)
+const tuscany::sca::util::LogEntry __LOGENTRY__(__FUNCTION__)
#else
#define logentry() \
-const tuscany::sca::LogEntry __LOGENTRY__(__PRETTY_FUNCTION__)
+const tuscany::sca::util::LogEntry __LOGENTRY__(__PRETTY_FUNCTION__)
#endif
#define loginfo \
-if (tuscany::sca::Logger::loggingLevel >= 2) tuscany::sca::Logger::logArgs2
+if (tuscany::sca::util::Logger::loggingLevel >= 2) tuscany::sca::util::Logger::logArgs2
#define logwarning \
-if (tuscany::sca::Logger::loggingLevel >= 1) tuscany::sca::Logger::logArgs1
+if (tuscany::sca::util::Logger::loggingLevel >= 1) tuscany::sca::util::Logger::logArgs1
#define logerror \
-if (tuscany::sca::Logger::loggingLevel >= 0) tuscany::sca::Logger::logArgs0
+if (tuscany::sca::util::Logger::loggingLevel >= 0) tuscany::sca::util::Logger::logArgs0
#endif // tuscany_sca_util_logging_h
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/SDOUtils.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/SDOUtils.cpp?view=diff&rev=487770&r1=487769&r2=487770
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/SDOUtils.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/SDOUtils.cpp Fri Dec 15 23:48:29 2006
@@ -31,279 +31,363 @@
{
namespace sca
{
-
- /**
- * Constructor
- */
- SDOVisitor::SDOVisitor()
- {
- }
-
- /**
- * Destructor
- */
- SDOVisitor::~SDOVisitor()
- {
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, bool boolData)
- {
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, char byteData)
- {
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, const char* bytesData)
- {
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, wchar_t charData)
- {
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, const SDODate& dateData)
- {
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, long double doubleData)
+ namespace util
{
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, float floatData)
- {
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, long intData)
- {
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, short shortData)
- {
- return SDOVisitor::RESULT_NOT_SUPPORTED;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, const string& stringData)
- {
- return SDOVisitor::RESULT_CONTINUE;
- }
-
- SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, DataObjectPtr dataObjectData)
- {
- return SDOVisitor::RESULT_CONTINUE;
- }
-
- SDOVisitor::RESULT SDOUtils::accept(DataObjectPtr dataObject, SDOVisitor& visitor, SDOVisitor::DEPTH depth)
- {
- SDOVisitor::RESULT result = SDOVisitor::RESULT_CONTINUE;
-
- const Type& type = dataObject->getType();
- if (type.isSequencedType())
- {
- Sequence* sequence = dataObject->getSequence();
- int size = sequence->size();
- for (int i = 0; i < size; i++)
+ /**
+ * Constructor
+ */
+ SDOVisitor::SDOVisitor()
+ {
+ }
+
+ /**
+ * Destructor
+ */
+ SDOVisitor::~SDOVisitor()
+ {
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, bool boolData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, char byteData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, const char* bytesData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, wchar_t charData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, const SDODate& dateData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, long double doubleData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, float floatData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, long intData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, short shortData)
+ {
+ return SDOVisitor::RESULT_NOT_SUPPORTED;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, const string& stringData)
+ {
+ return SDOVisitor::RESULT_CONTINUE;
+ }
+
+ SDOVisitor::RESULT SDOVisitor::visit(DataObjectPtr parent, const Property& property, DataObjectPtr dataObjectData)
+ {
+ return SDOVisitor::RESULT_CONTINUE;
+ }
+
+ SDOVisitor::RESULT SDOUtils::accept(DataObjectPtr dataObject, SDOVisitor& visitor, SDOVisitor::DEPTH depth)
+ {
+ SDOVisitor::RESULT result = SDOVisitor::RESULT_CONTINUE;
+
+ const Type& type = dataObject->getType();
+ if (type.isSequencedType())
{
- if (sequence->isText(i))
+ Sequence* sequence = dataObject->getSequence();
+ int size = sequence->size();
+ for (int i = 0; i < size; i++)
{
- const string text(sequence->getCStringValue(i));
- result = visitor.visit(dataObject, *(Property*)NULL, (const string&)text);
- }
- else
- {
- const Property& seqProperty = sequence->getProperty(i);
- const Type& seqType = seqProperty.getType();
- if (seqType.isDataObjectType())
- {
- DataObjectPtr dob;
- if (seqProperty.isMany())
- {
- int index = sequence->getListIndex(i);
- dob = dataObject->getList(seqProperty)[index];
- }
- else
- {
- dob = dataObject->getDataObject(seqProperty);
- }
-
- if (dob)
- {
- result = visitor.visit(dataObject, seqProperty, (DataObjectPtr)dob);
- }
+ if (sequence->isText(i))
+ {
+ const string text(sequence->getCStringValue(i));
+ result = visitor.visit(dataObject, *(Property*)NULL, (const string&)text);
}
- else
+ else
{
- Type::Types t = seqProperty.getTypeEnum();
- switch (t)
- {
- case Type::BooleanType:
- {
- result = visitor.visit(dataObject, seqProperty, (bool)sequence->getBooleanValue(i));
- }
- break;
- case Type::ByteType:
- {
- result = visitor.visit(dataObject, seqProperty, (char)sequence->getByteValue(i));
- }
- break;
- case Type::CharacterType:
- {
- result = visitor.visit(dataObject, seqProperty, (wchar_t)sequence->getCharacterValue(i));
- }
- break;
- case Type::IntegerType:
- {
- result = visitor.visit(dataObject, seqProperty, (long)sequence->getIntegerValue(i));
- }
- break;
- case Type::ShortType:
+ const Property& seqProperty = sequence->getProperty(i);
+ const Type& seqType = seqProperty.getType();
+ if (seqType.isDataObjectType())
+ {
+ DataObjectPtr dob;
+ if (seqProperty.isMany())
{
- result = visitor.visit(dataObject, seqProperty, (short)sequence->getShortValue(i));
+ int index = sequence->getListIndex(i);
+ dob = dataObject->getList(seqProperty)[index];
}
- break;
- case Type::DoubleType:
+ else
{
- result = visitor.visit(dataObject, seqProperty, (long double)sequence->getDoubleValue(i));
+ dob = dataObject->getDataObject(seqProperty);
}
- break;
- case Type::FloatType:
+
+ if (dob)
{
- result = visitor.visit(dataObject, seqProperty, (float)sequence->getFloatValue(i));
+ result = visitor.visit(dataObject, seqProperty, (DataObjectPtr)dob);
}
- break;
- case Type::LongType:
- {
- result = visitor.visit(dataObject, seqProperty, (long)sequence->getLongValue(i));
- }
- break;
- case Type::DateType:
+ }
+ else
+ {
+ Type::Types t = seqProperty.getTypeEnum();
+ switch (t)
{
- const SDODate date = sequence->getDateValue(i);
- result = visitor.visit(dataObject, seqProperty, (const time_t)date.getTime());
+ case Type::BooleanType:
+ {
+ result = visitor.visit(dataObject, seqProperty, (bool)sequence->getBooleanValue(i));
+ }
+ break;
+ case Type::ByteType:
+ {
+ result = visitor.visit(dataObject, seqProperty, (char)sequence->getByteValue(i));
+ }
+ break;
+ case Type::CharacterType:
+ {
+ result = visitor.visit(dataObject, seqProperty, (wchar_t)sequence->getCharacterValue(i));
+ }
+ break;
+ case Type::IntegerType:
+ {
+ result = visitor.visit(dataObject, seqProperty, (long)sequence->getIntegerValue(i));
+ }
+ break;
+ case Type::ShortType:
+ {
+ result = visitor.visit(dataObject, seqProperty, (short)sequence->getShortValue(i));
+ }
+ break;
+ case Type::DoubleType:
+ {
+ result = visitor.visit(dataObject, seqProperty, (long double)sequence->getDoubleValue(i));
+ }
+ break;
+ case Type::FloatType:
+ {
+ result = visitor.visit(dataObject, seqProperty, (float)sequence->getFloatValue(i));
+ }
+ break;
+ case Type::LongType:
+ {
+ result = visitor.visit(dataObject, seqProperty, (long)sequence->getLongValue(i));
+ }
+ break;
+ case Type::DateType:
+ {
+ const SDODate date = sequence->getDateValue(i);
+ result = visitor.visit(dataObject, seqProperty, (const time_t)date.getTime());
+ }
+ break;
+ case Type::BigDecimalType:
+ case Type::BigIntegerType:
+ case Type::UriType:
+ case Type::StringType:
+ {
+ ;
+ const string stringData(sequence->getCStringValue(i));
+ result = visitor.visit(dataObject, seqProperty, (const string&)stringData);
+ }
+ break;
+ case Type::BytesType:
+ {
+ unsigned int len = sequence->getLength(i);
+ char* byteData = new char[len];
+ sequence->getBytesValue(i, byteData, len);
+ result = visitor.visit(dataObject, seqProperty, byteData);
+ delete byteData;
+ }
+ break;
+ default:
+ result = SDOVisitor::RESULT_NOT_SUPPORTED;
+ break;
}
- break;
- case Type::BigDecimalType:
- case Type::BigIntegerType:
- case Type::UriType:
- case Type::StringType:
+ if (result == SDOVisitor::RESULT_NOT_SUPPORTED)
{
;
const string stringData(sequence->getCStringValue(i));
result = visitor.visit(dataObject, seqProperty, (const string&)stringData);
}
- break;
- case Type::BytesType:
- {
- unsigned int len = sequence->getLength(i);
- char* byteData = new char[len];
- sequence->getBytesValue(i, byteData, len);
- result = visitor.visit(dataObject, seqProperty, byteData);
- delete byteData;
- }
- break;
- default:
- result = SDOVisitor::RESULT_NOT_SUPPORTED;
- break;
- }
- if (result == SDOVisitor::RESULT_NOT_SUPPORTED)
- {
- ;
- const string stringData(sequence->getCStringValue(i));
- result = visitor.visit(dataObject, seqProperty, (const string&)stringData);
- }
- }
+ }
+ }
+ if (result == SDOVisitor::RESULT_STOP)
+ return result;
}
- if (result == SDOVisitor::RESULT_STOP)
- return result;
}
- }
- else
- {
- PropertyList pl = dataObject->getInstanceProperties();
- for (unsigned int i = 0; i < pl.size(); i++)
+ else
{
- if (dataObject->isSet(pl[i]))
+ PropertyList pl = dataObject->getInstanceProperties();
+ for (unsigned int i = 0; i < pl.size(); i++)
{
- if (pl[i].getType().isDataObjectType())
+ if (dataObject->isSet(pl[i]))
{
- if (pl[i].isMany())
+ if (pl[i].getType().isDataObjectType())
{
- DataObjectList& doList = dataObject->getList(pl[i]);
- for (unsigned int li = 0; li < doList.size(); li++)
+ if (pl[i].isMany())
{
- DataObjectPtr dob = doList[li];
+ DataObjectList& doList = dataObject->getList(pl[i]);
+ for (unsigned int li = 0; li < doList.size(); li++)
+ {
+ DataObjectPtr dob = doList[li];
+ result = visitor.visit(dataObject, pl[i], (DataObjectPtr)dob);
+ if (result == SDOVisitor::RESULT_STOP)
+ return result;
+ }
+ }
+ else
+ {
+ DataObjectPtr dob = dataObject->getDataObject(pl[i]);
result = visitor.visit(dataObject, pl[i], (DataObjectPtr)dob);
- if (result == SDOVisitor::RESULT_STOP)
- return result;
}
}
else
{
- DataObjectPtr dob = dataObject->getDataObject(pl[i]);
- result = visitor.visit(dataObject, pl[i], (DataObjectPtr)dob);
- }
- }
- else
- {
- if (pl[i].isMany())
- {
- Type::Types t = pl[i].getTypeEnum();
- DataObjectList& doList = dataObject->getList(pl[i]);
- for (unsigned int li = 0; li < doList.size(); li++)
+ if (pl[i].isMany())
+ {
+ Type::Types t = pl[i].getTypeEnum();
+ DataObjectList& doList = dataObject->getList(pl[i]);
+ for (unsigned int li = 0; li < doList.size(); li++)
+ {
+ switch (t)
+ {
+ case Type::BooleanType:
+ {
+ result = visitor.visit(dataObject, pl[i], (bool)doList.getBoolean(li));
+ }
+ break;
+ case Type::ByteType:
+ {
+ result = visitor.visit(dataObject, pl[i], (char)doList.getByte(li));
+ }
+ break;
+ case Type::CharacterType:
+ {
+ result = visitor.visit(dataObject, pl[i], (wchar_t)doList.getCharacter(li));
+ }
+ break;
+ case Type::IntegerType:
+ {
+ result = visitor.visit(dataObject, pl[i], (long)doList.getInteger(li));
+ }
+ break;
+ case Type::ShortType:
+ {
+ result = visitor.visit(dataObject, pl[i], (short)doList.getShort(li));
+ }
+ break;
+ case Type::DoubleType:
+ {
+ result = visitor.visit(dataObject, pl[i], (long double)doList.getDouble(li));
+ }
+ break;
+ case Type::FloatType:
+ {
+ result = visitor.visit(dataObject, pl[i], (float)doList.getFloat(li));
+ }
+ break;
+ case Type::LongType:
+ {
+ result = visitor.visit(dataObject, pl[i], (long)doList.getLong(li));
+ }
+ break;
+ case Type::DateType:
+ {
+ const SDODate date = doList.getDate(li);
+ result = visitor.visit(dataObject, pl[i], (const time_t)date.getTime());
+ }
+ break;
+ case Type::BigDecimalType:
+ case Type::BigIntegerType:
+ case Type::UriType:
+ case Type::StringType:
+ {
+ const string stringData(doList.getCString(li));
+ result = visitor.visit(dataObject, pl[i], (const string&)stringData);
+ }
+ break;
+ case Type::BytesType:
+ {
+ unsigned int len = doList.getLength(li);
+ char* byteData = new char[len];
+ doList.getBytes(li, byteData, len);
+ result = visitor.visit(dataObject, pl[i], byteData);
+ delete byteData;
+ }
+ break;
+ default:
+ result = SDOVisitor::RESULT_NOT_SUPPORTED;
+ break;
+ }
+ if (result == SDOVisitor::RESULT_NOT_SUPPORTED)
+ {
+ const string stringData(doList.getCString(li));
+ result = visitor.visit(dataObject, pl[i], (const string&)stringData);
+ }
+ if (result == SDOVisitor::RESULT_STOP)
+ return result;
+ }
+ }
+ else
{
+ Type::Types t = pl[i].getTypeEnum();
switch (t)
{
case Type::BooleanType:
{
- result = visitor.visit(dataObject, pl[i], (bool)doList.getBoolean(li));
+ result = visitor.visit(dataObject, pl[i], (bool)dataObject->getBoolean(pl[i]));
}
break;
case Type::ByteType:
{
- result = visitor.visit(dataObject, pl[i], (char)doList.getByte(li));
+ result = visitor.visit(dataObject, pl[i], (char)dataObject->getByte(pl[i]));
}
break;
case Type::CharacterType:
{
- result = visitor.visit(dataObject, pl[i], (wchar_t)doList.getCharacter(li));
+ result = visitor.visit(dataObject, pl[i], (wchar_t)dataObject->getCharacter(pl[i]));
}
break;
case Type::IntegerType:
{
- result = visitor.visit(dataObject, pl[i], (long)doList.getInteger(li));
+ result = visitor.visit(dataObject, pl[i], (long)dataObject->getInteger(pl[i]));
}
break;
case Type::ShortType:
{
- result = visitor.visit(dataObject, pl[i], (short)doList.getShort(li));
+ result = visitor.visit(dataObject, pl[i], (short)dataObject->getShort(pl[i]));
}
break;
case Type::DoubleType:
{
- result = visitor.visit(dataObject, pl[i], (long double)doList.getDouble(li));
+ result = visitor.visit(dataObject, pl[i], (long double)dataObject->getDouble(pl[i]));
}
break;
case Type::FloatType:
{
- result = visitor.visit(dataObject, pl[i], (float)doList.getFloat(li));
+ result = visitor.visit(dataObject, pl[i], (float)dataObject->getFloat(pl[i]));
}
break;
case Type::LongType:
{
- result = visitor.visit(dataObject, pl[i], (long)doList.getLong(li));
+ result = visitor.visit(dataObject, pl[i], (long)dataObject->getLong(pl[i]));
}
break;
case Type::DateType:
{
- const SDODate date = doList.getDate(li);
+ const SDODate date = dataObject->getDate(pl[i]);
result = visitor.visit(dataObject, pl[i], (const time_t)date.getTime());
}
break;
@@ -312,15 +396,15 @@
case Type::UriType:
case Type::StringType:
{
- const string stringData(doList.getCString(li));
+ const string stringData(dataObject->getCString(pl[i]));
result = visitor.visit(dataObject, pl[i], (const string&)stringData);
}
break;
case Type::BytesType:
{
- unsigned int len = doList.getLength(li);
+ unsigned int len = dataObject->getLength(pl[i]);
char* byteData = new char[len];
- doList.getBytes(li, byteData, len);
+ dataObject->getBytes(pl[i], byteData, len);
result = visitor.visit(dataObject, pl[i], byteData);
delete byteData;
}
@@ -331,102 +415,21 @@
}
if (result == SDOVisitor::RESULT_NOT_SUPPORTED)
{
- const string stringData(doList.getCString(li));
- result = visitor.visit(dataObject, pl[i], (const string&)stringData);
- }
- if (result == SDOVisitor::RESULT_STOP)
- return result;
- }
- }
- else
- {
- Type::Types t = pl[i].getTypeEnum();
- switch (t)
- {
- case Type::BooleanType:
- {
- result = visitor.visit(dataObject, pl[i], (bool)dataObject->getBoolean(pl[i]));
- }
- break;
- case Type::ByteType:
- {
- result = visitor.visit(dataObject, pl[i], (char)dataObject->getByte(pl[i]));
- }
- break;
- case Type::CharacterType:
- {
- result = visitor.visit(dataObject, pl[i], (wchar_t)dataObject->getCharacter(pl[i]));
- }
- break;
- case Type::IntegerType:
- {
- result = visitor.visit(dataObject, pl[i], (long)dataObject->getInteger(pl[i]));
- }
- break;
- case Type::ShortType:
- {
- result = visitor.visit(dataObject, pl[i], (short)dataObject->getShort(pl[i]));
- }
- break;
- case Type::DoubleType:
- {
- result = visitor.visit(dataObject, pl[i], (long double)dataObject->getDouble(pl[i]));
- }
- break;
- case Type::FloatType:
- {
- result = visitor.visit(dataObject, pl[i], (float)dataObject->getFloat(pl[i]));
- }
- break;
- case Type::LongType:
- {
- result = visitor.visit(dataObject, pl[i], (long)dataObject->getLong(pl[i]));
- }
- break;
- case Type::DateType:
- {
- const SDODate date = dataObject->getDate(pl[i]);
- result = visitor.visit(dataObject, pl[i], (const time_t)date.getTime());
- }
- break;
- case Type::BigDecimalType:
- case Type::BigIntegerType:
- case Type::UriType:
- case Type::StringType:
- {
const string stringData(dataObject->getCString(pl[i]));
result = visitor.visit(dataObject, pl[i], (const string&)stringData);
}
- break;
- case Type::BytesType:
- {
- unsigned int len = dataObject->getLength(pl[i]);
- char* byteData = new char[len];
- dataObject->getBytes(pl[i], byteData, len);
- result = visitor.visit(dataObject, pl[i], byteData);
- delete byteData;
- }
- break;
- default:
- result = SDOVisitor::RESULT_NOT_SUPPORTED;
- break;
- }
- if (result == SDOVisitor::RESULT_NOT_SUPPORTED)
- {
- const string stringData(dataObject->getCString(pl[i]));
- result = visitor.visit(dataObject, pl[i], (const string&)stringData);
}
}
}
- }
- if (result == SDOVisitor::RESULT_STOP)
- return result;
- }
+ if (result == SDOVisitor::RESULT_STOP)
+ return result;
+ }
+ }
+
+ return SDOVisitor::RESULT_CONTINUE;
}
-
- return SDOVisitor::RESULT_CONTINUE;
- }
+ } // End namespace util
} // End namespace sca
} // End namespace tuscany
Modified: incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/SDOUtils.h
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/SDOUtils.h?view=diff&rev=487770&r1=487769&r2=487770
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/SDOUtils.h (original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/util/SDOUtils.h Fri Dec 15 23:48:29 2006
@@ -36,69 +36,72 @@
{
namespace sca
{
- /**
- * An SDO visitor interface
- */
- class SCA_API SDOVisitor
+ namespace util
{
- public:
/**
- * Constructor.
+ * An SDO visitor interface
*/
- SDOVisitor();
-
- /**
- * Destructor.
- */
- virtual ~SDOVisitor();
-
- /**
- * Visit depth
- */
- enum DEPTH
+ class SCA_API SDOVisitor
{
- DEPTH_ZERO = 0,
- DEPTH_ONE,
- DEPTH_INFINITE
+ public:
+ /**
+ * Constructor.
+ */
+ SDOVisitor();
+
+ /**
+ * Destructor.
+ */
+ virtual ~SDOVisitor();
+
+ /**
+ * Visit depth
+ */
+ enum DEPTH
+ {
+ DEPTH_ZERO = 0,
+ DEPTH_ONE,
+ DEPTH_INFINITE
+ };
+
+ /**
+ * Visit status
+ */
+ enum RESULT
+ {
+ RESULT_CONTINUE = 0,
+ RESULT_STOP,
+ RESULT_NOT_SUPPORTED
+ };
+
+ /**
+ * Visit an SDO.
+ */
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, bool boolData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, char byteData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, const char* bytesData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, wchar_t charData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, const commonj::sdo::SDODate& dateData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, long double doubleData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, float floatData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, long intData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, short shortData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, const string& stringData);
+ virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, commonj::sdo::DataObjectPtr dataObjectData);
};
-
+
/**
- * Visit status
+ * SDO utilities.
*/
- enum RESULT
+ class SCA_API SDOUtils
{
- RESULT_CONTINUE = 0,
- RESULT_STOP,
- RESULT_NOT_SUPPORTED
+ public:
+
+ static SDOVisitor::RESULT accept(commonj::sdo::DataObjectPtr dataObject, SDOVisitor& visitor, SDOVisitor::DEPTH depth);
+
};
- /**
- * Visit an SDO.
- */
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, bool boolData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, char byteData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, const char* bytesData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, wchar_t charData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, const commonj::sdo::SDODate& dateData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, long double doubleData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, float floatData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, long intData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, short shortData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, const string& stringData);
- virtual RESULT visit(commonj::sdo::DataObjectPtr parent, const commonj::sdo::Property& property, commonj::sdo::DataObjectPtr dataObjectData);
- };
-
- /**
- * SDO utilities.
- */
- class SCA_API SDOUtils
- {
- public:
-
- static SDOVisitor::RESULT accept(commonj::sdo::DataObjectPtr dataObject, SDOVisitor& visitor, SDOVisitor::DEPTH depth);
-
- };
-
+ } // End namespace util
} // End namespace sca
} // End namespace tuscany
#endif // tuscany_sca_sdovisitor_file_h
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org