Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java')
-rw-r--r--org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java
index 2079244bd..75fdbc966 100644
--- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java
+++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java
@@ -15,6 +15,7 @@ import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.Proxy;
import java.net.URL;
+import java.util.HashMap;
import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.HostConfiguration;
@@ -154,6 +155,24 @@ public abstract class AbstractTracClient implements ITracClient {
return (data.ticketFields != null) ? data.ticketFields.toArray(new TracTicketField[0]) : null;
}
+ public TracTicketField getTicketFieldByName(String name) {
+ if (data.ticketFields != null) {
+ // lazily fill fieldByName map
+ if (data.ticketFieldByName == null) {
+ synchronized (data) {
+ if (data.ticketFieldByName == null) {
+ data.ticketFieldByName = new HashMap<String, TracTicketField>();
+ for (TracTicketField field : data.ticketFields) {
+ data.ticketFieldByName.put(field.getName(), field);
+ }
+ }
+ }
+ }
+ return data.ticketFieldByName.get(name);
+ }
+ return null;
+ }
+
public TracTicketResolution[] getTicketResolutions() {
return (data.ticketResolutions != null) ? data.ticketResolutions.toArray(new TracTicketResolution[0]) : null;
}

Back to the top