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


Java RowIterator类代码示例

本文整理汇总了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;
}
 
开发者ID:sltang,项目名称:jackrabbit-migration,代码行数:17,代码来源:Querier.java

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

示例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;
}
 
开发者ID:ruikom,项目名称:apache-archiva,代码行数:40,代码来源:JcrMetadataRepository.java

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

示例5: getSize

import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Override
public long getSize() {
    int size = 0;
    for (RowIterator iter : rowIterators) {
        size += iter.getSize();
    }
    return size;
}
 
开发者ID:rah003,项目名称:neat-tweaks,代码行数:9,代码来源:QueryableJcrContainer.java

示例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);
}
 
开发者ID:wso2,项目名称:carbon-registry,代码行数:16,代码来源:RegistryQueryResult.java

示例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>";
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:39,代码来源:QueryReportExecutor.java

示例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 ");
}
 
开发者ID:Adobe-Consulting-Services,项目名称:acs-aem-commons,代码行数:14,代码来源:QueryHelperImpl.java

示例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;
}
 
开发者ID:sltang,项目名称:jackrabbit-migration,代码行数:8,代码来源:Querier.java

示例10: AggregateRowIterator

import javax.jcr.query.RowIterator; //导入依赖的package包/类
public AggregateRowIterator(List<RowIterator> rowIterators) {
    this.rowIterators = rowIterators;
}
 
开发者ID:rah003,项目名称:neat-tweaks,代码行数:4,代码来源:QueryableJcrContainer.java

示例11: getRows

import javax.jcr.query.RowIterator; //导入依赖的package包/类
@Override
public RowIterator getRows() throws RepositoryException {
    return null;
}
 
开发者ID:TWCable,项目名称:jackalope,代码行数:5,代码来源:QueryResultImpl.java

示例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;
}
 
开发者ID:apache,项目名称:archiva,代码行数:45,代码来源:JcrMetadataRepository.java

示例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");
  }
 
开发者ID:sltang,项目名称:jackrabbit-migration,代码行数:7,代码来源:App.java

示例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));
}
 
开发者ID:sltang,项目名称:jackrabbit-migration,代码行数:6,代码来源:QuerierTest.java

示例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));
}
 
开发者ID:sltang,项目名称:jackrabbit-migration,代码行数:6,代码来源:QuerierTest.java


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