diff --git a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/actions/InteractiveFeatureLocatorAction.java b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/actions/InteractiveFeatureLocatorAction.java index 8ab2517..35ca8c9 100644 --- a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/actions/InteractiveFeatureLocatorAction.java +++ b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/actions/InteractiveFeatureLocatorAction.java @@ -4,7 +4,7 @@ import interactivefeaturelocator.model.DerivationManager; import interactivefeaturelocator.model.Pattern; import interactivefeaturelocator.model.ProgressMonitor; -import interactivefeaturelocator.test.Test; +import interactivefeaturelocator.views.GUIUtil; import interactivefeaturelocator.views.InteractiveDerivationView; import interactivefeaturelocator.views.TraceView; diff --git a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/model/CallTreeGraphNode.java b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/model/CallTreeGraphNode.java index 79874dd..a47f96b 100644 --- a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/model/CallTreeGraphNode.java +++ b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/model/CallTreeGraphNode.java @@ -1,6 +1,6 @@ package interactivefeaturelocator.model; -import interactivefeaturelocator.test.Test; +import interactivefeaturelocator.views.GUIUtil; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.zest.core.widgets.GraphNode; @@ -24,15 +24,8 @@ public void highlight() { this.focus = true; - try { - Test test = new Test(); - System.out.println(this.getSize().height() + ", " + this.getSize().width()); - test.openEditor(this.getMethod()); - } catch (JavaModelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - + System.out.println(this.getSize().height() + ", " + this.getSize().width()); + GUIUtil.openEditor(this.getMethod()); } public MethodExecution getMethod() { diff --git a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/model/DerivationUnit.java b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/model/DerivationUnit.java index efb64f2..2058404 100644 --- a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/model/DerivationUnit.java +++ b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/model/DerivationUnit.java @@ -1,7 +1,7 @@ package interactivefeaturelocator.model; //import interactivefeaturelocator.layout.CallTreeLayout; -import interactivefeaturelocator.test.Test; +import interactivefeaturelocator.views.GUIUtil; import java.util.ArrayList; import java.util.HashSet; diff --git a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/test/Test.java b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/test/Test.java deleted file mode 100644 index 8c338e3..0000000 --- a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/test/Test.java +++ /dev/null @@ -1,110 +0,0 @@ -package interactivefeaturelocator.test; - -import java.io.File; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IJavaElement; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.IMethod; -import org.eclipse.jdt.core.IType; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jface.viewers.IDecoration; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -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.FileEditorInput; -import org.ntlab.trace.MethodExecution; - -public class Test { - private IJavaProject javaProject; - private IWorkspaceRoot root; - - public Test() throws JavaModelException { - root = ResourcesPlugin.getWorkspace().getRoot(); - IProject project = root.getProject("jedit"); - javaProject = JavaCore.create(project); - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - page.getActiveEditor(); -// System.out.println(javaProject.getChildren()[0].getElementName()); -// IFile file = new IFile("C:\\Users\\student\\Desktop\\fujioka\\workspace_FeatureLocation\\InteractiveFeatureLocator\\src\\interactivefeaturelocator\\test\\Test.java"); -// page.openEditor(input, editorId); -// IType type = javaProject.findType("org.gjt.sp.jedit.gui.LogViewer$MyFilteredListModel"); -// System.out.println(type.getDeclaringType().getElementName()); -// if (type.isClass()) { -// System.out.println("Class!"); -// IMethod[] methods = type.getMethods(); -// for (IMethod method : methods) { -// System.out.println(method.getElementName()); -//// method.get -// } -// } else { -// System.out.println("Not Class"); -// } - } - - public IMethod m(String methodSigniture) throws JavaModelException { - String[] fragments = methodSigniture.split("\\s", 3); - String signature = fragments[fragments.length-1]; - int n = signature.split("\\(")[0].lastIndexOf("."); - String classSignature = signature.substring(0, n); - String methodData = signature.substring(n+1); - String[] fragments2 = methodData.split("\\("); - String methodName = fragments2[0]; -// int m = fragments2[1].indexOf("\\)"); - String s = fragments2[1].substring(0, fragments2[1].length()-1); - String[] parameters = s.split(","); -// String[] parameters = fragments2[1].substring(0, fragments2[1].indexOf("\\)")).split(","); - IType type = javaProject.findType(classSignature); -// System.out.println(type.getDeclaringType().getElementName()); -// if (type.isClass()) { -// System.out.println("Class!"); -// IMethod[] methods = type.getMethods(); -// for (IMethod method : methods) { -// System.out.println(method.getElementName()); -//// method.get -// } -// } else { -// System.out.println("Not Class"); -// } -// System.out.println("type: " + type.getElementName()); - if (type.getMethods().length != 0) { - IMethod method = type.getMethod(methodName, parameters); - return method; - } - return null; - } - - public void openEditor(MethodExecution me) { - String signature = me.getSignature(); - System.out.println("Signature: " + signature); - IPath path = new Path("jEdit/org/gjt/sp/jedit/GUIUtilities.java"); - IFile file = root.getFile(path); - int line = 10; - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - try { - IMarker marker = file.createMarker(IMarker.TEXT); - marker.setAttribute(IMarker.LINE_NUMBER, line); -// IDE.openEditor(page, file); - IDE.openEditor(page, marker); - System.out.println("open: " + file.getName()); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } -} diff --git a/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/views/GUIUtil.java b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/views/GUIUtil.java new file mode 100644 index 0000000..d70eed3 --- /dev/null +++ b/org.ntlab.interactiveFeatureLocator/src/interactivefeaturelocator/views/GUIUtil.java @@ -0,0 +1,94 @@ +package interactivefeaturelocator.views; + +import java.io.File; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.jdt.core.IJavaElement; +import org.eclipse.jdt.core.IJavaProject; +import org.eclipse.jdt.core.IMethod; +import org.eclipse.jdt.core.IType; +import org.eclipse.jdt.core.JavaCore; +import org.eclipse.jdt.core.JavaModelException; +import org.eclipse.jface.viewers.IDecoration; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +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.FileEditorInput; +import org.ntlab.trace.MethodExecution; + +public class GUIUtil { + private static IJavaProject javaProject; + private static IWorkspaceRoot root; + static { + root = ResourcesPlugin.getWorkspace().getRoot(); + IProject project = root.getProject("jedit"); + javaProject = JavaCore.create(project); + IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); + page.getActiveEditor(); + } + + public IMethod m(String methodSigniture) throws JavaModelException { + String[] fragments = methodSigniture.split("\\s", 3); + String signature = fragments[fragments.length-1]; + int n = signature.split("\\(")[0].lastIndexOf("."); + String classSignature = signature.substring(0, n); + String methodData = signature.substring(n+1); + String[] fragments2 = methodData.split("\\("); + String methodName = fragments2[0]; +// int m = fragments2[1].indexOf("\\)"); + String s = fragments2[1].substring(0, fragments2[1].length()-1); + String[] parameters = s.split(","); +// String[] parameters = fragments2[1].substring(0, fragments2[1].indexOf("\\)")).split(","); + IType type = javaProject.findType(classSignature); +// System.out.println(type.getDeclaringType().getElementName()); +// if (type.isClass()) { +// System.out.println("Class!"); +// IMethod[] methods = type.getMethods(); +// for (IMethod method : methods) { +// System.out.println(method.getElementName()); +//// method.get +// } +// } else { +// System.out.println("Not Class"); +// } +// System.out.println("type: " + type.getElementName()); + if (type.getMethods().length != 0) { + IMethod method = type.getMethod(methodName, parameters); + return method; + } + return null; + } + + public static void openEditor(MethodExecution me) { + String signature = me.getSignature(); + System.out.println("Signature: " + signature); + IPath path = new Path("jEdit/org/gjt/sp/jedit/GUIUtilities.java"); + IFile file = root.getFile(path); + int line = 10; + IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); + try { + IMarker marker = file.createMarker(IMarker.TEXT); + marker.setAttribute(IMarker.LINE_NUMBER, line); +// IDE.openEditor(page, file); + IDE.openEditor(page, marker); + System.out.println("open: " + file.getName()); + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } +}