-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
SCANJLIB-169 Rework the API to support functional errors
The bootstrapper now returns a result with a boolean allowing the caller to terminate without throwing an exception. This is used to log auth errors, but it may be also useful for other functional errors.
- Loading branch information
Showing
17 changed files
with
449 additions
and
132 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
41 changes: 41 additions & 0 deletions
41
lib/src/main/java/org/sonarsource/scanner/lib/ScannerEngineBootstrapResult.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
/* | ||
* SonarScanner Java Library | ||
* Copyright (C) 2011-2024 SonarSource SA | ||
* mailto:info AT sonarsource DOT com | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 3 of the License, or (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with this program; if not, write to the Free Software Foundation, | ||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
*/ | ||
package org.sonarsource.scanner.lib; | ||
|
||
/** | ||
* Closing this will automatically close the {@link ScannerEngineFacade} that it contains, if any. | ||
*/ | ||
public interface ScannerEngineBootstrapResult extends AutoCloseable { | ||
|
||
/** | ||
* Allow to test if the bootstrapping has been successful. If not, the {@link ScannerEngineFacade} should not be used. | ||
* A log message should have been emitted in case of failure. | ||
* | ||
* @return true if the bootstrapping has been successful, false otherwise | ||
*/ | ||
boolean isSuccessful(); | ||
|
||
/** | ||
* Get the facade to interact with the engine. Only call this method if {@link #isSuccessful()} returns true. | ||
* | ||
* @return the facade to interact with the engine | ||
*/ | ||
ScannerEngineFacade getEngineFacade(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,7 +21,6 @@ | |
|
||
import java.util.Map; | ||
|
||
|
||
public interface ScannerEngineFacade extends AutoCloseable { | ||
|
||
/** | ||
|
41 changes: 41 additions & 0 deletions
41
lib/src/main/java/org/sonarsource/scanner/lib/internal/FailedBootstrap.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
/* | ||
* SonarScanner Java Library | ||
* Copyright (C) 2011-2024 SonarSource SA | ||
* mailto:info AT sonarsource DOT com | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 3 of the License, or (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with this program; if not, write to the Free Software Foundation, | ||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
*/ | ||
package org.sonarsource.scanner.lib.internal; | ||
|
||
import org.sonarsource.scanner.lib.ScannerEngineBootstrapResult; | ||
import org.sonarsource.scanner.lib.ScannerEngineFacade; | ||
|
||
public class FailedBootstrap implements ScannerEngineBootstrapResult { | ||
|
||
@Override | ||
public boolean isSuccessful() { | ||
return false; | ||
} | ||
|
||
@Override | ||
public ScannerEngineFacade getEngineFacade() { | ||
throw new UnsupportedOperationException("No engine facade available"); | ||
} | ||
|
||
@Override | ||
public void close() { | ||
// No operation | ||
} | ||
} |
33 changes: 33 additions & 0 deletions
33
lib/src/main/java/org/sonarsource/scanner/lib/internal/MessageException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/* | ||
* SonarScanner Java Library | ||
* Copyright (C) 2011-2024 SonarSource SA | ||
* mailto:info AT sonarsource DOT com | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 3 of the License, or (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public License | ||
* along with this program; if not, write to the Free Software Foundation, | ||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
*/ | ||
package org.sonarsource.scanner.lib.internal; | ||
|
||
/** | ||
* Functional error that should not log a stacktrace by default | ||
*/ | ||
public class MessageException extends RuntimeException { | ||
public MessageException(String message) { | ||
super(message); | ||
} | ||
|
||
public MessageException(String message, Throwable cause) { | ||
super(message, cause); | ||
} | ||
} |
Oops, something went wrong.