Author: chintana
Date: Tue Sep 1 12:09:30 2009
New Revision: 809993
URL: http://svn.apache.org/viewvc?rev=809993&view=rev
Log:
Replacing config service options that was received from the database to the
values taken from the PHP config service.
Modified:
incubator/stonehenge/trunk/stocktrader/php/trader_client/config.inc
Modified: incubator/stonehenge/trunk/stocktrader/php/trader_client/config.inc
URL:
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/php/trader_client/config.inc?rev=809993&r1=809992&r2=809993&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/php/trader_client/config.inc
(original)
+++ incubator/stonehenge/trunk/stocktrader/php/trader_client/config.inc Tue Sep
1 12:09:30 2009
@@ -1,40 +1,10 @@
<?php
require_once('MDB2.php');
+require_once('../config_service/class_info.php');
session_start();
-// return a database connection, we're using singleton so we'll not be
creating new objects
-// everytime
-function get_db_conn() {
- $hspec = '';
- if ($_SESSION['database'] == "mysql") {
- $hspec = 'localhost:3306';
- } else if ($_SESSION['database'] == "mssql") {
- $hspec = 'localhost,1433';
- }
-
- $dsn = array(
- 'phptype' => $_SESSION['database'],
- 'username' => 'trade',
- 'password' => 'yyy',
- 'hostspec' => $hspec,
- 'database' => 'stocktraderdb',
- );
-
- $options = array(
- 'debug' => 2,
- 'portability' => MDB2_PORTABILITY_ALL,
- );
-
- $db =& MDB2::singleton($dsn, $options);
- if (PEAR::isError($db)) {
- die($db->getMessage());
- }
-
- return $db;
-}
-
function display_db_select_form() {
$str = <<<EOF
<tr>
@@ -126,61 +96,56 @@
echo $str;
}
-// execute the query, display an error if it fails
-function query_or_error($db, $q) {
- $res =& $db->query($q);
- if (PEAR::isError($res)) {
- die($res->getMessage());
- }
- return $res;
+function get_proxy() {
+ global $class_map;
+
+ $client = new WSClient(array("wsdl"
=>"../resources/wsdl/config_svc.wsdl",
+ "classmap" =>
$class_map));
+ $proxy = $client->getProxy();
+
+ return $proxy;
}
function display_bs_ops_conf_form() {
- $db = get_db_conn();
-
- $res =& query_or_error($db, "SELECT bs FROM clienttobs WHERE client =
'PHP_CLIENT'");
- $bs = $res->fetchRow(MDB2_FETCHMODE_ASSOC);
-
- $res =& query_or_error($db, "SELECT ops FROM bstoops WHERE bs = '" .
$bs['bs'] . "'");
- $ops = $res->fetchRow(MDB2_FETCHMODE_ASSOC);
- $res =& query_or_error($db, "SELECT bs, ops FROM bstoops");
- $bstoops = array();
- while ($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
- $bstoops[$row['bs']] = $row['ops'];
- }
+ $proxy = get_proxy();
+
+ $input = new GetClientConfig();
+ $input->client = new ClientConfigRequest();
+ $input->client->ClientName = "PHP_CLIENT";
+ $response = $proxy->GetClientConfig($input);
+
+ $bs = $response->GetClientConfigResult->BSName;
+
+ $input = new GetBSConfig();
+ $input->bs = new BSConfigRequest();
+ $input->bs->BSName = $bs;
+ $response = $proxy->GetBSConfig($input);
+
+ $ops = $response->GetBSConfigResult->OPSName;
$str = <<<EOF
<tr>
<td style="padding: 10px;">Business Service</td>
<td>
- <script type="text/javascript">
- function change_ops(bs) {
- var bstoops = new Array()
-
-EOF;
- foreach ($bstoops as $k => $v) {
- $str .= 'bstoops["' . $k . '"] = "' . $v . '"' . "\n";
- }
- $str .= <<<EOF
- var ops = document.getElementById("ops");
- for( var i = 0; i < ops.options.length; i++ ) {
- if ( ops.options[i].value == bstoops[bs.value] )
- ops.options[i].selected = true
- }
- }
- </script>
- <select name="bs" onChange="change_ops(this);">
+ <select name="bs">
EOF;
- $res =& query_or_error($db, "SELECT servicename FROM service WHERE
servicename LIKE '%_BS'");
- while ($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
- $str .= '<option value="' . $row['servicename'] . '"';
- if ($row['servicename'] == $bs['bs']) {
- $str .= ' selected="selected"';
+ $input = new GetBSLocations();
+ $response = $proxy->GetBSLocations($input);
+
+ for ($i = 0; $i <
count($response->GetBSLocationsResult->ServiceLocation); $i++) {
+ $str .= '<option value="' .
+
$response->GetBSLocationsResult->ServiceLocation[$i]->ServiceName .
+ '"';
+ if
($response->GetBSLocationsResult->ServiceLocation[$i]->ServiceName == $bs) {
+ $str .= ' selected="selected"';
}
- $str .= '>' . $row['servicename'] . '</option>';
+ $str .= '>' .
+
$response->GetBSLocationsResult->ServiceLocation[$i]->ServiceName .
+ '</option>';
}
+
$str .= '</select></td></tr>';
echo $str;
@@ -189,14 +154,20 @@
<td style="padding: 10px;">Order Processing Service</td>
<td><select name="ops" id="ops">
EOF;
-
- $res =& query_or_error($db, "SELECT servicename FROM service WHERE
servicename LIKE '%_OPS%'");
- while ($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
- $str .= '<option value="' . $row['servicename'] . '"';
- if ($row['servicename'] == $ops['ops']) {
+
+ $input = new GetOPSLocations();
+ $response = $proxy->GetOPSLocations($input);
+
+ for ($i = 0; $i <
count($response->GetOPSLocationsResult->ServiceLocation); $i++) {
+ $str .= '<option value="' .
+
$response->GetOPSLocationsResult->ServiceLocation[$i]->ServiceName .
+ '"';
+ if
($response->GetOPSLocationsResult->ServiceLocation[$i]->ServiceName == $ops) {
$str .= ' selected="selected"';
}
- $str .= '>' . $row['servicename'] . '</option>';
+ $str .= '>' .
+
$response->GetOPSLocationsResult->ServiceLocation[$i]->ServiceName .
+ '</option>';
}
$str .= '</select></td></tr>';
echo $str;
@@ -215,56 +186,39 @@
}
function update_clienttobs($bs) {
- $db = get_db_conn();
- $s = "UPDATE clienttobs SET bs = ? WHERE client = 'PHP_CLIENT'";
- $t = array('text');
- $stmt = $db->prepare($s, $t, MDB2_PREPARE_MANIP);
- $data = array($bs);
- $rows = $stmt->execute($data);
- if (PEAR::isError($rows)) {
- die($rows->getMessage());
- }
+ $proxy = get_proxy();
+
+ $input = new SetClientToBS();
+ $input->clientConfig = new ClientToBS();
+ $input->clientConfig->Bs = $bs;
+ $input->clientConfig->Client = "PHP_CLIENT";
+
+ $proxy->SetClientToBS($input);
}
function update_bstoops($ops, $bs) {
- $db = get_db_conn();
- $s = "UPDATE bstoops SET ops = ? WHERE bs = ?";
- $t = array('text', 'text');
- $stmt = $db->prepare($s, $t, MDB2_PREPARE_MANIP);
- $data = array($ops, $bs);
- $rows = $stmt->execute($data);
- if (PEAR::isError($rows)) {
- die($rows->getMessage());
- }
+ $proxy = get_proxy();
+
+ $input = new SetBSToOPS();
+ $input->bsConfig = new BSToOPS();
+ $input->bsConfig->Bs = $bs;
+ $input->bsConfig->Ops = $ops;
+
+ $proxy->SetBSToOPS($input);
}
function update_service($name, $url, $sec) {
- $db = get_db_conn();
- $s = "UPDATE service SET url = ?, sec = ? WHERE servicename = ?";
- $t = array('text', 'boolean', 'text');
- $stmt = $db->prepare($s, $t, MDB2_PREPARE_MANIP);
- $data = array($url, $sec, $name);
- $rows = $stmt->execute($data);
+ $proxy = get_proxy();
- if (PEAR::isError($rows)) {
- die($rows->getMessage());
- }
-}
-
-function insert_new_service($service, $url, $sec) {
- $db = get_db_conn();
- $s = "INSERT INTO service VALUES(?, ?, ?)";
- $t = array('text', 'text', 'boolean');
- $stmt = $db->prepare($s, $t, MDB2_PREPARE_MANIP);
- $secval = ($sec == "on") ? 1 : 0;
- $data = array($service, $url, $secval);
- $rows = $stmt->execute($data);
+ $input = new SetServiceLocation();
+ $input->location = new ServiceLocation();
+ $input->location->Sec = $sec ? "true" : "false";
+ $input->location->ServiceName = $name;
+ $input->location->ServiceURL = $url;
- if (PEAR::isError($rows)) {
- die($rows->getMessage());
- }
+ $proxy->SetServiceLocation($input);
}
function update_params($post, $type) {
@@ -280,9 +234,8 @@
update_service($post['ops_name'], $post['ops_url'], $opssec);
} else if ($type == "addnew") {
if (isset($post['service_name']) &&
- isset($post['service_url']) &&
- isset($post['service_sec']) ) {
- insert_new_service($post['service_name'], $post['service_url'],
$post['service_sec']);
+ isset($post['service_url']) ) {
+ update_service($post['service_name'], $post['service_url'],
$post['service_sec']);
}
}
}
@@ -292,29 +245,44 @@
update_params($post, "basic");
}
-function display_advanced_config_form() {
- $db = get_db_conn();
+function display_advanced_config_form() {
- // current BS value
- $res =& query_or_error($db, "SELECT bs FROM clienttobs WHERE client =
'PHP_CLIENT'");
- $bs = $res->fetchRow(MDB2_FETCHMODE_ASSOC);
-
- // current OPS value
- $res =& query_or_error($db, "SELECT ops FROM bstoops WHERE bs = '" .
$bs['bs'] . "'");
- $ops = $res->fetchRow(MDB2_FETCHMODE_ASSOC);
+ $proxy = get_proxy();
+
+ $input = new GetClientConfig();
+ $input->client = new ClientConfigRequest();
+ $input->client->ClientName = "PHP_CLIENT";
+ $response = $proxy->GetClientConfig($input);
+
+ $bs = $response->GetClientConfigResult->BSName;
+
+ $input = new GetBSConfig();
+ $input->bs = new BSConfigRequest();
+ $input->bs->BSName = $bs;
+ $response = $proxy->GetBSConfig($input);
+
+ $ops = $response->GetBSConfigResult->OPSName;
+
+ $input = new GetBSLocations();
+ $response = $proxy->GetBSLocations($input);
- // All OPS into an array
- $res =& query_or_error($db, "SELECT servicename, url, sec FROM service
WHERE servicename LIKE '%_OPS%'");
- $ops_list = array();
- while ($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
- $ops_list[$row['servicename']] = $row['url'] . '##' .
$row['sec'];
- }
-
- // All BS into an array
- $res =& query_or_error($db, "SELECT servicename, url, sec FROM service
WHERE servicename LIKE '%_BS'");
$bs_list = array();
- while ($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
- $bs_list[$row['servicename']] = $row['url'] . '##' .
$row['sec'];
+ for ($i = 0; $i <
count($response->GetBSLocationsResult->ServiceLocation); $i++) {
+
$bs_list[$response->GetBSLocationsResult->ServiceLocation[$i]->ServiceName] =
+
$response->GetBSLocationsResult->ServiceLocation[$i]->ServiceURL .
+ '##' .
+
$response->GetBSLocationsResult->ServiceLocation[$i]->Sec;
+ }
+
+ $input = new GetOPSLocations();
+ $response = $proxy->GetOPSLocations($input);
+
+ $ops_list = array();
+ for ($i = 0; $i <
count($response->GetOPSLocationsResult->ServiceLocation); $i++) {
+
$ops_list[$response->GetOPSLocationsResult->ServiceLocation[$i]->ServiceName] =
+
$response->GetOPSLocationsResult->ServiceLocation[$i]->ServiceURL .
+ '##' .
+
$response->GetOPSLocationsResult->ServiceLocation[$i]->Sec;
}
// business service options
@@ -348,7 +316,7 @@
foreach ($bs_list as $k => $v) {
$str .= '<option value="' . $k . '"';
- if ($k == $bs['bs']) {
+ if ($k == $bs) {
$str .= ' selected="selected"';
}
$str .= '>' . $k . '</option>';
@@ -356,7 +324,7 @@
$str .= '</select> <a href="config.php?type=BS">Add New</a></td></tr>';
echo $str;
- $default_url = preg_split("/##/", $bs_list[$bs['bs']]);
+ $default_url = preg_split("/##/", $bs_list[$bs]);
$str = <<<EOF
<tr>
<td>Business Service URL</td>
@@ -366,7 +334,7 @@
<td> </td>
<td><input type="checkbox" name="bs_sec" id="bs_sec"
EOF;
- if ($default_url[1] == 1) {
+ if ($default_url[1] == "true") {
$str .= ' checked="checked"';
}
$str .= <<<EOF
@@ -410,7 +378,7 @@
foreach($ops_list as $k => $v) {
$str .= '<option value="' . $k . '"';
- if ($k == $ops['ops']) {
+ if ($k == $ops) {
$str .= ' selected="selected"';
}
$str .= '>' . $k . '</option>';
@@ -418,7 +386,7 @@
$str .= '</select> <a href="config.php?type=OPS">Add New</a></td></tr>';
echo $str;
- $default_url = preg_split("/##/", $ops_list[$ops['ops']]);
+ $default_url = preg_split("/##/", $ops_list[$ops]);
$str = <<<EOF
<tr>
<td>Order Processing Service URL</td>
@@ -428,7 +396,7 @@
<td> </td>
<td><input type="checkbox" name="ops_sec" id="ops_sec"
EOF;
- if ($default_url[1] == 1) {
+ if ($default_url[1] == "true") {
$str .= ' checked="checked"';
}
$str .= <<<EOF