diff options
Diffstat (limited to 'cpp/demo/Database/Oracle/occi/OCCIServantLocator.cpp')
-rw-r--r-- | cpp/demo/Database/Oracle/occi/OCCIServantLocator.cpp | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/cpp/demo/Database/Oracle/occi/OCCIServantLocator.cpp b/cpp/demo/Database/Oracle/occi/OCCIServantLocator.cpp deleted file mode 100644 index e9ec91ff80e..00000000000 --- a/cpp/demo/Database/Oracle/occi/OCCIServantLocator.cpp +++ /dev/null @@ -1,80 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -#include <OCCIServantLocator.h> -#include <EmpI.h> -#include <DeptI.h> -#include <DbTypes.h> -#include <Util.h> -#include <occi.h> - -using namespace std; -using namespace oracle::occi; - -OCCIServantLocator::OCCIServantLocator(const DeptFactoryIPtr& factory) : - _factory(factory) -{} - - -Ice::ObjectPtr -OCCIServantLocator::locate(const Ice::Current& current, Ice::LocalObjectPtr& cookie) -{ - ConnectionHolderPtr con = new ConnectionHolder(_factory->getConnectionPool()); - RefAny ref = decodeRef(current.id.name, _factory->getEnv(), con->connection()); - - try - { - // - // Extract SQL type from target object - // - string sqlType = Ref<PObject>(ref)->getSQLTypeName(); - - // - // Create and return the servant, used only for this one operation - // - if(sqlType.find("EMP_T") != string::npos) - { - return new EmpI(ref, con, _factory); - } - else if(sqlType.find("DEPT_T") != string::npos) - { - return new DeptI(ref, con, _factory); - } - else - { - return 0; - } - } - catch(const SQLException& sqle) - { - if(sqle.getErrorCode() == 21700) - { - return 0; - } - else - { - throw; - } - } -} - -void -OCCIServantLocator::finished(const Ice::Current&, const Ice::ObjectPtr&, const Ice::LocalObjectPtr&) -{ - // - // Nothing to do: if the connection was not yet released, it is released (and the tx rolled back) - // when the servant's last refcount goes away - // -} - -void -OCCIServantLocator::deactivate(const string&) -{ -} - |