/* * ==================================================================== * Copyright (c) 2004-2006 TMate Software Ltd. All rights reserved. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://svnkit.com/license.html * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * ==================================================================== */ package org.tmatesoft.svn.examples.wc; import org.apache.log4j.Logger; import org.tmatesoft.svn.core.SVNNodeKind; import org.tmatesoft.svn.core.wc.ISVNInfoHandler; import org.tmatesoft.svn.core.wc.SVNInfo; /* * An implementation of ISVNInfoHandler that is used in WorkingCopy.java to * display info on a working copy path. This implementation is passed to * * SVNWCClient.doInfo(File path, SVNRevision revision, boolean recursive, * ISVNInfoHandler handler) * * For each item to be processed doInfo(..) collects information and creates an * SVNInfo which keeps that information. Then doInfo(..) calls implementor's * handler.handleInfo(SVNInfo) where it passes the gathered info. */ public class InfoHandler implements ISVNInfoHandler { static Logger lgr = Logger.getLogger(InfoHandler.class); /* * This is an implementation of ISVNInfoHandler.handleInfo(SVNInfo info). * Just prints out information on a Working Copy path in the manner of the * native SVN command line client. */ public void handleInfo(SVNInfo info) { lgr.info("-----------------INFO-----------------"); lgr.info("Local Path: " + info.getFile().getPath()); lgr.info("URL: " + info.getURL()); if (info.isRemote() && info.getRepositoryRootURL() != null) { lgr.info("Repository Root URL: " + info.getRepositoryRootURL()); } if(info.getRepositoryUUID() != null){ lgr.info("Repository UUID: " + info.getRepositoryUUID()); } lgr.info("Revision: " + info.getRevision().getNumber()); lgr.info("Node Kind: " + info.getKind().toString()); if(!info.isRemote()){ lgr.info("Schedule: " + (info.getSchedule() != null ? info.getSchedule() : "normal")); } lgr.info("Last Changed Author: " + info.getAuthor()); lgr.info("Last Changed Revision: " + info.getCommittedRevision().getNumber()); lgr.info("Last Changed Date: " + info.getCommittedDate()); if (info.getPropTime() != null) { System.out .println("Properties Last Updated: " + info.getPropTime()); } if (info.getKind() == SVNNodeKind.FILE && info.getChecksum() != null) { if (info.getTextTime() != null) { lgr.info("Text Last Updated: " + info.getTextTime()); } lgr.info("Checksum: " + info.getChecksum()); } if (info.getLock() != null) { if (info.getLock().getID() != null) { lgr.info("Lock Token: " + info.getLock().getID()); } lgr.info("Lock Owner: " + info.getLock().getOwner()); lgr.info("Lock Created: " + info.getLock().getCreationDate()); if (info.getLock().getExpirationDate() != null) { lgr.info("Lock Expires: " + info.getLock().getExpirationDate()); } if (info.getLock().getComment() != null) { lgr.info("Lock Comment: " + info.getLock().getComment()); } } } }