001/*
002 * file ListRecords.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM - you are allowed to copy, modify and 
006 * redistribute this file as part of any program that interfaces with 
007 * IBM Rational CM API.
008 *
009 * com.ibm.rational.stp.client.samples.ListRecords
010 *
011 * (C) Copyright IBM Corporation 2005, 2008.  All Rights Reserved.
012 * Note to U.S. Government Users Restricted Rights:  Use, duplication or 
013 * disclosure restricted by GSA ADP  Schedule Contract with IBM Corp.
014 */
015package com.ibm.rational.stp.client.samples;
016
017import com.ibm.rational.wvcm.stp.StpLocation;
018import com.ibm.rational.wvcm.stp.cq.CqProvider;
019import com.ibm.rational.wvcm.stp.cq.CqQuery;
020import com.ibm.rational.wvcm.stp.cq.CqRecordType;
021import com.ibm.rational.wvcm.stp.cq.CqRowData;
022import com.ibm.rational.wvcm.stp.cq.CqResultSet;
023import com.ibm.rational.wvcm.stp.cq.CqQuery.DisplayField;
024
025/**
026 * Sample code that appears in the Stp package.html. Here to verify it is
027 * compilable.
028 */
029public class ListRecords {
030    public static void main(String[] args) throws Exception {
031        String recordTypeName = args[0];
032        CqProvider provider = Utilities.getProvider().cqProvider();
033        StpLocation recordTypeLoc = provider.stpLocation(recordTypeName);
034        CqRecordType recordType = provider.cqRecordType(recordTypeLoc);
035
036        
037        DisplayField uniqueKey = provider.buildDisplayField();
038        uniqueKey.setPath(CqQuery.UNIQUE_KEY_FIELD_PATH);
039        uniqueKey.setIsVisible(true);
040        DisplayField[] displayFields = new DisplayField[] {uniqueKey};
041        
042        CqResultSet results = recordType.doQuery(displayFields, 
043                                                           null, 
044                                                           1, 
045                                                           Integer.MAX_VALUE, 
046                                                           null);
047    
048        while (results.hasNext()) {
049            CqRowData row = (CqRowData)results.next();
050            
051            System.out.print(row + "\n");
052        }
053       
054        System.exit(0);
055    }
056}