本文整理汇总了Java中javax.xml.xquery.XQConnection.close方法的典型用法代码示例。如果您正苦于以下问题:Java XQConnection.close方法的具体用法?Java XQConnection.close怎么用?Java XQConnection.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.xml.xquery.XQConnection
的用法示例。
在下文中一共展示了XQConnection.close方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: close
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
@Override
public void close() throws SQLException {
XQConnection conn = getConnection();
if (!conn.isClosed()) {
logger.info("close; XQC: {}", conn);
try {
conn.close();
} catch (XQException ex) {
logger.error("close.error; " + ex, ex);
throw new SQLException(ex);
}
} else {
logger.debug("close; XQC is already closed: {}", conn);
}
}
示例2: setUpBeforeClass
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
@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();
}
}
示例3: tearDownAfterClass
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
@AfterClass
public static void tearDownAfterClass() throws Exception {
XQConnection xqc = xqds.getConnection();
try {
XQExpression xqe = xqc.createExpression();
xqe.bindLong(new QName("docId"), axisId, xqc.createAtomicType(XQItemType.XQBASETYPE_LONG));
xqe.executeCommand("removeDocument($docId)");
xqe.close();
} finally {
xqc.close();
}
}
示例4: getConnectionTest
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
@Test
public void getConnectionTest() throws XQException {
XQConnection conn = xqds.getConnection();
assertNotNull(conn);
assertFalse(conn.isClosed());
conn.close();
assertTrue(conn.isClosed());
}
示例5: testLoginTimeout
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
@Test
@Ignore
public void testLoginTimeout() throws XQException {
xqds.setLoginTimeout(1);
XQConnection conn = xqds.getConnection();
assertNull(conn);
xqds.setLoginTimeout(5);
conn = xqds.getConnection();
assertNotNull(conn);
conn.close();
}
示例6: sort
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
public static ArrayList<String> sort(String xmlns, String fileName, String elementName, boolean isAsc)
throws XQException {
URI uri = new File(fileName).toURI();
String uriPath = uri.getPath();
ArrayList<String> rowIds = new ArrayList<String>();
XQDataSource dataSource = new SaxonXQDataSource();
XQConnection conn = dataSource.getConnection();
String queryString = "for $file in doc(\'" + uriPath + "')/xliff/file,"
+ " $tu in $file/body//trans-unit order by $tu/" + elementName + " " + (isAsc ? "" : "descending")
+ " return <file original='{$file/@original}' tuid='{$tu/@id}'></file>";
if (xmlns != null) {
queryString = "declare default element namespace '" + xmlns + "';" + queryString;
}
XQExpression expression = conn.createExpression();
XQSequence results = expression.executeQuery(queryString);
while (results.next()) {
Node node = results.getNode();
String original = node.getAttributes().getNamedItem("original").getNodeValue();
String tuid = node.getAttributes().getNamedItem("tuid").getNodeValue();
String rowId = RowIdUtil.getRowId(fileName, original, tuid);
rowIds.add(rowId);
}
// 释放资源
results.close();
expression.close();
conn.close();
return rowIds;
}
示例7: runApp
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
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();
}
}
}
示例8: closeConnection
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
/**
* Helper method to close an {@link XQConnection}.
*
* @param connection
* the connection to close
* @throws ApplicationException
* if the connection could not be close
*/
public static void closeConnection(final XQConnection connection)
{
try
{
connection.close();
}
catch (final XQException e)
{
throw new ApplicationException("Unable to close XQConnection", e);
}
}
示例9: testXQConnection
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
@Test
public void testXQConnection() throws Exception {
final Server srv = Server.getInstance();
final URL fname = BaseXTestSuite.class.getClassLoader().getResource( "sampleHarvest.xml" );
File file = new File(fname.toURI());
srv.startup(file);
final XQDataSource xqs = new BaseXXQDataSource();
xqs.setProperty("serverName", Server.SERVER_NAME);
xqs.setProperty("port", String.valueOf(Server.PORT));
xqs.setProperty("databaseName", Server.DATABASE_NAME);
xqs.setProperty("user", Client.USER);
xqs.setProperty("password", Client.PASSWORD);
final XQConnection conn = xqs.getConnection();
try {
final String query = "declare default element namespace \"http://www.w3.org/1998/Math/MathML\";\n" +
"for $m in //*:expr return \n" +
"for $x in $m//*:apply\n" +
"[*[1]/name() = 'divide']\n" +
"where\n" +
"fn:count($x/*) = 3\n" +
"return\n" +
"<result>{$m/@url}</result>";
final XQPreparedExpression xqpe = conn.prepareExpression( query );
final XQResultSequence rs = xqpe.executeQuery();
final String res = rs.getSequenceAsString( null );
Assert.assertEquals( "<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"4#math.4.5\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"4#math.4.5\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.2\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.17\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.18\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.18\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.19\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.19\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.19\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.20\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.21\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.22\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"5#math.5.23\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"6#math.6.11\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"6#math.6.14\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"6#math.6.15\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"6#math.6.15\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"6#math.6.15\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"6#math.6.15\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"6#math.6.20\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"7#math.7.0\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"7#math.7.1\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"7#math.7.1\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"7#math.7.2\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"7#math.7.2\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"7#math.7.3\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"7#math.7.3\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"7#math.7.4\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"8#math.8.6\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"8#math.8.7\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"8#math.8.21\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"8#math.8.22\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"8#math.8.23\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"8#math.8.33\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"8#math.8.34\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"8#math.8.35\"/> " +
"<result xmlns=\"http://www.w3.org/1998/Math/MathML\" url=\"dummy29\"/>"
, res );
} finally {
conn.close();
}
}
示例10: qurey
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
/**
* 查询
* @param queryString
* XQuery查询语句
* @return RowId集合
* @throws XQException ;
*/
private static ArrayList<String> qurey(String queryString) throws XQException {
XQDataSource dataSource = new SaxonXQDataSource();
XQConnection conn = null;
XQExpression expression = null;
XQSequence results = null;
try {
conn = dataSource.getConnection();
expression = conn.createExpression();
results = expression.executeQuery(queryString);
LinkedHashSet<String> set = new LinkedHashSet<String>();
while (results.next()) {
Node node = results.getNode();
String fileName = node.getAttributes().getNamedItem("fileName").getNodeValue();
String original = node.getAttributes().getNamedItem("original").getNodeValue();
String tuid = node.getAttributes().getNamedItem("tuid").getNodeValue();
// 解决 Windows 平台下,无法查询“重复文本段”的问题“:
// 这里返回的是 URI,因此需要转成操作系统的标准文件路径。
// 注:在 Winodws 平台中文件路径分隔符使用“\”,而在 URI 标准中文件路径分隔符使用“/”,并且会以“/”为根,
// 因此,Windows 的路径“c:\test.txt”,使用 URI 表示为“/c:/test.txt”。
fileName = new File(fileName).getAbsolutePath();
String rowId = RowIdUtil.getRowId(fileName, original, tuid);
set.add(rowId);
}
return new ArrayList<String>(set);
} finally {
// 释放资源
if (results != null && !results.isClosed()) {
results.close();
}
if (expression != null && !expression.isClosed()) {
expression.close();
}
if (conn != null && !conn.isClosed()) {
conn.close();
}
}
}
示例11: PropagateQurey
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
/**
* 繁殖翻译文本段的查询 robert 2012-04-03
* @param queryString
* XQuery查询语句
* @return RowId集合
* @throws XQException
* ;
*/
public static Map<String, List<String>> PropagateQurey(String queryString) throws XQException {
XQDataSource dataSource = new SaxonXQDataSource();
XQConnection conn = null;
XQExpression expression = null;
XQSequence results = null;
try {
conn = dataSource.getConnection();
expression = conn.createExpression();
results = expression.executeQuery(queryString);
Map<String, List<String>> resultMap = new HashMap<String, List<String>>();
while (results.next()) {
Node node = results.getNode();
// System.out.println("node.getChildNodes().getLength() = " + node.getChildNodes().getLength());
if (node.getChildNodes().getLength() >= 1) {
String rootFileName = node.getAttributes().getNamedItem("fileName").getNodeValue();
rootFileName = new File(rootFileName).getAbsolutePath();
String rootOriginal = node.getAttributes().getNamedItem("original").getNodeValue();
String rootTuid = node.getAttributes().getNamedItem("tuid").getNodeValue();
String rootRowId = RowIdUtil.getRowId(rootFileName, rootOriginal, rootTuid);
if (!resultMap.keySet().contains(rootRowId)) {
resultMap.put(rootRowId, new ArrayList<String>());
}
NodeList nodeList = node.getChildNodes();
for (int i = 0; i < nodeList.getLength(); i++) {
if (nodeList.item(i).getAttributes() == null) {
continue;
}
String fileName = nodeList.item(i).getAttributes().getNamedItem("fileName").getNodeValue();
fileName = new File(fileName).getAbsolutePath();
String original = nodeList.item(i).getAttributes().getNamedItem("original").getNodeValue();
String tuid = nodeList.item(i).getAttributes().getNamedItem("tuid").getNodeValue();
String rowId = RowIdUtil.getRowId(fileName, original, tuid);
resultMap.get(rootRowId).add(rowId);
}
}
}
return resultMap;
} finally {
// 释放资源
if (results != null && !results.isClosed()) {
results.close();
}
if (expression != null && !expression.isClosed()) {
expression.close();
}
if (conn != null && !conn.isClosed()) {
conn.close();
}
}
}
示例12: testRpeateed
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
/**
* 测试过滤重复文本段 robert 2012-06-11
* @throws XQException
*/
private static void testRpeateed() throws XQException{
String xqueryStr_1 = "declare namespace ns0='urn:oasis:names:tc:xliff:document:1.2'; " +
"for $t in (let $allTU_1 := ( " +
" for $file0 in doc('/home/robert/workspace/runtime-UltimateEdition.product/test/XLIFF/zh-CN/user_defineed_filter4.doc.xlf')/ns0:xliff/ns0:file[upper-case(@source-language)='EN-US' " +
" and upper-case(@target-language)='ZH-CN'], " +
" $tu0 in $file0/ns0:body//ns0:trans-unit " +
" return <tu fileName='/home/robert/workspace/runtime-UltimateEdition.product/test/XLIFF/zh-CN/user_defineed_filter4.doc.xlf' original='{$file0/@original}' tuid='{$tu0/@id}' source='{$tu0/ns0:source/text()}' />), " +
" $allTU := for $allTU1 in $allTU_1 return <tu fileName='{$allTU1/@fileName}' original='{$allTU1/@original}' tuid='{$allTU1/@tuid}' source='{normalize-space($allTU1/@source)}' /> ," +
" $id := (for $src in distinct-values($allTU/@source) " +
" return <root>{if (count($allTU[@source=$src])>1) then <src>{$src}</src> else ''}</root>)/src/text(), " +
" $tu := $allTU[@source=$id] return $tu) order by $t/@source " +
" return <tu fileName='{$t/@fileName}' original='{$t/@original}' tuid='{$t/@tuid}' /> ";
String xqueryStr = "declare namespace ns0='urn:oasis:names:tc:xliff:document:1.2'; \n" +
"declare function local:getPureText ($srcText1 as xs:anyType) as xs:anyType {\n" +
"let $result := srcText1 \n" +
"return $result }; \n" +
"for $t in (let $allTU := ( \n" +
" for $file0 in doc('/home/robert/workspace/runtime-UltimateEdition.product/test/XLIFF/zh-CN/user_defineed_filter4.doc.xlf')/ns0:xliff/ns0:file[upper-case(@source-language)='EN-US' \n" +
" and upper-case(@target-language)='ZH-CN'], \n" +
" $tu0 in $file0/ns0:body//ns0:trans-unit \n" +
" return <tu fileName='/home/robert/workspace/runtime-UltimateEdition.product/test/XLIFF/zh-CN/user_defineed_filter4.doc.xlf' original='{$file0/@original}' tuid='{$tu0/@id}' source='{$tu0/ns0:source/text()}' />) \n" +
" return $allTU )\n " +
" return <tu fileName='{$t/@fileName}' original='{$t/@original}' tuid='{$t/@tuid}' source='{$t/@source}'/> \n";
XQDataSource dataSource = new SaxonXQDataSource();
XQConnection conn = null;
XQExpression expression = null;
XQSequence results = null;
try {
conn = dataSource.getConnection();
expression = conn.createExpression();
results = expression.executeQuery(xqueryStr);
while (results.next()) {
Node node = results.getNode();
String fileName = node.getAttributes().getNamedItem("fileName").getNodeValue();
String original = node.getAttributes().getNamedItem("original").getNodeValue();
String tuid = node.getAttributes().getNamedItem("tuid").getNodeValue();
String source = node.getAttributes().getNamedItem("source").getNodeValue();
System.out.println(source);
// System.out.println(tuid);
}
return;
} finally {
// 释放资源
if (results != null && !results.isClosed()) {
results.close();
}
if (expression != null && !expression.isClosed()) {
expression.close();
}
if (conn != null && !conn.isClosed()) {
conn.close();
}
}
}
示例13: main
import javax.xml.xquery.XQConnection; //导入方法依赖的package包/类
public static void main(final String[] args) throws Exception {
//get the command line arguments
if(args.length < 5) {
printUseage();
System.exit(1);
return;
}
final String server = args[0];
final String port = args[1];
final String query = args[2];
final File queryFile;
if(query.charAt(0) == '@') {
queryFile = new File(query.substring(1));
if(!queryFile.exists()) {
System.err.println("Query file '" + queryFile.getAbsolutePath() + "' does not exist!");
System.exit(2);
}
} else {
queryFile = null;
}
final String path = args[3];
final String username = args[4];
final String password;
if(args.length == 6) {
password = args[5];
} else {
password = "";
}
//setup the Data Source
final XQDataSource dataSource = new ExistXQDataSource();
dataSource.setProperty("serverName", server);
dataSource.setProperty("port", port);
//get connection with authenticated credentials
XQConnection connection = null;
try {
connection = dataSource.getConnection(username, password);
final String uri = "http://" + server + ":" + port + "/exist/rest" + path;
logger.info("Starting Query of {}...", uri);
//execute the query expression
final XQExpression expression = connection.createExpression();
final XQResultSequence result;
if(queryFile == null) {
result = expression.executeQuery(query);
} else {
InputStream is = null;
try {
is = new FileInputStream(queryFile);
result = expression.executeQuery(is);
} finally {
if(is != null) {
is.close();
}
}
}
//output the results
boolean producedResults = false;
while(result.next()) {
result.writeItem(System.out, null);
producedResults = true;
}
if(producedResults) {
System.out.println();
} else {
logger.warn("Your XQuery produced no results!");
}
logger.info("Finished Query OK.");
} finally {
if(connection != null) {
connection.close();
}
}
}