linsage / java2json

A simple plugin for converting Java bean to JSON in IntelliJ IDEA
49 stars 22 forks source link

StackOverFlow exception #8

Open ashhar24 opened 5 years ago

ashhar24 commented 5 years ago

Getting SOE while generating JSON for StoreUserDto Class. Find below the stacktrace and Classes

@Data
public class StoreUserDto implements DataType {
    private StoreDto store;
    private CreateUserDto manager;
    private List<CreateUserDto> executives;
}
@Data
class StoreDto {
    private String name;
    private AddressDto address;
    // TODO: 2019-05-05 convert to enum
    private String storeType;
    // TODO: 2019-05-05 convert to proper dto
    private Map<String,Object> roster;
    private List<DocumentDto> documents;
}
@Data
public class CreateUserDto {
    @NotEmpty
    private String firstName;
    private String lastName;
    @NotNull
    private Gender gender;
    private String dateOfBirth;
    @Valid
    private ContactDto contact;
    @Valid
    private AddressDto localAddress;
    @Valid
    private AddressDto permanentAddress;
    @Valid
    private List<DocumentDto> documents;
    @NotEmpty
    private Set<String> roles; //todo add enum for roles

}
@Data
public class DocumentDto {
    @NotNull(message = "document type cannot be empty")
    private DocumentType type; //enum
    private DocumentProof proofOf; //enum
    private String number;
    @Valid
    private DocumentDto.DocumentStore documentStore;
    @Data
    public static class DocumentStore {
        @NotEmpty(message = "document bucket cannot be empty")
        private String bucket;
        @NotEmpty
        private List<String> keys;
    }
}
java.lang.StackOverflowError
    at com.intellij.psi.impl.file.PsiBinaryFileImpl.isValid(PsiBinaryFileImpl.java:248)
    at com.intellij.psi.impl.compiled.ClsFileImpl.isValid(ClsFileImpl.java:111)
    at com.intellij.psi.impl.compiled.ClsFileImpl.getContainingFile(ClsFileImpl.java:105)
    at com.intellij.psi.impl.file.impl.ResolveScopeManagerImpl.getResolveScope(ResolveScopeManagerImpl.java:94)
    at com.intellij.psi.impl.ResolveScopeManager.getElementResolveScope(ResolveScopeManager.java:51)
    at com.intellij.psi.impl.PsiElementBase.getResolveScope(PsiElementBase.java:184)
    at com.intellij.psi.impl.PsiClassImplUtil.getMap(PsiClassImplUtil.java:207)
    at com.intellij.psi.impl.PsiClassImplUtil.getAllWithSubstitutorsByMap(PsiClassImplUtil.java:183)
    at com.intellij.psi.impl.PsiClassImplUtil.getAllByMap(PsiClassImplUtil.java:188)
    at com.intellij.psi.impl.PsiClassImplUtil.getAllFields(PsiClassImplUtil.java:72)
    at com.intellij.psi.impl.compiled.ClsClassImpl.getAllFields(ClsClassImpl.java:245)
    at com.linsage.Java2JsonAction.getFields(Java2JsonAction.java:76)
    at com.linsage.Java2JsonAction.getFields(Java2JsonAction.java:116)
    at com.linsage.Java2JsonAction.getFields(Java2JsonAction.java:116)
    at com.linsage.Java2JsonAction.getFields(Java2JsonAction.java:116)
    at com.linsage.Java2JsonAction.getFields(Java2JsonAction.java:116)
    at com.linsage.Java2JsonAction.getFields(Java2JsonAction.java:116)
    ...