You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ca...@apache.org on 2006/04/18 13:15:17 UTC
svn commit: r394916 - /xerces/c/trunk/src/xercesc/validators/datatype/
Author: cargilld
Date: Tue Apr 18 04:15:14 2006
New Revision: 394916
URL: http://svn.apache.org/viewcvs?rev=394916&view=rev
Log:
Thread safety fix, don't do lazy evaluation of patterns.
Modified:
xerces/c/trunk/src/xercesc/validators/datatype/AbstractNumericValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/AbstractStringValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.hpp
xerces/c/trunk/src/xercesc/validators/datatype/DateTimeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/ListDatatypeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/NOTATIONDatatypeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp
xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp
Modified: xerces/c/trunk/src/xercesc/validators/datatype/AbstractNumericValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/AbstractNumericValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/AbstractNumericValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/AbstractNumericValidator.cpp Tue Apr 18 04:15:14 2006
@@ -67,66 +67,57 @@
if (thisFacetsDefined == 0)
return;
- try
+ // must be < MaxExclusive
+ if ( (thisFacetsDefined & DatatypeValidator::FACET_MAXEXCLUSIVE) != 0 )
{
-
- // must be < MaxExclusive
- if ( (thisFacetsDefined & DatatypeValidator::FACET_MAXEXCLUSIVE) != 0 )
+ result = compareValues(theData, getMaxExclusive());
+ if ( result != -1)
{
- result = compareValues(theData, getMaxExclusive());
- if ( result != -1)
- {
- REPORT_VALUE_ERROR(theData
+ REPORT_VALUE_ERROR(theData
, getMaxExclusive()
, XMLExcepts::VALUE_exceed_maxExcl
, manager)
- }
- }
-
- // must be <= MaxInclusive
- if ( (thisFacetsDefined & DatatypeValidator::FACET_MAXINCLUSIVE) != 0 )
- {
- result = compareValues(theData, getMaxInclusive());
- if (result == 1)
- {
- REPORT_VALUE_ERROR(theData
- , getMaxInclusive()
- , XMLExcepts::VALUE_exceed_maxIncl
- , manager)
- }
}
+ }
- // must be >= MinInclusive
- if ( (thisFacetsDefined & DatatypeValidator::FACET_MININCLUSIVE) != 0 )
+ // must be <= MaxInclusive
+ if ( (thisFacetsDefined & DatatypeValidator::FACET_MAXINCLUSIVE) != 0 )
+ {
+ result = compareValues(theData, getMaxInclusive());
+ if (result == 1)
{
- result = compareValues(theData, getMinInclusive());
- if (result == -1)
- {
- REPORT_VALUE_ERROR(theData
- , getMinInclusive()
- , XMLExcepts::VALUE_exceed_minIncl
- , manager)
- }
+ REPORT_VALUE_ERROR(theData
+ , getMaxInclusive()
+ , XMLExcepts::VALUE_exceed_maxIncl
+ , manager)
}
+ }
- // must be > MinExclusive
- if ( (thisFacetsDefined & DatatypeValidator::FACET_MINEXCLUSIVE) != 0 )
+ // must be >= MinInclusive
+ if ( (thisFacetsDefined & DatatypeValidator::FACET_MININCLUSIVE) != 0 )
+ {
+ result = compareValues(theData, getMinInclusive());
+ if (result == -1)
{
- result = compareValues(theData, getMinExclusive());
- if (result != 1)
- {
- REPORT_VALUE_ERROR(theData
- , getMinExclusive()
- , XMLExcepts::VALUE_exceed_minExcl
- , manager)
- }
+ REPORT_VALUE_ERROR(theData
+ , getMinInclusive()
+ , XMLExcepts::VALUE_exceed_minIncl
+ , manager)
}
}
- catch (XMLException &e)
+
+ // must be > MinExclusive
+ if ( (thisFacetsDefined & DatatypeValidator::FACET_MINEXCLUSIVE) != 0 )
{
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), manager);
+ result = compareValues(theData, getMinExclusive());
+ if (result != 1)
+ {
+ REPORT_VALUE_ERROR(theData
+ , getMinExclusive()
+ , XMLExcepts::VALUE_exceed_minExcl
+ , manager)
+ }
}
-
}
const XMLCh* AbstractNumericValidator::getCanonicalRepresentation(const XMLCh* const rawData
Modified: xerces/c/trunk/src/xercesc/validators/datatype/AbstractStringValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/AbstractStringValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/AbstractStringValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/AbstractStringValidator.cpp Tue Apr 18 04:15:14 2006
@@ -565,18 +565,6 @@
// we check pattern first
if ( (thisFacetsDefined & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() ==0) {
- try {
- // REVISIT: cargillmem fMemoryManager or manager?
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), fMemoryManager);
- }
- }
-
if (getRegex()->matches(content, manager) ==false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
Modified: xerces/c/trunk/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -95,17 +95,6 @@
// we check pattern first
if ( (getFacetsDefined() & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() ==0) {
- try {
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), fMemoryManager);
- }
- }
-
if (getRegex()->matches(content, manager) ==false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
Modified: xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -285,7 +285,7 @@
*
***/
XTemplateSerializer::loadObject(&fFacets, 29, true, serEng);
- serEng.readString(fPattern);
+ serEng.readString(fPattern);
/***
* Recreate through setTypeName()
@@ -323,7 +323,7 @@
/***
* don't serialize fRegex
***/
- fRegex = 0;
+ fRegex = new (fMemoryManager) RegularExpression(fPattern, SchemaSymbols::fgRegEx_XOption, fMemoryManager);
}
Modified: xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.hpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.hpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.hpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/DatatypeValidator.hpp Tue Apr 18 04:15:14 2006
@@ -667,9 +667,12 @@
inline void DatatypeValidator::setPattern(const XMLCh* pattern)
{
- if (fPattern)
+ if (fPattern) {
fMemoryManager->deallocate(fPattern);//delete [] fPattern;
+ delete fRegex;
+ }
fPattern = XMLString::replicate(pattern, fMemoryManager);
+ fRegex = new (fMemoryManager) RegularExpression(fPattern, SchemaSymbols::fgRegEx_XOption, fMemoryManager);
}
inline void DatatypeValidator::setRegex(RegularExpression* const regex)
Modified: xerces/c/trunk/src/xercesc/validators/datatype/DateTimeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/DateTimeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/DateTimeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/DateTimeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -104,17 +104,6 @@
// we check pattern first
if ( (thisFacetsDefined & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() ==0) {
- try {
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), fMemoryManager);
- }
- }
-
if (getRegex()->matches(content, manager) ==false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
Modified: xerces/c/trunk/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -398,18 +398,6 @@
// we check pattern first
if ( (thisFacetsDefined & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() ==0) {
- try {
- // REVISIT: cargillmem fMemoryManager vs manager
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), manager);
- }
- }
-
if (getRegex()->matches(content, manager) ==false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
@@ -424,90 +412,78 @@
// all other facet were inherited by the derived type
if (asBase)
return;
- XMLCh *errorMsg = 0;
- try {
- XMLBigDecimal compareDataValue(content, manager);
- XMLBigDecimal* compareData = &compareDataValue;
+
+ XMLBigDecimal compareDataValue(content, manager);
+ XMLBigDecimal* compareData = &compareDataValue;
- if (getEnumeration())
+ if (getEnumeration())
+ {
+ int i=0;
+ int enumLength = getEnumeration()->size();
+ for ( ; i < enumLength; i++)
{
- int i=0;
- int enumLength = getEnumeration()->size();
- for ( ; i < enumLength; i++)
- {
- if (compareValues(compareData, (XMLBigDecimal*) getEnumeration()->elementAt(i)) ==0 )
- break;
- }
-
- if (i == enumLength)
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content, manager);
+ if (compareValues(compareData, (XMLBigDecimal*) getEnumeration()->elementAt(i)) ==0 )
+ break;
}
- boundsCheck(compareData, manager);
+ if (i == enumLength)
+ ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content, manager);
+ }
- if ( (thisFacetsDefined & DatatypeValidator::FACET_FRACTIONDIGITS) != 0 )
- {
- if ( compareData->getScale() > fFractionDigits )
- {
- XMLCh value1[BUF_LEN+1];
- XMLCh value2[BUF_LEN+1];
- XMLString::binToText(compareData->getScale(), value1, BUF_LEN, 10, manager);
- XMLString::binToText(fFractionDigits, value2, BUF_LEN, 10, manager);
- ThrowXMLwithMemMgr3(InvalidDatatypeFacetException
- , XMLExcepts::VALUE_exceed_fractDigit
- , compareData->getRawData()
- , value1
- , value2
- , manager);
- }
- }
+ boundsCheck(compareData, manager);
- if ( (thisFacetsDefined & DatatypeValidator::FACET_TOTALDIGITS) != 0 )
- {
- if ( compareData->getTotalDigit() > fTotalDigits )
- {
- XMLCh value1[BUF_LEN+1];
- XMLCh value2[BUF_LEN+1];
- XMLString::binToText(compareData->getTotalDigit(), value1, BUF_LEN, 10, manager);
- XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10, manager);
- ThrowXMLwithMemMgr3(InvalidDatatypeFacetException
- , XMLExcepts::VALUE_exceed_totalDigit
- , compareData->getRawData()
- , value1
- , value2
- , manager);
- }
-
- /***
- E2-44 totalDigits
-
- ... by restricting it to numbers that are expressible as i � 10^-n
- where i and n are integers such that |i| < 10^totalDigits and 0 <= n <= totalDigits.
- ***/
-
- if ( compareData->getScale() > fTotalDigits )
- {
- XMLCh value1[BUF_LEN+1];
- XMLCh value2[BUF_LEN+1];
- XMLString::binToText(compareData->getScale(), value1, BUF_LEN, 10, manager);
- XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10, manager);
- ThrowXMLwithMemMgr3(InvalidDatatypeFacetException
- , XMLExcepts::VALUE_exceed_totalDigit
- , compareData->getRawData()
- , value1
- , value2
- , manager);
- }
- }
- }
- catch (XMLException &e)
+ if ( (thisFacetsDefined & DatatypeValidator::FACET_FRACTIONDIGITS) != 0 )
{
- errorMsg = XMLString::replicate(e.getMessage(), manager);
+ if ( compareData->getScale() > fFractionDigits )
+ {
+ XMLCh value1[BUF_LEN+1];
+ XMLCh value2[BUF_LEN+1];
+ XMLString::binToText(compareData->getScale(), value1, BUF_LEN, 10, manager);
+ XMLString::binToText(fFractionDigits, value2, BUF_LEN, 10, manager);
+ ThrowXMLwithMemMgr3(InvalidDatatypeFacetException
+ , XMLExcepts::VALUE_exceed_fractDigit
+ , compareData->getRawData()
+ , value1
+ , value2
+ , manager);
+ }
}
- if(errorMsg)
+
+ if ( (thisFacetsDefined & DatatypeValidator::FACET_TOTALDIGITS) != 0 )
{
- ArrayJanitor<XMLCh> jan(errorMsg, manager);
- ThrowXMLwithMemMgr1(InvalidDatatypeFacetException, XMLExcepts::RethrowError, errorMsg, manager);
+ if ( compareData->getTotalDigit() > fTotalDigits )
+ {
+ XMLCh value1[BUF_LEN+1];
+ XMLCh value2[BUF_LEN+1];
+ XMLString::binToText(compareData->getTotalDigit(), value1, BUF_LEN, 10, manager);
+ XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10, manager);
+ ThrowXMLwithMemMgr3(InvalidDatatypeFacetException
+ , XMLExcepts::VALUE_exceed_totalDigit
+ , compareData->getRawData()
+ , value1
+ , value2
+ , manager);
+ }
+
+ /***
+ E2-44 totalDigits
+ ... by restricting it to numbers that are expressible as i � 10^-n
+ where i and n are integers such that |i| < 10^totalDigits and 0 <= n <= totalDigits.
+ ***/
+
+ if ( compareData->getScale() > fTotalDigits )
+ {
+ XMLCh value1[BUF_LEN+1];
+ XMLCh value2[BUF_LEN+1];
+ XMLString::binToText(compareData->getScale(), value1, BUF_LEN, 10, manager);
+ XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10, manager);
+ ThrowXMLwithMemMgr3(InvalidDatatypeFacetException
+ , XMLExcepts::VALUE_exceed_totalDigit
+ , compareData->getRawData()
+ , value1
+ , value2
+ , manager);
+ }
}
}
Modified: xerces/c/trunk/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -184,17 +184,6 @@
// we check pattern first
if ( (getFacetsDefined() & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() ==0) {
- try {
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), fMemoryManager);
- }
- }
-
if (getRegex()->matches(content, manager) ==false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
@@ -210,32 +199,24 @@
if (asBase)
return;
- try {
- XMLDouble theValue(content, manager);
- XMLDouble *theData = &theValue;
+ XMLDouble theValue(content, manager);
+ XMLDouble *theData = &theValue;
- if (getEnumeration())
+ if (getEnumeration())
+ {
+ int i=0;
+ int enumLength = getEnumeration()->size();
+ for ( ; i < enumLength; i++)
{
- int i=0;
- int enumLength = getEnumeration()->size();
- for ( ; i < enumLength; i++)
- {
- if (compareValues(theData, (XMLDouble*) getEnumeration()->elementAt(i)) ==0 )
- break;
- }
-
- if (i == enumLength)
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content, manager);
+ if (compareValues(theData, (XMLDouble*) getEnumeration()->elementAt(i)) ==0 )
+ break;
}
- boundsCheck(theData, manager);
-
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeFacetException, XMLExcepts::RethrowError, e.getMessage(), manager);
+ if (i == enumLength)
+ ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content, manager);
}
+ boundsCheck(theData, manager);
}
/***
Modified: xerces/c/trunk/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -184,17 +184,6 @@
// we check pattern first
if ( (getFacetsDefined() & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() ==0) {
- try {
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), fMemoryManager);
- }
- }
-
if (getRegex()->matches(content, manager) ==false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
@@ -210,31 +199,24 @@
if (asBase)
return;
- try {
- XMLFloat theValue(content, manager);
- XMLFloat *theData = &theValue;
+ XMLFloat theValue(content, manager);
+ XMLFloat *theData = &theValue;
- if (getEnumeration() != 0)
+ if (getEnumeration() != 0)
+ {
+ int i=0;
+ int enumLength = getEnumeration()->size();
+ for ( ; i < enumLength; i++)
{
- int i=0;
- int enumLength = getEnumeration()->size();
- for ( ; i < enumLength; i++)
- {
- if (compareValues(theData, (XMLFloat*) getEnumeration()->elementAt(i))==0)
- break;
- }
-
- if (i == enumLength)
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content, manager);
+ if (compareValues(theData, (XMLFloat*) getEnumeration()->elementAt(i))==0)
+ break;
}
- boundsCheck(theData, manager);
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeFacetException, XMLExcepts::RethrowError, e.getMessage(), manager);
+ if (i == enumLength)
+ ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content, manager);
}
+ boundsCheck(theData, manager);
}
/***
Modified: xerces/c/trunk/src/xercesc/validators/datatype/ListDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/ListDatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/ListDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/ListDatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -150,18 +150,6 @@
// we check pattern first
if ( (thisFacetsDefined & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() == 0)
- {
- try {
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), manager);
- }
- }
-
//check every item in the list as a whole
if (getRegex()->matches(content, manager) == false)
{
Modified: xerces/c/trunk/src/xercesc/validators/datatype/NOTATIONDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/NOTATIONDatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/NOTATIONDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/NOTATIONDatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -96,18 +96,6 @@
// we check pattern first
if ( (thisFacetsDefined & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() ==0) {
- try {
- // REVISIT: cargillmem fMemoryManager or manager?
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), fMemoryManager);
- }
- }
-
if (getRegex()->matches(content, manager) ==false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
Modified: xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -96,18 +96,6 @@
// we check pattern first
if ( (thisFacetsDefined & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() ==0) {
- try {
- // REVISIT: cargillmem fMemoryManager or manager?
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), fMemoryManager);
- }
- }
-
if (getRegex()->matches(content, manager) ==false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
Modified: xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp?rev=394916&r1=394915&r2=394916&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp Tue Apr 18 04:15:14 2006
@@ -281,18 +281,6 @@
// 1) and 2). we check pattern first
if ( (getFacetsDefined() & DatatypeValidator::FACET_PATTERN ) != 0 )
{
- // lazy construction
- if (getRegex() == 0)
- {
- try {
- setRegex(new (fMemoryManager) RegularExpression(getPattern(), SchemaSymbols::fgRegEx_XOption, fMemoryManager));
- }
- catch (XMLException &e)
- {
- ThrowXMLwithMemMgr1(InvalidDatatypeValueException, XMLExcepts::RethrowError, e.getMessage(), manager);
- }
- }
-
if (getRegex()->matches(content, manager) == false)
{
ThrowXMLwithMemMgr2(InvalidDatatypeValueException
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org