diff --git a/plugins/github/src/org/jetbrains/plugins/github/tasks/GitHubRepository.java b/plugins/github/src/org/jetbrains/plugins/github/tasks/GitHubRepository.java index c2d718a3a911..e5ff9bd283e2 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/tasks/GitHubRepository.java +++ b/plugins/github/src/org/jetbrains/plugins/github/tasks/GitHubRepository.java @@ -5,6 +5,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Comparing; +import com.intellij.openapi.util.PasswordUtil; import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.text.StringUtil; import com.intellij.tasks.Comment; @@ -16,6 +17,7 @@ import com.intellij.tasks.impl.BaseRepositoryImpl; import com.intellij.tasks.impl.TaskUtil; import com.intellij.util.ArrayUtil; import com.intellij.util.xmlb.annotations.Tag; +import com.intellij.util.xmlb.annotations.Transient; import icons.TasksIcons; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -38,12 +40,16 @@ import java.util.regex.Pattern; public class GitHubRepository extends BaseRepositoryImpl { private static final Logger LOG = GithubUtil.LOG; - private Pattern myPattern; - private String myRepoAuthor; - private String myRepoName; - private String myToken; + private Pattern myPattern = Pattern.compile(""); + private String myRepoAuthor = ""; + private String myRepoName = ""; + private String myToken = ""; private GithubAuthData myAuthData; + { + setUrl(GithubApiUtil.DEFAULT_GITHUB_HOST); + } + @SuppressWarnings({"UnusedDeclaration"}) public GitHubRepository() {} @@ -352,6 +358,7 @@ public class GitHubRepository extends BaseRepositoryImpl { myRepoAuthor = repoAuthor; } + @Transient public String getToken() { return myToken; } @@ -360,12 +367,29 @@ public class GitHubRepository extends BaseRepositoryImpl { myToken = token; } + @Tag("token") + public String getEncodedToken() { + return PasswordUtil.encodePassword(getToken()); + } + + public void setEncodedToken(String password) { + try { + setToken(PasswordUtil.decodePassword(password)); + } + catch (NumberFormatException e) { + } + } + private void initAuthData() { if (myAuthData == null) { myAuthData = GithubAuthData.createTokenAuth(getUrl(), getToken()); } } + public void clearAuthData() { + myAuthData = null; + } + @Override public boolean equals(Object o) { if (!super.equals(o)) return false; diff --git a/plugins/github/src/org/jetbrains/plugins/github/tasks/GitHubRepositoryEditor.java b/plugins/github/src/org/jetbrains/plugins/github/tasks/GitHubRepositoryEditor.java index 8785c77042a6..f7e4fd4e6b87 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/tasks/GitHubRepositoryEditor.java +++ b/plugins/github/src/org/jetbrains/plugins/github/tasks/GitHubRepositoryEditor.java @@ -83,6 +83,7 @@ public class GitHubRepositoryEditor extends BaseRepositoryEditor