Add optional url to ExceptionWithContext

This commit is contained in:
Sebastian Sdorra
2020-09-09 15:08:23 +02:00
parent 01e3732c24
commit aa76af4d41
4 changed files with 105 additions and 4 deletions

View File

@@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package sonia.scm.api.v2.resources;
import org.mapstruct.AfterMapping;
@@ -31,15 +31,21 @@ import org.mapstruct.MappingTarget;
import org.slf4j.MDC;
import sonia.scm.ExceptionWithContext;
import java.util.Optional;
@Mapper
public abstract class ExceptionWithContextToErrorDtoMapper {
@Mapping(target = "errorCode", source = "code")
@Mapping(target = "transactionId", ignore = true)
@Mapping(target = "violations", ignore = true)
@Mapping(target = "url", ignore = true)
public abstract ErrorDto map(ExceptionWithContext exception);
@SuppressWarnings("OptionalUsedAsFieldOrParameterType") // is ok for mapping
public String mapOptional(Optional<String> optionalString) {
return optionalString.orElse(null);
}
@AfterMapping
void setTransactionId(@MappingTarget ErrorDto dto) {
dto.setTransactionId(MDC.get("transaction_id"));