Skip to content

Commit

Permalink
Added configuration parameter "database" to allow multiples databases…
Browse files Browse the repository at this point in the history
… with same physical name (ex. LILACS) and different paths
  • Loading branch information
viniciusandrade committed May 21, 2013
1 parent b35ddb7 commit 9d13ddf
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 19 deletions.
3 changes: 0 additions & 3 deletions htdocs/isis-oai-provider/lib/ISISDb.php
Expand Up @@ -53,9 +53,6 @@ function wxis_url ( $IsisScript, $params, $key_length = '1030' ) {

$request = "http://" . $this->wxis_host . $wxis_action . "?" . "IsisScript=" . $IsisScript . "&app_path=" . $this->app_path;

if ($this->dbname != ''){
$request.= "&database=" . $this->dbpath . "/" . $this->dbname;
}

foreach ($params as $key => $value){
$request .= "&" . $key . "=" . $value;
Expand Down
2 changes: 1 addition & 1 deletion htdocs/isis-oai-provider/lib/ISISItem.php
Expand Up @@ -35,7 +35,7 @@ function GetMetadata($MetadataFormat)
$id_field = $DATABASES[$this->DBName]['identifier_field'];

$record_xml = $this->Resource->getrecord(
array('expression' => $this->Id . "/($id_field)", 'metadata_format' => $MetadataFormat,
array('database' => $DATABASES[$this->DBName]['database'], 'expression' => $this->Id . "/($id_field)", 'metadata_format' => $MetadataFormat,
'mapping_file' => $mapping_file), $key_length);

// add CDATA to elements when work with isisxml style=1
Expand Down
11 changes: 6 additions & 5 deletions htdocs/isis-oai-provider/lib/ISISItemFactory.php
Expand Up @@ -50,8 +50,8 @@ function GetItems($StartingDate = NULL, $EndingDate = NULL, $ListStartPoint=0){

foreach ($this->Databases as $database) {
$params = array('expression' => $date_range_exp,
'dbpath' => $database['path'],
'dbname' => $database['setSpec'],
'database' => $database['database'],
'setSpec' => $database['setSpec'],
'date_prefix' => $database['prefix'],
'id_field' => $database['identifier_field'],
'date_field' => $database['datestamp_field'],
Expand Down Expand Up @@ -93,18 +93,19 @@ function GetItemsInSet($SetSpec, $StartingDate = NULL, $EndingDate = NULL, $List
foreach ($this->Databases as $database) {
if ($database['setSpec'] == $SetSpec){
$params = array('expression' => $date_range_exp,
'dbpath' => $database['path'],
'dbname' => $database['setSpec'],
'database' => $database['database'],
'setSpec' => $database['setSpec'],
'date_prefix' => $database['prefix'],
'id_field' => $database['identifier_field'],
'date_field' => $database['datestamp_field'],
'from' => $ListStartPoint,
);
);
$ItemIds = $db->getidentifiers($params, $database['isis_key_length']);
}
}
$ItemIds = substr($ItemIds, 0, strlen($ItemIds)-1);
$ItemIds = explode("|", $ItemIds);

return $ItemIds;
}

Expand Down
10 changes: 5 additions & 5 deletions htdocs/isis-oai-provider/lib/parse_databases.php
Expand Up @@ -28,8 +28,8 @@
die("O arquivo ${database['mapping']} não existe.");
}

$database_xrf = $database['path'] . '/' . $database['name'] . '.xrf';
$database_mst = $database['path'] . '/' . $database['name'] . '.mst';
$database_xrf = $database['database'] . '.xrf';
$database_mst = $database['database'] . '.mst';

//$database_cnt = $database['path'] . '/' . $database['name'] . '.cnt';

Expand All @@ -42,9 +42,9 @@
foreach($DATABASES as $key => $database) {
$databases[$key] = array();
$databases[$key]['setSpec'] = $key;
$databases[$key]['setName'] = $database['description'];
$databases[$key]['path'] = $database['path'];
$databases[$key]['database'] = $database['path'] . '/' . $database['name'];
$databases[$key]['setName'] = $database['name'];
$databases[$key]['database'] = $database['database'];

$databases[$key]['mapping'] = $mapping_dir . '/' . $database['mapping'];
$databases[$key]['prefix'] = $database['prefix'];
$databases[$key]['prefix'] = $database['prefix'];
Expand Down
2 changes: 1 addition & 1 deletion htdocs/isis-oai-provider/oai.php
Expand Up @@ -36,7 +36,7 @@
$response = $server->GetResponse();
// show XML
header("Content-type: text/xml;");
print $response;
print trim($response);

$enddate = time();
$time = $enddate - $startdate;
Expand Down
6 changes: 3 additions & 3 deletions htdocs/isis-oai-provider/wxis/getidentifiers.xis
Expand Up @@ -5,8 +5,8 @@
<field action="replace" tag="1">
<pft>
'5000 app_path'/
'5003 dbpath'/
'5004 dbname'/
'5003 database'/
'5004 setSpec'/
'5005 date_prefix'/
'5006 id_field'/
'5007 date_field'/
Expand All @@ -25,7 +25,7 @@
<!--trace>On</trace-->

<do task="search">
<parm name="db"><pft>v5003,'/',v5004</pft></parm>
<parm name="db"><pft>v5003</pft></parm>
<parm name="expression"><pft>if p(v6003) then v5005,replace(v6003,' OR ', s(' OR ',v5005)) else '$' fi</pft></parm>

<parm name="from"><pft>if v5008 = '0' then '1' else v5008 fi</pft></parm>
Expand Down
4 changes: 3 additions & 1 deletion htdocs/isis-oai-provider/wxis/getrecord.xis
Expand Up @@ -18,9 +18,11 @@
<do task="search">
<parm name="db"><pft>v6001</pft></parm>
<field action="replace" tag="6002" split="occ"><pft>proc('Gsplit/clean=6002=@')</pft></field>
<field action="replace" tag="6022"><pft>left(v6002[2],instr(v6002[2],'/')-1)</pft></field>


<!-- search by id_number/(inverted field) OR ID=id_number OR ID_id_number -->
<parm name="expression"><pft>v6002[2], ' OR ID=',v6002[2],' OR ID_',v6002[2]</pft></parm>
<parm name="expression"><pft>v6002[2], ' OR ID=',v6022,' OR ID_',v6022</pft></parm>
<parm name="count">1</parm>

<flow action="jump"><pft>s(mpu,v6003,mpl)</pft></flow>
Expand Down

0 comments on commit 9d13ddf

Please sign in to comment.