antoine 2003/10/28 01:56:26 Modified: src/main/org/apache/tools/ant/taskdefs/optional/starteam StarTeamLabel.java StarTeamTask.java TreeBasedTask.java Log: Solution for the Starteam disconnect bug PR: 24110 Submitted by: Steve Cohen (scohen at apache dot org) Revision Changes Path 1.19 +24 -16 ant/src/main/org/apache/tools/ant/taskdefs/optional/starteam/StarTeamLabel.java Index: StarTeamLabel.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/starteam/StarTeamLabel.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- StarTeamLabel.java 2 Oct 2003 10:14:23 -0000 1.18 +++ StarTeamLabel.java 28 Oct 2003 09:56:26 -0000 1.19 @@ -76,6 +76,7 @@ * * @author Christopher Charlier, ThoughtWorks, Inc. 2001 * @author <a href="mailto:[EMAIL PROTECTED]">Jason Yip</a> + * @author <a href="mailto:[EMAIL PROTECTED]">Steve Cohen</a> * @see <A HREF="http://www.starbase.com/">StarBase Web Site</A> * * @ant.task name="stlabel" category="scm" @@ -179,25 +180,32 @@ + "both specified. A revision label cannot be a build label."); } - View snapshot = openView(); + try { + View snapshot = openView(); - // Create the new label and update the repository + // Create the new label and update the repository - if (this.revisionlabel) { - new Label(snapshot, this.labelName, this.description).update(); - log("Created Revision Label " + this.labelName); - } else if (null != lastBuild) { - new Label(snapshot, this.labelName, this.description, this.lastBuild, - this.buildlabel).update(); - log("Created View Label (" - + (this.buildlabel ? "" : "non-") + "build) " + this.labelName - + " as of " + this.lastBuild.toString()); - } else { - new Label(snapshot, this.labelName, this.description, - this.buildlabel).update(); - log("Created View Label (" - + (this.buildlabel ? "" : "non-") + "build) " + this.labelName); + if (this.revisionlabel) { + new Label(snapshot, this.labelName, this.description).update(); + log("Created Revision Label " + this.labelName); + } else if (null != lastBuild) { + new Label(snapshot, this.labelName, this.description, this.lastBuild, + this.buildlabel).update(); + log("Created View Label (" + + (this.buildlabel ? "" : "non-") + "build) " + this.labelName + + " as of " + this.lastBuild.toString()); + } else { + new Label(snapshot, this.labelName, this.description, + this.buildlabel).update(); + log("Created View Label (" + + (this.buildlabel ? "" : "non-") + "build) " + this.labelName); + } + } catch (Exception e) { + throw new BuildException(e); + } finally { + disconnectFromServer(); } + } /** 1.12 +15 -1 ant/src/main/org/apache/tools/ant/taskdefs/optional/starteam/StarTeamTask.java Index: StarTeamTask.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/starteam/StarTeamTask.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- StarTeamTask.java 9 Jul 2003 14:44:16 -0000 1.11 +++ StarTeamTask.java 28 Oct 2003 09:56:26 -0000 1.12 @@ -117,7 +117,7 @@ private void logStarteamVersion() { log("StarTeam version: " - + BuildNumber.getDisplayString(), Project.MSG_DEBUG); + + BuildNumber.getDisplayString(), Project.MSG_VERBOSE); } @@ -318,6 +318,18 @@ } /** + * disconnects from the StarTeam server. Should be called from the + * finally clause of every StarTeamTask-based execute method. + */ + protected final void disconnectFromServer() { + if (null != this.server) { + this.server.disconnect(); + log("successful disconnect from StarTeam Server " + servername, + Project.MSG_VERBOSE); + } + } + + /** * returns a list of TypeNames known to the server. * * @return a reference to the server's TypeNames @@ -362,6 +374,8 @@ } View snapshot = createSnapshotView(view); + log("Connected to StarTeam view " + getURL(), + Project.MSG_VERBOSE); this.server = snapshot.getServer(); return snapshot; } 1.21 +3 -1 ant/src/main/org/apache/tools/ant/taskdefs/optional/starteam/TreeBasedTask.java Index: TreeBasedTask.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/starteam/TreeBasedTask.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- TreeBasedTask.java 16 Sep 2003 10:38:14 -0000 1.20 +++ TreeBasedTask.java 28 Oct 2003 09:56:26 -0000 1.21 @@ -723,6 +723,8 @@ } catch (Exception e) { throw new BuildException(e); + } finally { + disconnectFromServer(); } } @@ -735,7 +737,7 @@ if (!stLabel.isRevisionLabel() && !stLabel.isViewLabel()) { throw new BuildException("Unexpected label type."); } - log("using label " + stLabel.getName(), Project.MSG_DEBUG); + log("using label " + stLabel.getName(), Project.MSG_VERBOSE); this.labelInUse = stLabel; return; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]