[jbosstools-commits] JBoss Tools SVN: r35652 - trunk/as/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Oct 14 04:32:07 EDT 2011


Author: rob.stryker at jboss.com
Date: 2011-10-14 04:32:06 -0400 (Fri, 14 Oct 2011)
New Revision: 35652

Modified:
   trunk/as/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizardModel.java
Log:
JBIDE-9793 - auto-adding projects / modules to the created server

Modified: trunk/as/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizardModel.java
===================================================================
--- trunk/as/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizardModel.java	2011-10-14 08:08:24 UTC (rev 35651)
+++ trunk/as/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizardModel.java	2011-10-14 08:32:06 UTC (rev 35652)
@@ -13,8 +13,11 @@
 import java.io.File;
 import java.lang.reflect.InvocationTargetException;
 import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
@@ -22,6 +25,7 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.egit.core.RepositoryUtil;
 import org.eclipse.egit.core.op.CloneOperation;
@@ -31,9 +35,12 @@
 import org.eclipse.jgit.transport.JschConfigSessionFactory;
 import org.eclipse.jgit.transport.URIish;
 import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.core.ServerUtil;
 import org.jboss.ide.eclipse.as.core.util.FileUtil;
 import org.jboss.tools.common.ui.databinding.ObservableUIPojo;
 import org.jboss.tools.openshift.express.client.IApplication;
@@ -149,7 +156,7 @@
 					File gitFolder = new File(projectFolder, Constants.DOT_GIT);
 					connectToGitRepo(importedProjects, gitFolder, monitor);
 
-					createServerAdapterIfRequired();
+					createServerAdapterIfRequired(importedProjects);
 					return Status.OK_STATUS;
 				} catch (Exception e) {
 					IStatus status = new Status(IStatus.ERROR, OpenshiftUIActivator.PLUGIN_ID,
@@ -218,8 +225,7 @@
 		Activator.getDefault();
 	}
 
-	private void createServerAdapterIfRequired() {
-		// TODO
+	private void createServerAdapterIfRequired(List<IProject> importedProjects) {
 		Boolean b = (Boolean)getProperty(AdapterWizardPageModel.CREATE_SERVER);
 		if( b != null && b.booleanValue() ) {
 			IServerType type = (IServerType)getProperty(AdapterWizardPageModel.SERVER_TYPE);
@@ -231,6 +237,21 @@
 				ExpressServerUtils.fillServerWithOpenshiftDetails(server, getApplication().getApplicationUrl(), 
 						getUser().getRhlogin(), getUser().getPassword(), 
 						getUser().getDomain().getRhcDomain(), getApplication().getName(), mode);
+				
+				// Now add the projects
+				Iterator<IProject> i = importedProjects.iterator();
+				ArrayList<IModule> toAdd = new ArrayList<IModule>();
+				while(i.hasNext()) {
+					IProject p = i.next();
+					IModule[] m = ServerUtil.getModules(p);
+					if( m != null && m.length > 0 ) {
+						toAdd.addAll(Arrays.asList(m));
+					}
+				}
+				IServerWorkingCopy wc = server.createWorkingCopy();
+				IModule[] add = toAdd.toArray(new IModule[toAdd.size()]);
+				wc.modifyModules(add, new IModule[0], new NullProgressMonitor());
+				server = wc.save(true, new NullProgressMonitor());
 			} catch(CoreException ce) {
 				OpenshiftUIActivator.getDefault().getLog().log(ce.getStatus());
 			} catch( OpenshiftException ose) {



More information about the jbosstools-commits mailing list