@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()); } }
public boolean runPriceQuery(String symbol) throws XQException { String query = "declare namespace s=\"http://tpox-benchmark.com/security\";\n" + "declare variable $sym external;\n" + "for $sec in fn:collection(\"CLN_Security\")/s:Security\n" + "where $sec/s:Symbol=$sym\n" + "return\n" + "\t<print>The open price of the security \"{$sec/s:Name/text()}\" is {$sec/s:Price/s:PriceToday/s:Open/text()} dollars</print>\n"; XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("sym"), symbol, null); //IBM; VFINX; PTTAX XQResultSequence xqs = xqpe.executeQuery(); boolean found = false; while (xqs.next()) { System.out.println(xqs.getItemAsString(null)); found = true; } return found; }
public boolean runSecQuery(String symbol) throws XQException { String query = "declare namespace s=\"http://tpox-benchmark.com/security\";\n" + "declare variable $sym external;\n" + "for $sec in fn:collection(\"CLN_Security\")/s:Security\n" + "where $sec/s:Symbol=$sym\n" + "return $sec\n"; XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("sym"), symbol, null); XQResultSequence xqs = xqpe.executeQuery(); boolean found = false; while (xqs.next()) { System.out.println(xqs.getItemAsString(null)); found = true; } return found; }
@Override public String readDocument(String uri) throws XQException { String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $uri external;\n" + "let $doc := bgdb:get-document-content($uri)\n" + "return $doc\n"; XQPreparedExpression xqpe = xqConn.prepareExpression(query); xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); XQResultSequence xqs = xqpe.executeQuery(); String result = null; if (xqs.next()) { result = xqs.getItemAsString(null); } return result; }
@Override public void deleteDocument(String uri) throws XQException { String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $uri external;\n" + "let $uri := bgdb:remove-document($uri)\n" + "return $uri\n"; XQPreparedExpression xqpe = xqConn.prepareExpression(query); xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); XQSequence xqs = xqpe.executeQuery(); String result = null; try { if (xqs.next()) { result = xqs.getAtomicValue(); } if (!uri.equals(result)) { throw new XQException("got no result from bgdb:remove-document function"); } } finally { xqpe.close(); xqs.close(); } }
public boolean runPriceQuery() throws XQException { String query = "declare namespace s=\"http://tpox-benchmark.com/security\";\n" + "declare variable $sym external;\n" + "for $sec in fn:collection(\"/{http://tpox-benchmark.com/security}Security\")/s:Security\n" + "where $sec/s:Symbol=$sym\n" + //'IBM'\n" + "return\n" + "\t<print>The open price of the security \"{$sec/s:Name/text()}\" is {$sec/s:Price/s:PriceToday/s:Open/text()} dollars</print>\n"; XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("sym"), "IBM", null); //IBM; VFINX; PTTAX XQResultSequence xqs = xqpe.executeQuery(); boolean found = false; while (xqs.next()) { System.out.println(xqs.getItemAsString(null)); found = true; } return found; }
public boolean runSecQuery() throws XQException { String query = "declare namespace s=\"http://tpox-benchmark.com/security\";\n" + "declare variable $sym external;\n" + "for $sec in fn:collection(\"/{http://tpox-benchmark.com/security}Security\")/s:Security\n" + "where $sec/s:Symbol=$sym\n" + //'IBM'\n" + "return $sec\n"; XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("sym"), "IBM", null); XQResultSequence xqs = xqpe.executeQuery(); boolean found = false; while (xqs.next()) { System.out.println(xqs.getItemAsString(null)); found = true; } return found; }
@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; }
@Test public void testBinding() throws XQException { SaxonXQDataSource xqds = new SaxonXQDataSource(); XQConnection xqc = xqds.getConnection(); XQPreparedExpression xqpe = xqc.prepareExpression("declare variable $v external; $v"); xqpe.bindString(new QName("v"), "Hello world!", xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); XQSequence xqs = xqpe.executeQuery(); assertTrue(xqs.next()); assertEquals("Hello world!", xqs.getAtomicValue()); xqpe.close(); xqpe = xqc.prepareExpression("declare variable $v external; $v"); xqpe.bindString(new QName("v"), "Hello", xqc.createAtomicType(XQItemType.XQBASETYPE_NCNAME)); xqs = xqpe.executeQuery(); xqs.next(); assertEquals("A-XQDC-1.7: Successful bindXXX.", XQItemType.XQITEMKIND_ATOMIC, xqs.getItemType().getItemKind()); assertEquals("A-XQDC-1.7: Successful bindXXX.", XQItemType.XQBASETYPE_NCNAME, xqs.getItemType().getBaseType()); assertEquals("A-XQDC-1.7: Successful bindXXX.", "Hello", xqs.getObject()); xqpe.close(); }
@Override public XQPreparedExpression prepareExpression(String xquery, XQStaticContext context) throws XQException { checkState(ex_connection_closed); if (context == null) { throw new XQException(ex_null_context); } if (xquery == null) { throw new XQException("Provided query is null"); } BagriXQPreparedExpression exp = new BagriXQPreparedExpression(this, context); exp.setXQuery(xquery); prepareQuery(exp, context); return exp; }
@Test public void testGetDouble() throws XQException { XQPreparedExpression xqpe = xqc.prepareExpression("declare variable $v external; $v"); try { xqpe.bindDouble(new QName("v"), 1d, xqc.createAtomicType(XQItemType.XQBASETYPE_DOUBLE)); } catch (XQException e) { fail("A-XQDC-1.7: bindDouble() failed with message: " + e.getMessage()); } XQSequence xqs = xqpe.executeQuery(); xqs.next(); assertEquals("A-XQDC-1.7: Successful bindXXX.", XQItemType.XQITEMKIND_ATOMIC, xqs.getItemType().getItemKind()); assertEquals("A-XQDC-1.7: Successful bindXXX.", XQItemType.XQBASETYPE_DOUBLE, xqs.getItemType().getBaseType()); assertTrue("A-XQDC-1.7: Successful bindXXX.", 1d == xqs.getDouble()); xqpe.close(); }
@Test public void testBinding() throws XQException { XQPreparedExpression xqpe = xqc.prepareExpression("declare variable $v external; $v"); xqpe.bindString(new QName("v"), "Hello world!", xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); XQSequence xqs = xqpe.executeQuery(); assertTrue(xqs.next()); assertEquals("Hello world!", xqs.getAtomicValue()); xqpe.close(); xqpe = xqc.prepareExpression("declare variable $v external; $v"); xqpe.bindString(new QName("v"), "Hello", xqc.createAtomicType(XQItemType.XQBASETYPE_NCNAME)); xqs = xqpe.executeQuery(); xqs.next(); assertEquals("A-XQDC-1.7: Successful bindXXX.", XQItemType.XQITEMKIND_ATOMIC, xqs.getItemType().getItemKind()); assertEquals("A-XQDC-1.7: Successful bindXXX.", XQItemType.XQBASETYPE_NCNAME, xqs.getItemType().getBaseType()); assertEquals("A-XQDC-1.7: Successful bindXXX.", "Hello", xqs.getObject()); xqpe.close(); }
@Test public void testStoreSecurity() throws XQException { String dName = "../etc/samples/tpox/"; String xml; try { xml = readTextFile(dName + "security1500.xml"); } catch (IOException ex) { throw new XQException(ex.getMessage()); } String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $url external;\n" + "declare variable $xml external;\n" + "let $id := bgdb:store-document($url, $xml)\n" + "return $id\n"; XQConnection xqc = xqds.getConnection(); XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("url"), "security1500.xml", xqc.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); xqpe.bindString(new QName("xml"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); XQSequence xqs = xqpe.executeQuery(); assertTrue(xqs.next()); xqs.close(); xqpe.close(); }
private static String runQuery(String query) throws XQException { System.out.println("runQuery: \n\t" + query); XQDataSource xqs = new ExistXQDataSource(); String returnString = ""; xqs.setProperty("serverName", "localhost"); xqs.setProperty("port", "8080"); XQConnection conn = xqs.getConnection(); XQPreparedExpression xqpe = conn.prepareExpression(query); XQResultSequence rs = xqpe.executeQuery(); while (rs.next()) { returnString += rs.getItemAsString(null).replace("xmlns=\"\"", "") + "\n"; } System.out.println("Query result: \n\t" + returnString); return returnString; }
@Before public void setUp() throws Exception { config = mock(XQueryRunConfig.class); binderFactory = mock(TypeBinderFactory.class); connection = mock(XQConnection.class); expression = mock(XQPreparedExpression.class); binder = new ContextItemBinder(binderFactory, config) { @Override protected String readFile(String fileName) throws IOException { fileRead = true; return FILE_CONTENTS; } }; typeBinder = mock(TypeBinder.class); given(binderFactory.getBinder(CONTEXT_ITEM_TYPE)).willReturn(typeBinder); }
/** * Helper method to execute a {@link XQPreparedExpression} and return an * {@link OutputStream} of results. This method does not support setting write * properties. * * @param xqPreparedExpression * the expression to execute * @return an output stream with the results */ public static ByteArrayOutputStream executePreparedExpression( final XQPreparedExpression xqPreparedExpression) { try { final XQResultSequence xqResultSequence = xqPreparedExpression.executeQuery(); final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); xqResultSequence.writeSequence(outputStream, null); return outputStream; } catch (final XQException e) { throw new ApplicationException("Unable to execute prepared expression", e); } }
/** * * @throws XQException * @throws XQException * @throws JAXBException * @throws IOException */ @Test public void testXQueryExpression() throws XQException { String sourceFile="synderTest.xml"; String xqFile="synderQuery1.xq"; Configuration saxonConfig = new Configuration(); SaxonXQDataSource dataSource = new SaxonXQDataSource(saxonConfig); XQConnection conn = dataSource.getConnection(); String xsString="for $Template in doc(\"synderTest.xml\")/TemplateContainer/Template/Tags "+ " return $Template" ; XQPreparedExpression exp = conn.prepareExpression(xsString); URI sourcUri=new File(sourceFile).toURI(); // exp.bindString(new QName("docName"), sourcUri.getPath(), conn // .createAtomicType(XQItemType.XQBASETYPE_STRING)); XQResultSequence result = exp.executeQuery(); String rawResult = result.getSequenceAsString(new Properties()); System.out.println("TransformTest.testXQueryExpression()..:"+rawResult); // System.out.println(tester.transfer(sourceFile, xqFile)); }
@Override public XQSequence executeQuerySequence(String query, Map bind_map) throws XQException { XQSequence sequence = null; XQConnection connection = this.getXqConnection(); if (bind_map != null && !bind_map.isEmpty()) { // bind if (bind_map != null && !bind_map.isEmpty()) { XQPreparedExpression expression = connection .prepareExpression(query); Set<Map.Entry> set = bind_map.entrySet(); for (Iterator<Map.Entry> it = set.iterator(); it.hasNext();) { Map.Entry entry = (Map.Entry) it.next(); String value = (String) entry.getValue(); if(value!=null){ expression.bindString(new QName((String) entry.getKey()), value, null); } } sequence = expression.executeQuery(); } else { sequence = connection.createExpression().executeQuery(query); } } else { sequence = connection.createExpression().executeQuery(query); } return sequence; }
public XQSequence executeQuerySequence(String query, Map bind_map) throws XQException { XQSequence sequence = null; XQConnection connection = this.getXqConnection(); if (bind_map != null && !bind_map.isEmpty()) { if(log.isDebugEnabled()){ log.debug("查询参数:"+bind_map); } // bind if (bind_map != null && !bind_map.isEmpty()) { XQPreparedExpression expression = connection .prepareExpression(query); Set<Map.Entry> set = bind_map.entrySet(); for (Iterator<Map.Entry> it = set.iterator(); it.hasNext();) { Map.Entry entry = (Map.Entry) it.next(); String value = (String) entry.getValue(); if(value!=null){ expression.bindAtomicValue(new QName((String) entry.getKey()), value, null); } } sequence = expression.executeQuery(); } else { sequence = connection.createExpression().executeQuery(query); } } else { sequence = connection.createExpression().executeQuery(query); } return sequence; }
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()); }
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 $uri external;\n" + "declare variable $xml external;\n" + "declare variable $props external;\n" + "let $id := bgdb:store-document($uri, $xml, $props)\n" + "return $id\n"; XQPreparedExpression xqpe = xqc.prepareExpression(query); 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"); } }
private String storeDocument(String uri, String content) throws XQException { String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $uri external;\n" + "declare variable $xml external;\n" + "let $props := map {'" + pn_document_data_format + "': 'XML'}\n" + "let $uri := bgdb:store-document($uri, $xml, $props)\n" + "return $uri\n"; XQPreparedExpression xqpe = xqConn.prepareExpression(query); xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI)); xqpe.bindString(new QName("xml"), content, xqConn.createAtomicType(XQItemType.XQBASETYPE_STRING)); //List<String> prop = new ArrayList<>(); //prop.add(pn_document_data_format); //prop.add("XML"); //XQSequence sq = xqConn.createSequence(prop.iterator()); //List props = new ArrayList(); //props.add(sq); //xqpe.bindSequence(new QName("props"), xqConn.createSequence(props.iterator())); //xqpe.bindObject(new QName("props"), props, // xqConn.createSequenceType( // xqConn.createSequenceType(xqConn.createAtomicType(XQItemType.XQBASETYPE_STRING), XQSequenceType.OCC_ONE_OR_MORE), // XQSequenceType.OCC_ZERO_OR_MORE)); XQSequence xqs = xqpe.executeQuery(); String result = null; try { if (xqs.next()) { result = xqs.getAtomicValue(); } } finally { xqpe.close(); xqs.close(); } return result; }
public boolean searchSecQueryParams() throws XQException { String query = "declare default element namespace \"http://tpox-benchmark.com/security\";\n" + "declare variable $sect external;\n" + "declare variable $pemin external;\n" + "declare variable $pemax external;\n" + "declare variable $yield external;\n" + "for $sec in fn:collection(\"/{http://tpox-benchmark.com/security}Security\")/Security\n" + "where $sec[SecurityInformation/*/Sector = $sect and PE[. >= $pemin and . < $pemax] and Yield > $yield]\n" + //"where $sec[SecurityInformation/*/Sector = $sect and PE[. >= xs:decimal($pemin) and . < xs:decimal($pemax)] and Yield > xs:decimal($yield)]\n" + "return <Security>\n" + "\t{$sec/Symbol}\n" + "\t{$sec/Name}\n" + "\t{$sec/SecurityType}\n" + "\t{$sec/SecurityInformation//Sector}\n" + "\t{$sec/PE}\n" + "\t{$sec/Yield}\n" + "</Security>"; XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("sect"), "Technology", null); //xqpe.bindFloat(new QName("pemin"), 25, null); //xqpe.bindFloat(new QName("pemax"), 28, null); //xqpe.bindFloat(new QName("yield"), 0, 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(); int cnt = 0; while (xqs.next()) { cnt++; } System.out.println("Got " + cnt + " results"); return cnt > 0; }
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"); } }
@Override public XQPreparedExpression prepareExpression(String xquery) throws XQException { checkState(ex_connection_closed); if (xquery == null) { throw new XQException("Provided query is null"); } BagriXQPreparedExpression exp = new BagriXQPreparedExpression(this); exp.setXQuery(xquery); prepareQuery(exp); return exp; }
@Override public XQPreparedExpression prepareExpression(Reader xquery) throws XQException { String query = null; try { query = XMLUtils.textToString(xquery); } catch (IOException ex) { throw getXQException(ex); } return prepareExpression(query); }
@Override public XQPreparedExpression prepareExpression(InputStream xquery) throws XQException { String query = null; try { query = XMLUtils.textToString(xquery); } catch (IOException ex) { throw getXQException(ex); } return prepareExpression(query); }
@Override public XQPreparedExpression prepareExpression(Reader xquery, XQStaticContext context) throws XQException { String query = null; try { query = XMLUtils.textToString(xquery); } catch (IOException ex) { throw getXQException(ex); } return prepareExpression(query, context); }
@Override public XQPreparedExpression prepareExpression(InputStream xquery, XQStaticContext context) throws XQException { String query = null; try { query = XMLUtils.textToString(xquery); } catch (IOException ex) { throw getXQException(ex); } return prepareExpression(query, context); }
@BeforeClass public static void setUpBeforeClass() throws Exception { String dName = "../../etc/samples/test/"; String xml; try { xml = readTextFile(dName + "axis.xml"); } catch (IOException ex) { throw new XQException(ex.getMessage()); } xqds = new BagriXQDataSource(); xqds.setProperty(BagriXQDataSource.ADDRESS, "localhost:10500"); xqds.setProperty(BagriXQDataSource.SCHEMA, "default"); xqds.setProperty(BagriXQDataSource.USER, "guest"); xqds.setProperty(BagriXQDataSource.PASSWORD, "password"); xqds.setProperty(BagriXQDataSource.XQ_PROCESSOR, "com.bagri.xquery.saxon.XQProcessorClient"); xqds.setProperty(BagriXQDataSource.XDM_REPOSITORY, "com.bagri.client.hazelcast.impl.SchemaRepositoryImpl"); String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" + "declare variable $sec external;\n\n" + "for $id in bgdb:store-document($sec)\n" + "return $id\n"; XQConnection xqc = xqds.getConnection(); try { XQPreparedExpression xqpe = xqc.prepareExpression(query); xqpe.bindString(new QName("sec"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING)); XQSequence xqs = xqpe.executeQuery(); if (xqs.next()) { axisId = xqs.getLong(); xqpe.close(); } else { xqpe.close(); throw new XQException("no response from store-document function"); } } finally { xqc.close(); } }
@Test public void testCreateSequence() throws XQException { XQPreparedExpression xqpe = xqc.prepareExpression("'Hello world!'"); XQSequence xqsresult = null; XQSequence xqs = xqpe.executeQuery(); try { xqsresult = xqc.createSequence(xqs); } catch (XQException e) { fail("A-XQDF-1.5: createSequence() failed with message: " + e.getMessage()); } String result = xqsresult.getSequenceAsString(null); assertTrue("A-XQDF-1.5: Expects serialized result contains 'Hello world!', but it is '" + result + "'", result.indexOf("Hello world!") != -1); }
public void bindContextItem(XQConnection connection, XQPreparedExpression preparedExpression) throws Exception { if (config.isContextItemEnabled()) { String contextItemValue = config.isContextItemFromEditorEnabled() ? config.getContextItemText() : readFile(config.getContextItemFile()); binderFactory.getBinder(config.getContextItemType()).bind(preparedExpression, connection, XQConstants.CONTEXT_ITEM, contextItemValue, config.getContextItemType()); } }
public void bindVariables(XQConnection connection, XQPreparedExpression preparedExpression) throws Exception { for (XQueryRunnerVariable variable : config.getVariables()) { if (variable.ACTIVE) { TypeBinder binder = binderFactory.getBinder(variable.TYPE); QName name = nameExtractor.getName(variable.NAME, variable.NAMESPACE); binder.bind(preparedExpression, connection, name, variable.VALUE, variable.TYPE); } } }
public void runApp() throws Exception { XQDataSource xqs = dataSourceFactory.getDataSource(); XQConnection connection = null; try { connection = connectionFactory.getConnection(xqs); XQPreparedExpression preparedExpression = expressionFactory.getExpression(connection); XQResultSequence rs = preparedExpression.executeQuery(); rs.writeSequence(output, outputMethodFactory.getOutputMethodProperties()); } finally { if (connection != null) { connection.close(); } } }
public XQPreparedExpression getExpression(XQConnection connection) throws Exception { XQPreparedExpression preparedExpression = connection .prepareExpression(contentFactory.getXQueryContentAsStream()); contextItemBinder.bindContextItem(connection, preparedExpression); variablesBinder.bindVariables(connection, preparedExpression); return preparedExpression; }
@Before public void setUp() throws Exception { expression = mock(XQPreparedExpression.class); connection = mock(XQConnection.class); binder = new AttributeBinder(); xqItemType = mock(XQItemType.class); given(connection.createAttributeType(null, XQItemType.XQBASETYPE_ANYSIMPLETYPE)).willReturn(xqItemType); }
@Before public void setUp() throws XQException { expression = mock(XQPreparedExpression.class); connection = mock(XQConnection.class); binder = new AtomicValueBinder(); xqItemType = mock(XQItemType.class); given(connection.createAtomicType(anyInt())).willReturn(xqItemType); }
@Before public void setUp() throws XQException { expression = mock(XQPreparedExpression.class); connection = mock(XQConnection.class); binder = new TextBinder(); xqItemType = mock(XQItemType.class); given(connection.createTextType()).willReturn(xqItemType); }
@Before public void setUp() throws XQException { config = mock(XQueryRunConfig.class); variablesBinder = mock(VariablesBinder.class); contextItemBinder = mock(ContextItemBinder.class); contentFactory = mock(XQueryContentFactory.class); connection = mock(XQConnection.class); expression = mock(XQPreparedExpression.class); given(connection.prepareExpression(any(InputStream.class))).willReturn(expression); factory = new ExpressionFactory(config, contentFactory, variablesBinder, contextItemBinder); }