Esempio n. 1
0
 /* (non-Javadoc)
  * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
  */
 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
   if (this.viewer == null) {
     MakeCorePlugin.getDefault().getTargetManager().addListener(this);
   }
   this.viewer = (StructuredViewer) viewer;
   IWorkspace oldWorkspace = null;
   IWorkspace newWorkspace = null;
   if (oldInput instanceof IWorkspace) {
     oldWorkspace = (IWorkspace) oldInput;
   } else if (oldInput instanceof IContainer) {
     oldWorkspace = ((IContainer) oldInput).getWorkspace();
   } else if (oldInput instanceof TargetSourceContainer) {
     oldWorkspace = ((TargetSourceContainer) oldInput).getContainer().getWorkspace();
   }
   if (newInput instanceof IWorkspace) {
     newWorkspace = (IWorkspace) newInput;
   } else if (newInput instanceof IContainer) {
     newWorkspace = ((IContainer) newInput).getWorkspace();
   } else if (newInput instanceof TargetSourceContainer) {
     newWorkspace = ((TargetSourceContainer) newInput).getContainer().getWorkspace();
   }
   if (oldWorkspace != newWorkspace) {
     ICProjectDescriptionManager mngr = CoreModel.getDefault().getProjectDescriptionManager();
     if (oldWorkspace != null) {
       InstanceScope.INSTANCE.getNode(CCorePlugin.PLUGIN_ID).removePreferenceChangeListener(this);
       mngr.removeCProjectDescriptionListener(this);
       oldWorkspace.removeResourceChangeListener(this);
     }
     if (newWorkspace != null) {
       newWorkspace.addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
       mngr.addCProjectDescriptionListener(this, CProjectDescriptionEvent.APPLIED);
       InstanceScope.INSTANCE.getNode(CCorePlugin.PLUGIN_ID).addPreferenceChangeListener(this);
     }
   }
 }
 @Override
 public void stop(BundleContext context) throws Exception {
   if (overlayresourceChangeListener != null) {
     IWorkspace workspace = ResourcesPlugin.getWorkspace();
     workspace.removeResourceChangeListener(overlayresourceChangeListener);
   }
   super.stop(context);
 }
 /** Destructor */
 public void terminate() {
   IWorkspace ws = ResourcesPlugin.getWorkspace();
   ws.removeResourceChangeListener(this);
   if (this.loadedSpec != null
       && PreferenceStoreHelper.getInstancePreferenceStore()
           .getBoolean(IPreferenceConstants.I_RESTORE_LAST_SPEC)) {
     PreferenceStoreHelper.getInstancePreferenceStore()
         .setValue(IPreferenceConstants.I_SPEC_LOADED, this.loadedSpec.getName());
   } else {
     PreferenceStoreHelper.getInstancePreferenceStore()
         .setValue(IPreferenceConstants.I_SPEC_LOADED, "");
   }
 }
Esempio n. 4
0
  public void uninstall() {
    IWorkbenchPartSite site = fEditor.getSite();
    IWorkbenchWindow window = site.getWorkbenchWindow();
    window.getPartService().removePartListener(fPartListener);
    fPartListener = null;

    fViewer.removeTextInputListener(fModelListener);
    fModelListener = null;

    IWorkspace workspace = EDTUIPlugin.getWorkspace();
    workspace.removeResourceChangeListener(fResourceChangeListener);
    fResourceChangeListener = null;

    EDTUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPropertyListener);
    fPropertyListener = null;

    synchronized (this) {
      BackgroundThread bt = fThread;
      fThread = null;
      bt.cancel();
    }
  }
Esempio n. 5
0
  void controlJSPIndexing(boolean enable) {
    if (fgJSPIndexingIsEnabled != enable) {
      fgJSPIndexingIsEnabled = enable;
      IWorkspace workspace = ResourcesPlugin.getWorkspace();
      if (enable) {

        IResourceProxyVisitor visitor =
            new IResourceProxyVisitor() {
              public boolean visit(IResourceProxy proxy) throws CoreException {
                String name = proxy.getName();
                int pos = name.lastIndexOf('.');
                if (pos >= 0) {
                  String extension = name.substring(pos + 1);
                  if (JSP_TYPE.equalsIgnoreCase(extension)) {
                    IResource r = proxy.requestResource();
                    if (r instanceof IFile) jspAdded((IFile) r);
                  }
                }
                return true;
              }
            };
        try {
          workspace.getRoot().accept(visitor, 0);
        } catch (CoreException e) {
          log("visiting jsp files", e); // $NON-NLS-1$
        }

        workspace.addResourceChangeListener(
            this,
            //					IResourceChangeEvent.PRE_AUTO_BUILD |
            //					IResourceChangeEvent.POST_AUTO_BUILD |
            IResourceChangeEvent.POST_CHANGE
                | IResourceChangeEvent.PRE_DELETE
                | IResourceChangeEvent.PRE_CLOSE);
      } else {
        workspace.removeResourceChangeListener(this);
      }
    }
  }
 protected final RefactoringStatus performRefactoring(Refactoring ref, boolean providesUndo)
     throws Exception {
   performDummySearch();
   IUndoManager undoManager = getUndoManager();
   if (DESCRIPTOR_TEST) {
     final CreateChangeOperation create =
         new CreateChangeOperation(
             new CheckConditionsOperation(ref, CheckConditionsOperation.ALL_CONDITIONS),
             RefactoringStatus.FATAL);
     create.run(new NullProgressMonitor());
     RefactoringStatus checkingStatus = create.getConditionCheckingStatus();
     if (!checkingStatus.isOK()) return checkingStatus;
     Change change = create.getChange();
     ChangeDescriptor descriptor = change.getDescriptor();
     if (descriptor instanceof RefactoringChangeDescriptor) {
       RefactoringChangeDescriptor rcd = (RefactoringChangeDescriptor) descriptor;
       RefactoringDescriptor refactoringDescriptor = rcd.getRefactoringDescriptor();
       if (refactoringDescriptor instanceof JavaRefactoringDescriptor) {
         JavaRefactoringDescriptor jrd = (JavaRefactoringDescriptor) refactoringDescriptor;
         RefactoringStatus validation = jrd.validateDescriptor();
         if (!validation.isOK()) return validation;
         RefactoringStatus refactoringStatus = new RefactoringStatus();
         Class expected = jrd.getClass();
         RefactoringContribution contribution =
             RefactoringCore.getRefactoringContribution(jrd.getID());
         jrd =
             (JavaRefactoringDescriptor)
                 contribution.createDescriptor(
                     jrd.getID(),
                     jrd.getProject(),
                     jrd.getDescription(),
                     jrd.getComment(),
                     contribution.retrieveArgumentMap(jrd),
                     jrd.getFlags());
         assertEquals(expected, jrd.getClass());
         ref = jrd.createRefactoring(refactoringStatus);
         if (!refactoringStatus.isOK()) return refactoringStatus;
         TestRenameParticipantSingle.reset();
         TestCreateParticipantSingle.reset();
         TestMoveParticipantSingle.reset();
         TestDeleteParticipantSingle.reset();
       }
     }
   }
   final CreateChangeOperation create =
       new CreateChangeOperation(
           new CheckConditionsOperation(ref, CheckConditionsOperation.ALL_CONDITIONS),
           RefactoringStatus.FATAL);
   final PerformChangeOperation perform = new PerformChangeOperation(create);
   perform.setUndoManager(undoManager, ref.getName());
   IWorkspace workspace = ResourcesPlugin.getWorkspace();
   if (fIsPreDeltaTest) {
     IResourceChangeListener listener =
         new IResourceChangeListener() {
           public void resourceChanged(IResourceChangeEvent event) {
             if (create.getConditionCheckingStatus().isOK() && perform.changeExecuted()) {
               TestModelProvider.assertTrue(event.getDelta());
             }
           }
         };
     try {
       TestModelProvider.clearDelta();
       workspace.checkpoint(false);
       workspace.addResourceChangeListener(listener);
       executePerformOperation(perform, workspace);
     } finally {
       workspace.removeResourceChangeListener(listener);
     }
   } else {
     executePerformOperation(perform, workspace);
   }
   RefactoringStatus status = create.getConditionCheckingStatus();
   if (!status.isOK()) return status;
   assertTrue("Change wasn't executed", perform.changeExecuted());
   Change undo = perform.getUndoChange();
   if (providesUndo) {
     assertNotNull("Undo doesn't exist", undo);
     assertTrue("Undo manager is empty", undoManager.anythingToUndo());
   } else {
     assertNull("Undo manager contains undo but shouldn't", undo);
   }
   return null;
 }