Skip to content
This repository has been archived by the owner on Nov 9, 2022. It is now read-only.

Commit

Permalink
Merge pull request #87 from isubiker/master
Browse files Browse the repository at this point in the history
Bugs and languages
  • Loading branch information
eedeebee committed Jul 6, 2012
2 parents f08dd27 + 38ef76f commit 1e729e7
Show file tree
Hide file tree
Showing 14 changed files with 119 additions and 58 deletions.
4 changes: 4 additions & 0 deletions config/endpoints.xqy
Expand Up @@ -45,6 +45,7 @@ declare variable $endpoints:ENDPOINTS as element(rest:options) :=
<param name="addPermission" alias="addPermission[]" repeatable="true" required="false"/> <param name="addPermission" alias="addPermission[]" repeatable="true" required="false"/>
<param name="removePermission" alias="removePermission[]" repeatable="true" required="false"/> <param name="removePermission" alias="removePermission[]" repeatable="true" required="false"/>
<param name="quality" required="false"/> <param name="quality" required="false"/>
<param name="language" required="false" />
<param name="contentForBinary" required="false"/> <param name="contentForBinary" required="false"/>
<param name="moveTo" required="false"/> <param name="moveTo" required="false"/>
<param name="extractMetadata" required="false" as="boolean" default="true"/> <param name="extractMetadata" required="false" as="boolean" default="true"/>
Expand All @@ -59,6 +60,7 @@ declare variable $endpoints:ENDPOINTS as element(rest:options) :=
<param name="property" alias="property[]" repeatable="true" required="false"/> <param name="property" alias="property[]" repeatable="true" required="false"/>
<param name="permission" alias="permission[]" repeatable="true" required="false"/> <param name="permission" alias="permission[]" repeatable="true" required="false"/>
<param name="quality" required="false"/> <param name="quality" required="false"/>
<param name="language" required="false" />
<param name="contentForBinary" required="false"/> <param name="contentForBinary" required="false"/>
<param name="extractMetadata" required="false" as="boolean" default="true"/> <param name="extractMetadata" required="false" as="boolean" default="true"/>
<param name="extractContent" required="false" as="boolean" default="true"/> <param name="extractContent" required="false" as="boolean" default="true"/>
Expand Down Expand Up @@ -86,6 +88,7 @@ declare variable $endpoints:ENDPOINTS as element(rest:options) :=
<param name="qualityWeight" required="false" as="decimal" default="1.0"/> <param name="qualityWeight" required="false" as="decimal" default="1.0"/>
<param name="include" alias="include[]" repeatable="true" required="false" default="content"/> <param name="include" alias="include[]" repeatable="true" required="false" default="content"/>
<param name="filtered" required="false" default="false" as="boolean"/> <param name="filtered" required="false" default="false" as="boolean"/>
<param name="language" required="false" />
<param name="extractPath" required="false"/> <param name="extractPath" required="false"/>
<param name="applyTransform" required="false"/> <param name="applyTransform" required="false"/>
<param name="collection" alias="collection[]" required="false" repeatable="true"/> <param name="collection" alias="collection[]" required="false" repeatable="true"/>
Expand Down Expand Up @@ -123,6 +126,7 @@ declare variable $endpoints:ENDPOINTS as element(rest:options) :=
<uri-param name="facets">$1</uri-param> <uri-param name="facets">$1</uri-param>
<param name="stringQuery" required="false"/> <param name="stringQuery" required="false"/>
<param name="structuredQuery" required="false"/> <param name="structuredQuery" required="false"/>
<param name="language" required="false" />
<param name="limit" as="integer" default="25" required="false"/> <param name="limit" as="integer" default="25" required="false"/>
<param name="order" required="false" default="frequency" values="descending|ascending|frequency"/> <param name="order" required="false" default="frequency" values="descending|ascending|frequency"/>
<param name="frequency" required="false" default="document" values="document|key"/> <param name="frequency" required="false" default="document" values="document|key"/>
Expand Down
10 changes: 3 additions & 7 deletions corona/facet.xqy
Expand Up @@ -45,15 +45,11 @@ let $frequency := map:get($params, "frequency")
let $includeAllValues := map:get($params, "includeAllValues") let $includeAllValues := map:get($params, "includeAllValues")
let $txid := map:get($params, "txid") let $txid := map:get($params, "txid")


let $errors := ( let $errors := ()
if(empty($stringQuery) and empty($structuredQuery))
then common:error("corona:MISSING-PARAMETER", "Must supply either a string or a structured query", $outputFormat)
else ()
)


let $query := let $query :=
if(exists($stringQuery)) if(exists($stringQuery))
then stringquery:parse($stringQuery) then stringquery:parse($stringQuery, map:get($params, "language"))
else if(exists($structuredQuery)) else if(exists($structuredQuery))
then try { then try {
structquery:getCTS(structquery:getParseTree($structuredQuery), ()) structquery:getCTS(structquery:getParseTree($structuredQuery), ())
Expand Down Expand Up @@ -103,7 +99,7 @@ let $values :=


let $query := let $query :=
if(exists($stringQuery)) if(exists($stringQuery))
then stringquery:getCTSFromParseTree($rawQuery, $ignoreFacet) then stringquery:getCTSFromParseTree($rawQuery, map:get($params, "language"), $ignoreFacet)
else if(exists($structuredQuery)) else if(exists($structuredQuery))
then structquery:getCTSFromParseTree($rawQuery, $ignoreFacet) then structquery:getCTSFromParseTree($rawQuery, $ignoreFacet)
else $query else $query
Expand Down
2 changes: 1 addition & 1 deletion corona/kvquery.xqy
Expand Up @@ -45,7 +45,7 @@ let $extractPath := map:get($params, "extractPath")
let $applyTransform := map:get($params, "applyTransform") let $applyTransform := map:get($params, "applyTransform")


let $txid := map:get($params, "txid") let $txid := map:get($params, "txid")
let $outputFormat := map:get($params, "outputFormat") let $outputFormat := common:getOutputFormat((), map:get($params, "outputFormat"))


let $errors := ( let $errors := (
if(exists($attribute) and empty($element)) if(exists($attribute) and empty($element))
Expand Down
4 changes: 2 additions & 2 deletions corona/lib/common.xqy
Expand Up @@ -383,7 +383,7 @@ declare function common:nsFromQName(
{ {
if(contains($item, ":")) if(contains($item, ":"))
then then
let $ns := namespace-uri-from-QName($item) let $ns := namespace-uri-from-QName(xs:QName($item))
where string-length($ns) where string-length($ns)
return $ns return $ns
else () else ()
Expand All @@ -394,7 +394,7 @@ declare function common:nameFromQName(
) as xs:string? ) as xs:string?
{ {
if(contains($item, ":")) if(contains($item, ":"))
then local-name-from-QName($item) then local-name-from-QName(xs:QName($item))
else () else ()
}; };


Expand Down
17 changes: 14 additions & 3 deletions corona/lib/json.xqy
Expand Up @@ -126,12 +126,23 @@ declare function json:serialize(
A JSON item may also be the result return value of json:array or json:object. A JSON item may also be the result return value of json:array or json:object.
:) :)
declare function json:document( declare function json:document(
$value as item() $value as item(),
$language as xs:string?
) as element(json:json) ) as element(json:json)
{ {
<json:json version="1.0">{ <json:json version="1.0">{(
if(exists($language))
then attribute { xs:QName("xml:lang") } { $language }
else (),
json:untypedToJSONType($value)/(@*, node()) json:untypedToJSONType($value)/(@*, node())
}</json:json> )}</json:json>
};

declare function json:document(
$value as item()
) as element(json:json)
{
json:document($value, ())
}; };


(: (:
Expand Down
14 changes: 8 additions & 6 deletions corona/lib/store.xqy
Expand Up @@ -153,7 +153,7 @@ declare function store:outputDocument(
if($outputFormat = "json") if($outputFormat = "json")
then json:object(( then json:object((
"uri", $documentURI, "uri", $documentURI,
if($include = ("content", "all")) if($include = ("content", "highlighting", "all"))
then ("content", store:wrapContentNodes($content, $contentType)) then ("content", store:wrapContentNodes($content, $contentType))
else (), else (),
if($include = ("collections", "all")) if($include = ("collections", "all"))
Expand Down Expand Up @@ -184,7 +184,7 @@ declare function store:outputDocument(
else if($outputFormat = "xml") else if($outputFormat = "xml")
then <corona:result>{( then <corona:result>{(
<corona:uri>{ $documentURI }</corona:uri>, <corona:uri>{ $documentURI }</corona:uri>,
if($include = ("content", "all")) if($include = ("content", "highlighting", "all"))
then <corona:content>{ then <corona:content>{
if($contentType = "json") if($contentType = "json")
then json:serialize(store:wrapContentNodes($content, $contentType)) then json:serialize(store:wrapContentNodes($content, $contentType))
Expand Down Expand Up @@ -461,7 +461,7 @@ declare function store:insertDocument(
$repair as xs:boolean $repair as xs:boolean
) as empty-sequence() ) as empty-sequence()
{ {
store:insertDocument($uri, $content, $collections, $properties, $permissions, $quality, $contentType, $repair, (), map:map(), false()) store:insertDocument($uri, $content, $collections, $properties, $permissions, $quality, $contentType, (), $repair, (), map:map(), false())
}; };


declare function store:insertDocument( declare function store:insertDocument(
Expand All @@ -472,6 +472,7 @@ declare function store:insertDocument(
$permissions as element()*, $permissions as element()*,
$quality as xs:integer?, $quality as xs:integer?,
$contentType as xs:string, $contentType as xs:string,
$language as xs:string?,
$repair as xs:boolean, $repair as xs:boolean,
$applyTransform as xs:string?, $applyTransform as xs:string?,
$requestParameters as map:map, $requestParameters as map:map,
Expand All @@ -481,7 +482,7 @@ declare function store:insertDocument(
let $test := store:validateURI($uri) let $test := store:validateURI($uri)
let $body := let $body :=
if($contentType = "json") if($contentType = "json")
then json:parse($content) then json:document(json:parse($content), $language)
else if($contentType = "xml") else if($contentType = "xml")
then store:unquoteXML($content, $repair) then store:unquoteXML($content, $repair)
else if($contentType = "text") else if($contentType = "text")
Expand Down Expand Up @@ -562,13 +563,14 @@ declare function store:updateDocumentContent(
$repair as xs:boolean $repair as xs:boolean
) as empty-sequence() ) as empty-sequence()
{ {
store:updateDocumentContent($uri, $content, $contentType, $repair, (), map:map(), false()) store:updateDocumentContent($uri, $content, $contentType, (), $repair, (), map:map(), false())
}; };


declare function store:updateDocumentContent( declare function store:updateDocumentContent(
$uri as xs:string, $uri as xs:string,
$content as xs:string, $content as xs:string,
$contentType as xs:string, $contentType as xs:string,
$language as xs:string?,
$repair as xs:boolean, $repair as xs:boolean,
$applyTransform as xs:string?, $applyTransform as xs:string?,
$requestParameters as map:map, $requestParameters as map:map,
Expand All @@ -582,7 +584,7 @@ declare function store:updateDocumentContent(
else () else ()
let $body := let $body :=
if($contentType = "json") if($contentType = "json")
then json:parse($content) then json:document(json:parse($content), $language)
else if($contentType = "xml") else if($contentType = "xml")
then store:unquoteXML($content, $repair) then store:unquoteXML($content, $repair)
else if($contentType = "text") else if($contentType = "text")
Expand Down

0 comments on commit 1e729e7

Please sign in to comment.