/** * Copyright (c) 2013-2015 by Brainwy Software Ltda, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package org.python.pydev.debug.model.remote; import java.io.File; import java.util.Collection; import org.eclipse.core.runtime.Assert; import org.python.pydev.debug.model.AbstractDebugTarget; import org.python.pydev.debug.model.PyExceptionBreakPointManager; import org.python.pydev.shared_core.io.FileUtils; import org.python.pydev.shared_core.string.StringUtils; public class AddIgnoreThrownExceptionIn extends AbstractDebuggerCommand { private File file; private int lineNumber; /** * Used to bulk-create all currently ignored. */ public AddIgnoreThrownExceptionIn(AbstractDebugTarget debugger) { super(debugger); } public AddIgnoreThrownExceptionIn(AbstractDebugTarget debugger, File file, int lineNumber) { super(debugger); Assert.isNotNull(file); this.file = file; this.lineNumber = lineNumber; } @Override public String getOutgoing() { if (file != null) { return makeCommand(AbstractDebuggerCommand.CMD_IGNORE_THROWN_EXCEPTION_AT, sequence, StringUtils.join("|", FileUtils.getFileAbsolutePath(file), this.lineNumber)); } else { //Bulk-creation Collection<String> ignoreThrownExceptions = PyExceptionBreakPointManager.getInstance(). ignoreCaughtExceptionsWhenThrownFrom.getIgnoreThrownExceptions(); return makeCommand(AbstractDebuggerCommand.CMD_IGNORE_THROWN_EXCEPTION_AT, sequence, "REPLACE:" + StringUtils.join("||", ignoreThrownExceptions)); } } }