Author: carnold
Date: Tue Apr 29 20:33:39 2008
New Revision: 652242

URL: http://svn.apache.org/viewvc?rev=652242&view=rev
Log:
LOGCXX-271: MDC::put does not overwrite previous values

Added:
    logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp   (with props)
Modified:
    logging/log4cxx/trunk/src/changes/changes.xml
    logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp
    logging/log4cxx/trunk/src/test/cpp/Makefile.am

Modified: logging/log4cxx/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/changes/changes.xml?rev=652242&r1=652241&r2=652242&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/changes/changes.xml (original)
+++ logging/log4cxx/trunk/src/changes/changes.xml Tue Apr 29 20:33:39 2008
@@ -25,6 +25,7 @@
 <release version="0.10.1" date="2008-XX-XX" description="Maintenance release">
 <action issue="LOGCXX-262">socketappendertestcase and 
xmlsocketappendertestcase not run</action>
 <action issue="LOGCXX-263">Bad link to log4cxx-dev archive</action>
+<action issue="LOGCXX-271">MDC::put will not overwrite existing key value 
pair</action>
 <action issue="LOGCXX-272">Apache log4cxx 0.10.1 release</action>
 </release>
 <release version="0.10.0" date="2008-04-03" description="First Apache release">

Modified: logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp?rev=652242&r1=652241&r2=652242&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/threadspecificdata.cpp Tue Apr 29 
20:33:39 2008
@@ -79,7 +79,7 @@
         data = createCurrentData();
     }
     if (data != 0) {
-        data->getMap().insert(log4cxx::MDC::Map::value_type(key, val));
+        data->getMap()[key] = val;
     }
 }
 

Modified: logging/log4cxx/trunk/src/test/cpp/Makefile.am
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/test/cpp/Makefile.am?rev=652242&r1=652241&r2=652242&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/test/cpp/Makefile.am (original)
+++ logging/log4cxx/trunk/src/test/cpp/Makefile.am Tue Apr 29 20:33:39 2008
@@ -147,7 +147,8 @@
         streamtestcase.cpp\
         writerappendertestcase.cpp \
         ndctestcase.cpp \
-        propertyconfiguratortest.cpp 
+        propertyconfiguratortest.cpp \
+        mdctestcase.cpp
 
 testsuite_LDADD = \
         $(top_builddir)/src/main/cpp/liblog4cxx.la

Added: logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp?rev=652242&view=auto
==============================================================================
--- logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp (added)
+++ logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp Tue Apr 29 20:33:39 2008
@@ -0,0 +1,60 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <log4cxx/mdc.h>
+#include <log4cxx/file.h>
+#include <log4cxx/logger.h>
+#include <log4cxx/propertyconfigurator.h>
+#include "insertwide.h"
+#include "logunit.h"
+#include "util/compare.h"
+
+
+
+using namespace log4cxx;
+
+LOGUNIT_CLASS(MDCTestCase)
+{
+        LOGUNIT_TEST_SUITE(MDCTestCase);
+                LOGUNIT_TEST(test1);
+        LOGUNIT_TEST_SUITE_END();
+
+public:
+
+        void setUp() {
+        }
+
+        void tearDown() {
+            
Logger::getRootLogger()->getLoggerRepository()->resetConfiguration();
+        }
+
+        /**
+         *   log4cxx 0.10.0 did not replace previously set value.
+         */
+        void test1()
+        {
+                std::string key("key1");
+                std::string expected("value2");
+                MDC::put(key, "value1");
+                MDC::put(key, expected);
+                std::string actual(MDC::get(key));
+                LOGUNIT_ASSERT_EQUAL(expected, actual);
+        }
+};
+
+LOGUNIT_TEST_SUITE_REGISTRATION(MDCTestCase);

Propchange: logging/log4cxx/trunk/src/test/cpp/mdctestcase.cpp
------------------------------------------------------------------------------
    svn:executable = *


Reply via email to