You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sh...@apache.org on 2009/08/17 12:50:40 UTC
svn commit: r804934 - in /webservices/axis2/trunk/c/neethi/src: assertion.c
engine.c
Author: shankar
Date: Mon Aug 17 10:50:40 2009
New Revision: 804934
URL: http://svn.apache.org/viewvc?rev=804934&view=rev
Log:
fixing assertion serialization
Modified:
webservices/axis2/trunk/c/neethi/src/assertion.c
webservices/axis2/trunk/c/neethi/src/engine.c
Modified: webservices/axis2/trunk/c/neethi/src/assertion.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/assertion.c?rev=804934&r1=804933&r2=804934&view=diff
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/assertion.c (original)
+++ webservices/axis2/trunk/c/neethi/src/assertion.c Mon Aug 17 10:50:40 2009
@@ -16,6 +16,7 @@
*/
#include <neethi_assertion.h>
+#include <axiom_util.h>
#include <rp_x509_token.h>
#include <rp_property.h>
#include <rp_layout.h>
@@ -317,7 +318,16 @@
const axutil_env_t *env,
axiom_node_t * node)
{
- neethi_assertion->node = node;
+ if(neethi_assertion->node)
+ {
+ axiom_node_free_tree(neethi_assertion->node, env);
+ neethi_assertion->node = NULL;
+ }
+
+ if(node)
+ {
+ neethi_assertion->node = axiom_util_clone_node(env, node);
+ }
return AXIS2_SUCCESS;
}
@@ -396,20 +406,19 @@
axiom_node_t *parent,
const axutil_env_t *env)
{
- axiom_namespace_t *namespace = NULL;
- axiom_element_t *element = NULL;
axiom_node_t *node = NULL;
- axis2_char_t *localname = NULL;
-
- namespace = axiom_element_get_namespace(assertion->element, env, assertion->node);
- localname = axiom_element_get_localname(assertion->element, env);
- element = axiom_element_create(env, parent, localname, namespace, &node);
+ if(assertion->node)
+ {
+ node = axiom_util_clone_node(env, assertion->node);
+ }
if(!node)
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "%s node creation failed. Cannot serialize %s assertion", localname, localname);
+ "assertion node creation failed. Cannot serialize assertion");
return AXIS2_FAILURE;
}
+
+ axiom_node_add_child(parent, env, node);
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/neethi/src/engine.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/engine.c?rev=804934&r1=804933&r2=804934&view=diff
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/engine.c (original)
+++ webservices/axis2/trunk/c/neethi/src/engine.c Mon Aug 17 10:50:40 2009
@@ -562,6 +562,7 @@
neethi_operator_set_value(operator, env, assertion,
OPERATOR_TYPE_ASSERTION);
neethi_engine_add_policy_component(env, neethi_operator, operator);
+ neethi_assertion_set_node(assertion, env, child_node);
}
else
{