/******************************************************************************* * Copyright (c) 2013 hangum. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v2.1 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * Contributors: * hangum - initial API and implementation ******************************************************************************/ package com.hangum.tadpole.rdb.core.dialog.dbconnect.sub.others; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.PlatformUI; import com.hangum.tadpole.commons.libs.core.define.PublicTadpoleDefine; import com.hangum.tadpole.engine.define.DBDefine; import com.hangum.tadpole.engine.query.dao.system.ExternalBrowserInfoDAO; import com.hangum.tadpole.rdb.core.Messages; import com.hangum.tadpole.rdb.core.dialog.dbconnect.dialog.ExtensionBrowserURLDialog; import com.hangum.tadpole.rdb.core.dialog.dbconnect.sub.others.dao.OthersConnectionInfoDAO; /** * Others connection info * * @author hangum * */ public class OthersConnectionMongoDBGroup extends AbstractOthersConnection { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(OthersConnectionMongoDBGroup.class); private String strIp = "", strPort = ""; private OthersConnectionInfoDAO otherConnectionDAO = new OthersConnectionInfoDAO(); // private Button btnTableFilters; private Button btnReadOnlyConnection; private Button btnShowTables; private Button btnExternalBrowser; // private Button btnIsVisible; // private Button btnSendMonitoring; /** * Create the composite. * @param parent * @param style * @param selectDB * @param strIp * @param strPort */ public OthersConnectionMongoDBGroup(Composite parent, int style, DBDefine selectDB) { super(parent, style, selectDB); setText(Messages.get().SettingOtherInfo); GridLayout gridLayout = new GridLayout(3, false); gridLayout.verticalSpacing = 2; gridLayout.horizontalSpacing = 2; gridLayout.marginHeight = 2; gridLayout.marginWidth = 0; setLayout(gridLayout); btnReadOnlyConnection = new Button(this, SWT.CHECK); btnReadOnlyConnection.setText(Messages.get().ReadOnly); // btnTableFilters = new Button(this, SWT.NONE); // btnTableFilters.addSelectionListener(new SelectionAdapter() { // @Override // public void widgetSelected(SelectionEvent e) { // DBConnectTablesFilterDialog dialog = new DBConnectTablesFilterDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); // if(Dialog.OK == dialog.open()) { // DBConnectionTableFilterDAO tableFilterDao = dialog.getTableFilterDAO(); // // otherConnectionDAO.setTableFilter(tableFilterDao.isEnable()); // otherConnectionDAO.setStrTableFilterInclude(tableFilterDao.getIncludeFilter()); // otherConnectionDAO.setStrTableFilterExclude(tableFilterDao.getExcludeFilter()); // } // } // }); // btnTableFilters.setText(Messages.get().OthersConnectionMongoDBGroup_2); btnExternalBrowser = new Button(this, SWT.NONE); btnExternalBrowser.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ExtensionBrowserURLDialog dialog = new ExtensionBrowserURLDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), getDefaultExternalBrowserInfo()); if(Dialog.OK == dialog.open()) { otherConnectionDAO.setExterBrowser(dialog.isEnable()); otherConnectionDAO.setListExterBroswer(dialog.getListExterBroswer()); } } }); btnExternalBrowser.setText(Messages.get().ExternalBrowser); btnShowTables = new Button(this, SWT.CHECK); btnShowTables.setSelection(true); btnShowTables.setText(Messages.get().ShowTables); // btnIsVisible = new Button(this, SWT.CHECK); // btnIsVisible.setSelection(true); // btnIsVisible.setText(Messages.get().OthersConnectionMongoDBGroup_btnIsVisible_text); // btnSendMonitoring = new Button(this, SWT.CHECK); // btnSendMonitoring.setEnabled(false); // btnSendMonitoring.setText(Messages.get().OthersConnectionMongoDBGroup_btnSendMonitoring_text); } /** * Callback Initialize UI * * @param strIp * @param strPort */ public void callBackUIInit(String strIp, String strPort) { setStrIp(strIp); setStrPort(strPort); } /** * other db connection info * * @return */ public OthersConnectionInfoDAO getOthersConnectionInfo() { otherConnectionDAO.setReadOnlyConnection(getBtnReadOnlyConnection()); otherConnectionDAO.setShowTables(getBtnShowTables()); // otherConnectionDAO.setVisible(getIsVisible()); // otherConnectionDAO.setSummaryReport(getSendMonitoring()); return otherConnectionDAO; } // public boolean getIsVisible() { // return btnIsVisible.getSelection(); // } // public boolean getSendMonitoring() { // return btnSendMonitoring.getSelection(); // } /** * @return the btnReadOnlyConnection */ public boolean getBtnReadOnlyConnection() { return btnReadOnlyConnection.getSelection(); } /** * @param btnReadOnlyConnection the btnReadOnlyConnection to set */ public void setBtnReadOnlyConnection(boolean btnReadOnlyConnection) { this.btnReadOnlyConnection.setSelection(btnReadOnlyConnection); } /** * @param btnShowTables */ public void setBtnShowTables(boolean btnShowTables) { this.btnShowTables.setSelection(btnShowTables); } /** * * @return */ public boolean getBtnShowTables() { return btnShowTables.getSelection(); } @Override public List<ExternalBrowserInfoDAO> getDefaultExternalBrowserInfo() { List<ExternalBrowserInfoDAO> listBrowser = new ArrayList<ExternalBrowserInfoDAO>(); int intPort = 27017; try { intPort = (Integer.parseInt(strPort) + 1000); } catch(Exception e) { // ignore exception } ExternalBrowserInfoDAO extBrowserDAO = new ExternalBrowserInfoDAO(); extBrowserDAO.setName("AdminBrowser"); extBrowserDAO.setUrl(String.format("http://%s:%s", strIp, intPort)); extBrowserDAO.setIs_used(PublicTadpoleDefine.YES_NO.YES.name()); listBrowser.add(extBrowserDAO); return listBrowser; } /** * @return the strIp */ public String getStrIp() { return strIp; } /** * @param strIp the strIp to set */ public void setStrIp(String strIp) { this.strIp = strIp; } /** * @return the strPort */ public String getStrPort() { return strPort; } /** * @param strPort the strPort to set */ public void setStrPort(String strPort) { this.strPort = strPort; } }