Исходный код вики CatalogCreateDataSetViewCall


Последние авторы
1 {{groovy}}
2 import org.xwiki.observation.*
3 import org.xwiki.observation.event.*
4 import org.xwiki.bridge.event.*
5 import org.xwiki.model.reference.*
6 import org.xwiki.model.*
7 import com.xpn.xwiki.web.*
8 import com.xpn.xwiki.*
9 import org.xwiki.context.*
10 import org.xwiki.configuration.*
11 import java.io.File
12 import java.util.HashMap
13 import groovy.json.JsonOutput
14 import groovy.xml.XmlUtil
15 import ru.eproj.liferay.MPORESTApiCaller;
16 import ru.eproj.liferay.impl.MPORESTConfigurationImpl2;
17
18 def makeMessage(String msg) {
19 System.out.println('SUZ: ' + msg)
20 def resultJsonData = new HashMap()
21 resultJsonData.put('result', msg)
22 return JsonOutput.toJson(resultJsonData)
23 }
24
25 try {
26 def resultJsonData = new HashMap() //Будущий ответ
27 if(request.get('outputSyntax') != null) {
28 response.setContentType('application/json')
29 }
30 //Параметры, пришедшие из запроса
31 def docID = request.get('docID')
32 def tsName = request.get('tsName')
33 def datasetName = request.get('datasetName')
34 def datasetSlug = request.get('datasetSlug')
35 def olapDatasetURL = request.get('olapDatasetURL')
36 def catalog = request.get('catalog')
37 def details = request.get('details')
38 def document = request.get('document')
39 def host = request.getHeader('Host')
40
41 if (!docID) {
42 println(makeMessage('Error: document not found.'))
43 return
44 }
45
46 def srcDoc = xwiki.getDocument(docID);
47 def srcObj = srcDoc.getObject('SUZ.Indicators.Code.DataSetClass');
48 if (!srcObj) {
49 println(makeMessage('Error: not found DataSetClass in ' + docID))
50 return
51 }
52
53 //Взять из настроек параметры
54 def configurationDoc = xwiki.getDocument("SUZ.Code.SUZConfiguration")
55 if (!configurationDoc) { //Не найдена конфигурация СУЗ
56 println(makeMessage('Error: SUZ configuration document not found.'))
57 return
58 }
59 def configurationDocObject = configurationDoc.getObject("SUZ.Code.SUZConfigurationClass", false)
60 if (!configurationDocObject) { // Если в configurationDoc нету configurationDocClass
61 println(makeMessage('Error: SUZ configuration document exist, but SUZConfigurationClass not found.'))
62 return
63 }
64 def URI_PREFIX = configurationDocObject.getProperty("purlServer").value
65 if (!URI_PREFIX) {
66 println(makeMessage('Error: Configuration URIPrefix not found in SUZ configuration document.'))
67 return
68 }
69 def catalogId = "LD"
70
71 //Подготовка запроса
72 def queryDoc = xwiki.getDocument('SUZ.Catalog.Code.CatalogCreateDataSetViewQuery.WebHome');
73 if (!queryDoc) {
74 println(makeMessage('Error: not found Query Template'))
75 return
76 }
77 def queryTemplate = queryDoc.getContent()
78 def UUID = catalog + "-" + datasetSlug
79 def dataset_uri = URI_PREFIX + '/data/' + datasetSlug
80 def asset_uri = URI_PREFIX + '/catalog/' + catalogId + '/card/' + datasetSlug //$URI_PREFIX + "/catalog/$catalogId/card/"+ $doc.getValue('datasetSlug'))
81 def query = queryTemplate.replace('[UUID]',UUID).replace('[DATASET_TITLE]', datasetName).replace('[DATASET_URI]', dataset_uri).replace('[ASSET_URI]', asset_uri).replace('[HOST]', host).replace('[PURL]', URI_PREFIX).replace('[OLAP_DATASET_URL]', olapDatasetURL);
82
83 //Выполнение запроса
84 def configuration = services.component.getInstance(ConfigurationSource.class, 'xwikiproperties')
85 //Команда для вызова
86 MPORESTApiCaller caller = new MPORESTApiCaller(new MPORESTConfigurationImpl2(configuration))
87 def graph_uri = 'http://view.hbz.ru/'
88 def ret = caller.sparql_update_execute(graph_uri, query)
89 System.out.println('SUZ: Virtuoso graph: ' + graph_uri + ' updated.')
90
91 resultJsonData.clear()
92 resultJsonData.put('result', 'Update Catalog View success now: ' + xwiki.getDate() + ' ' + ret)
93 String jsonData = JsonOutput.toJson(resultJsonData)
94 println(jsonData)
95
96 } catch(e) {
97 //System.out.println("SUZ: ERROR! : " + e.getMessage())
98 println(makeMessage('Error: Runtime: ' + e.getMessage()))
99 }
100 {{/groovy}}

Содружество стран

Языки