[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Another JavaSVN move refactoring issue

From: Alexander Kitaev <alex_at_tmate.org>
Date: 2005-03-09 00:40:51 CET

Hello Bill,

As I could see from the stacktrace this is Subclipse problem, not JavaSVN
one. (there are even no "org.tmatesoft.*" classes in the trace).
I got similar exceptions on reverting file scheduled for addition and posted
it here some time ago. The root exception is:

Caused by: java.lang.NullPointerException
        at
org.tigris.subversion.subclipse.core.client.OperationManager.endOperation(Op
erationManager.java:95)

The method body is:

  public void endOperation() throws SVNException {
    try {
      if (lock.getNestingCount() == 1) {
                svnClient.removeNotifyListener(this);
                for (Iterator it = changedResources.iterator();it.hasNext();
) {
                    IResource resource = (IResource)it.next();
                    try {
            // .svn directory will be refreshed so all files in the
directory including resource will
            // be refreshed later (@see SyncFileChangeListener)
                        resource.refreshLocal(IResource.DEPTH_INFINITE,new
NullProgressMonitor());
            if(Policy.DEBUG_METAFILE_CHANGES) {
              System.out.println("[svn] .svn dir refreshed : " +
resource.getFullPath()); //$NON-NLS-1$
            }
                    } catch (CoreException e) {
                        throw SVNException.wrapException(e);
                    }
                }
      }
    } finally {
      lock.release();
    }
  }

I suppose, that the only possibility to get NPE in the code above is to add
"null" to the changedResources set (it is HashSet that permits "null"
values).
So, I think that though JavaSVN contains bugs :), not all Subclipse problems
are caused by JavaSVN.

Alexander Kitaev.

> -----Original Message-----
> From: news [mailto:news@sea.gmane.org] On Behalf Of Bill Wohler
> Sent: Tuesday, March 08, 2005 8:01 PM
> To: users@subclipse.tigris.org
> Subject: Another JavaSVN move refactoring issue
>
>
> I hit another problem today with the move refactoring. When I
> moved a class up a package, the refactoring moved the file,
> but it stopped before updating the package declaration in the
> file. The dialog remained up, as before.
>
> I'm on Linux, running JavaSVN 0.8.5.
>
> Here is the trace. Looks like the fix will be similar as
> before, but in a different place.
>
> !ENTRY org.eclipse.ui 4 4 2005-03-08 10:48:51.218
> !MESSAGE Unhandled event loop exception
>
> !ENTRY org.eclipse.ui 4 0 2005-03-08 10:48:51.218
> !MESSAGE Failed to execute runnable
> (java.lang.NullPointerException) !STACK 0
> org.eclipse.swt.SWTException: Failed to execute runnable
> (java.lang.NullPointerException)
> at org.eclipse.swt.SWT.error(SWT.java:2839)
> at org.eclipse.swt.SWT.error(SWT.java:2762)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchron
> izer.java:121)
> at
> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2705)
> at
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2430)
> at
> org.eclipse.jface.operation.ModalContext$ModalContextThread.bl
ock(ModalContext.java:151)
> at
> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:301)
> at
> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialo
> g2.run(RefactoringWizardDialog2.java:282)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerfo
> rmFinish(RefactoringWizard.java:544)
> at
> org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFini
> sh(UserInputWizardPage.java:153)
> at
> org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveWizard$
MoveInputPage.performFinish(ReorgMoveWizard.java:106)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish
> (RefactoringWizard.java:610)
> at
> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialo
> g2.okPressed(RefactoringWizardDialog2.java:406)
> at
> org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:396)
> at
> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:543)
> at
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListene
r.java:89)
> at
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1009)
> at
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2728)
> at
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2427)
> at
> org.eclipse.jface.window.Window.runEventLoop(Window.java:718)
> at org.eclipse.jface.window.Window.open(Window.java:696)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$
1.run(RefactoringWizardOpenOperation.java:125)
> at
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.j
ava:69) at >
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.
> run(RefactoringWizardOpenOperation.java:138)
> at
> org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringSta
> rter.activate(RefactoringStarter.java:40)
> at
> org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction.
> startRefactoring(ReorgMoveAction.java:139)
> at
> org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction.
> run(ReorgMoveAction.java:121)
> at
> org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun
> (SelectionDispatchAction.java:212)
> at
> org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selecti
onDispatchAction.java:188)
> at
> org.eclipse.jdt.ui.actions.MoveAction.run(MoveAction.java:130)
> at
> org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun
> (SelectionDispatchAction.java:212)
> at
> org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selecti
onDispatchAction.java:188)
> at
> org.eclipse.jface.action.Action.runWithEvent(Action.java:1003)
> at
> org.eclipse.jface.action.ActionContributionItem.handleWidgetSe
> lection(ActionContributionItem.java:557)
> at
> org.eclipse.jface.action.ActionContributionItem.access$2(Actio
nContributionItem.java:507)
> at
> org.eclipse.jface.action.ActionContributionItem$6.handleEvent(
ActionContributionItem.java:421)
> at
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1009)
> at
> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2728)
> at
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2427)
> at
> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1612)
> at
> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1578)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbe
> nch.java:293)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144)
> at
> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.
java:102)
> at
> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Plat
formActivator.java:228)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseSta
rter.java:333)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseSta
rter.java:150)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> orImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> odAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> org.eclipse.core.launcher.Main.invokeFramework(Main.java:268)
> at org.eclipse.core.launcher.Main.basicRun(Main.java:260)
> at org.eclipse.core.launcher.Main.run(Main.java:887)
> at org.eclipse.core.launcher.Main.main(Main.java:871)
> Caused by: java.lang.NullPointerException
> at
> org.tigris.subversion.subclipse.core.client.OperationManager.e
> ndOperation(OperationManager.java:95)
> at
> org.tigris.subversion.subclipse.core.resources.SVNMoveDeleteHo
> ok.moveFile(SVNMoveDeleteHook.java:154)
> at
> org.eclipse.team.internal.core.MoveDeleteManager.moveFile(Move
> DeleteManager.java:87)
> at
> org.eclipse.core.internal.resources.Resource.unprotectedMove(R
esource.java:1589)
> at
> org.eclipse.core.internal.resources.Resource.move(Resource.jav
a:1216) at >
org.eclipse.jdt.internal.core.CopyResourceElementsOperation.pr
> ocessCompilationUnitResource(CopyResourceElementsOperation.java:264)
> at
> org.eclipse.jdt.internal.core.CopyResourceElementsOperation.pr
> ocessElement(CopyResourceElementsOperation.java:336)
> at
> org.eclipse.jdt.internal.core.MultiOperation.processElements(M
ultiOperation.java:162)
> at
> org.eclipse.jdt.internal.core.CopyResourceElementsOperation.pr
> ocessElements(CopyResourceElementsOperation.java:354)
> at
> org.eclipse.jdt.internal.core.MultiOperation.executeOperation(
MultiOperation.java:90)
> at
> org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModel
Operation.java:710)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1702)
> at
> org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(
JavaModelOperation.java:766)
> at
> org.eclipse.jdt.internal.core.JavaModel.runOperation(JavaModel
.java:315)
> at
> org.eclipse.jdt.internal.core.JavaModel.move(JavaModel.java:276)
> at
> org.eclipse.jdt.internal.core.CompilationUnit.move(Compilation
Unit.java:975)
> at
> org.eclipse.jdt.internal.corext.refactoring.changes.MoveCompil
> ationUnitChange.doPerformReorg(MoveCompilationUnitChange.java:54)
> at
> org.eclipse.jdt.internal.corext.refactoring.changes.Compilatio
> nUnitReorgChange.perform(CompilationUnitReorgChange.java:62)
> at
> org.eclipse.ltk.core.refactoring.CompositeChange.perform(Compo
> siteChange.java:270)
> at
> org.eclipse.jdt.internal.corext.refactoring.changes.DynamicVal
> idationStateChange.access$0(DynamicValidationStateChange.java:1)
> at
> org.eclipse.jdt.internal.corext.refactoring.changes.DynamicVal
> idationStateChange$1.run(DynamicValidationStateChange.java:76)
> at
> org.eclipse.jdt.internal.core.BatchOperation.executeOperation(
BatchOperation.java:34)
> at
> org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModel
Operation.java:710)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1702)
> at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3588)
> at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3545)
> at
> org.eclipse.jdt.internal.corext.refactoring.changes.DynamicVal
> idationStateChange.perform(DynamicValidationStateChange.java:79)
> at
> org.eclipse.jdt.internal.corext.refactoring.reorg.JavaMoveProc
> essor$1.perform(JavaMoveProcessor.java:199)
> at
> org.eclipse.ltk.core.refactoring.CompositeChange.perform(Compo
> siteChange.java:270)
> at
> org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(
PerformChangeOperation.java:231)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1702)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1722)
> at
> org.eclipse.ltk.core.refactoring.PerformChangeOperation.execut
> eChange(PerformChangeOperation.java:279)
> at
> org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperati
> on.access$1(UIPerformChangeOperation.java:1)
> at
> org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperati
> on$1.run(UIPerformChangeOperation.java:60)
> at
> org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchron
> izer.java:118)
> ... 54 more
>
> --
> Bill Wohler <wohler_at_newt.com> http://www.newt.com/wohler/
> GnuPG ID:610BD9AD Maintainer of comp.mail.mh FAQ and MH-E.
> Vote Libertarian! If you're passed on the right, you're in
> the wrong lane.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subclipse.tigris.org
> For additional commands, e-mail: users-help@subclipse.tigris.org
>
>
Received on Wed Mar 9 10:40:51 2005

This is an archived mail posted to the Subclipse Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.