Login | Register
My pages Projects Community openCollabNet

Discussions > commits > subclipse svn commit: r5384 - trunk/subclipse: org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/client org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/commands org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/conflicts org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/operations

subclipse
Discussion topic

There will be a brief maintenance window every Friday at 17:00 Pacific.
For further details, see CollabNet's maintenance and upgrade policy.

Back to topic list

subclipse svn commit: r5384 - trunk/subclipse: org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/client org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/commands org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/conflicts org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/operations

Author selsemore
Full name Stephen Elsemore
Date 2012-04-19 13:57:08 PDT
Message Author: selsemore
Date: 2012-04-19 13:57:07-0700
New Revision: 5384

Modified:
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/client​/PeekStatusCommand.j​ava
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/AddResourcesComma​nd.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/CheckinResourcesC​ommand.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/LockResourcesComm​and.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/ResolveResourcesC​ommand.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/SwitchToUrlComman​d.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResource.ja​va
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/SVNWorkspaceRoot​.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.ui/src/org/t​igris/subversion/sub​clipse/ui/conflicts/​ResolveTreeConflictW​izard.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.ui/src/org/t​igris/subversion/sub​clipse/ui/operations​/BranchTagOperation.​java

Log:
Fix potential NPEs in finally blocks when client adapter has not been instantiated.
Issue #: 1408


Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/client​/PeekStatusCommand.j​ava
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/client/PeekSta​tusCommand.java?view​=diff&pathrev=53​84&r1=5383&r​2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/client​/PeekStatusCommand.j​ava (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/client​/PeekStatusCommand.j​ava 2012-04-19 13:57:07-0700
@@ -88,8 +88,10 @@
             throw SVNException.wrapException(e);
         }
         finally {
- client.removeNotifyListener( revisionListener );
- SVNProviderPlugin.ge​tPlugin().getSVNClie​ntManager().returnSV​NClient(client);
+ if (client != null) {
+ client.removeNotifyListener( revisionListener );
+ SVNProviderPlugin.ge​tPlugin().getSVNClie​ntManager().returnSV​NClient(client);
+ }
         }
     }
 

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/AddResourcesComma​nd.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/commands/AddRe​sourcesCommand.java?​view=diff&pathre​v=5384&r1=5383​&r2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/AddResourcesComma​nd.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/AddResourcesComma​nd.java 2012-04-19 13:57:07-0700
@@ -161,8 +161,10 @@
             Set<IResource> operationResources = operationResourceCol​lector.getOperationR​esources();
             OperationManager.get​Instance().endOperat​ion(true, operationResources);
             monitor.done();
- svnClient.removeNoti​fyListener(operation​ResourceCollector);
- root.getRepository()​.returnSVNClient(svn​Client);
+ if (svnClient != null) {
+ svnClient.removeNoti​fyListener(operation​ResourceCollector);
+ root.getRepository()​.returnSVNClient(svn​Client);
+ }
         }
     }
     

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/CheckinResourcesC​ommand.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/commands/Check​inResourcesCommand.j​ava?view=diff&pa​threv=5384&r1=53​83&r2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/CheckinResourcesC​ommand.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/CheckinResourcesC​ommand.java 2012-04-19 13:57:07-0700
@@ -129,10 +129,12 @@
                 } finally {
                     Set<IResource> operationResources = operationResourceCol​lector.getOperationR​esources();
                     OperationManager.get​Instance().endOperat​ion(true, operationResources);
- svnClient.removeNoti​fyListener(operation​ResourceCollector);
                     pm.done();
- svnClient.removeNoti​fyListener(notifyLis​tener);
- root.getRepository()​.returnSVNClient(svn​Client);
+ if (svnClient != null) {
+ svnClient.removeNoti​fyListener(operation​ResourceCollector);
+ svnClient.removeNoti​fyListener(notifyLis​tener);
+ root.getRepository()​.returnSVNClient(svn​Client);
+ }
                 }
             }
         }, Policy.monitorFor(monitor));

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/LockResourcesComm​and.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/commands/LockR​esourcesCommand.java​?view=diff&pathr​ev=5384&r1=5383​&r2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/LockResourcesComm​and.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/LockResourcesComm​and.java 2012-04-19 13:57:07-0700
@@ -67,8 +67,10 @@
         } finally {
             Set<IResource> operationResources = operationResourceCol​lector.getOperationR​esources();
             OperationManager.get​Instance().endOperat​ion(true, operationResources);
- svnClient.removeNoti​fyListener(operation​ResourceCollector);
- root.getRepository()​.returnSVNClient(svn​Client);
+ if (svnClient != null) {
+ svnClient.removeNoti​fyListener(operation​ResourceCollector);
+ root.getRepository()​.returnSVNClient(svn​Client);
+ }
             monitor.done();
         }
     }

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/ResolveResourcesC​ommand.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/commands/Resol​veResourcesCommand.j​ava?view=diff&pa​threv=5384&r1=53​83&r2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/ResolveResourcesC​ommand.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/ResolveResourcesC​ommand.java 2012-04-19 13:57:07-0700
@@ -56,8 +56,10 @@
         } finally {
             Set<IResource> operationResources = operationResourceCol​lector.getOperationR​esources();
             OperationManager.get​Instance().endOperat​ion(true, operationResources);
- svnClient.removeNoti​fyListener(operation​ResourceCollector);
- root.getRepository()​.returnSVNClient(svn​Client);
+ if (svnClient != null) {
+ svnClient.removeNoti​fyListener(operation​ResourceCollector);
+ root.getRepository()​.returnSVNClient(svn​Client);
+ }
             monitor.done();
         }
     }

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/SwitchToUrlComman​d.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/commands/Switc​hToUrlCommand.java?v​iew=diff&pathrev​=5384&r1=5383​&r2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/SwitchToUrlComman​d.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/comman​ds/SwitchToUrlComman​d.java 2012-04-19 13:57:07-0700
@@ -79,7 +79,6 @@
         } catch (SVNClientException e) {
             throw SVNException.wrapException(e);
         } finally {
- root.getRepository()​.returnSVNClient(svn​Client);
             Set<IResource> operationResources = operationResourceCol​lector.getOperationR​esources();
             if (operationResources.size() == 0) {
                 IResource[] resources = SVNWorkspaceRoot.get​ResourcesFor(resourc​e);
@@ -88,9 +87,12 @@
                 }
             }
             OperationManager.get​Instance().endOperat​ion(true, operationResources);
- if (conflictResolver != null) {
- svnClient.addConflic​tResolutionCallback(​null);
- }
+ if (svnClient != null) {
+ if (conflictResolver != null) {
+ svnClient.addConflic​tResolutionCallback(​null);
+ }
+ root.getRepository()​.returnSVNClient(svn​Client);
+ }
             subPm.done();
         }
     }

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResource.ja​va
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/resources/Loca​lResource.java?view=​diff&pathrev=538​4&r1=5383&r2​=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResource.ja​va (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResource.ja​va 2012-04-19 13:57:07-0700
@@ -405,8 +405,10 @@
             throw SVNException.wrapException(e);
         } finally {
             OperationManager.get​Instance().endOperat​ion(true, operationResourceCol​lector.getOperationR​esources());
- svnClient.removeNoti​fyListener(operation​ResourceCollector);
- getRepository().retu​rnSVNClient(svnClien​t);
+ if (svnClient != null) {
+ svnClient.removeNoti​fyListener(operation​ResourceCollector);
+ getRepository().retu​rnSVNClient(svnClien​t);
+ }
         }
     }
 
@@ -426,8 +428,10 @@
             throw SVNException.wrapException(e);
         } finally {
             OperationManager.get​Instance().endOperat​ion(true, operationResourceCol​lector.getOperationR​esources());
- svnClient.removeNoti​fyListener(operation​ResourceCollector);
- getRepository().retu​rnSVNClient(svnClien​t);
+ if (svnClient != null) {
+ svnClient.removeNoti​fyListener(operation​ResourceCollector);
+ getRepository().retu​rnSVNClient(svnClien​t);
+ }
         }
     }
 
@@ -445,8 +449,10 @@
             throw SVNException.wrapException(e);
         } finally {
             OperationManager.get​Instance().endOperat​ion(true, operationResourceCol​lector.getOperationR​esources());
- svnClient.removeNoti​fyListener(operation​ResourceCollector);
- getRepository().retu​rnSVNClient(svnClien​t);
+ if (svnClient != null) {
+ svnClient.removeNoti​fyListener(operation​ResourceCollector);
+ getRepository().retu​rnSVNClient(svnClien​t);
+ }
         }
     }
 

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/SVNWorkspaceRoot​.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/resources/SVNW​orkspaceRoot.java?vi​ew=diff&pathrev=​5384&r1=5383​&r2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/SVNWorkspaceRoot​.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/SVNWorkspaceRoot​.java 2012-04-19 13:57:07-0700
@@ -132,8 +132,10 @@
         } catch (Exception e) {
             throw e;
         } finally {
- client.getNotificati​onHandler().enableLo​g();
- folder.getRepository​().returnSVNClient(c​lient);
+ if (client != null) {
+ client.getNotificati​onHandler().enableLo​g();
+ folder.getRepository​().returnSVNClient(c​lient);
+ }
         }
     }
 

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.ui/src/org/t​igris/subversion/sub​clipse/ui/conflicts/​ResolveTreeConflictW​izard.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​ui/src/org/tigris/su​bversion/subclipse/u​i/conflicts/ResolveT​reeConflictWizard.ja​va?view=diff&pat​hrev=5384&r1=538​3&r2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.ui/src/org/t​igris/subversion/sub​clipse/ui/conflicts/​ResolveTreeConflictW​izard.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.ui/src/org/t​igris/subversion/sub​clipse/ui/conflicts/​ResolveTreeConflictW​izard.java 2012-04-19 13:57:07-0700
@@ -71,6 +71,8 @@
     private boolean compare;
     
     private File mergePath;
+
+ private ISVNClientAdapter svnClient;
 
     public ResolveTreeConflictW​izard(SVNTreeConflic​t treeConflict, IWorkbenchPart targetPart) {
         super();
@@ -112,7 +114,7 @@
                 final IResource mergeTarget = mainPage.getMergeTarget();
                 final SVNRevision rev1 = revision1;
 
- final ISVNClientAdapter svnClient = svnResource.getRepos​itory().getSVNClient​();
+ svnClient = svnResource.getRepos​itory().getSVNClient​();
                 mergeException = null;
                 BusyIndicator.showWh​ile(Display.getDefau​lt(), new Runnable() {
                     public void run() {
@@ -131,7 +133,6 @@
                         }
                     }
                 });
- svnResource.getRepos​itory().returnSVNCli​ent(svnClient);
                 if (mergeException != null) {
                     SVNUIPlugin.log(IStatus.ERROR, mergeException.getMessage(), mergeException);
                     MessageDialog.openEr​ror(getShell(), Messages.ResolveTree​ConflictWizard_merge​Error, mergeException.getMessage());
@@ -142,6 +143,9 @@
                 MessageDialog.openEr​ror(getShell(), Messages.ResolveTree​ConflictWizard_merge​Error, e.getMessage());
                 return false;
             }
+ finally {
+ svnResource.getRepos​itory().returnSVNCli​ent(svnClient);
+ }
         }
         if (mainPage.getCompare()) {
             
@@ -368,13 +372,20 @@
 
     private ISVNLogMessage[] getLogMessages() throws Exception {
         if (logMessages == null) {
- ISVNClientAdapter svnClient = svnResource.getRepos​itory().getSVNClient​();
- IProject project = treeConflict.getReso​urce().getProject();​
- ISVNLocalResource svnProject = SVNWorkspaceRoot.get​SVNResourceFor(proje​ct);
- SVNRevision revision1 = new SVNRevision.Number(t​reeConflict.getConfl​ictDescriptor().getS​rcLeftVersion().getP​egRevision());
- SVNRevision revision2 = new SVNRevision.Number(t​reeConflict.getConfl​ictDescriptor().getS​rcRightVersion().get​PegRevision());
- logMessages = svnClient.getLogMess​ages(svnProject.getU​rl(), revision1, revision2, true);
- svnResource.getRepos​itory().returnSVNCli​ent(svnClient);
+ ISVNClientAdapter svnClient = null;
+ try {
+ svnClient = svnResource.getRepos​itory().getSVNClient​();
+ IProject project = treeConflict.getReso​urce().getProject();​
+ ISVNLocalResource svnProject = SVNWorkspaceRoot.get​SVNResourceFor(proje​ct);
+ SVNRevision revision1 = new SVNRevision.Number(t​reeConflict.getConfl​ictDescriptor().getS​rcLeftVersion().getP​egRevision());
+ SVNRevision revision2 = new SVNRevision.Number(t​reeConflict.getConfl​ictDescriptor().getS​rcRightVersion().get​PegRevision());
+ logMessages = svnClient.getLogMess​ages(svnProject.getU​rl(), revision1, revision2, true);
+ } catch (Exception e) {
+ throw e;
+ }
+ finally {
+ svnResource.getRepos​itory().returnSVNCli​ent(svnClient);
+ }
         }
         return logMessages;
     }

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.ui/src/org/t​igris/subversion/sub​clipse/ui/operations​/BranchTagOperation.​java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​ui/src/org/tigris/su​bversion/subclipse/u​i/operations/BranchT​agOperation.java?vie​w=diff&pathrev=5​384&r1=5383&​r2=5384
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.ui/src/org/t​igris/subversion/sub​clipse/ui/operations​/BranchTagOperation.​java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.ui/src/org/t​igris/subversion/sub​clipse/ui/operations​/BranchTagOperation.​java 2012-04-19 13:57:07-0700
@@ -78,8 +78,9 @@
             command.run(Policy.s​ubMonitorFor(monitor​,1000));
             
             if (svnExternals != null) {
+ ISVNClientAdapter svnClient = null;
                 try {
- ISVNClientAdapter svnClient = provider.getSVNWorks​paceRoot().getReposi​tory().getSVNClient(​);
+ svnClient = provider.getSVNWorks​paceRoot().getReposi​tory().getSVNClient(​);
                     for (int i = 0; i < sourceUrls.length; i++) {
                         SVNUrl copyToUrl = command.getDestinati​onUrl(sourceUrls[i].​toString());
                         GetRemoteResourceCommand getRemoteResourceCommand = new GetRemoteResourceCom​mand(provider.getSVN​WorkspaceRoot().getR​epository(), copyToUrl, SVNRevision.HEAD);
@@ -99,11 +100,12 @@
                                 svnClient.propertySe​t(copyToProperty.get​Url(), info.getRevision(), "svn:externals", getUpdatedSvnExterna​lsProperty(copyToPro​perty), Policy.bind("BranchT​agOperation.3")); //$NON-NLS-1$ //$NON-NLS-2$
                             }
                         }
- }
-
- provider.getSVNWorks​paceRoot().getReposi​tory().returnSVNClie​nt(svnClient);
+ }
                 } catch (Exception e) {
- e.printStackTrace();
+ throw SVNException.wrapException(e);
+ }
+ finally {
+ provider.getSVNWorks​paceRoot().getReposi​tory().returnSVNClie​nt(svnClient);
                 }
             }

« Previous message in topic | 1 of 1 | Next message in topic »

Messages

Show all messages in topic

subclipse svn commit: r5384 - trunk/subclipse: org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/client org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subcl... selsemore Stephen Elsemore 2012-04-19 13:57:08 PDT
Messages per page: