[jbosstools-commits] JBoss Tools SVN: r30969 - trunk/forge/plugins/org.jboss.tools.seam.forge/src/org/jboss/tools/seam/forge/console.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Apr 29 10:14:09 EDT 2011


Author: koen.aers at jboss.com
Date: 2011-04-29 10:14:09 -0400 (Fri, 29 Apr 2011)
New Revision: 30969

Modified:
   trunk/forge/plugins/org.jboss.tools.seam.forge/src/org/jboss/tools/seam/forge/console/CommandRecorder.java
Log:
support 'persistence setup'

Modified: trunk/forge/plugins/org.jboss.tools.seam.forge/src/org/jboss/tools/seam/forge/console/CommandRecorder.java
===================================================================
--- trunk/forge/plugins/org.jboss.tools.seam.forge/src/org/jboss/tools/seam/forge/console/CommandRecorder.java	2011-04-29 13:38:37 UTC (rev 30968)
+++ trunk/forge/plugins/org.jboss.tools.seam.forge/src/org/jboss/tools/seam/forge/console/CommandRecorder.java	2011-04-29 14:14:09 UTC (rev 30969)
@@ -1,7 +1,20 @@
 package org.jboss.tools.seam.forge.console;
 
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.text.DocumentEvent;
 import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.part.ISetSelectionTarget;
 import org.jboss.tools.seam.forge.importer.ProjectImporter;
 
 public class CommandRecorder implements IDocumentListener {
@@ -58,6 +71,8 @@
 			return "pwd";
 		} else if ("new-project".equals(candidateCommand)) {
 			return "new-project";
+		} else if ("persistence".equals(candidateCommand)) {
+			return "persistence";
 		} else {
 			return null;
 		}
@@ -82,6 +97,30 @@
 			String projectDirName = projectPath.substring(index + 1);
 			String projectBaseDirPath = projectPath.substring(0, index);
 			new ProjectImporter(projectBaseDirPath, projectDirName).importProject();
+		} else if ("persistence".equals(currentCommand)) {
+			int index = beforePrompt.lastIndexOf("***SUCCESS*** Installed [forge.spec.jpa] successfully.\nWrote ");
+			if (index == -1) return;
+			String projectName = currentPrompt.substring(1, currentPrompt.indexOf(']'));
+			IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+			try {
+				project.refreshLocal(IResource.DEPTH_INFINITE, null);
+			} catch (CoreException e1) {
+				// TODO Auto-generated catch block
+				e1.printStackTrace();
+			}
+			try {
+				IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+				IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
+				IFile file = project.getFile("/src/main/resources/META-INF/persistence.xml");
+				IDE.openEditor(workbenchPage, file);
+				IViewPart packageExplorer = workbenchPage.showView("org.eclipse.jdt.ui.PackageExplorer"); 
+				if (packageExplorer instanceof ISetSelectionTarget) {
+					((ISetSelectionTarget)packageExplorer).selectReveal(new StructuredSelection(file));
+				}
+			} catch (PartInitException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
 		} else {
 			
 		}



More information about the jbosstools-commits mailing list