|
From: <lac...@us...> - 2007-10-04 09:52:58
|
Revision: 37
http://td2jira.svn.sourceforge.net/td2jira/?rev=37&view=rev
Author: lacostej
Date: 2007-10-04 02:53:01 -0700 (Thu, 04 Oct 2007)
Log Message:
-----------
Implement support for TD v8. Also fixes some issues that may be related to latest JACOB use or to TD v8. Add a note in ReleaseNotes indicating that v9 may have the same issues
Modified Paths:
--------------
trunk/td2jira/docs/ReleaseNotes.txt
trunk/td2jira/etc/td2jira.properties.example
trunk/td2jira/src/td2jira/td/api/dcom/Connection.java
trunk/td2jira/src/td2jira/td/api/dcomv8/Bug.java
trunk/td2jira/src/td2jira/td/api/dcomv8/Connection.java
Modified: trunk/td2jira/docs/ReleaseNotes.txt
===================================================================
--- trunk/td2jira/docs/ReleaseNotes.txt 2007-10-04 09:47:42 UTC (rev 36)
+++ trunk/td2jira/docs/ReleaseNotes.txt 2007-10-04 09:53:01 UTC (rev 37)
@@ -3,7 +3,12 @@
* TASK migrated to SVN
* TASK reorganized project structure
* TASK reformated code
+* TASK upgraded to latest Jacob (1.13 M5)
* BUG fixed bug where matching Jira issue couldn't be identified due to line endings issues in reg.exp matcher.
+* FEATURE support both TD v8 and TD v9
+* BUG fixed issues related to either jacob upgrade or support for TD v8. As I don't have TD v9, and already updated
+ to latest jacob to I am not sure these problems affect the v9 of the td API implementation.
+ The fixes in dcomv8/Bug.java might need to be backported to v9 support.
Old release
Modified: trunk/td2jira/etc/td2jira.properties.example
===================================================================
--- trunk/td2jira/etc/td2jira.properties.example 2007-10-04 09:47:42 UTC (rev 36)
+++ trunk/td2jira/etc/td2jira.properties.example 2007-10-04 09:53:01 UTC (rev 37)
@@ -11,8 +11,10 @@
## TD connection Implementation
# mock one
td.implementation=td2jira.td.api.mock.Connection
-# real TD
+# real TD v9
#td.implementation=td2jira.td.api.dcom.Connection
+# real TD v8
+#td.implementation=td2jira.td.api.dcomv8.Connection
# TD connection data (disabled by default: mock TD is used; change td.implementation to DCOM one to enable)
td.user=FILLME
Modified: trunk/td2jira/src/td2jira/td/api/dcom/Connection.java
===================================================================
--- trunk/td2jira/src/td2jira/td/api/dcom/Connection.java 2007-10-04 09:47:42 UTC (rev 36)
+++ trunk/td2jira/src/td2jira/td/api/dcom/Connection.java 2007-10-04 09:53:01 UTC (rev 37)
@@ -63,7 +63,7 @@
public void disconnect() {
loggedIn = false;
- Dispatch.call(this, "DisconnectProject");
- Dispatch.call(this, "ReleaseConnection");
+ disconnectProject();
+ releaseConnection();
}
}
Modified: trunk/td2jira/src/td2jira/td/api/dcomv8/Bug.java
===================================================================
--- trunk/td2jira/src/td2jira/td/api/dcomv8/Bug.java 2007-10-04 09:47:42 UTC (rev 36)
+++ trunk/td2jira/src/td2jira/td/api/dcomv8/Bug.java 2007-10-04 09:53:01 UTC (rev 37)
@@ -1,10 +1,6 @@
package td2jira.td.api.dcomv8;
-import java.io.BufferedInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
+import java.io.*;
import java.util.ArrayList;
import java.util.List;
@@ -35,7 +31,7 @@
}
public String getId() {
- return getPropertyAsString("ID");
+ return getProperty("ID").toString();
}
public String getSummary() {
@@ -51,7 +47,6 @@
}
public String getDetectedBy() {
- // getFieldAsString("BG_DETECTED_BY")
return getPropertyAsString("DetectedBy");
}
@@ -61,7 +56,10 @@
public String getFieldAsString(String field) {
Variant res = Dispatch.call(this, "Field", field);
- if (res.getvt() != 8 && res.getvt() != 0)
+ if (res.getvt() == 0) {
+ return null;
+ }
+ if (res.getvt() != 8)
System.err.println("TD field is not a String type " + field + " " + res.getvt());
return res.getString();
}
@@ -128,10 +126,8 @@
public void lockObject() {
if (isLocked()) {
throw new RuntimeException("Bug locked by another user");
- } else {
- Dispatch.call(this, "LockObject");
- return;
}
+ Dispatch.call(this, "LockObject");
}
public void unlockObject() {
@@ -198,6 +194,7 @@
if (!fileName.endsWith(attachmentName)) continue;
Dispatch.get(item, "Data");
+
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
@@ -208,7 +205,7 @@
}
fis.close();
baos.close();
- } catch (Exception ex) {
+ } catch (IOException ex) {
throw new RuntimeException(ex);
}
Modified: trunk/td2jira/src/td2jira/td/api/dcomv8/Connection.java
===================================================================
--- trunk/td2jira/src/td2jira/td/api/dcomv8/Connection.java 2007-10-04 09:47:42 UTC (rev 36)
+++ trunk/td2jira/src/td2jira/td/api/dcomv8/Connection.java 2007-10-04 09:53:01 UTC (rev 37)
@@ -9,11 +9,14 @@
public class Connection extends ActiveXComponent implements IConnection {
public Connection(String server, String domain, String project, String user, String pass) {
super("TDApiOle80.TDConnection");
- initConnectionEx(server);
- login(user, pass);
- connect(domain, project);
+ this.initConnectionEx(server);
+ this.connectProjectEx(domain, project, user, pass);
}
+ public void connectProjectEx(String domain, String project, String user, String passw) {
+ Dispatch.call(this, "ConnectProjectEx", domain, project, user, passw);
+ }
+
boolean loggedIn = false;
public void login(String user, String pass) {
@@ -22,7 +25,8 @@
}
public void logout() {
- Dispatch.call(this, "Logout");
+ // TODO investigate how to achieve that in TD API v8.
+ //Dispatch.call(this, "Logout");
loggedIn = false;
}
@@ -38,11 +42,6 @@
Dispatch.call(this, "InitConnectionEx", serverName);
}
- public void connectProjectEx(String domain, String project, String user, String pass) {
- login(user, pass);
- connect(domain, project);
- }
-
public void disconnectProject() {
loggedIn = false;
Dispatch.call(this, "DisconnectProject");
@@ -62,8 +61,7 @@
}
public void disconnect() {
- loggedIn = false;
- Dispatch.call(this, "DisconnectProject");
- Dispatch.call(this, "ReleaseConnection");
+ disconnectProject();
+ releaseConnection();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|