goodforgod / dummymapper Goto Github PK
View Code? Open in Web Editor NEWIntelliJ IDEA plugin for mapping Java class to JSON/AVRO/GraphQL.
Home Page: https://plugins.jetbrains.com/plugin/14911
License: Apache License 2.0
IntelliJ IDEA plugin for mapping Java class to JSON/AVRO/GraphQL.
Home Page: https://plugins.jetbrains.com/plugin/14911
License: Apache License 2.0
Is your feature request related to a problem? Please describe.
Add GraphQL mapper options dialog support for:
Some tests need to be implemented for all mappers, to check that all mapping options are correct for further regression testing.
Describe the bug
Mapping config that is needed for GenRules is not provided correctly due to RawMarkers been skipped when constructing config
Describe the bug
Inner class scan when it is in collection or map doesn't work.
POJO example and expected behavior
Any inner class.
Add Intellij Idea 2023.1 support
From version IntelliJ IDEA 2023.3 DummyMapper is not compatible.
Please change for support new IDEA versions this very usefull plugin.
Does DummyMapper support nullable fields? In the README.md i dont see such example that would showcase an optional field that would be represented in schema as UNION with null hence the question.
Example how to create nullable field/record/array would be highly appreciated.
public class Subject {
private String id;
private LocalDateTime createTime;
}
{
"id" : "cd491a3f-317d-4e4d-aaef-662a85d7c33e",
"createTime" : {
"nano" : 0,
"year" : 2050,
"monthValue" : 5,
"dayOfMonth" : 6,
"hour" : 11,
"minute" : 45,
"second" : 3,
"dayOfYear" : 126,
"dayOfWeek" : "FRIDAY",
"month" : "MAY",
"chronology" : {
"calendarType" : "iso8601",
"id" : "ISO"
}
}
}
the createTime
field should not be decoded expectly.
it should looks like "createTime": 2020-12-18T14:57:00
can u support a annotation to specific field to skip it?
or append the LocalDateTime/LocalDate/LocalTime
in mapping list which should be skipped.
Add Kotlin support for all mappers
Describe the bug
A clear and concise description of what the bug is.
{
"type" : null
}
Java Class examples \ Screenshots
Java Class example (fields, annotations, method, type or what is applicable in a situation).
public class DummyEnum {
public enum DummyType {
SIMPLE,
COMPLEX,
UNKNOWN
}
@GenEnum
private DummyType type;
}
Expected Behavior
Behavior you expected from mapper.
{
"type" : "SIMPLE"
}
IDEA version
2020.2
Describe the bug
Generating JSON for Collection or array of Enum doesn't work as expected.
POJO example and expected behavior
class A{
public enum Type {
ONE,
TWO
}
private List types;
}
Generation such JSON doesn't work.
Expected behavior that generator will generate array \ collection of such elements
Describe the bug
Empty RawMarkers or Collection \ Map markers are in structure, so can not build any class due to absence of any fields in them
Describe the solution you'd like
Error log with report should be like in IDEA or other plugins with separate window, report button, user-friendly, etc.
Like example IDEA exception report when internal plugin like Java crushes.
Describe the bug
When mapping for JSON depth is only 2, this is due to misconfigured GenRules for mapping
Is your feature request related to a problem? Please describe.
Add clear README with all functionality and add GIFs that show the functionality.
Is your feature request related to a problem? Please describe.
Add option to get not just single json mapped object but array of such objects
Is your feature request related to a problem? Please describe.
Check require restart plugin feature https://jetbrains.org/intellij/sdk/docs/basics/plugin_structure/dynamic_plugins.html
And set corresponding value if plugin require or otherwise
Describe the bug
GenRule is not setter for complex array fields.
POJO example and expected behavior
Any complex array field is not populated with values due to GenRule been not set for such fields.
Consider using global or auto for all complex classes.
Describe the bug
Not compatible with IDEA2020.3
Scanner doesn't proper;y scan inner classes and they behave like enums (just list of strings)
Must be fixed before 1.0.0 release
Update to support IDEA 2021.2
Internal class name with suffix is exported when used mapper for AVRO \ JSON Schema, should renamed all classes back to their origin names
Is your feature request related to a problem? Please describe.
Improve handling of ""Any" type (usually for java.lang.Object
) not supported: expectAnyFormat
called with type [simple type, class java.lang.Object]" exception when POJO contains Object type field and it is mapped to AVRO.
Make a choice to mark all object as string by default or handle such case properly by displaing warning message and not error with trace.
Describe the bug
just build for 213.*, it's not incompatible in IDEA 2022.1
IDEA version
IDEA 2022.1 #IU-221.5080.210
Add support for GraphQL mapper option
Describe the solution you'd like
A clear and concise description of what you want to happen.
When generating AVRO schema set real class package instead of library package name
Stack-trace
Stack-trace from IDEA Event Log.
There was an error mapping file to JSON. Please report this issue here: https://github.com/GoodforGod/DummyMapper/issues Stacktrace: java.util.ConcurrentModificationException at java.base/java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719) at java.base/java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:746) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at io.goodforgod.dummymapper.filter.impl.BaseFilter.filterRecursive(BaseFilter.java:36) at io.goodforgod.dummymapper.filter.impl.EmptyMarkerFilter.filter(EmptyMarkerFilter.java:25) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at io.goodforgod.dummymapper.filter.impl.BaseFilter.filterRecursive(BaseFilter.java:36) at io.goodforgod.dummymapper.filter.impl.EmptyMarkerFilter.filter(EmptyMarkerFilter.java:25) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at io.goodforgod.dummymapper.filter.impl.BaseFilter.filterRecursive(BaseFilter.java:36) at io.goodforgod.dummymapper.filter.impl.EmptyMarkerFilter.filter(EmptyMarkerFilter.java:25) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at io.goodforgod.dummymapper.filter.impl.BaseFilter.filterRecursive(BaseFilter.java:36) at io.goodforgod.dummymapper.filter.impl.EmptyMarkerFilter.filter(EmptyMarkerFilter.java:25) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at io.goodforgod.dummymapper.filter.impl.BaseFilter.filterRecursive(BaseFilter.java:36) at io.goodforgod.dummymapper.filter.impl.EmptyMarkerFilter.filter(EmptyMarkerFilter.java:25) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at io.goodforgod.dummymapper.filter.impl.BaseFilter.filterRecursive(BaseFilter.java:36) at io.goodforgod.dummymapper.filter.impl.EmptyMarkerFilter.filter(EmptyMarkerFilter.java:25) at java.base/java.util.Optional.map(Optional.java:265) at io.goodforgod.dummymapper.mapper.impl.JsonMapper.map(JsonMapper.java:32) at io.goodforgod.dummymapper.mapper.impl.JsonMapper.map(JsonMapper.java:53) at io.goodforgod.dummymapper.MapperAction.actionPerformed(MapperAction.java:104) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:282) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:296) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:281) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:77) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:285) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:112) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:112) at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:519) at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:36) at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:541) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6654) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345) at java.desktop/java.awt.Component.processEvent(Component.java:6419) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861) at java.desktop/java.awt.EventQueue.dispa ...
Describe the bug
choose static internal class(UserDTO
) to mapper as JSON, it throw a few error as above.
Java Class examples \ Screenshots
public class Subject {
@Data
static class User{
private Long id;
private Long roleId;
}
@Data
@EqualsAndHashCode(callSuper = true)
static class UserDTO extends User {
private List<Permission> permissions;
private Role role;
}
@Data
static class Role{
private Long id;
private List<Long> permissionIds;
}
@Data
static class Permission{
private Long id;
private Object ctx;
}
}
Expected Behavior
Behavior you expected from mapper.
IDEA version
IntelliJ IDEA 2020.2.1 (Ultimate Edition)
Stack-trace
17:29 Failed mapping to JSON: There was an error mapping file to JSON.
Please report this issue here.
Stacktrace: java.lang.IllegalArgumentException: Class scanned but is not registered by ClassFactory
at io.goodforgod.dummymapper.service.GenFactoryProvider.lambda$getRules$3(GenFactoryProvider.java:69)
at java.base/java.util.Optional.orElseThrow(Optional.java:408)
at io.goodforgod.dummymapper.service.GenFactoryProvider.getRules(GenFactoryProvider.java:69)
at io.goodforgod.dummymapper.service.GenFactoryProvider.lambda$getRules$15(GenFactoryProvider.java:115)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
Describe the bug
There is recursion when one RawMarker_1 -> RawMarker_2 -> RawMarker_1
Services like ClassFactory, Filters, GenRulesProvider are stackoverflowed if such behavior is happened
Is your feature request related to a problem? Please describe.
Add options to choose Apache Avro schema mapper instead of Jackson one.
Describe the bug
Scanning for Enums thats are inner classes of class other than they are scanned, doesn't work.
POJO example and expected behavior
class A {
public enum Type {
ONE
}
}
class B {
private A.Type type;
}
Is your feature request related to a problem? Please describe.
Add window to map as JSON Array with option to input number of objects to generate
Describe the bug
Any array field is not scanned.
POJO example and expected behavior
class A{
private String[] array;
}
Field array should be scanner, but it doesn't.
Add caching for ClassFactory so classes won't be created and loaded again and again even if they were not modified since last build
Stack-trace
Stack-trace from IDEA Event Log.
There was an error mapping file to JSON. Please report this issue here: https://github.com/GoodforGod/DummyMapper/issues Stacktrace: java.lang.IllegalArgumentException: Unexpected IOException reading JAR File '/Users/bofa1ex/Library/Application%20Support/JetBrains/IntelliJIdea2020.2/plugins/dummymapper/lib/dummymaker-3.0.1.jar' at io.dummymaker.scan.impl.ResourceScanner.loadFromJar(ResourceScanner.java:72) at io.dummymaker.scan.impl.ResourceScanner.lambda$scan$0(ResourceScanner.java:92) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at io.dummymaker.scan.impl.ResourceScanner.scan(ResourceScanner.java:95) at io.dummymaker.scan.impl.ClassScanner.scan(ClassScanner.java:22) at io.dummymaker.factory.impl.GenSupplier.getClassifiedGenerators(GenSupplier.java:149) at io.dummymaker.factory.impl.GenSupplier. (GenSupplier.java:49) at io.dummymaker.factory.impl.GenFactory. (GenFactory.java:67) at io.goodforgod.dummymapper.service.GenFactoryProvider.get(GenFactoryProvider.java:47) at io.goodforgod.dummymapper.mapper.impl.JsonMapper.map(JsonMapper.java:57) at io.goodforgod.dummymapper.mapper.impl.JsonMapper.map(JsonMapper.java:70) at io.goodforgod.dummymapper.MapperAction.actionPerformed(MapperAction.java:104) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:282) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:296) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:281) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:77) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:285) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:112) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:112) at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:519) at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:36) at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:541) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6654) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345) at java.desktop/java.awt.Component.processEvent(Component.java:6419) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:906) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:838) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:452) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:505) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.nio.file.NoSuchFileException: /Users/bofa1ex/Library/Application%20Support/JetBrains/IntelliJIdea2020.2/plugins/dummymapper/lib/dummymaker-3.0.1.jar at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55) at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:149) at java.base/java.nio.file.Files.readAttributes(Files.java:1763) at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1225) at java.base/java.util.zip.ZipFile$CleanableResource. (ZipFile.java:727) at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844) at java.base/java.util.zip.ZipFile. (ZipFile.java:247) at java.base/java.util.zip.ZipFile. (ZipFile.java:177) at java.base/java.util.jar.JarFile. (JarFile.java:348) at java.base/java.util.jar.JarFile. (JarFile.java:319) at java.base/java.util.jar.JarFile. (JarFile.java:258) at io.dummymaker.scan.impl.ResourceScanner.loadFromJar(ResourceScanner.java:65) ... 67 more
Describe the bug
none.
Java Class examples \ Screenshots
public class User {
private class Credential {
private String id;
private long issued;
}
private UUID id;
private String name;
private List<String> roles;
private Credential credential;
}
Expected Behavior
mapper to json succeed.
IDEA version
IDEA 2020.02
Add caching for PsiJavaFile structure scanner so there won't be no need to re scan classes again if they were not modified since last scan
Is your feature request related to a problem? Please describe.
Add dialog window for JSON Schema mapper, so user can choose JSON Schema draft for schema generation
Is your feature request related to a problem? Please describe.
Add dialog window for AVRO Schema mapper with options like treat all as required by default, use Jackson annotations for mapping, use AVRO annotations for mapping
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.