From fd937214e829695981c0085dbeb20a99cc14ec1f Mon Sep 17 00:00:00 2001 From: Manfred Moser Date: Thu, 4 Aug 2016 11:46:45 -0700 Subject: [PATCH] deactivate logging of each resource get in build log --- .../commands/GetFilesToWorkFolderCommand.java | 20 ++++++++++++++----- .../GetFilesToWorkFolderCommandTest.java | 2 +- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/hudson/plugins/tfs/commands/GetFilesToWorkFolderCommand.java b/src/main/java/hudson/plugins/tfs/commands/GetFilesToWorkFolderCommand.java index a1c0155f6..d58276545 100644 --- a/src/main/java/hudson/plugins/tfs/commands/GetFilesToWorkFolderCommand.java +++ b/src/main/java/hudson/plugins/tfs/commands/GetFilesToWorkFolderCommand.java @@ -17,16 +17,25 @@ public class GetFilesToWorkFolderCommand extends AbstractCallableCommand implements Callable, GetListener { private static final String GettingTemplate = "Getting version '%s' to '%s'..."; - private static final String GotTemplate = "Finished getting version '%s'."; + private static final String GotTemplate = "Finished getting version '%s'. Retrieved %d resources."; private final String workFolder; private final String versionSpec; + private final boolean shouldLogEachGet; private PrintStream logger; + private int getCount = 0; public GetFilesToWorkFolderCommand(final ServerConfigurationProvider server, final String workFolder, final String versionSpec) { + this(server, workFolder, versionSpec, false); + // using shouldLogEachGet false as default, could be controlled by a config option at a later stage if desired, just adds noise to log though + } + + public GetFilesToWorkFolderCommand(final ServerConfigurationProvider server, final String workFolder, final String versionSpec, + final boolean shouldLogEachGet) { super(server); this.workFolder = workFolder; this.versionSpec = versionSpec; + this.shouldLogEachGet = shouldLogEachGet; } @Override @@ -58,18 +67,19 @@ public Void call() throws Exception { final VersionControlEventEngine eventEngine = vcc.getEventEngine(); eventEngine.addGetListener(this); workspace.get(getVersionSpec, GetOptions.NONE); - // TODO: (PR #34) throw an exception if not all files could be fetched, there were conflicts, etc. eventEngine.removeGetListener(this); - final String gotMessage = String.format(GotTemplate, versionSpecString); + final String gotMessage = String.format(GotTemplate, versionSpecString, getCount); logger.println(gotMessage); return null; } public void onGet(final GetEvent getEvent) { - // TODO: The CLC used to emit folder paths as headings, then files within; should we do that? - logger.println(getEvent.getTargetLocalItem()); + getCount++; + if (shouldLogEachGet) { + logger.println(getEvent.getTargetLocalItem()); + } } } diff --git a/src/test/java/hudson/plugins/tfs/commands/GetFilesToWorkFolderCommandTest.java b/src/test/java/hudson/plugins/tfs/commands/GetFilesToWorkFolderCommandTest.java index 3aadfb659..a0f0e7e3d 100644 --- a/src/test/java/hudson/plugins/tfs/commands/GetFilesToWorkFolderCommandTest.java +++ b/src/test/java/hudson/plugins/tfs/commands/GetFilesToWorkFolderCommandTest.java @@ -33,7 +33,7 @@ public class GetFilesToWorkFolderCommandTest extends AbstractCallableCommandTest final GetEvent getEvent = mock(GetEvent.class); final String pathToFile = "C:\\.jenkins\\jobs\\typical\\workspace\\TODO.txt"; when(getEvent.getTargetLocalItem()).thenReturn(pathToFile); - final GetFilesToWorkFolderCommand cut = new GetFilesToWorkFolderCommand(server, null, null); + final GetFilesToWorkFolderCommand cut = new GetFilesToWorkFolderCommand(server, null, null, true); cut.setLogger(new PrintStream(this.outputStream)); cut.onGet(getEvent);