/* * * Copyright 2006 The Apache Software Foundation or its licensors, as applicable. * * Licensed 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. */ #if defined(WIN32) || defined (_WINDOWS) #pragma warning(disable: 4786) #endif #include "commonj/sdo/SDO.h" #include "AccountDataServiceImpl.h" using namespace commonj::sdo; namespace com { namespace bigbank { namespace account { DataObjectPtr /* CheckingAccount*/ AccountDataServiceImpl::getCheckingAccount( const char *id) { try { DataFactoryPtr factory = DataFactory::getDataFactory(); XSDHelperPtr helper = HelperProvider::getXSDHelper(factory); helper->defineFile("AccountService.wsdl"); DataObjectPtr newaccount = factory->create("http://www.bigbank.com/AccountService","CheckingAccount"); char* name = new char[strlen(id) + 10]; strcpy(name,id); strcat(name,"_CHA12345"); newaccount->setCString("accountNumber",name); delete name; newaccount->setFloat("balance",1500.0f); return newaccount; } catch (SDORuntimeException e) { return 0; } } DataObjectPtr /* SavingsAccount */ AccountDataServiceImpl::getSavingsAccount( const char *id) { try { DataFactoryPtr factory = DataFactory::getDataFactory(); XSDHelperPtr helper = HelperProvider::getXSDHelper(factory); helper->defineFile("AccountService.wsdl"); DataObjectPtr newaccount = factory->create("http://www.bigbank.com/AccountService","SavingsAccount"); char* name = new char[strlen(id) + 10]; strcpy(name,id); strcat(name,"_SAA12345"); newaccount->setCString("accountNumber",name); delete name; newaccount->setFloat("balance",1500.0f); return newaccount; } catch (SDORuntimeException e) { return 0; } } DataObjectPtr /* StockAccount */ AccountDataServiceImpl::getStockAccount ( const char* id) { try { DataFactoryPtr factory = DataFactory::getDataFactory(); XSDHelperPtr helper = HelperProvider::getXSDHelper(factory); helper->defineFile("AccountService.wsdl"); DataObjectPtr newaccount = factory->create("http://www.bigbank.com/AccountService","StockAccount"); char* name = new char[strlen(id) + 10]; strcpy(name,id); strcat(name,"_STA12345"); newaccount->setCString("accountNumber",name); delete name; newaccount->setCString("symbol","IBM"); newaccount->setInteger("quantity",100); return newaccount; } catch (SDORuntimeException e) { return 0; } } } } }