[Mongobrowser-commit] SF.net SVN: mongobrowser:[98] trunk/mongobrowser/src/com/mebigfatguy/ mongob
Status: Pre-Alpha
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2010-01-03 02:08:26
|
Revision: 98
http://mongobrowser.svn.sourceforge.net/mongobrowser/?rev=98&view=rev
Author: dbrosius
Date: 2010-01-03 02:08:15 +0000 (Sun, 03 Jan 2010)
Log Message:
-----------
allow adding k/vs to both objects and the value of a k/v
Modified Paths:
--------------
trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/actions/NewKeyValueAction.java
Modified: trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/actions/NewKeyValueAction.java
===================================================================
--- trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/actions/NewKeyValueAction.java 2010-01-03 02:00:38 UTC (rev 97)
+++ trunk/mongobrowser/src/com/mebigfatguy/mongobrowser/actions/NewKeyValueAction.java 2010-01-03 02:08:15 UTC (rev 98)
@@ -54,16 +54,23 @@
String key = dialog.getKey();
Object value = dialog.getValue();
TreePath path = tree.getSelectionPath();
- MongoTreeNode objectNode = (MongoTreeNode)path.getLastPathComponent();
- DBObject object = (DBObject) objectNode.getUserObject();
+ MongoTreeNode selectedNode = (MongoTreeNode)path.getLastPathComponent();
+ DBObject object;
+
+ if (selectedNode.getType() == MongoTreeNode.Type.KeyValue) {
+ object = (DBObject) ((MongoTreeNode.KV)selectedNode.getUserObject()).getValue();
+ } else {
+ object = (DBObject) selectedNode.getUserObject();
+ }
+
object.put(key, value);
MongoTreeNode kv = new MongoTreeNode(new MongoTreeNode.KV(key, object.get(key)), false);
- objectNode.add(kv);
+ selectedNode.add(kv);
if (value instanceof DBObject) {
MongoTreeNode slug = new MongoTreeNode();
kv.add(slug);
}
- MongoTreeNode collectionNode = TreeUtils.findCollectionNode(objectNode);
+ MongoTreeNode collectionNode = TreeUtils.findCollectionNode(selectedNode);
DBCollection collection = (DBCollection)collectionNode.getUserObject();
collection.save(object);
DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|