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 ma...@apache.org on 2007/05/11 11:47:10 UTC
svn commit: r537149 - in /webservices/axis2/scratch/c/neethi/axis2c/neethi:
include/ src/
Author: manjula
Date: Fri May 11 02:47:09 2007
New Revision: 537149
URL: http://svn.apache.org/viewvc?view=rev&rev=537149
Log:
Policy Serializing logic.
Modified:
webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_all.h
webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_assertion.h
webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_engine.h
webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_exactlyone.h
webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_operator.h
webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_policy.h
webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_reference.h
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/all.c
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion.c
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion_builder.c
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/exactlyone.c
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/operator.c
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/policy.c
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/reference.c
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_all.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_all.h?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_all.h (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_all.h Fri May 11 02:47:09 2007
@@ -63,6 +63,13 @@
neethi_all_is_empty(neethi_all_t *all,
const axutil_env_t *env);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ neethi_all_serialize(
+ neethi_all_t *neethi_all,
+ axiom_node_t *parent,
+ const axutil_env_t *env);
+
+
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_assertion.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_assertion.h?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_assertion.h (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_assertion.h Fri May 11 02:47:09 2007
@@ -131,6 +131,22 @@
neethi_assertion_is_empty(neethi_assertion_t *neethi_assertion,
const axutil_env_t *env);
+ AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+ neethi_assertion_get_node(
+ neethi_assertion_t *neethi_assertion,
+ const axutil_env_t *env);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ neethi_assertion_set_node(neethi_assertion_t *neethi_assertion,
+ const axutil_env_t *env,
+ axiom_node_t *node);
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ neethi_assertion_serialize(
+ neethi_assertion_t *assertion,
+ axiom_node_t *parent,
+ const axutil_env_t *env);
+
/** @} */
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_engine.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_engine.h?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_engine.h (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_engine.h Fri May 11 02:47:09 2007
@@ -61,7 +61,12 @@
neethi_engine_merge(const axutil_env_t *env,
neethi_policy_t *neethi_policy1,
neethi_policy_t *neethi_policy2);
-
+
+ AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+ neethi_engine_serialize(neethi_policy_t *policy,
+ const axutil_env_t *env);
+
+
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_exactlyone.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_exactlyone.h?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_exactlyone.h (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_exactlyone.h Fri May 11 02:47:09 2007
@@ -63,6 +63,13 @@
neethi_exactlyone_is_empty(neethi_exactlyone_t *exactlyone,
const axutil_env_t *env);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ neethi_exactlyone_serialize(
+ neethi_exactlyone_t *neethi_exactlyone,
+ axiom_node_t *parent,
+ const axutil_env_t *env);
+
+
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_operator.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_operator.h?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_operator.h (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_operator.h Fri May 11 02:47:09 2007
@@ -69,6 +69,13 @@
void *value,
neethi_operator_type_t type);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ neethi_operator_serialize(
+ neethi_operator_t *neethi_operator,
+ const axutil_env_t *env,
+ axiom_node_t *parent);
+
+
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_policy.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_policy.h?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_policy.h (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_policy.h Fri May 11 02:47:09 2007
@@ -96,6 +96,12 @@
const axutil_env_t *env,
axis2_char_t *id);
+ AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+ neethi_policy_serialize(
+ neethi_policy_t *neethi_policy,
+ axiom_node_t *parent,
+ const axutil_env_t *env);
+
/** @} */
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_reference.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_reference.h?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_reference.h (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/include/neethi_reference.h Fri May 11 02:47:09 2007
@@ -52,7 +52,13 @@
neethi_reference_t *neethi_reference,
const axutil_env_t *env,
axis2_char_t *uri);
-
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ neethi_reference_serialize(
+ neethi_reference_t *neethi_reference,
+ axiom_node_t *parent,
+ const axutil_env_t *env);
+
/** @} */
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/all.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/all.c?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/all.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/all.c Fri May 11 02:47:09 2007
@@ -139,3 +139,50 @@
}
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+neethi_all_serialize(
+ neethi_all_t *neethi_all,
+ axiom_node_t *parent,
+ const axutil_env_t *env)
+{
+
+ axiom_node_t *all_node = NULL;
+ axiom_element_t *all_ele = NULL;
+ axiom_namespace_t *policy_ns = NULL;
+ axutil_array_list_t *components = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
+
+
+ policy_ns = axiom_namespace_create(env, NEETHI_NAMESPACE,
+ NEETHI_PREFIX);
+
+ all_ele = axiom_element_create(env, parent, NEETHI_ALL, policy_ns, &all_node);
+ if (!all_node)
+ {
+ printf("Exactlyone serialization failed\n");
+ return AXIS2_FAILURE;
+ }
+ components = neethi_policy_get_policy_components(neethi_all, env);
+
+ if(components)
+ {
+ int i=0;
+ for (i = 0; i < axutil_array_list_size(components ,
+ env); i++)
+ {
+ neethi_operator_t *operator = NULL;
+ operator = (neethi_operator_t *)axutil_array_list_get(components, env, i);
+ if(operator)
+ {
+ status = neethi_operator_serialize(operator, env, all_node);
+ if(status != AXIS2_SUCCESS)
+ {
+ printf("Operator Serializing failed\n");
+ return status;
+ }
+ }
+ }
+ }
+ return status;
+}
+
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion.c?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion.c Fri May 11 02:47:09 2007
@@ -25,6 +25,7 @@
neethi_assertion_type_t type;
axutil_array_list_t *policy_components;
axiom_element_t *element;
+ axiom_node_t *node;
axis2_bool_t is_optional;
};
@@ -56,6 +57,7 @@
neethi_assertion->type = ASSERTION_TYPE_UNKNOWN;
neethi_assertion->element = NULL;
neethi_assertion->is_optional = AXIS2_FALSE;
+ neethi_assertion->node = NULL;
return neethi_assertion;
}
@@ -139,6 +141,28 @@
return AXIS2_SUCCESS;
}
+AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+neethi_assertion_get_node(
+ neethi_assertion_t *neethi_assertion,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ return neethi_assertion->node;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+neethi_assertion_set_node(neethi_assertion_t *neethi_assertion,
+ const axutil_env_t *env,
+ axiom_node_t *node)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ neethi_assertion->node = node;
+ return AXIS2_SUCCESS;
+}
+
+
AXIS2_EXTERN axis2_bool_t AXIS2_CALL
neethi_assertion_get_is_optional(
neethi_assertion_t *neethi_assertion,
@@ -211,3 +235,27 @@
return axutil_array_list_is_empty(neethi_assertion->policy_components , env);
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+neethi_assertion_serialize(
+ neethi_assertion_t *assertion,
+ 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 (!node)
+ {
+ printf("Assertion serialization failed\n");
+ return AXIS2_FAILURE;
+ }
+ return AXIS2_SUCCESS;
+}
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion_builder.c?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion_builder.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/assertion_builder.c Fri May 11 02:47:09 2007
@@ -364,5 +364,13 @@
}
else return NULL;
}
- else return NULL;
+ else
+ {
+ neethi_assertion_t *assertion = NULL;
+ assertion = neethi_assertion_create(env);
+ neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_UNKNOWN);
+ neethi_assertion_set_element(assertion, env, element);
+ neethi_assertion_set_node(assertion, env, node);
+ return assertion;
+ }
}
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c Fri May 11 02:47:09 2007
@@ -854,4 +854,12 @@
return cross_product;
}
+/*These functions are for serializing a policy object*/
+AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+neethi_engine_serialize(neethi_policy_t *policy,
+ const axutil_env_t *env)
+{
+
+ return neethi_policy_serialize(policy, NULL, env);
+}
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/exactlyone.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/exactlyone.c?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/exactlyone.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/exactlyone.c Fri May 11 02:47:09 2007
@@ -138,3 +138,51 @@
return axutil_array_list_is_empty(exactlyone->policy_components , env);
}
+
+/*This function is for serializing*/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+neethi_exactlyone_serialize(
+ neethi_exactlyone_t *neethi_exactlyone,
+ axiom_node_t *parent,
+ const axutil_env_t *env)
+{
+
+ axiom_node_t *exactlyone_node = NULL;
+ axiom_element_t *exactlyone_ele = NULL;
+ axiom_namespace_t *policy_ns = NULL;
+ axutil_array_list_t *components = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
+
+
+ policy_ns = axiom_namespace_create(env, NEETHI_NAMESPACE,
+ NEETHI_PREFIX);
+
+ exactlyone_ele = axiom_element_create(env, parent, NEETHI_EXACTLYONE, policy_ns, &exactlyone_node);
+ if (!exactlyone_node)
+ {
+ printf("Exactlyone serialization failed\n");
+ return AXIS2_FAILURE;
+ }
+ components = neethi_policy_get_policy_components(neethi_exactlyone, env);
+
+ if(components)
+ {
+ int i=0;
+ for (i = 0; i < axutil_array_list_size(components ,
+ env); i++)
+ {
+ neethi_operator_t *operator = NULL;
+ operator = (neethi_operator_t *)axutil_array_list_get(components, env, i);
+ if(operator)
+ {
+ status = neethi_operator_serialize(operator, env, exactlyone_node);
+ if(status != AXIS2_SUCCESS)
+ {
+ printf("Operator Serializing failed\n");
+ return status;
+ }
+ }
+ }
+ }
+ return status;
+}
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/operator.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/operator.c?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/operator.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/operator.c Fri May 11 02:47:09 2007
@@ -136,3 +136,56 @@
return AXIS2_SUCCESS;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+neethi_operator_serialize(
+ neethi_operator_t *neethi_operator,
+ const axutil_env_t *env,
+ axiom_node_t *parent)
+{
+
+ neethi_policy_t *policy = NULL;
+ neethi_all_t *all = NULL;
+ neethi_exactlyone_t *exactlyone = NULL;
+ neethi_reference_t *reference = NULL;
+
+ if(neethi_operator->value)
+ {
+ switch(neethi_operator->type)
+ {
+ case OPERATOR_TYPE_POLICY:
+ policy = (neethi_policy_t *)neethi_operator_get_value(neethi_operator, env);
+ if(!neethi_policy_serialize(policy, parent, env))
+ {
+ return AXIS2_FAILURE;
+ }
+ else
+ {
+ return AXIS2_SUCCESS;
+ }
+ break;
+
+ case OPERATOR_TYPE_ALL:
+ all = (neethi_all_t *)neethi_operator_get_value(neethi_operator, env);
+ return neethi_all_serialize(all, parent, env);
+ break;
+
+ case OPERATOR_TYPE_EXACTLYONE:
+ exactlyone = (neethi_exactlyone_t *)neethi_operator_get_value(neethi_operator, env);
+ return neethi_exactlyone_serialize(exactlyone, parent, env);
+ break;
+
+ case OPERATOR_TYPE_REFERENCE:
+ reference = (neethi_reference_t *)neethi_operator_get_value(neethi_operator, env);
+ return neethi_reference_serialize(reference, parent, env);
+ break;
+
+ case OPERATOR_TYPE_ASSERTION:
+ break;
+
+ case OPERATOR_TYPE_UNKNOWN:
+ break;
+ }
+ }
+ else return AXIS2_FAILURE;
+}
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/policy.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/policy.c?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/policy.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/policy.c Fri May 11 02:47:09 2007
@@ -254,3 +254,52 @@
neethi_policy->id = id;
return AXIS2_SUCCESS;
}
+
+
+/*This function is for serializing*/
+AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+neethi_policy_serialize(
+ neethi_policy_t *neethi_policy,
+ axiom_node_t *parent,
+ const axutil_env_t *env)
+{
+
+ axiom_node_t *policy_node = NULL;
+ axiom_element_t *policy_ele = NULL;
+ axiom_namespace_t *policy_ns = NULL;
+ axutil_array_list_t *components = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
+
+ policy_ns = axiom_namespace_create(env, NEETHI_NAMESPACE,
+ NEETHI_PREFIX);
+
+ policy_ele = axiom_element_create(env, parent, NEETHI_POLICY, policy_ns, &policy_node);
+ if (!policy_ele)
+ {
+ printf("Policy element serialization failed.\n");
+ return NULL;
+ }
+
+ components = neethi_policy_get_policy_components(neethi_policy, env);
+
+ if(components)
+ {
+ int i=0;
+ for (i = 0; i < axutil_array_list_size(components ,
+ env); i++)
+ {
+ neethi_operator_t *operator = NULL;
+ operator = (neethi_operator_t *)axutil_array_list_get(components, env, i);
+ if(operator)
+ {
+ status = neethi_operator_serialize(operator, env, policy_node);
+ if(status != AXIS2_SUCCESS)
+ {
+ printf("Operator Serializing failed\n");
+ return NULL;
+ }
+ }
+ }
+ }
+ return policy_node;
+}
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/reference.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/reference.c?view=diff&rev=537149&r1=537148&r2=537149
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/reference.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/reference.c Fri May 11 02:47:09 2007
@@ -83,3 +83,35 @@
return AXIS2_SUCCESS;
}
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+neethi_reference_serialize(
+ neethi_reference_t *neethi_reference,
+ axiom_node_t *parent,
+ const axutil_env_t *env)
+{
+
+ axiom_node_t *ref_node = NULL;
+ axiom_element_t *ref_ele = NULL;
+ axiom_namespace_t *policy_ns = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
+ axiom_attribute_t *att_uri = NULL;
+
+
+ policy_ns = axiom_namespace_create(env, NEETHI_NAMESPACE,
+ NEETHI_PREFIX);
+
+ ref_ele = axiom_element_create(env, parent, NEETHI_REFERENCE, policy_ns, &ref_node);
+ if (!ref_node)
+ {
+ printf("Reference serialization failed\n");
+ return AXIS2_FAILURE;
+ }
+
+ att_uri = axiom_attribute_create(env, NEETHI_URI, neethi_reference->uri, NULL);
+ axiom_element_add_attribute(ref_ele, env, att_uri, ref_node);
+
+ return AXIS2_SUCCESS;
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org