summaryrefslogtreecommitdiffstats
path: root/tags/cpp-1.0-incubating-M2-final/sdo/runtime/core/sdo_axiom/sdo_axiom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tags/cpp-1.0-incubating-M2-final/sdo/runtime/core/sdo_axiom/sdo_axiom.cpp')
-rw-r--r--tags/cpp-1.0-incubating-M2-final/sdo/runtime/core/sdo_axiom/sdo_axiom.cpp275
1 files changed, 0 insertions, 275 deletions
diff --git a/tags/cpp-1.0-incubating-M2-final/sdo/runtime/core/sdo_axiom/sdo_axiom.cpp b/tags/cpp-1.0-incubating-M2-final/sdo/runtime/core/sdo_axiom/sdo_axiom.cpp
deleted file mode 100644
index d68f594125..0000000000
--- a/tags/cpp-1.0-incubating-M2-final/sdo/runtime/core/sdo_axiom/sdo_axiom.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/* $Rev$ $Date$ */
-
-#if defined(WIN32) || defined (_WINDOWS)
-#pragma warning(disable: 4786)
-#endif
-
-#include "sdo_axiom.h"
-
-using namespace commonj::sdo;
-using namespace std;
-
-
-namespace commonj
-{
- namespace sdo_axiom
- {
-
- int AxiomHelper::axiswritercount = 0;
-
- AxiomHelper* AxiomHelper::getHelper()
- {
- return new AxiomHelper();
- }
-
- void AxiomHelper::releaseHelper(AxiomHelper* h)
- {
- if (h) delete h;
- }
-
- void AxiomHelper::deleteEnv()
- {
- if (the_env)axis2_env_free(the_env);
- }
-
- void AxiomHelper::createEnv()
- {
-
- the_allocator = axis2_allocator_init (NULL);
- if (the_allocator == NULL) return;
-
- the_env = axis2_env_create(the_allocator);
-
- if (the_env == 0) return;
-
- return;
- }
-
-
- AxiomHelper::AxiomHelper()
- {
- createEnv();
- }
-
- AxiomHelper::~AxiomHelper()
- {
- deleteEnv();
- }
-
-
- axis2_env_t* AxiomHelper::getEnv()
- {
- return the_env;
- }
-
- axiom_node_t* AxiomHelper::toAxiomNode(DataObjectPtr dob,
- const char* targetNamespaceURI, const char* elementName)
- {
-
- axiom_document_t* doc = toAxiomDoc(dob,
- targetNamespaceURI, elementName);
-
- if (!doc)
- {
- return 0;
- }
-
- axiom_node_t* root_node =
- AXIOM_DOCUMENT_GET_ROOT_ELEMENT(doc, the_env);
- if (!root_node)
- {
- cout << "No Root Element in the document" << endl;
- return 0;
- }
-
-
- return root_node;
- }
-
- axiom_document_t* AxiomHelper::toAxiomDoc(DataObjectPtr dob,
- const char* targetNamespaceURI, const char* elementName)
- {
-
- DataFactory* df = dob->getDataFactory();
- XSDHelperPtr xs = HelperProvider::getXSDHelper(df);
- XMLHelperPtr xm = HelperProvider::getXMLHelper(df);
- if (!the_env)
- {
- cout << "No Axis Environment" << endl;
- return 0;
- }
-
- XMLDocumentPtr doc = xm->createDocument(
- dob,
- targetNamespaceURI,
- elementName);
-
- char * str = xm->save(doc);
-
- //if (str) {
- // cout << "toAxiomDoc " << str << endl;
- //}
-
- axiom_xml_reader_t * reader =
- axiom_xml_reader_create_for_memory(the_env,
- (void*)str,
- strlen(str),
- (const axis2_char_t *)"UTF-8",
- AXIS2_XML_PARSER_TYPE_BUFFER);
-
- if (!reader)
- {
- cout << "No Axis Reader" << endl;
- return 0;
- }
-
- axiom_stax_builder_t* builder =
- axiom_stax_builder_create(the_env, reader);
-
- if (!builder)
- {
- cout << "No Axis Builder" << endl;
- AXIOM_XML_READER_FREE(reader, the_env);
- return 0;
- }
-
- axiom_document_t* document =
- AXIOM_STAX_BUILDER_GET_DOCUMENT(builder, the_env);
-
- if (!document)
- {
- cout << "No Axis Document" << endl;
- AXIOM_STAX_BUILDER_FREE(builder, the_env);
- return 0;
- }
-
- axiom_node_t* root_node =
- AXIOM_DOCUMENT_GET_ROOT_ELEMENT(document, the_env);
- if (!root_node)
- {
- cout << "No Root Element in the document" << endl;
- AXIOM_STAX_BUILDER_FREE(builder, the_env);
- return 0;
- }
-
-
- AXIOM_DOCUMENT_BUILD_ALL(document, the_env);
-
- return document;
- }
-
- DataObjectPtr AxiomHelper::toSdo(axiom_document_t* document,
- DataFactoryPtr factory,
- const char* targetNamespaceURI)
- {
-
- if (!the_env)
- {
- cout << "No Axis Environment" << endl;
- return 0;
- }
-
- axiom_node_t* root_node =
- AXIOM_DOCUMENT_GET_ROOT_ELEMENT(document, the_env);
-
- return toSdo(root_node,factory, targetNamespaceURI);
- }
-
- DataObjectPtr AxiomHelper::toSdo(axiom_node_t* root_node,
- DataFactoryPtr factory,
- const char* targetNamespaceURI)
- {
-
- if (!the_env)
- {
- cout << "No Axis Environment" << endl;
- return 0;
- }
-
- XMLHelperPtr helper = HelperProvider::getXMLHelper(factory);
-
- axiom_xml_writer_t* writer = axiom_xml_writer_create_for_memory(
- the_env, NULL, AXIS2_TRUE, 0,
- AXIS2_XML_PARSER_TYPE_BUFFER);
-
- axiom_output_t* output = axiom_output_create(the_env, writer);
-
-
- if (!root_node)
- {
- cout << "No Root Element in the document" << endl;
- AXIOM_OUTPUT_FREE(output, the_env);
- return 0;
- }
-
- AXIOM_NODE_SERIALIZE(root_node, the_env, output);
-
- axis2_char_t* buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(writer, the_env);
-
- XMLDocumentPtr theXMLDocument = helper->load(buffer, targetNamespaceURI);
-
- if (theXMLDocument != 0)
- {
- return theXMLDocument->getRootDataObject();
- }
- cout << "The XML document returned from load was zero" << endl;
- return 0;
- }
-
- void AxiomHelper::output(axiom_document_t* document)
- {
-
- if (!the_env)
- {
- cout << "No Axis Environment" << endl;
- return;
- }
-
- axiom_xml_writer_t* writer = axiom_xml_writer_create_for_memory(
- the_env, NULL, AXIS2_TRUE, 0,
- AXIS2_XML_PARSER_TYPE_BUFFER);
-
- axiom_output_t* output = axiom_output_create(the_env, writer);
-
- axiom_node_t* root_node =
- AXIOM_DOCUMENT_GET_ROOT_ELEMENT(document, the_env);
-
- if (!root_node)
- {
- cout << "No Root Element in the document" << endl;
- AXIOM_OUTPUT_FREE(output, the_env);
- return;
- }
-
- AXIOM_NODE_SERIALIZE(root_node, the_env, output);
-
- axis2_char_t* buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(writer, the_env);
-
- printf("Output XML:n %s ", buffer);
-
- AXIOM_OUTPUT_FREE(output, the_env);
-
- return;
- }
- }
-}
-