Skip to content

Developer Guide Eng

Cho HyunJong edited this page Sep 28, 2013 · 3 revisions

Agenda

Download source

  1. You can use a Eclipse RCP and RAP Developers (http://eclipse.org/downloads/) 4.2 JUNO
  2. There is the source https://github.com/hangum/TadpoleForDBTools/ of github.
  3. Modify the Eclipse workspace encoding type to UTF-8.(Window -> Preference -> General -> Workspace -> UTF-8)
  4. Download the source.

EGit, Log4E, WindowBuilder, Jeeeyul's Themes, Subclipse Plugins We are using.

Setup the Target Platform

  1. Add the $GIT_HOME to your eclipse variables. Setting the $GIT_HOME environment and git-tadpole variable to the Window -> Preference -> Run/Debug -> String Substitution. In my case, I setting up C:\dev\eclipse-SDK-4.2RC1-Xtext-2.3.0RC1-win32\eclipse\workspace-tadpole\TadpoleForDBTools.

  2. The Tadpole target file is ${workspace}/targetProject/tadpole-rap-1.5.0-emf-standalone.target. Double click the file. Click Set as Target Platform at upper right-side.

  3. Set up the API Baselines. And click Window -> Preference -> Plug-in Development -> API Baselines. Click the Add Baseline.. and after, enter a suitable name and click the Reset and finally click the Finish.

  4. Click Project -> Clean.. and after compiling it all. Until you have done Setup the Target Platform, it is right that there is no error in the tadpole project.

target platform

Install

  1. Double click plugin.xml in com.hangum.tadpole.application project. And click 'Launch a RAP Application' button then start. Don't freak out. Almost guys failed at first.
  2. You should setup configuration in eclipse. Select Menu -> Run -> Debug Configuration.
  3. Then open the dialog window, it will run by 'RAP Application' name. And then input db name inMain tab -> Servlet path. Input 'tadpole' in 'Servlet parameter'.
  4. Click Deselect All in Bundle tab. And click on a checkbox with com.hangum.tadpole.application.start, org.eclipse.equinox.http.jetty, org.eclipse.equinox.console, org.apache.felix.gogo.shell. And after click 'Add Required Bundle' button.
  5. Open the browser, and you will look at '404 not found' page. That's OK. You can use the refresh button in the page. Then you can check not error page.
  6. If it is convenient for you, you can add '-test -debuglog' in Debug Configuration -> RAP Application -> Argument tab -> behind Program Argument option.

Look at the video. http://www.youtube.com/watch?v=qTL24cQ6ISc

Plugin

  • com.hangum.tadpole.application.start : Start and end points of a project
  • com.hangum.tadpole.rdb.core : Database List and Table, Column List Monitor and RDB main editor window
  • com.hangum.tadpole.application : Perspective setting and Login view
  • com.hangum.tadpole.commons.libs : Common library definitions
  • com.hangum.tadpole.commons.sql : Common code definitions about sql(common engine and work)
  • com.hangum.tadpole.commons.sql.test : Test plug-in about com.hangum.db.commons.sql
  • com.hangum.tadpole.rap.commons : Common code util
  • com.hangum.tadpole.sql.parser2 : Parser for sql formatter
  • com.hangum.tadpole.build.war : Plugin for WAR deployment
  • com.hangum.tadpole.erd.core : ERD
  • com.hangum.tadpole.feature : Tadpole feature
  • com.hangum.tadpole.feature.site : include code feature buckminster
  • com.hangum.tadpole.manager.core : User management code
  • com.hangum.tadpole.model : Tadpole model definitions(only use ERD project)
  • com.hangum.tadpole.mongodb.core : main core about MongoDB(DB and Collection list is used to rap.core)
  • com.hangum.tadpole.mongodb.core.ext : MongoDB extends(monitoring, process list and so on)
  • com.hangum.tadpole.mongodb.core.test : MongoDB test code
  • com.hangum.tadpole.preference : Preference code
  • com.hangum.tadpole.rdb.core.ext : RDB extends code
  • com.hangum.tadpole.secret.util : code for Tadpole extends
  • targetProject : Code and document about target platform

dependience

Start UI

  1. com.hangum.db.browser.rap.Application#createUI() : Setup a session.
  2. com.hangum.db.browser.rap.ApplicationWorkbenchAdvisor : Open the Tadpole homepage.
  3. com.hangum.db.browser.rap.ApplicationWorkbenchWindowAdvisor : If there is no table in database and the initial UI definition, you need to create database table and a new user account. And after, open the login dialog.
  4. If the step 3 is OK, open the Database View and Object Explorer view defined by com.hangum.db.browser.rap.Perspective
  5. When the Database view(com.hangum.db.browser.rap.core.viewers.connections.ManagerViewer) is open, from #init(), it allows the user to register database list that initially allocated. And the, it will end its begging task.

When you are start it, see under the argument explanation. https://github.com/hangum/TadpoleForDBTools/blob/master/targetProject/docs/engine%20argument%20options.txt

Engine DB

  1. user_group : User group
  2. users : User list
  3. user_db : User's database
  4. ext_account : External account database
  5. user_db_resource : Database resource(Save sql, erd)
  6. user_db_resource_data : Database resource's detail data
  7. user_info_data : User preference data(limit query values and so on)

See under database script. https://github.com/hangum/TadpoleForDBTools/blob/sr6/com.hangum.db.commons.sql/src/com/hangum/tadpole/commons/sql/query/internal/system/Tadpole-System-SQLiteSQL.xml

EngineERD

The SQL for each database in engines is below:

The default option database used iBatis Framework(http://ibatis.apache.org/). The MySQL is the criteria that is mapped to the iBatis.

Worked to criterion is below:

  1. CUBRID : 8.4.1.2032 (http://goo.gl/NAAXL)
  2. MSSQL : 2008 R2 (http://goo.gl/IIlzJ)
  3. MySQL : 5.x (http://goo.gl/iMjyx)
  4. Oracle : 10g - 11g (http://goo.gl/rLUan)
  5. PostgreSQL: 9.1 (http://goo.gl/sw6Gp)
  6. SQLite : 3.7.2 (http://goo.gl/ai6G7)
  7. MongoDB : 2.0.5

Deploy

You should know that there are two modes in deploy - the Desktop Application type and the WAR type. Of course, there is an automation to Buckminster(com.hangum.tadpole.feature.site) for work BUT we explain the manual way.

  1. Desktop Application : Select the tadpole-standalone.product in com.hangum.db.browser.rap. And after, click the Eclipse Product export wizard and deploy.
  2. WAR : Select the tadpole.war.product.warproduct in com.hangum.tadpole.build.war. And after, click the Eclipse WAR Product export wizard and deploy.