cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Olga Bondareva (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CAY-2071) NullPointerException doing sync in ObjEntity with null target in dbRelationship
Date Fri, 01 Apr 2016 12:14:25 GMT

     [ https://issues.apache.org/jira/browse/CAY-2071?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Olga Bondareva updated CAY-2071:
--------------------------------
    Description: 
Steps:
1) Create a dbEntity
2) Create related mapped objEntity
3) Add relationship to dbEntity without setting target
4) Go to dbEntity panel and try to do sync

Bad idea to pass null into java.util.StringTokenizer (in our context bad idea to create objEntityName
from null))

When we create new dbRelationship and don't add a target dbEntity and then from objEntity
try to do sync:

java.lang.NullPointerException
	at java.util.StringTokenizer.<init>(StringTokenizer.java:199)
	at java.util.StringTokenizer.<init>(StringTokenizer.java:221)
	at org.apache.cayenne.map.naming.NameConverter.underscoredToJava(NameConverter.java:80)
	at org.apache.cayenne.map.naming.DefaultNameGenerator.createObjEntityName(DefaultNameGenerator.java:80)
	at org.apache.cayenne.util.EntityMergeSupport.addMissingRelationships(EntityMergeSupport.java:189)
	at org.apache.cayenne.util.EntityMergeSupport.synchronizeWithDbEntity(EntityMergeSupport.java:162)
	at org.apache.cayenne.modeler.action.ObjEntitySyncAction.synchObjEntity(ObjEntitySyncAction.java:84)
	at org.apache.cayenne.modeler.action.ObjEntitySyncAction.performAction(ObjEntitySyncAction.java:68)
	at org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:162)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6516)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
	at java.awt.Component.processEvent(Component.java:6281)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4872)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.awt.EventQueue$4.run(EventQueue.java:718)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

  was:
steps:
1) Create a dbEntity
2) Create related mapped objEntity
3) Add relationship to dbEntity without setting target
4) Go to dbEntity panel and try to do sync

Bad idea to pass null into java.util.StringTokenizer (in our context bad idea to create objEntityName
from null))

When we create new dbRelationship and don't add a target dbEntity and then from objEntity
try to do sync:

java.lang.NullPointerException
	at java.util.StringTokenizer.<init>(StringTokenizer.java:199)
	at java.util.StringTokenizer.<init>(StringTokenizer.java:221)
	at org.apache.cayenne.map.naming.NameConverter.underscoredToJava(NameConverter.java:80)
	at org.apache.cayenne.map.naming.DefaultNameGenerator.createObjEntityName(DefaultNameGenerator.java:80)
	at org.apache.cayenne.util.EntityMergeSupport.addMissingRelationships(EntityMergeSupport.java:189)
	at org.apache.cayenne.util.EntityMergeSupport.synchronizeWithDbEntity(EntityMergeSupport.java:162)
	at org.apache.cayenne.modeler.action.ObjEntitySyncAction.synchObjEntity(ObjEntitySyncAction.java:84)
	at org.apache.cayenne.modeler.action.ObjEntitySyncAction.performAction(ObjEntitySyncAction.java:68)
	at org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:162)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6516)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
	at java.awt.Component.processEvent(Component.java:6281)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4872)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.awt.EventQueue$4.run(EventQueue.java:718)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)


> NullPointerException doing sync in ObjEntity with null target in dbRelationship
> -------------------------------------------------------------------------------
>
>                 Key: CAY-2071
>                 URL: https://issues.apache.org/jira/browse/CAY-2071
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Modeler
>    Affects Versions: 4.0.M3
>            Reporter: Olga Bondareva
>
> Steps:
> 1) Create a dbEntity
> 2) Create related mapped objEntity
> 3) Add relationship to dbEntity without setting target
> 4) Go to dbEntity panel and try to do sync
> Bad idea to pass null into java.util.StringTokenizer (in our context bad idea to create
objEntityName from null))
> When we create new dbRelationship and don't add a target dbEntity and then from objEntity
try to do sync:
> java.lang.NullPointerException
> 	at java.util.StringTokenizer.<init>(StringTokenizer.java:199)
> 	at java.util.StringTokenizer.<init>(StringTokenizer.java:221)
> 	at org.apache.cayenne.map.naming.NameConverter.underscoredToJava(NameConverter.java:80)
> 	at org.apache.cayenne.map.naming.DefaultNameGenerator.createObjEntityName(DefaultNameGenerator.java:80)
> 	at org.apache.cayenne.util.EntityMergeSupport.addMissingRelationships(EntityMergeSupport.java:189)
> 	at org.apache.cayenne.util.EntityMergeSupport.synchronizeWithDbEntity(EntityMergeSupport.java:162)
> 	at org.apache.cayenne.modeler.action.ObjEntitySyncAction.synchObjEntity(ObjEntitySyncAction.java:84)
> 	at org.apache.cayenne.modeler.action.ObjEntitySyncAction.performAction(ObjEntitySyncAction.java:68)
> 	at org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:162)
> 	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
> 	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
> 	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
> 	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
> 	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
> 	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
> 	at java.awt.Component.processMouseEvent(Component.java:6516)
> 	at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
> 	at java.awt.Component.processEvent(Component.java:6281)
> 	at java.awt.Container.processEvent(Container.java:2229)
> 	at java.awt.Component.dispatchEventImpl(Component.java:4872)
> 	at java.awt.Container.dispatchEventImpl(Container.java:2287)
> 	at java.awt.Component.dispatchEvent(Component.java:4698)
> 	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
> 	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
> 	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
> 	at java.awt.Container.dispatchEventImpl(Container.java:2273)
> 	at java.awt.Window.dispatchEventImpl(Window.java:2719)
> 	at java.awt.Component.dispatchEvent(Component.java:4698)
> 	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
> 	at java.awt.EventQueue.access$300(EventQueue.java:103)
> 	at java.awt.EventQueue$3.run(EventQueue.java:706)
> 	at java.awt.EventQueue$3.run(EventQueue.java:704)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
> 	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
> 	at java.awt.EventQueue$4.run(EventQueue.java:720)
> 	at java.awt.EventQueue$4.run(EventQueue.java:718)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77)
> 	at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
> 	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
> 	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
> 	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
> 	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
> 	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
> 	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message