Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NPE on attempt to create an instance of entity with composite PK using Entity inspector #749

Open
haulmont-git opened this issue Apr 10, 2018 · 0 comments
Assignees
Labels
type: bug Something isn't working

Comments

@haulmont-git
Copy link

Test project is attached

  1. Create an embeddable entity for a composite PK
@NamePattern("%s %s %s|keyOne,keyThree,keyTwo")
@MetaClass(name = "emailertst$PKEntity")
@Embeddable
public class PKEntity extends EmbeddableEntity {
    private static final long serialVersionUID = -3608909441815047991L;

    @Column(name = "KEY_ONE")
    protected String keyOne;

    @Column(name = "KEY_TWO")
    protected String keyTwo;

    @Column(name = "KEY_THREE")
    protected String keyThree;
  1. Create an entity with composite PK on the base of the previous entity
@NamePattern("%s|utilInt")
@Table(name = "EMAILERTST_CPK_ENTITY")
@Entity(name = "emailertst$CPKEntity")
public class CPKEntity extends BaseGenericIdEntity<PKEntity> implements HasUuid {
    private static final long serialVersionUID = 5603151601450508286L;

    @EmbeddedId
    protected PKEntity id;

    @Column(name = "UTIL_STR")
    protected String utilStr;

    @Column(name = "UTIL_INT")
    protected Integer utilInt;

    @Column(name = "UUID")
    protected UUID uuid;
  1. Start the application
  2. Using Entity inspector create an instance of the entity
  3. Open the browser of Embeddable ID Entity by clicking "..." in the pickerField


6) on the embeddable PK entity browse screen press "Create"

AR: NPE

java.lang.NullPointerException
	at com.haulmont.cuba.gui.app.core.entityinspector.EntityInspectorEditor.createDataComponents(EntityInspectorEditor.java:357)
	at com.haulmont.cuba.gui.app.core.entityinspector.EntityInspectorEditor.init(EntityInspectorEditor.java:182)
	at com.haulmont.cuba.gui.WindowManager.init(WindowManager.java:1242)
	at com.haulmont.cuba.gui.WindowManager.initWrapperFrame(WindowManager.java:1231)
	at com.haulmont.cuba.gui.WindowManager.createWindow(WindowManager.java:581)
	at com.haulmont.cuba.gui.WindowManager.openWindow(WindowManager.java:750)
	at com.haulmont.cuba.web.WebWindowManager.openWindow(WebWindowManager.java:158)
	at com.haulmont.cuba.gui.components.WindowDelegate.openWindow(WindowDelegate.java:233)
	at com.haulmont.cuba.web.gui.WebWindow.openWindow(WebWindow.java:462)
	at com.haulmont.cuba.gui.components.AbstractFrame.openWindow(AbstractFrame.java:479)
	at com.haulmont.cuba.gui.app.core.entityinspector.EntityInspectorBrowse$CreateAction.actionPerform(EntityInspectorBrowse.java:462)
	at com.haulmont.cuba.web.gui.components.WebButton.performAction(WebButton.java:44)
	at com.haulmont.cuba.web.gui.components.WebButton.lambda$new$61446b05$1(WebButton.java:36)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
	at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
	at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
	at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1037)
	at com.vaadin.ui.Button.fireClick(Button.java:377)
	at com.haulmont.cuba.web.toolkit.ui.CubaButton.fireClick(CubaButton.java:54)
	at com.vaadin.ui.Button$1.click(Button.java:54)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
	at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:444)
	at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:409)
	at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274)
	at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90)
	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1435)
	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:361)
	at com.haulmont.cuba.web.sys.CubaApplicationServlet.serviceAppRequest(CubaApplicationServlet.java:300)
	at com.haulmont.cuba.web.sys.CubaApplicationServlet.service(CubaApplicationServlet.java:191)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:107)
	at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:73)
	at com.haulmont.cuba.web.sys.CubaHttpFilter.doFilter(CubaHttpFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)


Original issue: https://youtrack.haulmont.com/issue/PL-10671

@haulmont-git haulmont-git added cuba type: bug Something isn't working labels Apr 27, 2018
@haulmont-git haulmont-git added this to the Undefined milestone Apr 27, 2018
@rapekas rapekas removed the cuba label Apr 27, 2018
@jreznot jreznot removed this from the Undefined milestone May 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants