From c0a2dcce89b1f374fc1987753dd28c6541bbbfe5 Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 16 Nov 2009 06:27:11 +0000 Subject: Cleaning up SVN structure, moving branch under sdo-cpp/branches. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@880614 13f79535-47bb-0310-9956-ffa450edef68 --- .../samples/misc/ChangeSummarySave.cpp | 188 --------------------- 1 file changed, 188 deletions(-) delete mode 100644 branches/sdo-cpp-pre2.1/samples/misc/ChangeSummarySave.cpp (limited to 'branches/sdo-cpp-pre2.1/samples/misc/ChangeSummarySave.cpp') diff --git a/branches/sdo-cpp-pre2.1/samples/misc/ChangeSummarySave.cpp b/branches/sdo-cpp-pre2.1/samples/misc/ChangeSummarySave.cpp deleted file mode 100644 index 5a27683807..0000000000 --- a/branches/sdo-cpp-pre2.1/samples/misc/ChangeSummarySave.cpp +++ /dev/null @@ -1,188 +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$ */ - -#include "samples.h" -using namespace std; - -void ChangeSummarySave::sample() -{ - cout << " ********** ChangeSummarySave sample********" << endl; - - try { - - DataFactoryPtr mdg = DataFactory::getDataFactory(); - - XSDHelperPtr xsh = HelperProvider::getXSDHelper(mdg); - xsh->defineFile("ChangeSummarySave.xsd"); - - /** - * Load the schema from ChangeSummarySave.xsd - */ - - const Type& tstring = mdg->getType("commonj.sdo","String"); - const Type& tbool = mdg->getType("commonj.sdo","Boolean"); - const Type& tcs = mdg->getType("commonj.sdo","ChangeSummary"); - const Type& tcomp = mdg->getType("companyNS","CompanyType"); - const Type& tdept = mdg->getType("companyNS","DepartmentType"); - const Type& temp = mdg->getType("companyNS","EmployeeType"); - - - /** - * create a graph, set the change summary logging, modify the - * data, then save it to a file - */ - - DataObjectPtr comp = mdg->create((Type&)tcomp); - comp->setCString("name","ACME"); - - DataObjectPtr dept = mdg->create((Type&)tdept); - DataObjectList& dol = comp->getList("departments"); - dol.append(dept); - - dept->setCString("name","Advanced Technologies"); - dept->setCString("location","NY"); - dept->setCString("number","123"); - - DataObjectPtr emp1 = mdg->create(temp); - DataObjectPtr emp2 = mdg->create(temp); - DataObjectPtr emp3 = mdg->create(temp); - - emp1->setCString("name","John Jones"); - emp1->setCString("SN","E0001"); - - emp2->setCString("name","Mary Smith"); - emp2->setCString("SN","E0002"); - emp2->setBoolean("manager",true); - - emp3->setCString("name","Jane Doe"); - emp3->setCString("SN","E0003"); - - DataObjectList& dol2 = dept->getList("employees"); - dol2.append(emp1); - dol2.append(emp2); - dol2.append(emp3); - - - /** - * Set the employee of the month - which is a reference, not - * a containment value - */ - - comp->setDataObject("employeeOfTheMonth",emp2); - - /** - * The XSD defined the company type as having a change summary, - * so we can get it... - */ - - ChangeSummaryPtr cs = comp->getChangeSummary(); - - /** - * And ask it to start logging... - */ - - cs->beginLogging(); - - /** - * With logging on, create a new employee - */ - - DataObjectPtr emp4 = mdg->create(temp); - emp4->setCString("name","Al Smith"); - emp4->setCString("SN","E0004"); - emp4->setBoolean("manager",true); - - /** - * The first recorded change happens now, as the employee is - * added into the data graph. Emp4 (Al Smith) will appear in the - * change summary as a creation. There will also be a change - * record for the list "employees" of this department, holding the - * values before Al was added. - */ - dol2.append(emp4); - - /** - * The second change is to remove element 1 from the - * same list - Thats Mary Smith. - * Mary will appear as a deletion, but there will be no extra - * change record for "employees", as its already been changed. - * Mary was employee of the month, so that reference gets - * emptied, and a change record is set up for it, recording - * Mary as the old value. - */ - - dol2.remove(1); // element 1 is Mary - - DataObjectPtr emp5 = mdg->create(temp); - emp5->setCString("name","Bill Withers"); - emp5->setCString("SN","E0005"); - - - /** - * The third change is to append Bill to the same list. - * Bill appears as a creation, but there is no change recorded to - * the employees list. - */ - - dol2.append(emp5); - - - /** - * The company name is changed. A change record is set up for - * the property "name" of this company. It stores the old value - * "ACME" - */ - - comp->setCString("name","MegaCorp"); - - /** - * The company employee of the month is changed. The old - * value has already been changed from Mary to NULL, so no change - * record is created here at all - */ - - comp->setDataObject("employeeOfTheMonth",emp4); - - - /** - * Stop logging changes - */ - - cs->endLogging(); - - - XMLHelperPtr xmh = HelperProvider::getXMLHelper(mdg); - XMLDocumentPtr doc = xmh->createDocument(comp,"companyNS","company"); - xmh->save(doc,"ChangeSummarySave-output.xml"); - - /** - * Have a look in the file and see if you can recognise the changes - * above - */ - - } - catch (SDORuntimeException e) - { - cout << "Exception in ChangeSummarySave" << endl; - cout << e; - } - cout << " ********** Sample ends ********************" << endl; -} -- cgit v1.2.3