当前位置: 首页>>代码示例>>Java>>正文


Java XQConnection.close方法代码示例

本文整理汇总了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);
	}
}
 
开发者ID:dsukhoroslov,项目名称:bagri,代码行数:16,代码来源:BagriXQJPlugin.java

示例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();
	}
}
 
开发者ID:dsukhoroslov,项目名称:bagri,代码行数:41,代码来源:BagriXQAxisTest.java

示例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();
	}
}
 
开发者ID:dsukhoroslov,项目名称:bagri,代码行数:14,代码来源:BagriXQAxisTest.java

示例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());
}
 
开发者ID:dsukhoroslov,项目名称:bagri,代码行数:9,代码来源:BagriXQDataSourceTest.java

示例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();
}
 
开发者ID:dsukhoroslov,项目名称:bagri,代码行数:12,代码来源:BagriXQDataSourceTest.java

示例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;
}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:32,代码来源:SaxonSearcher.java

示例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();
        }
    }
}
 
开发者ID:ligasgr,项目名称:intellij-xquery,代码行数:15,代码来源:XQJRunnerApp.java

示例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);
	}
}
 
开发者ID:openfurther,项目名称:further-open-core,代码行数:20,代码来源:XQueryUtil.java

示例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();
	}
}
 
开发者ID:ag-gipp,项目名称:mathosphere,代码行数:72,代码来源:ServerTest.java

示例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();
		}
	}
}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:48,代码来源:SaxonSearcher.java

示例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();
			}
		}
	}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:62,代码来源:SaxonSearcher.java

示例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();
			}
		}
	}
 
开发者ID:heartsome,项目名称:translationstudio8,代码行数:63,代码来源:SaxonSearcher.java

示例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();
        }
    }
}
 
开发者ID:eXist-book,项目名称:book-code,代码行数:82,代码来源:QueryApp.java


注:本文中的javax.xml.xquery.XQConnection.close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。