java - How to create a Cypher Query engine within my interface? -


i trying implement easy interface make queries need within db couldn't figure out how it. interface has button , each time click wish have query executed on db , result jtextarea

below working code

import java.awt.eventqueue; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.io.file; import java.io.ioexception; import java.util.iterator; import java.util.list; import java.util.map; import java.util.map.entry;  import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jtextarea; import javax.swing.border.emptyborder;  import org.neo4j.cypher.javacompat.executionengine;  import org.neo4j.cypher.javacompat.executionresult; import org.neo4j.graphdb.graphdatabaseservice; import org.neo4j.graphdb.node; import org.neo4j.graphdb.transaction; import org.neo4j.graphdb.factory.graphdatabasefactory; import org.neo4j.helpers.collection.iteratorutil;  import static org.neo4j.kernel.impl.util.fileutils.deleterecursively;  public class frame extends jframe {  public static final string db_path = "/volumes/itaniohd/users/tanio/desktop/ciao";  graphdatabaseservice boro_db;  private jpanel contentpane;   public static void main(string[] args) {     eventqueue.invokelater(new runnable() {         public void run() {             try {                 frame frame = new frame();                 frame.setvisible(true);             } catch (exception e) {                 e.printstacktrace();             }         }     }); }       public frame() {     setdefaultcloseoperation(jframe.exit_on_close);     setbounds(100, 100, 794, 653);     contentpane = new jpanel();     contentpane.setborder(new emptyborder(5, 5, 5, 5));     contentpane.setlayout(null);     setcontentpane(contentpane);               final jtextarea querytextarea = new jtextarea();             querytextarea.setbounds(25, 40, 702, 279);             querytextarea.setborder(new emptyborder(5, 5, 5, 5));             querytextarea.settext("start n=node(*) n.name! = 'my node' return n, n.name");             contentpane.add(querytextarea);              jlabel cypherquerylabel = new jlabel("cypher query");             cypherquerylabel.setbounds(25, 12, 105, 23);             contentpane.add(cypherquerylabel);              final jtextarea resulttextarea = new jtextarea();             resulttextarea.setbounds(25, 351, 702, 171);             resulttextarea.seteditable(false);             resulttextarea.setborder(new emptyborder(5, 5, 5, 5));             contentpane.add(resulttextarea);              jlabel resultlabel = new jlabel("result:");             resultlabel.setbounds(25, 323, 55, 23);              contentpane.add(resultlabel);              jbutton btnnewbutton_2 = new jbutton("execute query");             btnnewbutton_2.setbounds(274, 540, 176, 41);             btnnewbutton_2.setvisible(true);             contentpane.add(btnnewbutton_2);              final graphdatabaseservice db = new graphdatabasefactory().newembeddeddatabase( db_path );              neo4jengine neo4jdb = new neo4jengine();             neo4jdb.createborographontology(db);              btnnewbutton_2.addactionlistener(new actionlistener() {                  public void actionperformed(actionevent e) {                     string resultstring;                       executionengine engine = new executionengine( db );                      executionresult result = engine.execute(querytextarea.gettext());                     resultstring =result.dumptostring();                      resulttextarea.settext(resultstring);                    }             });   }  } 

try this:

import org.neo4j.cypher.javacompat.executionengine; import org.neo4j.cypher.javacompat.executionresult; import org.neo4j.graphdb.graphdatabaseservice; import org.neo4j.graphdb.transaction; import org.neo4j.graphdb.factory.graphdatabasefactory; import org.neo4j.kernel.impl.util.fileutils;  import javax.swing.*; import javax.swing.border.emptyborder; import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.io.file; import java.io.ioexception;  public class frame extends jframe {      public static final string db_path = "/volumes/itaniohd/users/tanio/desktop/ciao";      private static graphdatabaseservice db;      private jpanel contentpane;       public static void main(string[] args) {         db = new graphdatabasefactory().newembeddeddatabase(db_path);         registershutdownhook(db);          transaction tx = db.begintx();         try {             db.getnodebyid(0).setproperty("name", "name 0");             db.createnode().setproperty("name", "name 1");             db.createnode().setproperty("name", "name 2");             tx.success();         } {             tx.finish();         }          eventqueue.invokelater(new runnable() {             public void run() {                 try {                     frame frame = new frame();                     frame.setvisible(true);                 } catch (exception e) {                     e.printstacktrace();                 }             }         });     }      private static void registershutdownhook(final graphdatabaseservice graphdb) {         runtime.getruntime().addshutdownhook(new thread() {             @override             public void run() {                 graphdb.shutdown();                 try {                     fileutils.deleterecursively(new file(db_path));                 } catch (ioexception e) {                     e.printstacktrace();                 }             }         });     }       public frame() {         setdefaultcloseoperation(jframe.exit_on_close);         setbounds(100, 100, 794, 653);         contentpane = new jpanel();         contentpane.setborder(new emptyborder(5, 5, 5, 5));         contentpane.setlayout(null);         setcontentpane(contentpane);           final jtextarea querytextarea = new jtextarea();         querytextarea.setbounds(25, 40, 702, 279);         querytextarea.setborder(new emptyborder(5, 5, 5, 5));         querytextarea.settext("start n=node(*) return n, n.name");         contentpane.add(querytextarea);          jlabel cypherquerylabel = new jlabel("cypher query");         cypherquerylabel.setbounds(25, 12, 105, 23);         contentpane.add(cypherquerylabel);          final jtextarea resulttextarea = new jtextarea();         resulttextarea.setbounds(25, 351, 702, 171);         resulttextarea.seteditable(false);         resulttextarea.setborder(new emptyborder(5, 5, 5, 5));         contentpane.add(resulttextarea);          jlabel resultlabel = new jlabel("result:");         resultlabel.setbounds(25, 323, 55, 23);          contentpane.add(resultlabel);          jbutton btnnewbutton_2 = new jbutton("execute query");         btnnewbutton_2.setbounds(274, 540, 176, 41);         btnnewbutton_2.setvisible(true);         contentpane.add(btnnewbutton_2);          btnnewbutton_2.addactionlistener(new actionlistener() {              public void actionperformed(actionevent e) {                 executionengine engine = new executionengine(db);                 executionresult result = engine.execute(querytextarea.gettext());                 resulttextarea.settext(result.dumptostring());             }         });     } } 

Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -