Giter VIP home page Giter VIP logo

dummymapper's People

Contributors

goodforgod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dummymapper's Issues

GralhQL Action Options

Is your feature request related to a problem? Please describe.
Add GraphQL mapper options dialog support for:

  • All Queries as Non Null property
  • All as Queries by Default

Tests for core functionality

Some tests need to be implemented for all mappers, to check that all mapping options are correct for further regression testing.

  • Complex class with all possible fields used in test for each mapper.
  • Tests for ClassFactory
  • Tests for GenFactoryProvider
  • Tests for PsiJavaFileScanner

Raw Mapping classes are not provided

Describe the bug
Mapping config that is needed for GenRules is not provided correctly due to RawMarkers been skipped when constructing config

Optional objects

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.

How to skip decoding the specific field

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.

Enums are not serialized to JSON

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

Generating JSON for Collection or array of Enum doesn't work

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

Improve issue windows with report button

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.

Map as JSON depth is only 2

Describe the bug
When mapping for JSON depth is only 2, this is due to misconfigured GenRules for mapping

Add README and GIFs

Is your feature request related to a problem? Please describe.
Add clear README with all functionality and add GIFs that show the functionality.

Add get JSON Array of objects

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

GenRule for array complex classes doesn't work

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.

Inner class scan doesn't work

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

Internal class name after mapping

Internal class name with suffix is exported when used mapper for AVRO \ JSON Schema, should renamed all classes back to their origin names

Handle AVRO mapping Object field exception

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.

Incompatible for IDEA 2022.1

Describe the bug
just build for 213.*, it's not incompatible in IDEA 2022.1

IDEA version
IDEA 2022.1 #IU-221.5080.210

AVRO schema real package

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

Static internal data class [mapper as json] action error

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)

Recursion with StackOverflow with recursion RawMarkers

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

Avro schema mapper option

Is your feature request related to a problem? Please describe.
Add options to choose Apache Avro schema mapper instead of Jackson one.

Scan for Inner Enums in other classes don't work

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;
}

Add JSON Array window with options

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

Array and not scanned by PsiJavaScanner

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

Add caching for ClassFactory so classes won't be created and loaded again and again even if they were not modified since last build

Fail mapping file to json.

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 scanner

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

Add Json Schema dialog window

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

Add AvroSchema dialog window with options

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.