javax.xml.xquery.XQDataSource Java Examples
The following examples show how to use
javax.xml.xquery.XQDataSource.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: DataSourceFactory.java From intellij-xquery with Apache License 2.0 | 6 votes |
public XQDataSource getDataSource() throws Exception { XQueryDataSourceType dataSourceType = config.getDataSourceType(); XQDataSource dataSource = getXQDataSource(dataSourceType, config); if (dataSourceType.connectionPropertiesAreSupported()) { if (config.getHost() != null && config.getHost().length() > 0) { dataSource.setProperty(SERVER_NAME, config.getHost()); } if (config.getPort() != null && config.getPort().length() > 0) { dataSource.setProperty(PORT, config.getPort()); } if (config.getDatabaseName() != null && config.getDatabaseName().length() > 0) { dataSource.setProperty(DATABASE_NAME, config.getDatabaseName()); } } return dataSource; }
Example #2
Source File: SaxonSearcher.java From translationstudio8 with GNU General Public License v2.0 | 5 votes |
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; }
Example #3
Source File: DataSourceFactoryTest.java From intellij-xquery with Apache License 2.0 | 5 votes |
@Test public void shouldGetDataSourceBasedOnDataSourceType() throws Exception { factory = new DataSourceFactory(config); given(config.getDataSourceType()).willReturn(XQueryDataSourceType.SEDNA); given(config.getHost()).willReturn("host"); given(config.getPort()).willReturn("123"); XQDataSource result = factory.getDataSource(); assertThat(result, is(not(nullValue()))); }
Example #4
Source File: SaxonSearcher.java From tmxeditor8 with GNU General Public License v2.0 | 5 votes |
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; }
Example #5
Source File: DataSourceFactoryTest.java From intellij-xquery with Apache License 2.0 | 5 votes |
@Before public void setUp() { config = mock(XQueryRunConfig.class); dataSource = mock(XQDataSource.class); factory = new DataSourceFactory(config) { @Override public XQDataSource getXQDataSource(XQueryDataSourceType dataSourceType, XQueryRunConfig config) throws Exception { return dataSource; } }; }
Example #6
Source File: XQJRunnerApp.java From intellij-xquery with Apache License 2.0 | 5 votes |
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(); } } }
Example #7
Source File: ConnectionFactory.java From intellij-xquery with Apache License 2.0 | 5 votes |
public XQConnection getConnection(XQDataSource dataSource) throws Exception { XQConnection connection; if (config.getDataSourceType().connectionPropertiesAreSupported() && config.getUsername() != null && config.getUsername().length() > 0) { connection = dataSource.getConnection(config.getUsername(), config.getPassword()); } else { connection = dataSource.getConnection(); } return connection; }
Example #8
Source File: SaxonXQDataSourceFactory.java From intellij-xquery with Apache License 2.0 | 5 votes |
@Override public XQDataSource getXQDataSource(XQueryRunConfig config) throws Exception { if (config.isConfigFileEnabled()) { File configFile = new File(config.getConfigFile()); Configuration configuration = Configuration.readConfiguration(new StreamSource(configFile)); return new SaxonXQDataSource(configuration); } return new SaxonXQDataSource(); }
Example #9
Source File: SaxonSearcher.java From translationstudio8 with GNU General Public License v2.0 | 4 votes |
/** * 查询 * @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(); } } }
Example #10
Source File: ConnectionFactoryTest.java From intellij-xquery with Apache License 2.0 | 4 votes |
@Before public void setUp() { dataSource = mock(XQDataSource.class); config = mock(XQueryRunConfig.class); factory = new ConnectionFactory(config); }
Example #11
Source File: DataSourceFactory.java From intellij-xquery with Apache License 2.0 | 4 votes |
protected XQDataSource getXQDataSource(XQueryDataSourceType dataSourceType, XQueryRunConfig config) throws Exception { return getXQDataSourceFactory(dataSourceType).getXQDataSource(config); }
Example #12
Source File: ZorbaXQDataSourceFactory.java From intellij-xquery with Apache License 2.0 | 4 votes |
@Override public XQDataSource getXQDataSource(XQueryRunConfig config) throws Exception { return new ZorbaXQDataSource(); }
Example #13
Source File: BaseXXQDataSourceFactory.java From intellij-xquery with Apache License 2.0 | 4 votes |
@Override public XQDataSource getXQDataSource(XQueryRunConfig config) throws Exception { return new BaseXXQDataSource(); }
Example #14
Source File: SednaXQDataSourceFactory.java From intellij-xquery with Apache License 2.0 | 4 votes |
@Override public XQDataSource getXQDataSource(XQueryRunConfig config) throws Exception { return new SednaXQDataSource(); }
Example #15
Source File: ExistXQDataSourceFactory.java From intellij-xquery with Apache License 2.0 | 4 votes |
@Override public XQDataSource getXQDataSource(XQueryRunConfig config) throws Exception { return new ExistXQDataSource(); }
Example #16
Source File: MarklogicXQDataSourceFactory.java From intellij-xquery with Apache License 2.0 | 4 votes |
@Override public XQDataSource getXQDataSource(XQueryRunConfig config) throws Exception { return new MarkLogicXQDataSource(); }
Example #17
Source File: BaseXLocalXQDataSourceFactory.java From intellij-xquery with Apache License 2.0 | 4 votes |
@Override public XQDataSource getXQDataSource(XQueryRunConfig config) throws Exception { return new BaseXXQDataSource(); }
Example #18
Source File: SaxonSearcher.java From tmxeditor8 with GNU General Public License v2.0 | 4 votes |
/** * 测试过滤重复文本段 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(); } } }
Example #19
Source File: SaxonSearcher.java From tmxeditor8 with GNU General Public License v2.0 | 4 votes |
/** * 繁殖翻译文本段的查询 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(); } } }
Example #20
Source File: SaxonSearcher.java From tmxeditor8 with GNU General Public License v2.0 | 4 votes |
/** * 查询 * @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(); } } }
Example #21
Source File: SaxonSearcher.java From translationstudio8 with GNU General Public License v2.0 | 4 votes |
/** * 测试过滤重复文本段 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(); } } }
Example #22
Source File: SaxonSearcher.java From translationstudio8 with GNU General Public License v2.0 | 4 votes |
/** * 繁殖翻译文本段的查询 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(); } } }
Example #23
Source File: XQDataSourceFactory.java From intellij-xquery with Apache License 2.0 | votes |
XQDataSource getXQDataSource(XQueryRunConfig config) throws Exception;