1 19 20 package ca.mcgill.sable.soot.launching; 21 22 import java.util.ArrayList ; 23 import java.util.Iterator ; 24 25 import org.eclipse.core.resources.IFile; 26 import org.eclipse.core.resources.IFolder; 27 import org.eclipse.core.resources.IProject; 28 import org.eclipse.core.resources.IResource; 29 import org.eclipse.core.runtime.CoreException; 30 import org.eclipse.ui.IEditorPart; 31 import org.eclipse.ui.IWorkbenchPage; 32 import org.eclipse.ui.IWorkbenchWindow; 33 import org.eclipse.ui.part.*; 34 35 import ca.mcgill.sable.soot.SootPlugin; 36 37 41 public class SootOutputFilesHandler { 42 43 private IFolder sootOutputFolder; 44 private ArrayList oldFilelist; 45 private ArrayList newFilelist; 46 private IWorkbenchWindow window; 47 private ArrayList beforeFileList; 48 49 50 53 public SootOutputFilesHandler(IWorkbenchWindow window) { 54 super(); 55 setWindow(window); 56 } 57 58 59 60 public void resetSootOutputFolder(IProject project) { 61 try { 62 setSootOutputFolder(project.getFolder("sootOutput")); 63 if (!getSootOutputFolder().exists()) { 64 getSootOutputFolder().create(false, true, null); 65 } 66 } 67 catch (Exception e1) { 68 System.out.println(e1.getMessage()); 69 } 70 } 71 72 public void refreshAll(IProject project){ 73 try{ 74 project.refreshLocal(IResource.DEPTH_INFINITE, null); 75 } 76 catch(CoreException e){ 77 System.out.println(e.getMessage()); 78 } 79 } 80 81 public void refreshFolder() { 82 try { 83 getSootOutputFolder().refreshLocal(IResource.DEPTH_INFINITE, null); 84 } 85 catch (CoreException e1) { 86 System.out.println(e1.getMessage()); 87 } 88 } 89 90 public void handleFilesChanged() { 91 92 if (getOldFilelist() != null) { 94 Iterator it = getOldFilelist().iterator(); 95 while (it.hasNext()) { 96 Object temp = it.next(); 97 if (temp instanceof IEditorPart) { 98 getWindow().getActivePage().closeEditor((IEditorPart)temp, true); 99 } 100 } 101 } 102 103 try { 104 IResource [] children = getSootOutputFolder().members(); 105 106 IWorkbenchWindow window = SootPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow(); 107 } 108 catch (Exception e) { 109 System.out.println("Open Editor ex: "+e.getMessage()); 110 System.out.println(e.getStackTrace()); 111 } 112 } 114 115 119 public IFolder getSootOutputFolder() { 120 return sootOutputFolder; 121 } 122 123 127 public void setSootOutputFolder(IFolder sootOutputFolder) { 128 this.sootOutputFolder = sootOutputFolder; 129 } 130 131 132 136 public ArrayList getNewFilelist() { 137 return newFilelist; 138 } 139 140 144 public ArrayList getOldFilelist() { 145 return oldFilelist; 146 } 147 148 152 public void setNewFilelist(ArrayList newFilelist) { 153 this.newFilelist = newFilelist; 154 } 155 156 160 public void setOldFilelist(ArrayList oldFilelist) { 161 this.oldFilelist = oldFilelist; 162 } 163 164 168 public IWorkbenchWindow getWindow() { 169 return window; 170 } 171 172 176 public void setWindow(IWorkbenchWindow window) { 177 this.window = window; 178 } 179 180 } 181 | Popular Tags |