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     */
015    package com.ibm.rational.stp.client.samples;
016    
017    import com.ibm.rational.wvcm.stp.StpLocation;
018    import com.ibm.rational.wvcm.stp.cq.CqProvider;
019    import com.ibm.rational.wvcm.stp.cq.CqQuery;
020    import com.ibm.rational.wvcm.stp.cq.CqRecordType;
021    import com.ibm.rational.wvcm.stp.cq.CqRowData;
022    import com.ibm.rational.wvcm.stp.cq.CqResultSet;
023    import 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     */
029    public 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    }