PageRenderTime 33ms CodeModel.GetById 22ms RepoModel.GetById 1ms app.codeStats 0ms

/src/org/bitbucket/connectors/jetbrains/ui/BitbucketShareDialog.java

https://bitbucket.org/atlassian/jetbrains-bitbucket-connector/
Java | 109 lines | 83 code | 21 blank | 5 comment | 3 complexity | bb27038f6c3924543a70eb5be9ffd2e2 MD5 | raw file
  1. package org.bitbucket.connectors.jetbrains.ui;
  2. import com.intellij.openapi.project.Project;
  3. import com.intellij.openapi.util.text.StringUtil;
  4. import javax.swing.*;
  5. import java.util.Set;
  6. import java.util.regex.Pattern;
  7. /**
  8. * User: leha2000
  9. * Date: Apr 16, 2011
  10. * Time: 11:07:02 AM
  11. */
  12. public class BitbucketShareDialog extends BitbucketDialog {
  13. private static final Pattern REPO_NAME_PATTERN = Pattern.compile("[a-zA-Z0-9_-]+([ ]+[a-zA-Z0-9_-]+)*");
  14. private Set<String> myRepositories;
  15. private BitbucketSharePanel myPanel;
  16. public BitbucketShareDialog(Project project, Set<String> existingRepositories, boolean canCreatePrivate) {
  17. super(project);
  18. myPanel = new BitbucketSharePanel(this);
  19. myRepositories = existingRepositories;
  20. init();
  21. setTitle(BitbucketBundle.message("share-project-on-bitbucket"));
  22. setOKButtonText(BitbucketBundle.message("share"));
  23. myPanel.setRepositoryName(project.getName());
  24. myPanel.setCanCreatePrivate(canCreatePrivate);
  25. init();
  26. updateOkButton();
  27. }
  28. protected Action[] createActions() {
  29. return new Action[]{getOKAction(), getCancelAction()};
  30. }
  31. @Override
  32. protected String getHelpId() {
  33. return null;
  34. }
  35. @Override
  36. protected JComponent createCenterPanel() {
  37. return myPanel.getPanel();
  38. }
  39. @Override
  40. public JComponent getPreferredFocusedComponent() {
  41. return myPanel.getPreferredFocusComponent();
  42. }
  43. public void updateOkButton() {
  44. final String repositoryName = getRepositoryName();
  45. if (StringUtil.isEmpty(repositoryName)) {
  46. setErrorText(BitbucketBundle.message("no-repository-name"));
  47. setOKActionEnabled(false);
  48. return;
  49. }
  50. if (myRepositories.contains(repositoryName)) {
  51. setErrorText(BitbucketBundle.message("repository-exists"));
  52. setOKActionEnabled(false);
  53. return;
  54. }
  55. if (!REPO_NAME_PATTERN.matcher(repositoryName).matches()) {
  56. setErrorText(BitbucketBundle.message("invalid-repository-name"));
  57. setOKActionEnabled(false);
  58. return;
  59. }
  60. setErrorText(null);
  61. setOKActionEnabled(true);
  62. }
  63. public String getRepositoryName() {
  64. return myPanel.getRepositoryName();
  65. }
  66. public boolean isPrivate() {
  67. return myPanel.isPrivate();
  68. }
  69. public boolean isSshRepositoryAccess() {
  70. return myPanel.isSshRepositoryAccess();
  71. }
  72. public String getDescription() {
  73. return myPanel.getDescription();
  74. }
  75. @Override
  76. public boolean isUseSsh() {
  77. return myPanel.isSshRepositoryAccess();
  78. }
  79. public boolean isGit() {
  80. return myPanel.isGit();
  81. }
  82. public void setGit(boolean select) {
  83. myPanel.setGit(select);
  84. }
  85. public void enableGit(boolean enable) {
  86. myPanel.enableGit(enable);
  87. }
  88. }