Mercurial > hg > mpdl-group
diff software/eXist/webapp/mpdl/_stuff/futureDev/rest-doc-operation.xql @ 7:5589d865af7a
Erstellung XQL/XSL Applikation
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 08 Feb 2011 15:16:46 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/software/eXist/webapp/mpdl/_stuff/futureDev/rest-doc-operation.xql Tue Feb 08 15:16:46 2011 +0100 @@ -0,0 +1,67 @@ +xquery version "1.0"; + +import module namespace mpdl-time = "http://www.mpiwg-berlin.mpg.de/ns/mpdl/util/time" at "../util/time.xql"; + +declare namespace file = "http://exist-db.org/xquery/file"; +declare namespace request="http://exist-db.org/xquery/request"; +declare namespace session="http://exist-db.org/xquery/session"; +declare namespace util = "http://exist-db.org/xquery/util"; +declare namespace xmldb = "http://exist-db.org/xquery/xmldb"; + +let $login := xmldb:authenticate("xmldb:exist:///db", "admin", "") + +let $operation := request:get-parameter("operation", "") +let $docBase := request:get-parameter("docBase", "") +let $language := request:get-parameter("language", "") +let $fileName := request:get-parameter("fileName", "") + +let $eSciDocCookieId := request:get-cookie-value("escidocCookie") + +let $srcLocalFileName := request:get-uploaded-file-name("srcLocalFileName") +let $srcExistUploadFileJavaObject := request:get-uploaded-file("srcLocalFileName") +let $srcExistUploadFileName := string(<b>{$srcExistUploadFileJavaObject}</b>) +let $srcExistUploadFileUrl := concat("file://", $srcExistUploadFileName) + +let $reqSrcUrl := request:get-parameter("srcUrl", "") +let $srcUrl := + if ($reqSrcUrl = '') + then $srcExistUploadFileUrl + else $reqSrcUrl + +let $error := + if ($eSciDocCookieId = '' or empty($eSciDocCookieId)) + then <bla>No login context available. Please <a href="login-exist.xql">login</a> before you do an operation</bla> + else if(($operation = 'updateExist') and ($srcUrl = '')) + then "please specify your source" + else if(($operation = 'updateExist' or $operation = 'delete') and ($fileName = '')) + then "please specify your destination document name" + else "no" + +let $jobId := + if($error = 'no' and $operation = 'updateExist') + then mpdldoc:do($operation, $srcUrl, $srcLocalFileName, $docBase, $language, $fileName, $eSciDocCookieId) + else if($error = 'no' and $operation = 'deleteExist') + then mpdldoc:do($operation, 'empty', 'empty', $docBase, $language, $fileName, $eSciDocCookieId) + else () +let $redirectUrl := <a href="../scheduler/get-jobs.xql?id={$jobId}">here</a> +let $resultHtml := + if ($error = 'no') + then <div>See the status of your document operation {$redirectUrl}</div> + else <div><b>Error in your document operation:</b> {$error}</div> + +let $title := "MPDL: eXist document management" +return +<html> +<head> +<title>{$title}</title> +</head> +<body> + <h1>{$title}</h1> + {$resultHtml} + <br/> + <br/>{$eSciDocCookieId} + <br/> + <hr/> + Back to <a href="rest-doc-operation.xql">document operation page</a>, see the <a href="rest-doc-operation.xql?_source=yes">XQuery source</a> of this page, if you find a bug <a href="https://itgroup.mpiwg-berlin.mpg.de:8080/tracs/mpdl-project-software/newticket">let us know</a> +</body> +</html> \ No newline at end of file