public void insertSecQuery() throws XQException { String query = "declare namespace s=\"http://tpox-benchmark.com/security\";\n" + "declare variable $sec external;\n" + "declare variable $uri external;\n" + "fn:put($sec, $uri)\n"; XQPreparedExpression xqpe = xqc.prepareExpression(query); //xqpe.bindNode(new QName("sec"), "IBM", null); xqpe.bindString(new QName("uri"), "/library/20", null); xqpe.executeQuery(); //System.out.println(xqs.getAtomicValue()); }
@Override public void destroyObject(Object o) throws Exception { ((XQPreparedExpression) o).close(); super.destroyObject(o); } }
xqpe.bindString(new QName("sect"), "Technology", null); QName typeName = new QName(xs_ns, "decimal", xs_prefix); int baseType = getBaseTypeForTypeName(typeName); xqpe.bindObject(new QName("pemin"), new java.math.BigDecimal("25.0"), type); xqpe.bindObject(new QName("pemax"), new java.math.BigDecimal("28.0"), type); xqpe.bindObject(new QName("yield"), new java.math.BigDecimal("0.1"), type); XQResultSequence xqs = xqpe.executeQuery();
xqpe.bindString(new QName("sect"), "Technology", null); xqpe.bindInt(new QName("pemin"), 25, null); xqpe.bindInt(new QName("pemax"), 28, null); xqpe.bindInt(new QName("yield"), 0, null); XQResultSequence xqs = xqpe.executeQuery();
xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); xqpe.bindString(new QName("xml"), content, xqConn.createAtomicType(XQItemType.XQBASETYPE_STRING)); XQSequence xqs = xqpe.executeQuery(); String result = null; try { xqpe.close(); xqs.close();
connection = getConnection(); expression = connection.prepareExpression(xQuery); expression.bindNode(XQConstants.CONTEXT_ITEM, node, null); expression.bindObject(new QName(xQueryParam.getParameterName()), xQueryParam.evaluate(message), null); XQResultSequence result = expression.executeQuery(); return mapper.mapResults(result); try { if(expression != null) { expression.close();
xqpe.bindString(new QName("uri"), "65538.xml", xqc.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); xqpe.bindString(new QName("xml"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); List<String> props = new ArrayList<>(4); props.add(pn_document_data_format + "=xml"); props.add(pn_document_collections + "=CLN_Custom, CLN_Security"); xqpe.bindSequence(new QName("props"), xqc.createSequence(props.iterator())); XQSequence xqs = xqpe.executeQuery(); if (xqs.next()) { long id = xqs.getLong(); xqpe.close(); xqs.close(); return id; } else { xqpe.close(); xqs.close(); throw new XQException("no response from store-document function");
exp.bindItem(XQConstants.CONTEXT_ITEM, xqconn.createItemFromNode(node, xqconn.createNodeType())); for (QName variable : exp.getAllUnboundExternalVariables()) { QName typeQName = variableTypes.get(variable); Object value = variableResolver.resolveVariable(variable); if (typeQName != null) { if (value.getClass().getName().startsWith("java.lang")) { exp.bindAtomicValue(variable, value.toString(), xqconn.createAtomicType(XQItemType.XQBASETYPE_ANYATOMICTYPE)); } else if (value instanceof Node) { exp.bindNode(variable, (Node) value, xqconn.createNodeType()); } else if (value instanceof NodeList) { NodeList nodeList = (NodeList) value; exp.bindSequence(variable, sequence); exp.executeQuery(); } catch (XQException xpee) {
oxquery10, configuration); for (QName variable : exp.getAllUnboundExternalVariables()) { Item item = ((Value) value).asItem(); if (item == null) { exp.bindSequence(variable, xqconn.createSequence(Collections.EMPTY_LIST.iterator())); } else { XQItem item2 = new SaxonXQItem(item, saxonConn); exp.bindItem(variable, item2); exp.bindSequence(variable, (XQSequence) value); } else { if (xqType instanceof XQItemType) { exp.bindObject(variable, value, (XQItemType) xqType); contextNode.setUserData(XQuery10BpelFunctions.USER_DATA_KEY_FUNCTION_RESOLVER, funcResolver, null); exp.bindItem(XQConstants.CONTEXT_ITEM, xqconn.createItemFromNode(contextNode, xqconn.createNodeType())); XQResultSequence result = exp.executeQuery();
XQPreparedExpression xqpExp = xqConn.prepareExpression(query, ctx); for (Map.Entry<String, Object> e: params.entrySet()) { xqpExp.bindObject(new QName(e.getKey()), e.getValue(), null); XQResultSequence xqSec = xqpExp.executeQuery(); result = extractResult(xqSec, props); xqpExp.close();
transformer.bindAtomicValue(paramKey, o.toString(), connection.createAtomicType(XQItemType.XQBASETYPE_STRING)); transformer.bindBoolean(paramKey, ((Boolean) o).booleanValue(), connection.createAtomicType(XQItemType.XQBASETYPE_BOOLEAN)); transformer.bindByte(paramKey, ((Byte) o).byteValue(), connection.createAtomicType(XQItemType.XQBASETYPE_BYTE)); transformer.bindShort(paramKey, ((Short) o).shortValue(), connection.createAtomicType(XQItemType.XQBASETYPE_SHORT)); transformer.bindInt(paramKey, ((Integer) o).intValue(), connection.createAtomicType(XQItemType.XQBASETYPE_INT)); transformer.bindLong(paramKey, ((Long) o).longValue(), connection.createAtomicType(XQItemType.XQBASETYPE_LONG)); transformer.bindFloat(paramKey, ((Float) o).floatValue(), connection.createAtomicType(XQItemType.XQBASETYPE_FLOAT)); transformer.bindDouble(paramKey, ((Double) o).doubleValue(), connection.createAtomicType(XQItemType.XQBASETYPE_DOUBLE)); transformer.bindDocument(paramKey, new DOMSource(((Document) o).getFirstChild()), connection.createNodeType()); transformer.bindDocument(paramKey, new DOMSource((Node) o), connection.createNodeType()); transformer.bindNode(paramKey, (Node) o, connection.createNodeType());
@Override protected int execQuery(String query, Map<String, Parameter> params) throws XQException { XQPreparedExpression xqpe = getConnection().prepareExpression(query); bindParams(params, xqpe); XQResultSequence xqs = xqpe.executeQuery(); int cnt = 0; if (fetchSize > 0) { while (xqs.next() && cnt < fetchSize) { cnt++; } } else { while (xqs.next()) { cnt++; } } //xqs.close(); will be closed at next line xqpe.close(); return cnt; }
private void doZap(Source source, Result result, Object... params) { XQResultSequence seq = null; try { XQPreparedExpression expression = resource(params); expression.bindDocument(XQConstants.CONTEXT_ITEM, source, null); bindExpressionContext(expression, staticParams); bindExpressionContext(expression, resourceParameters(params)); seq = expression.executeQuery(); seq.writeSequenceToResult(result); } catch (Exception e) { throw new RuntimeException("XQuery processing failed", e); } finally { if (seq != null && !seq.isClosed()) { try { seq.close(); } catch (XQException e) { LOG.trace("XQLTransmogrifier didn't return a value.", e); } } } }
__log.debug("request " + request.toString()); exp.bindItem(XQConstants.CONTEXT_ITEM, xqconn.createItemFromNode(requestNode, xqconn.createNodeType())); XQResultSequence result = exp.executeQuery(); MockQueryResponseDocument response = MockQueryResponseDocument.Factory.parse(result.getSequenceAsStream());
XQConnection conn = getConnection(); XQPreparedExpression expression = conn.prepareExpression(xQuery); QName[] extParameters = expression.getAllExternalVariables(); if(extParameters != null && extParameters.length > 0) { xQueryParameters = new ArrayList<String>(); expression.close(); conn.close(); } catch (XQException e) {
XQResultSequence result = transformer.executeQuery();
transformer.bindDocument(new QName(SOURCE_DOCUMENT_NAMESPACE), new StreamSource(new ByteArrayInputStream((byte[]) src)), connection.createDocumentType()); transformer.bindDocument(new QName(SOURCE_DOCUMENT_NAMESPACE), new StreamSource((InputStream) src), connection.createDocumentType()); transformer.bindDocument(new QName(SOURCE_DOCUMENT_NAMESPACE), new StreamSource(new ByteArrayInputStream(((String) src).getBytes())),connection.createDocumentType()); transformer.bindNode(new QName(SOURCE_DOCUMENT_NAMESPACE), (Document) src, connection.createDocumentType()); transformer.bindNode(new QName(SOURCE_DOCUMENT_NAMESPACE), (Element) src, connection.createDocumentType()); transformer.bindNode(new QName(SOURCE_DOCUMENT_NAMESPACE), (Node) src, connection.createNodeType()); transformer.bindNode(new QName(SOURCE_DOCUMENT_NAMESPACE), dom, connection.createDocumentType()); transformer.bindDocument(new QName(SOURCE_DOCUMENT_NAMESPACE), ((DocumentSource) src), null);
/** * Removes any parameter bindings from the transformer, replacing them with empty strings * * @param transformer the transformer to remove properties from */ protected void unbindParameters(XQPreparedExpression transformer) throws XQException { // Replace transformation parameters with null values if (contextProperties != null) { for (Map.Entry<String, Object> parameter: contextProperties.entrySet()) { String key = parameter.getKey(); transformer.bindAtomicValue(new QName(key), "", connection.createAtomicType(XQItemType.XQBASETYPE_STRING)); } } }
private long storeXmlDocument(String fileName) throws XQException { String dName = "..\\..\\etc\\samples\\tpox\\"; String xml; try { xml = readTextFile(dName + fileName); } catch (IOException ex) { throw new XQException(ex.getMessage()); } String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $sec external;\n\n" + //"return bgdb:store-document($sec)\n"; "for $id in bgdb:store-document($sec)\n" + "return $id\n"; XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("sec"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); XQSequence xqs = xqpe.executeQuery(); if (xqs.next()) { long result = xqs.getLong(); xqpe.close(); return result; } else { xqpe.close(); throw new XQException("no response from store-document function"); } }
@ManagedOperation(description="Parse XQuery. Return array of parameter names, if any") @ManagedOperationParameters({ @ManagedOperationParameter(name = "query", description = "A query request provided in XQuery syntax"), @ManagedOperationParameter(name = "props", description = "Query processing properties")}) public String[] parseQuery(String query, Properties props) { XQPreparedExpression xqpExp = null; try { XQStaticContext ctx = xqConn.getStaticContext(); props2Context(schemaManager.getEntity().getProperties(), ctx); props2Context(props, ctx); xqpExp = xqConn.prepareExpression(query, ctx); QName[] vars = xqpExp.getAllExternalVariables(); String[] result = null; if (vars != null) { result = new String[vars.length]; for (int i=0; i < vars.length; i++) { result[i] = vars[i].toString(); } } xqpExp.close(); return result; } catch (XQException ex) { logger.error("parseQuery.error", ex); throw new RuntimeException(ex.getMessage()); } }