Hi,
when I'm trying to do a drag&drop operation from a ListGrid to a TreeGrid I'm getting the following error (SmartGWT 2.5 various nightly builds):
IDE Console:
Developer Console:
The operation seems to work properly though. I was just wondering what causes this error and how I can get rid of it.
My code looks like:
EntryPoint
ListEntity
TreeEntity
listEntityDS
treeEntityDS
The ListEntity should be converted to a TreeEntity by setting some attributes in the folderDropHandler+handling on the server side, but I omitted that because it makes no difference.
when I'm trying to do a drag&drop operation from a ListGrid to a TreeGrid I'm getting the following error (SmartGWT 2.5 various nightly builds):
IDE Console:
Code:
ERROR: 08:52:27.341:MUP7:WARN:Log:Attempt to add properties to a null object. Creating a new object for the list of properties.. com.smartgwt.client.core.JsObject$SGWT_WARN: 08:52:27.341:MUP7:WARN:Log:Attempt to add properties to a null object. Creating a new object for the list of properties. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) at java.lang.Thread.run(Thread.java:662)
Code:
08:43:47.472:MDN7:INFO:dragDrop:target is draggable with dragOperation: drag, dragTarget is :[ListGrid ID:isc_ListGrid_0] (delegated from: [GridBody ID:isc_ListGrid_0_body]) 08:43:47.565:TMR6:INFO:dragDrop:Started dragOperation: drag with dragTarget:[ListGrid ID:isc_ListGrid_0] dragAppearance: tracker 08:43:47.583:TMR0:DEBUG:dragDrop:New drop target: [TreeGridBody ID:isc_TreeGrid_0_body] 08:43:48.460:MUP2:INFO:dragDrop:end of drag interaction [b]08:43:48.534:MUP2:WARN:Log:Attempt to add properties to a null object. Creating a new object for the list of properties.[/b] 08:43:48.548:MUP2:DEBUG:dragDrop:Invoking transferDragData from inside transferNodes - no server queries needed? 08:43:48.584:XRP8:DEBUG:dragDrop:Decrementing update count - was 1 08:43:48.591:XRP8:DEBUG:dragDrop:All updates complete, calling dragComplete()
My code looks like:
EntryPoint
Code:
public void onModuleLoad() {
HLayout hLayout = new HLayout();
hLayout.setWidth100();
hLayout.setHeight100();
TreeGrid tree = new TreeGrid();
tree.setDataSource(DataSource.get("treeEntityDS"));
tree.setAutoFetchData(true);
tree.setCanAcceptDroppedRecords(true);
tree.addFolderDropHandler(new FolderDropHandler() {
public void onFolderDrop(FolderDropEvent event) {
// omitted
}
});
hLayout.addMember(tree);
ListGrid list = new ListGrid();
list.setDataSource(DataSource.get("listEntityDS"));
list.setAutoFetchData(true);
list.setCanDragRecordsOut(true);
list.setDragDataAction(DragDataAction.COPY);
hLayout.addMember(list);
hLayout.draw();
}
Code:
@Entity
public class ListEntity {
private Long id;
private String name;
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Code:
@Entity
public class TreeEntity {
private Long id;
private TreeEntity parent;
private Long parentId;
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@ManyToOne
@JoinColumn(name = "parentId", referencedColumnName = "id", insertable = false, updatable = false)
public TreeEntity getParent() {
return parent;
}
public void setParent(TreeEntity parent) {
this.parent = parent;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
}
Code:
<DataSource ID="listEntityDS" serverConstructor="com.isomorphic.jpa.JPADataSource"
beanClassName="de.doitnetworks.server.entity.ListEntity">
<fields>
<field name="id" type="integer" hidden="true" primaryKey="true"/>
<field name="name" title="Name" type="text" required="true" canEdit="true"/>
</fields>
<serverObject lookupStyle="new" className="sample.server.dmi.ListEntityDmi"/>
</DataSource>
Code:
<DataSource ID="treeEntityDS" serverConstructor="com.isomorphic.jpa.JPADataSource"
beanClassName="de.doitnetworks.server.entity.TreeEntity">
<fields>
<field name="id" type="integer" hidden="true" primaryKey="true"/>
<field name="parentId" type="integer" foreignKey="treeEntityDS.id" required="false"
hidden="true"/>
</fields>
<serverObject lookupStyle="new" className="sample.server.dmi.TreeEntityDmi"/>
</DataSource>
Comment