[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