2014-03-05 19 views
12

Ich habe eine Idee für ein Plugin für SQuirreL SQL client und ich würde gerne wissen, wie man ein Plugin macht. Mein Plugin wird eine Abfrage Builder-UI sein, die Zugriff auf das Schema-Modell einschließlich Tabellen, Spalten, Primärschlüssel, Fremdschlüssel und Einschränkungen etc. benötigt.SQuirreL Plugin Tutorial

Ich habe im Internet nach SQurreL Plugin Informationen/Tutorials gesucht und ich kann nicht finden viel. Das Beste, was ich finden kann, ist auf Wikipedia, die ziemlich kurz ist.

Wenn Sie irgendwelche Links, Tutorials, Beispiele oder andere Informationen über SQuirreL Plugins erstellen finden Sie sie hier posten.

Dank

Antwort

6

Hier ist eine Klasse, ein Eichhörnchen Plugin gemacht in Java für die Erweiterung:

public class FulltextsearchPlugin extends DefaultSessionPlugin { 
private final Analyzer analyzer = new StandardAnalyzer(); 
private final String path = "c:/temp/lucene/squirrel/"; 
private final IndexWriter writer = createIndexWriter(); 

@Override 
public String getAuthor() { 
    return "Mike Haller"; 
} 

@Override 
public String getDescriptiveName() { 
    return "Full-Text Search Plugin"; 
} 

@Override 
public String getInternalName() { 
    return "fulltextsearchplugin"; 
} 

@Override 
public String getVersion() { 
    return "0.0.1"; 
} 

@Override 
public PluginSessionCallback sessionStarted(ISession session) { 
    // Add context menu items to the object tree's view and procedure nodes. 
    IObjectTreeAPI otApi = session.getSessionInternalFrame() 
      .getObjectTreeAPI(); 
    otApi.addToPopup(DatabaseObjectType.TABLE, new FulltextsearchMenu(this, 
      session)); 
    return new PluginSessionCallbackAdaptor(this); 
} 
} 

, die ein Code Momentaufnahme aus einer der besten Übungen aus meiner Sicht ist, die eine sehr klare Diskussion liefert mit Schritten auf, wie man eine plugin implemented erhält. Das Material bietet eine gute Vorlage, um es auf andere Fälle zu erweitern.

+2

Danke, es scheint, ich kann Zugriff auf das Schema-Modell über session.getObjectTreeAPIOfActiveSessionWindow() –