Giter VIP home page Giter VIP logo

meclipse's Introduction

Meclipse

Meclipse is an Eclipse plugin for MongoDB

Author: Flavio Percoco Premoli

Contributors: Joey Mink

How to install?

Use the Eclipse update site: http://flaper87.github.com/meclipse/updates/, this won't give you a download, as this URL is only considered to be used by Eclipse.

What does Meclipse do?

  • It has a MongoDB View that contains a list of servers (connections). It is possible to add/remove connections. They are saved in a settings file.
  • It loads (as TreeView) the list of databases and collections.
  • View stats about databases and collections in Eclipse Properties View
  • View serverStatus() output in Eclipse Properties View
  • Set the profiling level for any given database
  • It loads the data found in the collection. To do this, Meclipse opens a new Editor and shows the data loaded (This part needs a lot of work).

What does it look like?

Here's a shot of the DB view: meclipse

TODO

  • Meclipse already shows the connections, databases, collections and data stored in MongoDB so I think that the critical point (where I/you/we should focus) is how data is shown in the editor.
  • Many other things.
  • Update this README :)

Credits

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

meclipse's People

Contributors

flaper87 avatar joeymink avatar philnate avatar takezoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

meclipse's Issues

Viewing Collection contents

Hi Flavio,

Thanks for the plugin!

Having an issue when viewing the contents of a collection. The output tab gets created, but as soon as you expand a selection, scrollbars appear. This is correct function, however, the original container the collections were rendered into is too small. It simple looks like you just need to make the container so its attached to the parent containers.

To test this your side, I guess create a collection with only 2-3 items. Then open the collection and expand one of the entries.

Greg.

Opened ExpanderItem takes too much space

When opening a given Document in the collection view the ExpanderItem takes more space than needed to display all data. Causing a big gap between this item and a possible following one.

Switch to eclipse 4

Now that eclipse 4.x is the official branch we should investigate whats needed to get meclipse running under eclipse 4.x natively without eclipse legacy beeing used.

NullPointerException when attempting to view collection

Hi guys,

Just installed your plugin, it picks up my sharded mongo instance through the details for my mongos instance, it correctly sees the databases and collections but it fails with the error below when trying to view the data.

I know this is very much on the todo list but I just wanted to send this in to show you some love too, great work!

Cheers, Alex

java.lang.NullPointerException
at org.mongodb.meclipse.editors.MeclipseEditor.createExpander(MeclipseEditor.java:116)
at org.mongodb.meclipse.editors.MeclipseEditor.createPages(MeclipseEditor.java:82)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2945)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2842)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2793)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2756)
at org.mongodb.meclipse.editors.handlers.MeclipseEditorCall.execute(MeclipseEditorCall.java:38)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:178)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:247)
at org.mongodb.meclipse.views.objects.Collection.doubleClickAction(Collection.java:43)
at org.mongodb.meclipse.views.MeclipseView$3.run(MeclipseView.java:161)
at org.mongodb.meclipse.views.MeclipseView$4.doubleClick(MeclipseView.java:169)
at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:845)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:843)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1462)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1246)
at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:249)
at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:246)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:307)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

Add support for mongostat

I think it can come handy to be able to see what your mongo instances are doing. An Additional view which displays mongostat like information would be nice. Maybe extended with currentOp.

Problem with incorrect connection information.

Hi,

It looks like I supplied incorrect connection information (host as localhost and port as the default port - 27017) and now I see this error - "Failed to create the part's controls".

How and where do I update this connection information? I see no menu option in Eclipse view to update this info. Please let me know.

Thx and regards,
Manoj.
meclipse-error

Collection Item should be editable

It would be cool if Documents could be edited right out of the Collection view.

Maybe if some given Query caused the current view (see #9), reevaluate after the change if this Item should still be displayed or removed.

We need to make sure that scrolling is working over the expandItems content.

FilterWizard JSON Validation wrong

Currently once you've entered something into the Query field an error Message will be displayed telling that no valid JSON String is inserted, even if you complete the input to something like {}.

Following behavior for the Wizard should be expected:

Can't save without Name and empty or null Query (only cancel button is enabled).
Once Valid name and JSON is entered the Filter should be saveable.
If something is missing display appropriate error warning message telling whats missing/wrong.

Host field value cannot be `localhost`

I cannot configure localhost as the host to configure the database connection. Only 127.0.0.1 worked for me. Please add advices in the "New Connection Wizard" or implement the option to use localhost.

URL update no working

๐Ÿ‘Ž no working the url for update eclipse plugin, ๐Ÿ‘ fixed please ๐Ÿ˜„

Auth support

Allow to connect to Mongo Instances running with auth enabled.

Make Collection view more useable

Basically the collection view should offer more functionality like:
a more button fetching a given amount of additional documents matching the current query.
running own Queries with limit and skip factor
possibility to edit docs right out of the view (moved this into own ticket #12)

Improve Collapsed ExpandItems display

Currently the ExpandItem shows only the _id of a document if available (except if it's system.indexes see commit 66848fc). In many collections this _id may be of no use as more complex primary keys, which are used through the app are used and/or other data is more important. So I think it would be cool if for each view it could be defined what to display as ExpandItem summary.

So per default all collections would come with the primary _id summary, except system.indexes which comes right out of the box with something more meaningful.

Create Wiki

Create wiki pages which document functionality of meclipse

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.