Skip to content

Commit

Permalink
TEIIDDES-1594: Refresh the server panel on name change of the server
Browse files Browse the repository at this point in the history
* Adds an execution configuration listener to the server panel so that
  the text will be updated if the default server receives any configuartion
  updates, such as custom label.
  • Loading branch information
Paul Richardson committed Feb 15, 2013
1 parent ad3b5d2 commit 34b270f
Showing 1 changed file with 31 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@
import org.teiid.core.designer.util.I18nUtil;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.DotProjectUtils;
import org.teiid.designer.runtime.spi.ExecutionConfigurationEvent;
import org.teiid.designer.runtime.spi.IExecutionConfigurationListener;
import org.teiid.designer.runtime.spi.ITeiidServer;
import org.teiid.designer.runtime.spi.ITeiidServerVersionListener;
import org.teiid.designer.runtime.version.spi.ITeiidServerVersion;
Expand Down Expand Up @@ -242,6 +244,7 @@ private static void readFilters() {
private Hyperlink defaultServerLink;
private Label defaultServerVersionLabel;

/* Listen for change in default server */
private ITeiidServerVersionListener teiidServerVersionListener = new ITeiidServerVersionListener() {

@Override
Expand All @@ -250,6 +253,7 @@ public void serverChanged(ITeiidServer server) {
return;

setDefaultServerText(server);
addExecutionConfigurationListener(server);
}

@Override
Expand All @@ -261,6 +265,16 @@ public void versionChanged(ITeiidServerVersion version) {
}
};

/* Listen for configuration changes to existing default server */
private IExecutionConfigurationListener execConfigurationListener = new IExecutionConfigurationListener() {

@Override
public void configurationChanged(ExecutionConfigurationEvent event) {
setDefaultServerText(ModelerCore.getDefaultServer());
setDefaultServerVersionText(ModelerCore.getTeiidServerVersion());
}
};

/**
* Construct an instance of ModelExplorerResourceNavigator.
*/
Expand Down Expand Up @@ -448,12 +462,28 @@ private void createServerStatusPanel(Composite parent) {
GridLayoutFactory.fillDefaults().numColumns(2).applyTo(defaultServerSectionBody);
defaultServerSectionBody.setBackground(bkgdColor);

setDefaultServerText(ModelerCore.getDefaultServer());
ITeiidServer defaultServer = ModelerCore.getDefaultServer();
setDefaultServerText(defaultServer);
setDefaultServerVersionText(ModelerCore.getTeiidServerVersion());

defaultServerSection.setClient(defaultServerSectionBody);

/* Listen for changes to the default server */
ModelerCore.addTeiidServerVersionListener(teiidServerVersionListener);
addExecutionConfigurationListener(defaultServer);
}

/**
* Add the configuration listener to the given {@link ITeiidServer}'s event manager,
* which is normally the TeiidServerManager
*
* @param teiidServer
*/
private void addExecutionConfigurationListener(ITeiidServer teiidServer) {
if (teiidServer == null)
return;

teiidServer.getEventManager().addListener(execConfigurationListener);
}

private void setDefaultServerText(ITeiidServer defaultServer) {
Expand Down

0 comments on commit 34b270f

Please sign in to comment.