Studio error when extending existing screen

Hi team,

When using studio to extending an existing screen, e.g. jmix core screens, it gives below exception:

2021-08-17 11:08:43,750 [75150164]   WARN - ndling.DefaultExceptionHandler - Studio error: 
groovy.lang.MissingPropertyException: No such property: caption for class: SimpleTemplateScript22
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:65)
	at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:51)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:309)
	at SimpleTemplateScript22.run(SimpleTemplateScript22.groovy:1)
	at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:176)
	at com.haulmont.jmixstudio.backend.TemplateEngine.processString(TemplateEngine.java:159)
	at com.haulmont.jmixstudio.backend.TemplateEngine.processString(TemplateEngine.java:118)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.generateFile(ScreenCreator.java:291)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.createScreen(ScreenCreator.java:226)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.lambda$generateScreens$0(ScreenCreator.java:122)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:828)
	at com.haulmont.jpb.util.EntityUtil.ra(EntityUtil.java:971)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.generateScreens(ScreenCreator.java:111)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.create(ScreenCreator.java:99)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$compute$3(WriteCommandAction.java:160)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:143)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:936)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:141)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:216)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:182)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:150)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:117)
	at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.compute(WriteCommandAction.java:160)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.ScreenCreator.createInWriteCommandAction(ScreenCreator.java:105)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$createAndShowScreenWizard$1.accept(CreateScreenActionProcess.kt:105)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$createAndShowScreenWizard$1.accept(CreateScreenActionProcess.kt:39)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runEdtProgressWriteAction$11(ApplicationImpl.java:900)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:183)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:705)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:647)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:170)
	at com.intellij.openapi.progress.util.PotemkinProgress.runInSwingThread(PotemkinProgress.java:197)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runEdtProgressWriteAction$12(ApplicationImpl.java:900)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:924)
	at com.intellij.openapi.application.impl.ApplicationImpl.runEdtProgressWriteAction(ApplicationImpl.java:898)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithNonCancellableProgressInDispatchThread(ApplicationImpl.java:879)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.haulmont.jmixstudio.intellij.util.SApplicationExUtils.runWriteActionWithProgressInDispatchThread(SApplicationExUtils.java:60)
	at com.haulmont.jmixstudio.intellij.util.SApplicationExUtils.runWriteActionWithNonCancellableProgressInDispatchThread(SApplicationExUtils.java:37)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess.createAndShowScreenWizard(CreateScreenActionProcess.kt:99)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess.access$createAndShowScreenWizard(CreateScreenActionProcess.kt:39)
	at com.haulmont.jmixstudio.intellij.action.creation.template.cuba.CreateScreenActionProcess$run$2.invokeSuspend(CreateScreenActionProcess.kt:56)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214)
	at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:350)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	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.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:886)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:755)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:442)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:825)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:441)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:487)
	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)
1 Like

Hi!
Could you please provide more information about your problem? Which version of Studio plugin do you use? If it is possible, could you share the XML file of your screen or a small project in order to help us investigate the problem?

Regards,
Natalia

Hi Natalia,

I have updated Studio to 1.0.2, the issue still remains.

There is no XML file, I just click the plus sign in Jmix tool window and select “Screen…” then choose extend existing screen, then choose a system level screen, e.g. ResetPasswordDialog, and click next, the error appears.

1 Like

Thank you for reporting the problem. We have created a YouTrack issue.