You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2007/01/01 05:06:57 UTC
svn commit: r491528 - in /webservices/axis2/trunk/c/axiom/src/om: om_node.c
om_output.c
Author: samisa
Date: Sun Dec 31 20:06:55 2006
New Revision: 491528
URL: http://svn.apache.org/viewvc?view=rev&rev=491528
Log:
Dropped swith statements and replaced with if else as that seemed to be more performant
Modified:
webservices/axis2/trunk/c/axiom/src/om/om_node.c
webservices/axis2/trunk/c/axiom/src/om/om_output.c
Modified: webservices/axis2/trunk/c/axiom/src/om/om_node.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_node.c?view=diff&rev=491528&r1=491527&r2=491528
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_node.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_node.c Sun Dec 31 20:06:55 2006
@@ -224,37 +224,32 @@
}
}
- switch (node_impl->node_type)
+ if (node_impl->node_type == AXIOM_ELEMENT)
{
- case AXIOM_ELEMENT:
- if (node_impl->data_element)
- AXIOM_ELEMENT_FREE((axiom_element_t*)(node_impl->data_element), env);
-
- break;
-
- case AXIOM_COMMENT:
- if (node_impl->data_element)
- AXIOM_COMMENT_FREE((axiom_comment_t*)(node_impl->data_element), env);
-
- break;
- case AXIOM_DOCTYPE:
- /*AXIOM_DOCTYPE_FREE((axiom_doctype_t*)(node_impl->data_element), env);*/
- break;
- case AXIOM_PROCESSING_INSTRUCTION:
- if (node_impl->data_element)
- AXIOM_PROCESSING_INSTRUCTION_FREE(
- (axiom_processing_instruction_t*)(node_impl->data_element), env);
-
- break;
- case AXIOM_TEXT:
- if (node_impl->data_element)
- AXIOM_TEXT_FREE((axiom_text_t*)(node_impl->data_element), env);
-
- break;
-
- default:
- break;
+ if (node_impl->data_element)
+ AXIOM_ELEMENT_FREE((axiom_element_t*)(node_impl->data_element), env);
+ }
+ else if (node_impl->node_type == AXIOM_COMMENT)
+ {
+ if (node_impl->data_element)
+ AXIOM_COMMENT_FREE((axiom_comment_t*)(node_impl->data_element), env);
+ }
+ else if (node_impl->node_type == AXIOM_DOCTYPE)
+ {
+ /*AXIOM_DOCTYPE_FREE((axiom_doctype_t*)(node_impl->data_element), env);*/
+ }
+ else if (node_impl->node_type == AXIOM_PROCESSING_INSTRUCTION)
+ {
+ if (node_impl->data_element)
+ AXIOM_PROCESSING_INSTRUCTION_FREE(
+ (axiom_processing_instruction_t*)(node_impl->data_element), env);
}
+ else if (node_impl->node_type == AXIOM_TEXT)
+ {
+ if (node_impl->data_element)
+ AXIOM_TEXT_FREE((axiom_text_t*)(node_impl->data_element), env);
+ }
+
if (om_node->ops)
{
AXIS2_FREE(env->allocator, om_node->ops);
@@ -480,72 +475,63 @@
node_impl = AXIS2_INTF_TO_IMPL(om_node);
- switch (node_impl->node_type)
+ if (node_impl->node_type == AXIOM_ELEMENT)
+ {
+ if (node_impl->data_element)
+ {
+ status = AXIOM_ELEMENT_SERIALIZE_START_PART(
+ (axiom_element_t *)(node_impl->data_element),
+ env,
+ om_output,
+ om_node);
+ }
+ if (status != AXIS2_SUCCESS)
+ return status;
+ }
+ else if (node_impl->node_type == AXIOM_TEXT)
+ {
+ if (node_impl->data_element)
+ {
+ status = AXIOM_TEXT_SERIALIZE(
+ (axiom_text_t*)(node_impl->data_element),
+ env, om_output);
+ }
+ if (status != AXIS2_SUCCESS)
+ return status;
+ }
+ else if (node_impl->node_type == AXIOM_COMMENT)
+ {
+ if (node_impl->data_element)
+ {
+ status = AXIOM_COMMENT_SERIALIZE(
+ (axiom_comment_t*)(node_impl->data_element),
+ env, om_output);
+ }
+ if (status != AXIS2_SUCCESS)
+ return status;
+ }
+ else if (node_impl->node_type == AXIOM_DOCTYPE)
+ {
+ if (node_impl->data_element)
+ {
+ status = AXIOM_DOCTYPE_SERIALIZE(
+ (axiom_doctype_t*)(node_impl->data_element),
+ env, om_output);
+ }
+ if (status != AXIS2_SUCCESS)
+ return status;
+ }
+ else if (node_impl->node_type == AXIOM_PROCESSING_INSTRUCTION)
{
- case AXIOM_ELEMENT:
- if (node_impl->data_element)
- {
- status = AXIOM_ELEMENT_SERIALIZE_START_PART(
- (axiom_element_t *)(node_impl->data_element),
- env,
- om_output,
- om_node);
- }
- if (status != AXIS2_SUCCESS)
- return status;
-
- break;
-
- case AXIOM_TEXT:
- if (node_impl->data_element)
- {
- status = AXIOM_TEXT_SERIALIZE(
- (axiom_text_t*)(node_impl->data_element),
- env, om_output);
- }
- if (status != AXIS2_SUCCESS)
- return status;
-
- break;
-
- case AXIOM_COMMENT:
- if (node_impl->data_element)
- {
- status = AXIOM_COMMENT_SERIALIZE(
- (axiom_comment_t*)(node_impl->data_element),
- env, om_output);
- }
- if (status != AXIS2_SUCCESS)
- return status;
-
- break;
-
- case AXIOM_DOCTYPE:
- if (node_impl->data_element)
- {
- status = AXIOM_DOCTYPE_SERIALIZE(
- (axiom_doctype_t*)(node_impl->data_element),
- env, om_output);
- }
- if (status != AXIS2_SUCCESS)
- return status;
-
- break;
-
- case AXIOM_PROCESSING_INSTRUCTION:
- if (node_impl->data_element)
- {
- status = AXIOM_PROCESSING_INSTRUCTION_SERIALIZE(
- (axiom_processing_instruction_t*)(node_impl->data_element),
- env, om_output);
- }
-
- if (status != AXIS2_SUCCESS)
- return status;
- break;
+ if (node_impl->data_element)
+ {
+ status = AXIOM_PROCESSING_INSTRUCTION_SERIALIZE(
+ (axiom_processing_instruction_t*)(node_impl->data_element),
+ env, om_output);
+ }
- default:
- break;
+ if (status != AXIS2_SUCCESS)
+ return status;
}
@@ -557,22 +543,16 @@
temp_node = AXIOM_NODE_GET_NEXT_SIBLING(temp_node, env);
}
- switch (node_impl->node_type)
+ if (node_impl->node_type == AXIOM_ELEMENT)
{
- case AXIOM_ELEMENT:
- if (node_impl->data_element)
- {
- status = AXIOM_ELEMENT_SERIALIZE_END_PART(
- (axiom_element_t *)(node_impl->data_element),
- env, om_output);
- }
- if (status != AXIS2_SUCCESS)
- return status;
-
- break;
-
- default:
- break;
+ if (node_impl->data_element)
+ {
+ status = AXIOM_ELEMENT_SERIALIZE_END_PART(
+ (axiom_element_t *)(node_impl->data_element),
+ env, om_output);
+ }
+ if (status != AXIS2_SUCCESS)
+ return status;
}
return status;
Modified: webservices/axis2/trunk/c/axiom/src/om/om_output.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_output.c?view=diff&rev=491528&r1=491527&r2=491528
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_output.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_output.c Sun Dec 31 20:06:55 2006
@@ -659,118 +659,111 @@
va_end(ap);
- switch (type)
+ if (type == AXIOM_ELEMENT)
{
- case AXIOM_ELEMENT:
-
-
- switch (no_of_args)
- {
- case 0:
- status =
- AXIOM_XML_WRITER_WRITE_END_ELEMENT(om_output_impl->xml_writer,
- env);
- break;
- case 1:
- status =
- AXIOM_XML_WRITER_WRITE_START_ELEMENT(om_output_impl->xml_writer,
- env, args_list[0]);
- break;
- case 2:
- status = AXIOM_XML_WRITER_WRITE_START_ELEMENT_WITH_NAMESPACE(
- om_output_impl->xml_writer,
- env,
- args_list[0],
- args_list[1]);
- break;
- case 3:
- status =
- AXIOM_XML_WRITER_WRITE_START_ELEMENT_WITH_NAMESPACE_PREFIX(
- om_output_impl->xml_writer,
- env,
- args_list[0],
- args_list[1],
- args_list[2]);
- break;
- }
- break;
-
- case AXIOM_ATTRIBUTE:
- switch (no_of_args)
- {
- case 2:
- status =
- AXIOM_XML_WRITER_WRITE_ATTRIBUTE(om_output_impl->xml_writer,
- env,
- args_list[0],
- args_list[1]);
- break;
- case 3:
- status = AXIOM_XML_WRITER_WRITE_ATTRIBUTE_WITH_NAMESPACE(
- om_output_impl->xml_writer, env,
- args_list[0],
- args_list[1],
- args_list[2]);
- break;
- case 4:
- status =
- AXIOM_XML_WRITER_WRITE_ATTRIBUTE_WITH_NAMESPACE_PREFIX(
- om_output_impl->xml_writer, env,
- args_list[0],
- args_list[1],
- args_list[2],
- args_list[3]);
-
- break;
-
- }
- break;
-
- case AXIOM_NAMESPACE:
- status = AXIOM_XML_WRITER_WRITE_NAMESPACE(om_output_impl->xml_writer,
+ if (no_of_args == 0)
+ {
+ status =
+ AXIOM_XML_WRITER_WRITE_END_ELEMENT(om_output_impl->xml_writer,
+ env);
+ }
+ else if (no_of_args == 1)
+ {
+ status =
+ AXIOM_XML_WRITER_WRITE_START_ELEMENT(om_output_impl->xml_writer,
+ env, args_list[0]);
+ }
+ else if (no_of_args == 2)
+ {
+ status = AXIOM_XML_WRITER_WRITE_START_ELEMENT_WITH_NAMESPACE(
+ om_output_impl->xml_writer,
+ env,
+ args_list[0],
+ args_list[1]);
+ }
+ else if (no_of_args == 3)
+ {
+ status =
+ AXIOM_XML_WRITER_WRITE_START_ELEMENT_WITH_NAMESPACE_PREFIX(
+ om_output_impl->xml_writer,
env,
args_list[0],
- args_list[1]);
- break;
- case AXIOM_TEXT:
- status = AXIOM_XML_WRITER_WRITE_CHARACTERS(om_output_impl->xml_writer,
- env,
- args_list[0]);
- break;
- case AXIOM_COMMENT:
- status = AXIOM_XML_WRITER_WRITE_COMMENT(om_output_impl->xml_writer,
- env,
- args_list[0]);
- break;
- case AXIOM_PROCESSING_INSTRUCTION:
- switch (no_of_args)
- {
- case 1:
-
- status =
- AXIOM_XML_WRITER_WRITE_PROCESSING_INSTRUCTION(
- om_output_impl->xml_writer,
- env, args_list[0]);
- break;
- case 2:
-
- status = AXIOM_XML_WRITER_WRITE_PROCESSING_INSTRUCTION_DATA(
- om_output_impl->xml_writer,
- env,
- args_list[0],
- args_list[1]);
- break;
- }
- break;
- case AXIOM_DOCTYPE:
- status = AXIOM_XML_WRITER_WRITE_DTD(om_output_impl->xml_writer,
- env,
- args_list[0]);
- break;
-
- default:
- break;
- };
+ args_list[1],
+ args_list[2]);
+ }
+ }
+ else if (type == AXIOM_ATTRIBUTE)
+ {
+ if (no_of_args == 2)
+ {
+ status =
+ AXIOM_XML_WRITER_WRITE_ATTRIBUTE(om_output_impl->xml_writer,
+ env,
+ args_list[0],
+ args_list[1]);
+ }
+ else if (no_of_args == 3)
+ {
+ status = AXIOM_XML_WRITER_WRITE_ATTRIBUTE_WITH_NAMESPACE(
+ om_output_impl->xml_writer, env,
+ args_list[0],
+ args_list[1],
+ args_list[2]);
+ }
+ else if (no_of_args == 4)
+ {
+ status =
+ AXIOM_XML_WRITER_WRITE_ATTRIBUTE_WITH_NAMESPACE_PREFIX(
+ om_output_impl->xml_writer, env,
+ args_list[0],
+ args_list[1],
+ args_list[2],
+ args_list[3]);
+ }
+ }
+ else if (type == AXIOM_NAMESPACE)
+ {
+ status = AXIOM_XML_WRITER_WRITE_NAMESPACE(om_output_impl->xml_writer,
+ env,
+ args_list[0],
+ args_list[1]);
+ }
+ else if (type == AXIOM_TEXT)
+ {
+ status = AXIOM_XML_WRITER_WRITE_CHARACTERS(om_output_impl->xml_writer,
+ env,
+ args_list[0]);
+ }
+ else if (type == AXIOM_COMMENT)
+ {
+ status = AXIOM_XML_WRITER_WRITE_COMMENT(om_output_impl->xml_writer,
+ env,
+ args_list[0]);
+ }
+ else if (type == AXIOM_PROCESSING_INSTRUCTION)
+ {
+ if (no_of_args == 1)
+ {
+ status =
+ AXIOM_XML_WRITER_WRITE_PROCESSING_INSTRUCTION(
+ om_output_impl->xml_writer,
+ env, args_list[0]);
+ }
+ else if (no_of_args == 2)
+ {
+ status = AXIOM_XML_WRITER_WRITE_PROCESSING_INSTRUCTION_DATA(
+ om_output_impl->xml_writer,
+ env,
+ args_list[0],
+ args_list[1]);
+ }
+ }
+ else if (type == AXIOM_DOCTYPE)
+ {
+ status = AXIOM_XML_WRITER_WRITE_DTD(om_output_impl->xml_writer,
+ env,
+ args_list[0]);
+ }
if (status == AXIS2_SUCCESS)
{
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org