本文整理汇总了Java中javax.jcr.query.RowIterator类的典型用法代码示例。如果您正苦于以下问题:Java RowIterator类的具体用法?Java RowIterator怎么用?Java RowIterator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RowIterator类属于javax.jcr.query包,在下文中一共展示了RowIterator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: formatQueryResults
import javax.jcr.query.RowIterator; //导入依赖的package包/类
public static String formatQueryResults(RowIterator it) throws RepositoryException {
String results="\n";
while (it.hasNext()) {
Row row = it.nextRow();
Value[] values=row.getValues();
String s="";
for (Value value:values) {
if (value!=null)
s+="| " + value.getString() + " ";
else
s+="| null ";
}
results+=s+"\n";
}
return results;
}
示例2: getRepositorySize
import javax.jcr.query.RowIterator; //导入依赖的package包/类
/**
* @param repository the repository
* @return a double of the size of the fedora:datastream binary content
* @throws RepositoryException if repository exception occurred
*/
public static long getRepositorySize(final Repository repository)
throws RepositoryException {
final Session session = repository.login();
try {
long sum = 0;
final QueryManager queryManager =
session.getWorkspace().getQueryManager();
final String querystring =
"SELECT [" + CONTENT_SIZE + "] FROM [" +
FEDORA_BINARY + "]";
final QueryResult queryResults =
queryManager.createQuery(querystring, JCR_SQL2).execute();
for (final RowIterator rows = queryResults.getRows(); rows.hasNext(); ) {
final Value value =
rows.nextRow().getValue(CONTENT_SIZE);
sum += value.getLong();
}
return sum;
} finally {
session.logout();
}
}
示例3: runJcrQuery
import javax.jcr.query.RowIterator; //导入依赖的package包/类
private List<ArtifactMetadata> runJcrQuery( String repositoryId, String q, Map<String, String> bindings )
throws MetadataRepositoryException
{
List<ArtifactMetadata> artifacts;
if ( repositoryId != null )
{
q += " AND ISDESCENDANTNODE(artifact,'/" + getRepositoryContentPath( repositoryId ) + "')";
}
log.info( "Running JCR Query: {}", q );
try
{
Query query = getJcrSession().getWorkspace().getQueryManager().createQuery( q, Query.JCR_SQL2 );
ValueFactory valueFactory = getJcrSession().getValueFactory();
for ( Entry<String, String> entry : bindings.entrySet() )
{
query.bindValue( entry.getKey(), valueFactory.createValue( entry.getValue() ) );
}
long start = Calendar.getInstance().getTimeInMillis();
QueryResult result = query.execute();
long end = Calendar.getInstance().getTimeInMillis();
log.info( "JCR Query ran in {} milliseconds: {}", end - start , q );
artifacts = new ArrayList<>();
RowIterator rows = result.getRows();
while ( rows.hasNext() )
{
Row row = rows.nextRow();
Node node = row.getNode( "artifact" );
artifacts.add( getArtifactFromNode( repositoryId, node ) );
}
}
catch ( RepositoryException e )
{
throw new MetadataRepositoryException( e.getMessage(), e );
}
return artifacts;
}
示例4: getRows
import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Override
public RowIterator getRows() throws RepositoryException {
List<RowIterator> names = new ArrayList<RowIterator>();
for (QueryResult result : results) {
names.add(result.getRows());
}
return new AggregateRowIterator(names);
}
示例5: getSize
import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Override
public long getSize() {
int size = 0;
for (RowIterator iter : rowIterators) {
size += iter.getSize();
}
return size;
}
示例6: getRows
import javax.jcr.query.RowIterator; //导入依赖的package包/类
public RowIterator getRows() throws RepositoryException {
RegistryNode regNode = null;
Set<RegistryRow> rows = new HashSet<RegistryRow>();
for (Object node : nodes) {
RegistryRow row;
regNode = (RegistryNode) node;
row = new RegistryRow((RegistryNode) node);
rows.add(row);
}
return new RegistryRowIterator(rows);
}
示例7: getDetails
import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Override
public String getDetails() throws ReportException {
Map<String, String> details = new LinkedHashMap<String, String>();
details.put("Language", config.getQueryLanguage());
details.put("Page", Integer.toString(page));
details.put("Page Size", Integer.toString(config.getPageSize()));
details.put("Query", statement);
try {
final QueryManager queryManager = request.getResourceResolver().adaptTo(Session.class).getWorkspace()
.getQueryManager();
final Query query = queryManager.createQuery("explain " + statement, config.getQueryLanguage());
final QueryResult queryResult = query.execute();
final RowIterator rows = queryResult.getRows();
while (rows.hasNext()) {
final Row row = rows.nextRow();
String[] cols = queryResult.getColumnNames();
Value[] values = row.getValues();
for (int i = 0; i < cols.length; i++) {
details.put(cols[i], values[i].getString());
}
}
} catch (RepositoryException re) {
log.error("Exception getting details", re);
throw new ReportException("Exception getting details", re);
}
StringBuilder sb = new StringBuilder();
for (Entry<String, String> entry : details.entrySet()) {
sb.append("<dt>" + StringEscapeUtils.escapeHtml(entry.getKey()) + "</dt>");
sb.append("<dd>" + StringEscapeUtils.escapeHtml(entry.getValue()) + "</dd>");
}
return "<dl>" + sb.toString() + "</dl>";
}
示例8: isTraversal
import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Override
public boolean isTraversal(ResourceResolver resourceResolver, String language, String statement) throws RepositoryException {
final QueryManager queryManager = resourceResolver.adaptTo(Session.class).getWorkspace().getQueryManager();
final Query query = queryManager.createQuery("explain " + statement, language);
final QueryResult queryResult = query.execute();
final RowIterator rows = queryResult.getRows();
final Row firstRow = rows.nextRow();
final String plan = firstRow.getValue("plan").getString();
return StringUtils.contains(plan, " /* traverse ");
}
示例9: queryBySQLRow
import javax.jcr.query.RowIterator; //导入依赖的package包/类
public static RowIterator queryBySQLRow(Session session, String query) throws RepositoryException {
QueryManager qm = session.getWorkspace().getQueryManager();
Query q = qm.createQuery(query, Query.JCR_SQL2);
QueryResult result = q.execute();
RowIterator it = result.getRows();
return it;
}
示例10: AggregateRowIterator
import javax.jcr.query.RowIterator; //导入依赖的package包/类
public AggregateRowIterator(List<RowIterator> rowIterators) {
this.rowIterators = rowIterators;
}
示例11: getRows
import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Override
public RowIterator getRows() throws RepositoryException {
return null;
}
示例12: runJcrQuery
import javax.jcr.query.RowIterator; //导入依赖的package包/类
private List<ArtifactMetadata> runJcrQuery( String repositoryId, String q, Map<String, String> bindings )
throws MetadataRepositoryException
{
List<ArtifactMetadata> artifacts;
if ( repositoryId != null )
{
q += " AND ISDESCENDANTNODE(artifact,'/" + getRepositoryContentPath( repositoryId ) + "')";
}
log.info( "Running JCR Query: {}", q );
try
{
Query query = getJcrSession().getWorkspace().getQueryManager().createQuery( q, Query.JCR_SQL2 );
ValueFactory valueFactory = getJcrSession().getValueFactory();
for ( Entry<String, String> entry : bindings.entrySet() )
{
query.bindValue( entry.getKey(), valueFactory.createValue( entry.getValue() ) );
}
long start = Calendar.getInstance().getTimeInMillis();
QueryResult result = query.execute();
long end = Calendar.getInstance().getTimeInMillis();
log.info( "JCR Query ran in {} milliseconds: {}", end - start, q );
artifacts = new ArrayList<>();
RowIterator rows = result.getRows();
while ( rows.hasNext() )
{
Row row = rows.nextRow();
Node node = row.getNode( "artifact" );
artifacts.add( getArtifactFromNode( repositoryId, node ) );
}
}
catch ( RepositoryException e )
{
throw new MetadataRepositoryException( e.getMessage(), e );
}
log.info( "Artifacts found {}", artifacts.size() );
for ( ArtifactMetadata meta : artifacts )
{
log.info( "Artifact: " + meta.getVersion() + " " + meta.getFacetList() );
}
return artifacts;
}
示例13: runQuery
import javax.jcr.query.RowIterator; //导入依赖的package包/类
private static void runQuery(Session srcSession, String query, String queryType) throws RepositoryException {
long start=System.currentTimeMillis();
RowIterator rowIt=Querier.queryBySQLRow(srcSession, query, queryType);
System.out.println(Querier.formatQueryResults(rowIt));
System.out.println("Time: "+String.valueOf(System.currentTimeMillis()-start) +" milliseeconds");
}
示例14: testQueryByPropertyRow
import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Test
public void testQueryByPropertyRow() throws Exception {
RowIterator it=Querier.queryBySQLRow(session, "select [ns:property] from [ns:child] as child where ISDESCENDANTNODE(child, [/root/nodes/node]) and ([ns:property1]='value1' or [ns:property2]='value2')");
log.info(Querier.formatQueryResults(it));
}
示例15: testXpathSearch
import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Test
public void testXpathSearch() throws RepositoryException {
RowIterator it=Querier.queryBySQLRow(session, "/path/to/node", "xpath");
log.info(Querier.formatQueryResults(it));
}