Integration Toolbox
for IBM® TIVOLI® Storage Manager

package query; import static hu.user.toolbox.tsm.ITSMSession.WILDCARD_STAR; import hu.user.toolbox.tsm.IFilespace; import hu.user.toolbox.tsm.ITSMSession; import hu.user.toolbox.tsm.Toolbox; import hu.user.toolbox.tsm.exception.ToolboxException; import java.util.List; /** * <b>Function:</b><br> * Queries registered filespaces from the server. * <p> * Before executing this program register a filespace using the RegisterFilespace sample. * <p> * The following operations are performed: * <ol> * <li>Initializing a single-threaded TSM API environment.</li> * <li>Creating a new TSMSession instance. * Setting default connection options. Connecting to the server using * the node name "TOOLBOX" and password "PASSWORD".</li> * <li>Querying filespaces using the parameter {@link ITSMSession#WILDCARD_STAR}</li> * <li>Iterating through the returned list. Printing the name of each filespace.</li> * <li>Disconnecting from the server and cleaning up the resources.</li> * </ol> * <p> * <b>Compile:</b> * <pre> * javac -d bin -cp ../lib/toolboxfortsm.jar query/QueryFilespaces.java * </pre> * <p> * <b>Execute:</b><br> * You should first set the environment variables to point to the correct * files/directories. * <pre> * set DSMI_CONFIG={Full path of your dsm.opt} * set DSMI_DIR={Tivoli Storage Manager API installation directory} * set DSMI_LOG={Any arbitrary directory} * </pre> * Then use the java command to execute the program: * <p> * <pre> * java -cp bin:../lib/toolboxfortsm.jar:../lib/ext/log4j-1.2.17.jar:../config * -Djava.library.path=../lib query.QueryFilespaces * </pre> */ public class QueryFilespaces { private static final String NODE_NAME = "TOOLBOX"; private static final String PASSWORD = "PASSWORD"; public static void main(final String args[]) throws ToolboxException { ITSMSession session = null; try { // Initializing a single-threaded environment Toolbox.initSingleThreading(); // Connecting to the server with the default connection options session = Toolbox.createSession(NODE_NAME, PASSWORD); // Getting the list of all filespaces List<IFilespace> filespaces = session.queryFilespaces(WILDCARD_STAR); // Printing the name of the filespaces if (filespaces == null) { System.out.printf("No filespaces available for node '%s'.\n", NODE_NAME); return; } System.out.printf("Filespaces available for node '%s':\n", NODE_NAME); for (IFilespace filespace : filespaces) { printDetails(filespace); } } catch (ToolboxException e) { e.printStackTrace(); } finally { // Disconnecting session.disconnect(); // Cleaning up the environment Toolbox.cleanUp(); } } /** * Prints the details of a filespace. */ private static void printDetails(IFilespace o){ System.out.printf(" Filespace name: %s\n", o.getName()); System.out.printf(" Type: %s\n", o.getType()); System.out.printf(" Information: %s\n", o.getInformation()); System.out.printf("Occupancy (bytes): %d\n", o.getOccupancy()); System.out.printf(" Capacity (bytes): %d\n", o.getCapacity()); System.out.printf("Backup start date: %s\n", o.getBackupStartDate()); System.out.printf(" Backup end date: %s\n", o.getBackupCompleteDate()); System.out.println(); } }