You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by bl...@apache.org on 2004/07/19 13:59:54 UTC
cvs commit: xml-security/c/src/xkms/impl XKMSKeyBindingAbstractTypeImpl.cpp XKMSKeyBindingImpl.cpp
blautenb 2004/07/19 04:59:54
Modified: c/src/xkms/impl XKMSKeyBindingAbstractTypeImpl.cpp
XKMSKeyBindingImpl.cpp
Log:
Fix KeyBinding ordering for UseKeyWith elements
Revision Changes Path
1.4 +24 -4 xml-security/c/src/xkms/impl/XKMSKeyBindingAbstractTypeImpl.cpp
Index: XKMSKeyBindingAbstractTypeImpl.cpp
===================================================================
RCS file: /home/cvs/xml-security/c/src/xkms/impl/XKMSKeyBindingAbstractTypeImpl.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XKMSKeyBindingAbstractTypeImpl.cpp 19 Jun 2004 23:05:30 -0000 1.3
+++ XKMSKeyBindingAbstractTypeImpl.cpp 19 Jul 2004 11:59:54 -0000 1.4
@@ -394,10 +394,30 @@
DOMElement * e = u->createBlankUseKeyWith(application, identifier);
- // Append the element
+ // Find where to append the element
+ DOMElement * t = findFirstElementChild(mp_keyBindingAbstractTypeElement);
+ while (t != NULL) {
+ if (!strEquals(getDSIGLocalName(t), XKMSConstants::s_tagKeyInfo) &&
+ !strEquals(getXKMSLocalName(t), XKMSConstants::s_tagKeyUsage) &&
+ !strEquals(getXKMSLocalName(t), XKMSConstants::s_tagUseKeyWith))
+ break;
+
+ t = findNextElementChild(t);
+ }
- mp_keyBindingAbstractTypeElement->appendChild(e);
- mp_env->doPrettyPrint(mp_keyBindingAbstractTypeElement);
+ // Append the element
+ if (t == NULL) {
+ mp_keyBindingAbstractTypeElement->appendChild(e);
+ mp_env->doPrettyPrint(mp_keyBindingAbstractTypeElement);
+ }
+ else {
+ mp_keyBindingAbstractTypeElement->insertBefore(e, t);
+ if (mp_env->getPrettyPrintFlag()) {
+ mp_keyBindingAbstractTypeElement->insertBefore(
+ mp_env->getParentDocument()->createTextNode(DSIGConstants::s_unicodeStrNL),
+ t);
+ }
+ }
return u;
1.3 +9 -3 xml-security/c/src/xkms/impl/XKMSKeyBindingImpl.cpp
Index: XKMSKeyBindingImpl.cpp
===================================================================
RCS file: /home/cvs/xml-security/c/src/xkms/impl/XKMSKeyBindingImpl.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XKMSKeyBindingImpl.cpp 11 Jul 2004 12:08:12 -0000 1.2
+++ XKMSKeyBindingImpl.cpp 19 Jul 2004 11:59:54 -0000 1.3
@@ -45,7 +45,7 @@
const XSECEnv * env
) :
XKMSKeyBindingAbstractTypeImpl(env) {
-
+ mp_status = NULL;
}
XKMSKeyBindingImpl::XKMSKeyBindingImpl(
@@ -54,9 +54,15 @@
) :
XKMSKeyBindingAbstractTypeImpl(env, node) {
+ mp_status = NULL;
}
-XKMSKeyBindingImpl::~XKMSKeyBindingImpl() {}
+XKMSKeyBindingImpl::~XKMSKeyBindingImpl() {
+
+ if (mp_status != NULL)
+ delete mp_status;
+
+}
// --------------------------------------------------------------------------------
// Load from DOM