view mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialCommandLine.java @ 368:7d9620034403 Eluru-6.5.x

Remove private data from debug logs
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Wed, 08 Feb 2012 10:33:34 +0400
parents
children 24d926f22e85
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;

import com.intellij.execution.configurations.GeneralCommandLine;
import jetbrains.buildServer.util.StringUtil;
import org.jetbrains.annotations.NotNull;

import java.util.Set;

public class MercurialCommandLine extends GeneralCommandLine {

  private final Set<String> myPrivateData;

  public MercurialCommandLine(@NotNull Set<String> privateData) {
    myPrivateData = privateData;
  }

  @Override
  public String getCommandLineString() {
    String original = super.getCommandLineString();
    return CommandUtil.removePrivateData(original, myPrivateData);
  }

  @Override
  public void addParameter(@NotNull String parameter) {
    String escaped = escape(parameter);
    super.addParameter(escaped);
  }

  private String escape(String s) {
    return StringUtil.escapeQuotesIfWindows(s);
  }
}