Mapstruct: Check for null for source before mapping to target. Require to throw a custom exception from mapstruct interface if the source is null.
Mapstruct: Check for null for source before mapping to target
4.5k Views Asked by Rajeshwar At
2
There are 2 best solutions below
0
matze999
On
I am little late to the party. Not sure if this is what you are/were looking for: Same idea as in @Filip answer, the following works for me (I am trying set a LocalDate type and throw if src is null):
The Mapper defines the fcn:
@Named("throwIfNull")
public <T> T throwIfNull(String fieldName) {
throw new RuntimeException("Field: '" + fieldName + "' is null but must not be.");
}
The mapping call looks as follows:
@Mapping(source = "renewalDate", target = "renewalDate", defaultExpression = "java(throwIfNull(\"renewalDate\"))")
(Notes:
- The src and target fields have the same name in my case)
- The "throwIfNull" is generic, so you need the @Named("throwIfNull"), else mapstruct will match on all fields which are String (since "throwIfNull" has a an input parameter of type String)
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in SPRING-BOOT
- Multi Tenancy in Spring - Partitioned Data Approach
- I have created a spring boot application with spring data JPA, Rest ,oracle and i am getting this ORA-00933: SQL command not properly ended
- Springboot: How to get an entity optional property and check null?
- How to create jasper report in spring boot rest api with jpa
- JSON Body is Not Passing Certain Strings
- Unresolved reference error is showing up after adding the dgs codegen plugin successfully
- Transaction silently rolled back
- JPA buddy error when generating JPA Entities from DB
- Migrating Spring Boot 2 to 3 throws org.glassfish.jaxb.runtime.v2.runtime.IllegalAnnotationsException: 3 counts of IllegalAnnotationExceptions
- Hibernate SQL Error: Missing FROM-clause entry for table "th1_1"
- Appwrite and / or Spring Boot Backend
- Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. I'm using Postgresql
- Driver com.microsoft.sqlserver.jdbc.SQLServerDriver claims to not accept jdbcUrl, ${SPRING_DATASOURCE_URL}: GitHub Actions
- springboot class org.hibernate.mapping.Bag cannot be cast to class org.hibernate.mapping.SimpleValue
- Spring security causing 404 with message "No static resource login"
Related Questions in MAPPING
- Hospital route finding ai project
- ImportError: cannot import name 'Mapping' from 'collections' (E:\Anaconda\envs\nlp\Lib\collections\__init__.py)
- How to exclude a weaved property from an entity in Spring Data?
- 2D affine mapping using scipy
- In Mapstruct, how to ignore null objects and fields
- org.hibernate.persister.entity.SingleTableEntityPersister
- Mapping unnormalized database into graph
- Changes not saving in Python and Excel
- Map non-boolean vector with text vector in Excel
- Performing PACE PIN authentication using C# and nfc card : Chip Authentication with ECDH
- entityListToResponseModelList unable to find mapped target properties, resulting in null results
- Elasticsearch reindexing - missing child mapping
- Is a full reindex required after adding a new field to Opensearch mapping? (Searchkick)
- GIS Layers into Google Maps Search
- Using Mapperly Library for Custom Constructor Mapping C#
Related Questions in MAPSTRUCT
- mapstruct: map string parameter to a field
- mapstruct: reuse mapper configuration is ignored
- mapstruct is not able to look accessible constructor
- Spring Boot unable to inject MapStruct into the container with the error : NoSuchBeanDefinitionException: No qualifying bean of type
- How to map DTOs with missing fields to hierarcical domain entites using Mapstruct?
- In Mapstruct, how to ignore null objects and fields
- With Java 17 and Spring Boot 3.2.3 @Mapper is not able create Beans
- Mapstruct with two different sources
- Springboot & mapstruct autowired cycle dependency issue
- MapStruct: use custom factory method valueobject.of(
- Entity relation isn't updated when referencing more than one field
- Mapstruct map nested from multiple source
- How to map an abstract class List attribute with mapstruct
- I want to map the mulitple fields of the Dto class to single field of entity and vice versa. How to achieve this?
- How to inject a mapper within a mapper
Related Questions in OBJECT-OBJECT-MAPPING
- Missing values in Mongoose pre-validate when mapping object lists to string lists
- Can MapsterMapper/Mapster map an Expression tree just like AutoMapper do?
- Can MapsterMapper/Mapster automatic updates DTO when entity changed?
- Use AutoMapper inside a class library project in ASP.NET Core Web API
- Class that one of his members is object
- Abp.io AutoMapper extension IgnoreFullAuditedObjectProperties() not working when mapping collection
- Map incoming JSON Object to typescript interface
- Map multiple sources from multiple objects to one target
- reactjs - get a subset of an nested array objects
- How to specify automapper exception caused data?
- Mapping a variety of JSON responses with the same top - level structure in Swift
- Do I have to loop through an IEnumerable return from Dapper even though I only return a single object?
- Warning: Encountered two children with the same key, `[object Object]
- Generic Mapper function in MapStruct
- How to add value from Json into a list object using Flutter?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is currently not supported. However, you can write something like this by using the
defaultExpression.Anyways, I would not suggest using MapStruct for this. Java Bean Validation is better suited for doing this.