Author: rob.stryker(a)jboss.com
Date: 2010-09-30 05:30:12 -0400 (Thu, 30 Sep 2010)
New Revision: 25319
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/ExtensionManager.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/IDeploymentTypeUI.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSection.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java
Log:
JBIDE-7221 - behaviour composite into wizard
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/ExtensionManager.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/ExtensionManager.java 2010-09-30
04:45:41 UTC (rev 25318)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/ExtensionManager.java 2010-09-30
09:30:12 UTC (rev 25319)
@@ -25,6 +25,7 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerType;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
import org.jboss.ide.eclipse.as.core.server.IPollerFailureHandler;
@@ -244,15 +245,18 @@
return publishMethods[i];
return null;
}
-
- public IJBossServerPublishMethodType[] findPossiblePublishMethods(IServer server) {
+ public IJBossServerPublishMethodType[] findPossiblePublishMethods(IServerType type) {
ArrayList<IJBossServerPublishMethodType> list = new
ArrayList<IJBossServerPublishMethodType>();
list.addAll(Arrays.asList(getPublishMethodTypes()));
Iterator<IJBossServerPublishMethodType> i = list.iterator();
while(i.hasNext()) {
- if( !i.next().accepts(server.getServerType().getId()))
+ if( !i.next().accepts(type.getId()))
i.remove();
}
return list.toArray(new IJBossServerPublishMethodType[list.size()]);
}
+
+ public IJBossServerPublishMethodType[] findPossiblePublishMethods(IServer server) {
+ return findPossiblePublishMethods(server.getServerType());
+ }
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java 2010-09-30
04:45:41 UTC (rev 25318)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java 2010-09-30
09:30:12 UTC (rev 25319)
@@ -52,6 +52,7 @@
}
public static DeployableServerBehavior getDeployableServerBehavior(IServer server) {
+ if( server == null ) return null;
return (DeployableServerBehavior)server.loadAdapter(
DeployableServerBehavior.class, new NullProgressMonitor());
}
@@ -114,6 +115,7 @@
}
public static IJBossServerRuntime getJBossRuntime(IServerAttributes server) {
+ if( server == null ) return null;
IRuntime rt = server.getRuntime();
return (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, null);
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml 2010-09-30 04:45:41 UTC (rev
25318)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/plugin.xml 2010-09-30 09:30:12 UTC (rev
25319)
@@ -24,7 +24,7 @@
startBeforePublish="false"
startTimeout="450000"
stopTimeout="450000"
- supportsRemoteHosts="false"/>
+ supportsRemoteHosts="true"/>
<serverType
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
@@ -41,7 +41,7 @@
startBeforePublish="false"
startTimeout="450000"
stopTimeout="450000"
- supportsRemoteHosts="false"/>
+ supportsRemoteHosts="true"/>
<serverType
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
@@ -58,7 +58,7 @@
startBeforePublish="false"
startTimeout="450000"
stopTimeout="450000"
- supportsRemoteHosts="false"/>
+ supportsRemoteHosts="true"/>
<serverType
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
@@ -75,7 +75,7 @@
startBeforePublish="false"
startTimeout="450000"
stopTimeout="450000"
- supportsRemoteHosts="false"/>
+ supportsRemoteHosts="true"/>
<serverType
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
@@ -92,7 +92,7 @@
startBeforePublish="false"
startTimeout="450000"
stopTimeout="450000"
- supportsRemoteHosts="false"/>
+ supportsRemoteHosts="true"/>
<serverType
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
@@ -109,7 +109,7 @@
startBeforePublish="false"
startTimeout="450000"
stopTimeout="450000"
- supportsRemoteHosts="false"/>
+ supportsRemoteHosts="true"/>
<serverType
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
@@ -126,7 +126,7 @@
startBeforePublish="false"
startTimeout="450000"
stopTimeout="450000"
- supportsRemoteHosts="false"/>
+ supportsRemoteHosts="true"/>
<serverType
behaviourClass="org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior"
@@ -143,7 +143,7 @@
startBeforePublish="false"
startTimeout="450000"
stopTimeout="450000"
- supportsRemoteHosts="false"/>
+ supportsRemoteHosts="true"/>
<serverType
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java 2010-09-30
04:45:41 UTC (rev 25318)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.rse.ui/src/org/jboss/ide/eclipse/as/rse/ui/RSEDeploymentPreferenceUI.java 2010-09-30
09:30:12 UTC (rev 25319)
@@ -14,8 +14,6 @@
import java.beans.PropertyChangeListener;
import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.events.ISystemModelChangeEvent;
@@ -39,39 +37,45 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.server.core.IRuntime;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.rse.core.RSEUtils;
import org.jboss.ide.eclipse.as.ui.UIUtil;
import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI;
import org.jboss.ide.eclipse.as.ui.editor.ServerModeSection;
-import org.jboss.ide.eclipse.as.ui.editor.ServerModeSection.ChangeServerPropertyCommand;
+import
org.jboss.ide.eclipse.as.ui.editor.ServerModeSectionComposite.ChangeServerPropertyCommand;
public class RSEDeploymentPreferenceUI implements IDeploymentTypeUI {
public RSEDeploymentPreferenceUI() {
// Do nothing
}
- @Override
+ @Override @Deprecated
public void fillComposite(Composite parent, ServerModeSection modeSection) {
+ return;
+ }
+
+ @Override
+ public void fillComposite(Composite parent, IServerModeUICallback callback) {
parent.setLayout(new FillLayout());
- new RSEDeploymentPreferenceComposite(parent, SWT.NONE, modeSection);
+ new RSEDeploymentPreferenceComposite(parent, SWT.NONE, callback);
}
-
+
public static class RSEDeploymentPreferenceComposite extends Composite implements
PropertyChangeListener {
- private ServerModeSection modeSection;
+ private IServerModeUICallback callback;
private CustomSystemHostCombo combo;
private Text rseServerHome,rseServerConfig;
private Button rseBrowse;
private ModifyListener comboMListener;
- public RSEDeploymentPreferenceComposite(Composite parent, int style, ServerModeSection
modeSection) {
+ public RSEDeploymentPreferenceComposite(Composite parent, int style,
IServerModeUICallback callback) {
super(parent, style);
- this.modeSection = modeSection;
+ this.callback = callback;
setLayout(new FormLayout());
Composite child = new Composite(this, SWT.None);
child.setLayoutData(UIUtil.createFormData2(0, 0, null, 0, 0, 5, 100, 0));
child.setLayout(new GridLayout());
- String current = modeSection.getServer().getAttribute(RSEUtils.RSE_SERVER_HOST,
RSEUtils.RSE_SERVER_DEFAULT_HOST);
+ String current = callback.getServer().getAttribute(RSEUtils.RSE_SERVER_HOST,
RSEUtils.RSE_SERVER_DEFAULT_HOST);
combo = new CustomSystemHostCombo(child, SWT.NULL, current, "files");
//$NON-NLS-1$
comboMListener = new ModifyListener() {
public void modifyText(ModifyEvent e) {
@@ -96,7 +100,7 @@
rseServerHome = new Text(this, SWT.SINGLE | SWT.BORDER);
serverHomeLabel.setLayoutData(UIUtil.createFormData2(child, 7, null, 0, 0, 10, null,
0));
rseServerHome.setLayoutData(UIUtil.createFormData2(child, 5, null, 0, serverHomeLabel,
5, rseBrowse, -5));
- rseServerHome.setText(modeSection.getServer().getAttribute(RSEUtils.RSE_SERVER_HOME_DIR,
+ rseServerHome.setText(callback.getServer().getAttribute(RSEUtils.RSE_SERVER_HOME_DIR,
getRuntime().getRuntime().getLocation().toString()));
rseServerHome.addModifyListener(new ModifyListener(){
public void modifyText(ModifyEvent e) {
@@ -108,19 +112,19 @@
rseServerConfig= new Text(this, SWT.SINGLE | SWT.BORDER);
serverConfigLabel.setLayoutData(UIUtil.createFormData2(rseServerHome, 7, null, 0, 0,
10, null, 0));
rseServerConfig.setLayoutData(UIUtil.createFormData2(rseServerHome, 5, null, 0,
serverConfigLabel, 5, 100, -5));
- rseServerConfig.setText(modeSection.getServer().getAttribute(RSEUtils.RSE_SERVER_CONFIG,
+ rseServerConfig.setText(callback.getServer().getAttribute(RSEUtils.RSE_SERVER_CONFIG,
getRuntime().getJBossConfiguration()));
rseServerConfig.addModifyListener(new ModifyListener(){
public void modifyText(ModifyEvent e) {
serverConfigChanged();
}});
- modeSection.getServer().addPropertyChangeListener(this);
+ callback.getServer().addPropertyChangeListener(this);
}
@Override
public void dispose () {
super.dispose();
- modeSection.getServer().removePropertyChangeListener(this);
+ callback.getServer().removePropertyChangeListener(this);
}
private boolean updatingFromModelChange = false;
@@ -150,19 +154,21 @@
}
protected IJBossServerRuntime getRuntime() {
- return ServerConverter.getJBossRuntime(modeSection.getServer().getOriginal());
+ IRuntime rt = callback.getRuntime();
+ if( rt == null ) return null;
+ return (IJBossServerRuntime)rt.loadAdapter(IJBossServerRuntime.class, null);
}
protected void rseHostChanged() {
if( !updatingFromModelChange ) {
String hostName = combo.getHost() == null ? null : combo.getHost().getAliasName();
- String oldVal = modeSection.getServer().getAttribute(RSEUtils.RSE_SERVER_HOST,
(String)null);
+ String oldVal = callback.getServer().getAttribute(RSEUtils.RSE_SERVER_HOST,
(String)null);
if( !hostName.equals(oldVal) && !updatingFromModelChange) {
- modeSection.getCommandManager().execute(new ChangeServerPropertyCommand(
- modeSection.getServer(), RSEUtils.RSE_SERVER_HOST, hostName,
"localhost",
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), RSEUtils.RSE_SERVER_HOST, hostName, "localhost",
"Change RSE Host"));
- modeSection.getCommandManager().execute(new ChangeServerPropertyCommand(
- modeSection.getServer(), "hostname", combo.getHost().getHostName(),
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), "hostname", combo.getHost().getHostName(),
"Change Hostname"));
}
}
@@ -170,16 +176,16 @@
protected void serverHomeChanged() {
if( !updatingFromModelChange) {
- modeSection.getCommandManager().execute(new ChangeServerPropertyCommand(
- modeSection.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(),
getRuntime().getRuntime().getLocation().toString(),
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), RSEUtils.RSE_SERVER_HOME_DIR, rseServerHome.getText(),
getRuntime().getRuntime().getLocation().toString(),
"Change RSE Server's Home Directory"));
}
}
protected void serverConfigChanged() {
if( !updatingFromModelChange ) {
- modeSection.getCommandManager().execute(new ChangeServerPropertyCommand(
- modeSection.getServer(), RSEUtils.RSE_SERVER_CONFIG, rseServerConfig.getText(),
getRuntime().getJBossConfiguration(),
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), RSEUtils.RSE_SERVER_CONFIG, rseServerConfig.getText(),
getRuntime().getJBossConfiguration(),
"Change RSE Server's Configuration"));
}
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/IDeploymentTypeUI.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/IDeploymentTypeUI.java 2010-09-30
04:45:41 UTC (rev 25318)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/IDeploymentTypeUI.java 2010-09-30
09:30:12 UTC (rev 25319)
@@ -10,10 +10,19 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.ui.editor;
+import org.eclipse.core.commands.operations.IUndoableOperation;
import org.eclipse.swt.widgets.Composite;
-import
org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentPreferences;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
public interface IDeploymentTypeUI {
+
+ public interface IServerModeUICallback {
+ public IServerWorkingCopy getServer();
+ public IRuntime getRuntime();
+ public void execute(IUndoableOperation operation);
+ }
+
/**
* The parent in this call has no layout and is basically a positioned,
* but unconfigured, composite.
@@ -27,5 +36,8 @@
* @param parent
* @param modeSection
*/
+ @Deprecated
public void fillComposite(Composite parent, ServerModeSection modeSection);
+
+ public void fillComposite(Composite parent, IServerModeUICallback callback);
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSection.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSection.java 2010-09-30
04:45:41 UTC (rev 25318)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSection.java 2010-09-30
09:30:12 UTC (rev 25319)
@@ -10,42 +10,26 @@
******************************************************************************/
package org.jboss.ide.eclipse.as.ui.editor;
-import java.util.ArrayList;
-
+import org.eclipse.core.commands.operations.IUndoableOperation;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledPageBook;
import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.eclipse.wst.server.ui.editor.IServerEditorPartInput;
import org.eclipse.wst.server.ui.editor.ServerEditorSection;
-import org.eclipse.wst.server.ui.internal.command.ServerCommand;
import org.eclipse.wst.server.ui.internal.editor.ServerEditorPartInput;
import org.eclipse.wst.server.ui.internal.editor.ServerResourceCommandManager;
-import org.jboss.ide.eclipse.as.core.ExtensionManager;
-import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
-import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
-import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
-import org.jboss.ide.eclipse.as.core.util.ServerConverter;
-import org.jboss.ide.eclipse.as.ui.UIUtil;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
public class ServerModeSection extends ServerEditorSection {
- private ArrayList<DeployUIAdditions> deployAdditions;
- private ScrolledPageBook preferencePageBook;
- private Combo deployTypeCombo;
- private Section publishTypeSection;
+ private IServerModeUICallback callback = null;
private ServerResourceCommandManager commandManager;
public void init(IEditorSite site, IEditorInput input) {
@@ -65,129 +49,36 @@
return server;
}
- public void createSection(Composite parent) {
- super.createSection(parent);
- createPublishMethodSection(parent);
- }
-
-
- private class DeployUIAdditions {
- private IJBossServerPublishMethodType publishType;
- private IDeploymentTypeUI ui;
- private boolean registered = false;
- public DeployUIAdditions(IJBossServerPublishMethodType type,IDeploymentTypeUI ui) {
- this.publishType = type;
- this.ui = ui;
+ private IServerModeUICallback getUICallback() {
+ if( callback == null ) {
+ callback = new IServerModeUICallback(){
+ public IServerWorkingCopy getServer() {
+ return server;
+ }
+ public void execute(IUndoableOperation operation) {
+ getCommandManager().execute(operation);
+ }
+ public IRuntime getRuntime() {
+ return server.getRuntime();
+ }
+ };
}
- public boolean isRegistered() {
- return registered;
- }
- public IJBossServerPublishMethodType getPublishType() {
- return publishType;
- }
- public void createComposite(Composite parent) {
- // UI can be null
- if( ui != null ) {
- ui.fillComposite(parent, ServerModeSection.this);
- registered = true;
- }
- }
+ return callback;
}
-
- private void loadDeployTypeData() {
- deployAdditions = new ArrayList<DeployUIAdditions>();
- IJBossServerPublishMethodType[] publishMethodTypes =
ExtensionManager.getDefault().findPossiblePublishMethods(server.getOriginal());
- for( int i = 0; i < publishMethodTypes.length; i++) {
- IDeploymentTypeUI ui =
EditorExtensionManager.getDefault().getPublishPreferenceUI(publishMethodTypes[i].getId());
- deployAdditions.add(new DeployUIAdditions(publishMethodTypes[i], ui));
- }
- }
-
- private Control createPublishMethodSection(Composite parent) {
- loadDeployTypeData();
-
+
+ public void createSection(Composite parent) {
+ super.createSection(parent);
FormToolkit toolkit2 = new FormToolkit(parent.getDisplay());
- publishTypeSection = toolkit2.createSection(parent,
+ Section publishTypeSection = toolkit2.createSection(parent,
ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
| ExpandableComposite.TITLE_BAR);
publishTypeSection.setText("Server Behaviour");
- Composite c = toolkit2.createComposite(publishTypeSection);
+ Control c = createPublishMethodComposite(publishTypeSection);
publishTypeSection.setClient(c);
publishTypeSection.setLayoutData(new GridData(GridData.FILL_HORIZONTAL |
GridData.VERTICAL_ALIGN_FILL));
- c.setLayout(new FormLayout());
- deployTypeCombo = new Combo(c, SWT.DEFAULT);
- FormData fd = UIUtil.createFormData2(0, 5, null, 0, 0, 5, 50, -5);
- deployTypeCombo.setLayoutData(fd);
-
-
- preferencePageBook = toolkit2.createPageBook(c, SWT.FLAT|SWT.TOP);
- preferencePageBook.setLayoutData(UIUtil.createFormData2(
- deployTypeCombo, 5, 0, 150, 0, 5, 100, -5));
-
- // fill widgets
- String[] nameList = new String[deployAdditions.size()];
- for( int i = 0; i < nameList.length; i++ ) {
- nameList[i] = deployAdditions.get(i).getPublishType().getName();
- }
- deployTypeCombo.setItems(nameList);
- DeployableServerBehavior ds =
ServerConverter.getDeployableServerBehavior(server.getOriginal());
- if( ds != null ) {
- String current = ds.createPublishMethod().getPublishMethodType().getName();
- int index = deployTypeCombo.indexOf(current);
- if( index != -1 )
- deployTypeCombo.select(index);
- }
- deployTypeCombo.addModifyListener(new ModifyListener(){
- public void modifyText(ModifyEvent e) {
- deployTypeChanged(true);
- }});
- deployTypeChanged(false);
- return publishTypeSection;
}
-
- private void deployTypeChanged(boolean fireEvent) {
- int index = deployTypeCombo.getSelectionIndex();
- if( index != -1 ) {
- DeployUIAdditions ui = deployAdditions.get(index);
- if( !ui.isRegistered()) {
- Composite newRoot = preferencePageBook.createPage(ui);
- ui.createComposite(newRoot);
- }
- preferencePageBook.showPage(ui);
- if( fireEvent ) {
- commandManager.execute(new ChangeServerPropertyCommand(
- server, IDeployableServer.SERVER_MODE,
- ui.getPublishType().getId(), "Change server mode"));
- }
- } else {
- // null selection
- }
- }
-
- public static class ChangeServerPropertyCommand extends ServerCommand {
- private IServerWorkingCopy server;
- private String key;
- private String oldVal;
- private String newVal;
- public ChangeServerPropertyCommand(IServerWorkingCopy server, String key, String val,
String commandName) {
- this(server, key, val, LocalPublishMethod.LOCAL_PUBLISH_METHOD, commandName);
- }
-
- public ChangeServerPropertyCommand(IServerWorkingCopy server, String key, String val,
String oldDefault, String commandName) {
- super(server, commandName);
- this.server = server;
- this.key = key;
- this.newVal = val;
- this.oldVal = server.getAttribute(key, oldDefault);
- }
-
- public void execute() {
- server.setAttribute(key, newVal);
- }
- public void undo() {
- server.setAttribute(key, oldVal);
- }
+ private Composite createPublishMethodComposite(Composite parent) {
+ return new ServerModeSectionComposite(parent, SWT.None, getUICallback());
}
-
}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/editor/ServerModeSectionComposite.java 2010-09-30
09:30:12 UTC (rev 25319)
@@ -0,0 +1,170 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.ui.editor;
+
+import java.util.ArrayList;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledPageBook;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.core.util.SocketUtil;
+import org.eclipse.wst.server.ui.internal.command.ServerCommand;
+import org.jboss.ide.eclipse.as.core.ExtensionManager;
+import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
+import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
+import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+import org.jboss.ide.eclipse.as.ui.UIUtil;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
+
+public class ServerModeSectionComposite extends Composite {
+ private ArrayList<DeployUIAdditions> deployAdditions;
+ private Combo deployTypeCombo;
+ private ScrolledPageBook preferencePageBook;
+ private IServerModeUICallback callback;
+
+ public ServerModeSectionComposite(Composite parent, int style, IServerModeUICallback
callback) {
+ super(parent, style);
+ this.callback = callback;
+ loadDeployTypeData();
+ FormToolkit toolkit2 = new FormToolkit(parent.getDisplay());
+ setLayout(new FormLayout());
+ deployTypeCombo = new Combo(this, SWT.DEFAULT);
+ FormData fd = UIUtil.createFormData2(0, 5, null, 0, 0, 5, 50, -5);
+ deployTypeCombo.setLayoutData(fd);
+
+
+ preferencePageBook = toolkit2.createPageBook(this, SWT.FLAT|SWT.TOP);
+ preferencePageBook.setLayoutData(UIUtil.createFormData2(
+ deployTypeCombo, 5, 0, 150, 0, 5, 100, -5));
+
+ // fill widgets
+ String[] nameList = new String[deployAdditions.size()];
+ for( int i = 0; i < nameList.length; i++ ) {
+ nameList[i] = deployAdditions.get(i).getPublishType().getName();
+ }
+ deployTypeCombo.setItems(nameList);
+ DeployableServerBehavior ds =
ServerConverter.getDeployableServerBehavior(callback.getServer().getOriginal());
+ String current = null;
+ if( ds != null ) {
+ current = ds.createPublishMethod().getPublishMethodType().getName();
+ } else {
+ String host = callback.getServer().getHost();
+ if( SocketUtil.isLocalhost(host)) {
+ current =
ExtensionManager.getDefault().getPublishMethod(LocalPublishMethod.LOCAL_PUBLISH_METHOD).getName();
+ } else {
+ // socket is not localhost, hard code this for now
+ current = ExtensionManager.getDefault().getPublishMethod("rse").getName();
+ }
+ }
+ if( current != null ) {
+ int index = deployTypeCombo.indexOf(current);
+ if( index != -1 )
+ deployTypeCombo.select(index);
+ }
+ deployTypeCombo.addModifyListener(new ModifyListener(){
+ public void modifyText(ModifyEvent e) {
+ deployTypeChanged(true);
+ }});
+ deployTypeChanged(false);
+ }
+
+ private class DeployUIAdditions {
+ private IJBossServerPublishMethodType publishType;
+ private IDeploymentTypeUI ui;
+ private boolean registered = false;
+ public DeployUIAdditions(IJBossServerPublishMethodType type,IDeploymentTypeUI ui) {
+ this.publishType = type;
+ this.ui = ui;
+ }
+ public boolean isRegistered() {
+ return registered;
+ }
+ public IJBossServerPublishMethodType getPublishType() {
+ return publishType;
+ }
+ public void createComposite(Composite parent) {
+ // UI can be null
+ if( ui != null ) {
+ ui.fillComposite(parent, callback);
+ registered = true;
+ } else {
+ parent.setLayout(new FillLayout());
+ Composite child = new Composite(parent, SWT.None);
+ child.setLayout(new FormLayout());
+ }
+ }
+ }
+
+ private void loadDeployTypeData() {
+ deployAdditions = new ArrayList<DeployUIAdditions>();
+ IJBossServerPublishMethodType[] publishMethodTypes =
ExtensionManager.getDefault().findPossiblePublishMethods(callback.getServer().getServerType());
+ for( int i = 0; i < publishMethodTypes.length; i++) {
+ IDeploymentTypeUI ui =
EditorExtensionManager.getDefault().getPublishPreferenceUI(publishMethodTypes[i].getId());
+ deployAdditions.add(new DeployUIAdditions(publishMethodTypes[i], ui));
+ }
+ }
+
+ private void deployTypeChanged(boolean fireEvent) {
+ int index = deployTypeCombo.getSelectionIndex();
+ if( index != -1 ) {
+ DeployUIAdditions ui = deployAdditions.get(index);
+ if( !ui.isRegistered()) {
+ Composite newRoot = preferencePageBook.createPage(ui);
+ ui.createComposite(newRoot);
+ }
+ preferencePageBook.showPage(ui);
+ if( fireEvent ) {
+ callback.execute(new ChangeServerPropertyCommand(
+ callback.getServer(), IDeployableServer.SERVER_MODE,
+ ui.getPublishType().getId(), "Change server mode"));
+ }
+ } else {
+ // null selection
+ }
+ }
+
+
+ public static class ChangeServerPropertyCommand extends ServerCommand {
+ private IServerWorkingCopy server;
+ private String key;
+ private String oldVal;
+ private String newVal;
+ public ChangeServerPropertyCommand(IServerWorkingCopy server, String key, String val,
String commandName) {
+ this(server, key, val, LocalPublishMethod.LOCAL_PUBLISH_METHOD, commandName);
+ }
+
+ public ChangeServerPropertyCommand(IServerWorkingCopy server, String key, String val,
String oldDefault, String commandName) {
+ super(server, commandName);
+ this.server = server;
+ this.key = key;
+ this.newVal = val;
+ this.oldVal = server.getAttribute(key, oldDefault);
+ }
+
+ public void execute() {
+ server.setAttribute(key, newVal);
+ }
+ public void undo() {
+ server.setAttribute(key, oldVal);
+ }
+ }
+}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java 2010-09-30
04:45:41 UTC (rev 25318)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java 2010-09-30
09:30:12 UTC (rev 25319)
@@ -21,6 +21,8 @@
package org.jboss.ide.eclipse.as.ui.wizards;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.IUndoableOperation;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
@@ -28,6 +30,7 @@
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
@@ -47,6 +50,8 @@
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
import org.jboss.ide.eclipse.as.ui.JBossServerUISharedImages;
import org.jboss.ide.eclipse.as.ui.Messages;
+import org.jboss.ide.eclipse.as.ui.editor.IDeploymentTypeUI.IServerModeUICallback;
+import org.jboss.ide.eclipse.as.ui.editor.ServerModeSectionComposite;
/**
*
@@ -68,13 +73,6 @@
public Composite createComposite(Composite parent, IWizardHandle handle) {
this.handle = handle;
-
- Composite main = new Composite(parent, SWT.NONE);
- main.setLayout(new FormLayout());
-
- createExplanationLabel(main);
- createRuntimeGroup(main);
-
// make modifications to parent
handle.setTitle(Messages.swf_Title);
handle.setImageDescriptor (getImageDescriptor());
@@ -86,6 +84,14 @@
version);
handle.setDescription(description);
+
+ Composite main = new Composite(parent, SWT.NONE);
+ main.setLayout(new FormLayout());
+
+ createExplanationLabel(main);
+ createRuntimeGroup(main);
+ createBehaviourGroup(main);
+
return main;
}
@@ -154,6 +160,36 @@
configValLabel.setLayoutData(d);
}
+ protected void createBehaviourGroup(Composite main) {
+ Group g = new Group(main, SWT.NONE);
+ g.setText("Server Behaviour");
+ FormData groupData = new FormData();
+ groupData.left = new FormAttachment(0,5);
+ groupData.right = new FormAttachment(100, -5);
+ groupData.top = new FormAttachment(runtimeGroup, 5);
+ groupData.bottom = new FormAttachment(100,-5);
+ g.setLayoutData(groupData);
+
+ g.setLayout(new FillLayout());
+ Composite child = new ServerModeSectionComposite(g, SWT.NONE, new
NewServerWizardBehaviourCallback());
+ }
+
+ private class NewServerWizardBehaviourCallback implements IServerModeUICallback {
+ public IRuntime getRuntime() {
+ return (IRuntime) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
+ }
+ public IServerWorkingCopy getServer() {
+ return (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
+ }
+ public void execute(IUndoableOperation operation) {
+ try {
+ operation.execute(new NullProgressMonitor(), null);
+ } catch(ExecutionException ee) {
+ // TODO
+ }
+ }
+ }
+
private void updateErrorMessage() {
String error = getErrorString();
if( error == null ) {