diff --git a/.gradle/1.11/taskArtifacts/cache.properties b/.gradle/1.11/taskArtifacts/cache.properties
new file mode 100644
index 0000000..d3bdc90
--- /dev/null
+++ b/.gradle/1.11/taskArtifacts/cache.properties
@@ -0,0 +1 @@
+#Fri Mar 28 09:11:49 EST 2014
diff --git a/.gradle/1.11/taskArtifacts/cache.properties.lock b/.gradle/1.11/taskArtifacts/cache.properties.lock
new file mode 100644
index 0000000..e45a694
Binary files /dev/null and b/.gradle/1.11/taskArtifacts/cache.properties.lock differ
diff --git a/.gradle/1.11/taskArtifacts/fileHashes.bin b/.gradle/1.11/taskArtifacts/fileHashes.bin
new file mode 100644
index 0000000..49a849d
Binary files /dev/null and b/.gradle/1.11/taskArtifacts/fileHashes.bin differ
diff --git a/.gradle/1.11/taskArtifacts/outputFileStates.bin b/.gradle/1.11/taskArtifacts/outputFileStates.bin
new file mode 100644
index 0000000..f06c53c
Binary files /dev/null and b/.gradle/1.11/taskArtifacts/outputFileStates.bin differ
diff --git a/.gradle/1.11/taskArtifacts/taskArtifacts.bin b/.gradle/1.11/taskArtifacts/taskArtifacts.bin
new file mode 100644
index 0000000..811e3aa
Binary files /dev/null and b/.gradle/1.11/taskArtifacts/taskArtifacts.bin differ
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
index 3572571..e7bedf3 100644
--- a/.idea/copyright/profiles_settings.xml
+++ b/.idea/copyright/profiles_settings.xml
@@ -1,5 +1,3 @@
-
-
-
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index f6e673a..ed15482 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -1,3 +1,18 @@
-
+
+
+
+
+
diff --git a/.idea/libraries/Gradle__commons_codec_1_6.xml b/.idea/libraries/Gradle__commons_codec_1_6.xml
new file mode 100644
index 0000000..8d0314b
--- /dev/null
+++ b/.idea/libraries/Gradle__commons_codec_1_6.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__commons_io_1_3_2.xml b/.idea/libraries/Gradle__commons_io_1_3_2.xml
new file mode 100644
index 0000000..f1820cc
--- /dev/null
+++ b/.idea/libraries/Gradle__commons_io_1_3_2.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__commons_logging_1_1_1.xml b/.idea/libraries/Gradle__commons_logging_1_1_1.xml
new file mode 100644
index 0000000..872f640
--- /dev/null
+++ b/.idea/libraries/Gradle__commons_logging_1_1_1.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__gson_2_1.xml b/.idea/libraries/Gradle__gson_2_1.xml
new file mode 100644
index 0000000..0f574f5
--- /dev/null
+++ b/.idea/libraries/Gradle__gson_2_1.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__hamcrest_core_1_1.xml b/.idea/libraries/Gradle__hamcrest_core_1_1.xml
new file mode 100644
index 0000000..1c44355
--- /dev/null
+++ b/.idea/libraries/Gradle__hamcrest_core_1_1.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__httpclient_4_2_1.xml b/.idea/libraries/Gradle__httpclient_4_2_1.xml
new file mode 100644
index 0000000..b0c7f50
--- /dev/null
+++ b/.idea/libraries/Gradle__httpclient_4_2_1.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__httpcore_4_2_1.xml b/.idea/libraries/Gradle__httpcore_4_2_1.xml
new file mode 100644
index 0000000..8fdf880
--- /dev/null
+++ b/.idea/libraries/Gradle__httpcore_4_2_1.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__junit_4_10.xml b/.idea/libraries/Gradle__junit_4_10.xml
new file mode 100644
index 0000000..7fb1925
--- /dev/null
+++ b/.idea/libraries/Gradle__junit_4_10.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__mockito_core_1_9_5.xml b/.idea/libraries/Gradle__mockito_core_1_9_5.xml
new file mode 100644
index 0000000..36a5dd0
--- /dev/null
+++ b/.idea/libraries/Gradle__mockito_core_1_9_5.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__objenesis_1_0.xml b/.idea/libraries/Gradle__objenesis_1_0.xml
new file mode 100644
index 0000000..d2a81cb
--- /dev/null
+++ b/.idea/libraries/Gradle__objenesis_1_0.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__rally_api_helper_1_0.xml b/.idea/libraries/Gradle__rally_api_helper_1_0.xml
new file mode 100644
index 0000000..c9c74a6
--- /dev/null
+++ b/.idea/libraries/Gradle__rally_api_helper_1_0.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__rally_rest_api_1_0_7.xml b/.idea/libraries/Gradle__rally_rest_api_1_0_7.xml
new file mode 100644
index 0000000..552196d
--- /dev/null
+++ b/.idea/libraries/Gradle__rally_rest_api_1_0_7.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__rally_rest_api_2_0_3_SNAPSHOT.xml b/.idea/libraries/Gradle__rally_rest_api_2_0_3_SNAPSHOT.xml
new file mode 100644
index 0000000..812d7ec
--- /dev/null
+++ b/.idea/libraries/Gradle__rally_rest_api_2_0_3_SNAPSHOT.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__tasks_api.xml b/.idea/libraries/Gradle__tasks_api.xml
new file mode 100644
index 0000000..d56d131
--- /dev/null
+++ b/.idea/libraries/Gradle__tasks_api.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__tasks_core.xml b/.idea/libraries/Gradle__tasks_core.xml
new file mode 100644
index 0000000..ea0f1e5
--- /dev/null
+++ b/.idea/libraries/Gradle__tasks_core.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__tasks_java.xml b/.idea/libraries/Gradle__tasks_java.xml
new file mode 100644
index 0000000..991a124
--- /dev/null
+++ b/.idea/libraries/Gradle__tasks_java.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/rally_rest_api_2_0_4.xml b/.idea/libraries/rally_rest_api_2_0_4.xml
new file mode 100644
index 0000000..01c3d9e
--- /dev/null
+++ b/.idea/libraries/rally_rest_api_2_0_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 94cb3cf..464e245 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,8 +3,11 @@
+
+
+
-
+
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index fddc808..c1049a5 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -2,6 +2,8 @@
+
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index b097c52..c770f3c 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,7 +5,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -16,7 +31,7 @@
-
+
@@ -29,7 +44,7 @@
-
+
@@ -65,9 +80,9 @@
-
-
-
+
+
+
@@ -78,30 +93,299 @@
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -114,7 +398,7 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
@@ -154,10 +638,10 @@
-
-
-
-
+
+
+
+
@@ -200,7 +684,7 @@
-
+
@@ -212,7 +696,6 @@
-
@@ -221,13 +704,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -239,7 +759,7 @@
-
+
@@ -261,7 +781,7 @@
-
+
@@ -272,20 +792,23 @@
+
+
+
-
-
-
-
+
+
+
+
@@ -399,14 +922,10 @@
-
-
-
-
-
-
-
-
+
+
+
+
@@ -418,12 +937,6 @@
-
-
-
-
-
-
@@ -454,35 +967,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -498,106 +983,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
+
@@ -607,49 +998,40 @@
-
+
-
-
-
-
+
-
+
+
+
+
+
+
+
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -678,22 +1060,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
+
+
@@ -816,75 +1184,71 @@
-
-
- {id} {summary}
- dfe2dfc5dfc7dfcfdf9fdf9fdf9cdf9fdf9ddf9c
-
-
-
-
-
-
-
-
- sbelei@softserveinc.com
-
-
-
- {id} {summary}
- dfe8dfcbdfc8dfd3dfc6dfc5dfc4df9f
- df9edf9edf9ddf9adf9bdfcfdfc9df9cdf9adfc9df9edf99df9fdf98df9cdf98dfccdf92df92df99df93df93df98df99df9adf99df99df98dfcedfcedfccdf99dfcedf9ddf93df99dfcedfccdfc8dfc8
-
-
-
-
-
-
-
- crc83
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
+
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
-
+
-
+
+
+
+
+
-
+
+
+
-
+
+
+
+
@@ -906,298 +1270,443 @@
-
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/intellij/task/rally/RallyRepositoryEditor.java
+ 114
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/intellij/task/rally/RallyRepositoryEditor.java
+ 95
+
+
+
+
+ file://$PROJECT_DIR$/../rally-api-helper/src/org/sbelei/rally/provider/IterationProvider.java
+ 33
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/intellij/task/rally/RallyRepositoryEditor.java
+ 87
+
+
+
+
+ file://$PROJECT_DIR$/../rally-api-helper/src/org/sbelei/rally/provider/EntityProvider.java
+ 144
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/intellij/task/rally/RallyRepository.java
+ 115
+
+
+
+
+ file://$PROJECT_DIR$/src/main/java/com/intellij/task/rally/RallyRepository.java
+ 49
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
-
+
-
+
+
+
-
+
-
-
+
+
-
+
-
-
-
-
+
+
-
+
-
+
+
+
-
+
-
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
-
+
-
-
-
-
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
-
+
-
+
+
+
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
+
+
-
+
-
+
+
-
+
-
+
+
+
+
-
+
-
-
-
-
-
+
+
+
-
+
-
-
-
-
+
+
+
-
+
-
+
+
-
+
-
-
-
-
+
+
+
@@ -1230,7 +1739,7 @@
- groovy-2.1.7
+ hpf
@@ -1242,7 +1751,7 @@
- IDEA IU-130.1619
+ 1.6
@@ -1266,7 +1775,7 @@
- org.spockframework:spock-core:0.7-groovy-2.0
+ Gradle: commons-codec-1.6
diff --git a/META-INF/plugin.xml b/META-INF/plugin.xml
index 0e7b5aa..aae4667 100644
--- a/META-INF/plugin.xml
+++ b/META-INF/plugin.xml
@@ -1,7 +1,7 @@
Rally ALM Tasks Integration
Rally ALM Tasks Integration
- 1.0
+ 1.1.1
sergiy.beley@gmail.com
com.intellij.tasks
diff --git a/lib-provided/tasks-api.jar b/lib-provided/tasks-api.jar
index f9c45c2..2568c53 100644
Binary files a/lib-provided/tasks-api.jar and b/lib-provided/tasks-api.jar differ
diff --git a/lib-provided/tasks-core.jar b/lib-provided/tasks-core.jar
index 7aabd13..218fe38 100644
Binary files a/lib-provided/tasks-core.jar and b/lib-provided/tasks-core.jar differ
diff --git a/lib-provided/tasks-java.jar b/lib-provided/tasks-java.jar
index d426466..3804399 100644
Binary files a/lib-provided/tasks-java.jar and b/lib-provided/tasks-java.jar differ
diff --git a/rallydev.iml b/rallydev.iml
index d95027e..920167f 100644
--- a/rallydev.iml
+++ b/rallydev.iml
@@ -1,522 +1,29 @@
-
+
+
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/main/java/com/intellij/task/rally/PooledRallyRestApi.java b/src/main/java/com/intellij/task/rally/PooledRallyRestApi.java
new file mode 100644
index 0000000..ddac1c1
--- /dev/null
+++ b/src/main/java/com/intellij/task/rally/PooledRallyRestApi.java
@@ -0,0 +1,46 @@
+package com.intellij.task.rally;
+
+import java.net.URI;
+
+import com.rallydev.rest.RallyRestApi;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.conn.scheme.PlainSocketFactory;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLSocketFactory;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.PoolingClientConnectionManager;
+
+public final class PooledRallyRestApi extends RallyRestApi {
+ /**
+ * Creates a new instance for the specified server using the specified credentials.
+ *
+ * @param server The server to connect to, e.g. {@code new URI("https://rally1.rallydev.com")}
+ * @param userName The username to be used for authentication.
+ * @param password The password to be used for authentication.
+ */
+ public PooledRallyRestApi(URI server, String userName, String password) {
+ super(server, userName, password);
+
+ SchemeRegistry schemeRegistry = new SchemeRegistry();
+ schemeRegistry.register(
+ new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
+ schemeRegistry.register(
+ new Scheme("https", 443, SSLSocketFactory.getSocketFactory()));
+
+ PoolingClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry);
+// Increase max total connection to 200
+ cm.setMaxTotal(10);
+// Increase default max connection per route to 20
+ cm.setDefaultMaxPerRoute(10);
+
+ httpClient.getConnectionManager().shutdown();
+ httpClient = new DefaultHttpClient(cm);
+ UsernamePasswordCredentials usernamePasswordCredentials = new UsernamePasswordCredentials(userName, password);
+ httpClient.getCredentialsProvider().setCredentials(
+ new AuthScope(server.getHost(), server.getPort()),
+ usernamePasswordCredentials);
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/intellij/task/rally/RallyRepository.java b/src/main/java/com/intellij/task/rally/RallyRepository.java
index 67e9714..f2f8a15 100644
--- a/src/main/java/com/intellij/task/rally/RallyRepository.java
+++ b/src/main/java/com/intellij/task/rally/RallyRepository.java
@@ -15,6 +15,7 @@
import org.sbelei.rally.provider.ProviderFasade;
import javax.swing.*;
+import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collection;
@@ -112,7 +113,7 @@ private void refreshProvider() {
if (provider == null) {
try {
URI uri = new URI(getUrl());
- client = new RallyRestApi(
+ client = new PooledRallyRestApi(
uri,
myUsername,
myPassword
@@ -257,4 +258,13 @@ public boolean isShowCompleatedTasks() {
public void setShowCompleatedTasks(boolean showCompleatedTasks) {
this.showCompleatedTasks = showCompleatedTasks;
}
+
+
+ public void cleanup() {
+ try {
+ client.close();
+ } catch (IOException e) {
+ LOG.warn("Unable to close client", e);
+ }
+ }
}
diff --git a/src/main/java/com/intellij/task/rally/RallyRepositoryEditor.java b/src/main/java/com/intellij/task/rally/RallyRepositoryEditor.java
index d54ec8b..71226cf 100644
--- a/src/main/java/com/intellij/task/rally/RallyRepositoryEditor.java
+++ b/src/main/java/com/intellij/task/rally/RallyRepositoryEditor.java
@@ -116,4 +116,10 @@ protected void afterTestConnection(boolean connectionSuccessful) {
selectIteration();
}
}
+
+ @Override
+ public void dispose() {
+ super.dispose();
+ myRepository.cleanup();
+ }
}
diff --git a/src/main/java/com/intellij/task/rally/RallyTask.java b/src/main/java/com/intellij/task/rally/RallyTask.java
index 73abad6..4d22dfd 100644
--- a/src/main/java/com/intellij/task/rally/RallyTask.java
+++ b/src/main/java/com/intellij/task/rally/RallyTask.java
@@ -10,6 +10,7 @@
import org.sbelei.rally.domain.Story;
import javax.swing.*;
+import java.net.URL;
import java.util.Date;
public class RallyTask extends Task {
@@ -30,8 +31,12 @@ public RallyTask(BasicEntity entity) {
Defect defect = (Defect) entity;
id = defect.formattedId;
summary = defect.name;
- String iconName = "rally_defect_P3.png"; // default name
- icon = new ImageIcon(this.getClass().getClassLoader().getResource("rally_defect_"+defect.getPriorityShort()+".png"), "Rally Defect Icon");
+ String iconName = "rally_defect_.png"; // default name
+ URL resource = this.getClass().getClassLoader().getResource("rally_defect_" + defect.getPriorityShort() + ".png");
+ if (resource == null) {
+ resource = this.getClass().getClassLoader().getResource(iconName);
+ }
+ icon = new ImageIcon(resource, "Rally Defect Icon");
type = TaskType.BUG;
}
if (entity instanceof Story) {