Author: rob.stryker(a)jboss.com
Date: 2011-11-01 06:22:03 -0400 (Tue, 01 Nov 2011)
New Revision: 36108
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/DeployAction.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/ServerActionMessages.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/messages.properties
Log:
JBIDE-9995 - trunk - add messagebox for 'make deployable'
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/META-INF/MANIFEST.MF 2011-11-01 09:45:38
UTC (rev 36107)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/META-INF/MANIFEST.MF 2011-11-01 10:22:03
UTC (rev 36108)
@@ -54,7 +54,8 @@
org.eclipse.jst.j2ee.core;bundle-version="1.2.100",
org.eclipse.wst.common.project.facet.ui;bundle-version="1.4.200",
org.jboss.ide.eclipse.as.wtp.core;bundle-version="2.3.0",
- org.eclipse.jst.common.project.facet.core;bundle-version="1.4.200"
+ org.eclipse.jst.common.project.facet.core;bundle-version="1.4.200",
+ org.eclipse.wst.common.emfworkbench.integration;bundle-version="1.2.100"
Bundle-ActivationPolicy: lazy
Export-Package: org.jboss.ide.eclipse.as.ui,
org.jboss.ide.eclipse.as.ui.dialogs,
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/DeployAction.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/DeployAction.java 2011-11-01
09:45:38 UTC (rev 36107)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/DeployAction.java 2011-11-01
10:22:03 UTC (rev 36108)
@@ -22,8 +22,10 @@
package org.jboss.ide.eclipse.as.ui.actions;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.Iterator;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
@@ -48,13 +50,17 @@
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.wst.common.componentcore.ModuleCoreNature;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.core.ServerUtil;
import org.eclipse.wst.server.core.internal.PublishServerJob;
import org.eclipse.wst.server.ui.internal.ImageResource;
import org.jboss.ide.eclipse.as.core.modules.SingleDeployableFactory;
@@ -135,7 +141,20 @@
IStructuredSelection sel2 = (IStructuredSelection)selection;
Object[] objs = sel2.toArray();
IModule[] modules = new IModule[objs.length];
+ HashSet<IProject> alreadyDeployable = new HashSet<IProject>();
for( int i = 0; i < objs.length; i++ ) {
+ IProject p = ((IResource)objs[i]).getProject();
+ IModule[] mods = ServerUtil.getModules(p);
+ if( mods != null && mods.length > 0 &&
ModuleCoreNature.isFlexibleProject(p))
+ alreadyDeployable.add(p);
+ }
+
+ if( alreadyDeployable.size() > 0 ) {
+ if( !showAreYouSureDialog(alreadyDeployable))
+ return;
+ }
+
+ for( int i = 0; i < objs.length; i++ ) {
SingleDeployableFactory.makeDeployable(((IResource)objs[i]).getFullPath());
modules[i] = SingleDeployableFactory.findModule(((IResource)objs[i]).getFullPath());
}
@@ -143,6 +162,23 @@
tryToPublish();
}
+ private boolean showAreYouSureDialog(HashSet<IProject> set) {
+ Iterator<IProject> i = set.iterator();
+ String projs = ""; //$NON-NLS-1$
+ while(i.hasNext())
+ projs += i.next().getName() + ", "; //$NON-NLS-1$
+ projs = projs.substring(0, projs.length() - 2);
+
+ int style = SWT.APPLICATION_MODAL | SWT.OK | SWT.CANCEL;
+ MessageBox messageBox = new MessageBox(Display.getCurrent().getActiveShell(), style);
+ messageBox.setText(ServerActionMessages.DeployActionMessageBoxTitle);
+ messageBox.setMessage(ServerActionMessages.DeployActionMessageBoxMsg);
+ if (messageBox.open() == SWT.OK) {
+ return true;
+ }
+ return false;
+ }
+
protected void makeUndeployable() {
IStructuredSelection sel2 = (IStructuredSelection)selection;
Object[] objs = sel2.toArray();
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/ServerActionMessages.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/ServerActionMessages.java 2011-11-01
09:45:38 UTC (rev 36107)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/ServerActionMessages.java 2011-11-01
10:22:03 UTC (rev 36108)
@@ -20,4 +20,6 @@
public static String CHANGE_TIME_STAMP_DEFAULT;
public static String ChangeTimeStampActionDelegate_cannot_unregister;
public static String ChangeTimeStampActionDelegate_could_not_register_project;
+ public static String DeployActionMessageBoxTitle;
+ public static String DeployActionMessageBoxMsg;
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/messages.properties
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/messages.properties 2011-11-01
09:45:38 UTC (rev 36107)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/actions/messages.properties 2011-11-01
10:22:03 UTC (rev 36108)
@@ -9,3 +9,5 @@
CHANGE_TIME_STAMP_DEFAULT=Restart Module
ChangeTimeStampActionDelegate_cannot_unregister=Cannot unregister project {0} from server
{1}
ChangeTimeStampActionDelegate_could_not_register_project=Could not register project {0}
+DeployActionMessageBoxTitle=Really mark these resources as deployable?
+DeployActionMessageBoxMsg=The selection's enclosing projects are already able to be
deployed to servers. Marking the selected resources as deployable may be neither necessary
nor desired. \n\nYou may prefer to right-click the project and select \n "run as
-> run on server"
Show replies by date