Skip to content

Commit

Permalink
TEIIDDES-1518: Reduce exposure of TeiidServer's ExecutionAdmin
Browse files Browse the repository at this point in the history
* Make the TeiidServer's ExecutionAdmin object completely private to
  TeiidServer.

* Mirror the main methods of ExecutionAdmin in TeiidServer and
  delegate them to the ExecutionAdmin internal field

* Creates IExecutionAdmin interface to allow different implementations
  of ExecutionAdmin further down the line
  • Loading branch information
Paul Richardson committed Dec 7, 2012
1 parent 395357b commit 58e3cec
Show file tree
Hide file tree
Showing 33 changed files with 585 additions and 571 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import java.util.List;
import java.util.Map;
import java.util.Properties;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
Expand Down Expand Up @@ -583,7 +582,7 @@ public static void executeAction(String id, Properties properties, boolean synch
TeiidServer teiidServer = DqpPlugin.getInstance().getServerManager().getDefaultServer();

CreateDataSourceAction action = new CreateDataSourceAction();
action.setAdmin(teiidServer.connect());
action.setTeiidServer(teiidServer);

action.setSelection(new StructuredSelection());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ public static VDB deployVdb(TeiidServer teiidServer, final Object vdbOrVdbFile,

Vdb vdb = ((vdbOrVdbFile instanceof IFile) ? new Vdb(
(IFile) vdbOrVdbFile, null) : (Vdb) vdbOrVdbFile);
final VdbDeployer deployer = new VdbDeployer(shell, vdb, teiidServer.connect(), doCreateDataSource);
final VdbDeployer deployer = new VdbDeployer(shell, vdb, teiidServer, doCreateDataSource);
ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell);

IRunnableWithProgress runnable = new IRunnableWithProgress() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
package org.teiid.designer.runtime.ui.actions;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.window.Window;
Expand Down Expand Up @@ -100,7 +99,7 @@ public void run() {
}
}

public static void executeVdb( TeiidServer teiidServer, String vdbName ) throws CoreException {
public static void executeVdb( TeiidServer teiidServer, String vdbName ) throws Exception {
if( worker == null ) {
worker = new ExecuteVdbWorker();
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import java.util.Iterator;
import java.util.List;
import java.util.Properties;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
Expand All @@ -24,7 +23,7 @@
import org.teiid.designer.datatools.connection.ConnectionInfoProviderFactory;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.runtime.DqpPlugin;
import org.teiid.designer.runtime.ExecutionAdmin;
import org.teiid.designer.runtime.TeiidServer;
import org.teiid.designer.runtime.ui.DqpUiConstants;
import org.teiid.designer.runtime.ui.DqpUiPlugin;
import org.teiid.designer.ui.actions.SortableSelectionAction;
Expand Down Expand Up @@ -54,7 +53,7 @@ private static String getString( final String id,
private String pwd;
private ConnectionInfoProviderFactory providerFactory;

private ExecutionAdmin cachedAdmin;
private TeiidServer cachedServer;

/**
* @since 5.0
Expand All @@ -65,8 +64,8 @@ public CreateDataSourceAction() {
providerFactory = new ConnectionInfoProviderFactory();
}

public void setAdmin( ExecutionAdmin admin ) {
this.cachedAdmin = admin;
public void setTeiidServer( TeiidServer teiidServer ) {
this.cachedServer = teiidServer;
}

/**
Expand Down Expand Up @@ -100,24 +99,25 @@ public void run() {
}
try {

ExecutionAdmin executionAdmin = cachedAdmin;
if (executionAdmin == null) {
TeiidServer teiidServer = cachedServer;
if (teiidServer == null) {
if (DqpPlugin.getInstance().getServerManager().getDefaultServer() == null) {
MessageDialog.openConfirm(iww.getShell(), getString("noServer.title"), //$NON-NLS-1$
getString("noServer.message")); //$NON-NLS-1$
return;
} else if (DqpPlugin.getInstance().getServerManager().getDefaultServer().isConnected()) {
executionAdmin = DqpPlugin.getInstance().getServerManager().getDefaultServer().connect();
teiidServer = DqpPlugin.getInstance().getServerManager().getDefaultServer();
} else {
MessageDialog.openConfirm(iww.getShell(), getString("noServerConnection.title"), //$NON-NLS-1$
getString("noServerConnection.message")); //$NON-NLS-1$
return;
}

teiidServer.connect();
}

Collection<ModelResource> relationalModels = getRelationalModelsWithConnections();
final CreateDataSourceWizard wizard = new CreateDataSourceWizard(executionAdmin, relationalModels, modelResource);
final CreateDataSourceWizard wizard = new CreateDataSourceWizard(teiidServer, relationalModels, modelResource);

wizard.init(iww.getWorkbench(), new StructuredSelection());
final WizardDialog dialog = new WizardDialog(wizard.getShell(), wizard);
Expand Down Expand Up @@ -147,7 +147,7 @@ protected boolean isPasswordValid( final String password ) {
}

if( !cancelledPassword) {
executionAdmin.getOrCreateDataSource(info.getDisplayName(),
teiidServer.getOrCreateDataSource(info.getDisplayName(),
info.getJndiName(),
provider.getDataSourceType(),
props);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ILabelProvider;
Expand Down Expand Up @@ -52,7 +51,6 @@
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.datatools.ui.dialogs.ConnectionProfileWorker;
import org.teiid.designer.datatools.ui.dialogs.IProfileChangedListener;
import org.teiid.designer.runtime.ExecutionAdmin;
import org.teiid.designer.runtime.TeiidServer;
import org.teiid.designer.runtime.ui.DqpUiConstants;
import org.teiid.designer.runtime.ui.DqpUiPlugin;
Expand Down Expand Up @@ -108,7 +106,7 @@ private static String getString( final String id,

Map<String, ModelResource> relationalModelsMap;

private ExecutionAdmin admin;
private TeiidServer teiidServer;
// private JdbcManager jdbcManager;
private ConnectionInfoProviderFactory providerFactory;
// private IConnectionProfile selectedProfile;
Expand All @@ -124,7 +122,7 @@ private static String getString( final String id,
/**
* @since 4.0
*/
public CreateDataSourceWizard( ExecutionAdmin admin,
public CreateDataSourceWizard( TeiidServer teiidServer,
Collection<ModelResource> relationalModels,
ModelResource initialSelection ) {
super(DqpUiPlugin.getDefault(), TITLE, null);
Expand All @@ -133,7 +131,7 @@ public CreateDataSourceWizard( ExecutionAdmin admin,
this.relationalModelsMap.put(ModelUtil.getName(mr), mr);
}
this.hasModelResources = !relationalModelsMap.isEmpty();
this.admin = admin;
this.teiidServer = teiidServer;
this.selectedModelResource = initialSelection;
this.providerFactory = new ConnectionInfoProviderFactory();
this.teiidDataSourceProperties = new Properties();
Expand Down Expand Up @@ -171,7 +169,6 @@ Composite createPageControl( final Composite parent ) {
mainPanel.setLayout(new GridLayout(2, false));

WidgetFactory.createLabel(mainPanel, getString("teiidServer.label")); //$NON-NLS-1$
TeiidServer teiidServer = admin.getServer();

if (StringUtilities.isEmpty(teiidServer.getCustomLabel())) {
WidgetFactory.createLabel(mainPanel, GridData.FILL_HORIZONTAL, 1, teiidServer.getUrl());
Expand Down Expand Up @@ -485,7 +482,7 @@ public boolean finish() {

public TeiidDataSourceInfo getTeiidDataSourceInfo() {
TeiidDataSourceInfo info = new TeiidDataSourceInfo(dataSourceName, dataSourceName, teiidDataSourceProperties,
currentProvider, admin);
currentProvider);
return info;
}

Expand Down Expand Up @@ -583,7 +580,7 @@ private IConnectionInfoProvider getProvider( Object obj ) throws Exception {

private boolean nameExists( String name ) {
try {
if (admin.dataSourceExists(name)) {
if (teiidServer.dataSourceExists(name)) {
return true;
}
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.IConnectionInfoHelper;
import org.teiid.designer.runtime.DqpPlugin;
import org.teiid.designer.runtime.ExecutionAdmin;
import org.teiid.designer.runtime.TeiidServer;
import org.teiid.designer.runtime.ui.DqpUiConstants;
import org.teiid.designer.runtime.ui.DqpUiPlugin;
import org.teiid.designer.ui.actions.SortableSelectionAction;
Expand Down Expand Up @@ -75,13 +75,13 @@ public boolean removeDataSource( IFile modelFile ) throws Exception {
Properties properties = getConnectionProperties(modelFile);

if (properties != null && !properties.isEmpty()) {
ExecutionAdmin executionAdmin = DqpPlugin.getInstance().getServerManager().getDefaultServer().connect();
TeiidServer teiidServer = DqpPlugin.getInstance().getServerManager().getDefaultServer();
String name = modelFile.getFullPath().removeFileExtension().lastSegment();
String jndiName = new ConnectionInfoHelper().generateUniqueConnectionJndiName(name,
modelFile.getFullPath(),
ModelerCore.workspaceUuid().toString());

executionAdmin.deleteDataSource(jndiName);
teiidServer.deleteDataSource(jndiName);
return true;
}
return false;
Expand Down

0 comments on commit 58e3cec

Please sign in to comment.