From 62dbe03c1bc29ddd026c0f66ff6f6601381d2caf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B2=BB=E8=A8=80?= <13207076+actri_lzyan@user.noreply.gitee.com> Date: Fri, 28 Jul 2023 07:22:57 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E8=80=A6=E5=90=88=EF=BC=8C=E8=BF=9B=E8=A1=8C=E7=9B=B8=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E4=BC=98=E5=8C=96=20=E6=8F=90=E4=BA=A4=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=EF=BC=9A=E8=88=AA=E7=A9=BA=E5=B7=A5=E4=B8=9A=E8=A5=BF?= =?UTF-8?q?=E5=AE=89=E8=88=AA=E7=A9=BA=E8=AE=A1=E7=AE=97=E6=8A=80=E6=9C=AF?= =?UTF-8?q?=E7=A0=94=E7=A9=B6=E6=89=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 刘治言 <13207076+actri_lzyan@user.noreply.gitee.com> --- src/net/oschina/git/views/Config.java | 165 ++++++++++---------------- 1 file changed, 63 insertions(+), 102 deletions(-) diff --git a/src/net/oschina/git/views/Config.java b/src/net/oschina/git/views/Config.java index 217c400..31135fd 100644 --- a/src/net/oschina/git/views/Config.java +++ b/src/net/oschina/git/views/Config.java @@ -199,107 +199,68 @@ public class Config extends Dialog { return container; } - /** - * Create contents of the button bar. - * - * @param parent - */ @Override - protected void createButtonsForButtonBar(final Composite parent) { - Button cancel = createButton(parent, IDialogConstants.CANCEL_ID, i18n.Cancel, false); - help = createButton(parent, IDialogConstants.NO_ID, i18n.Help, true); - help.addMouseListener(new MouseAdapter() { - @Override - public void mouseUp(MouseEvent e) { - try { - PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser() - .openURL(new URL(RemoteApi.helpUrl)); - } catch (PartInitException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } catch (MalformedURLException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - } - }); - Button login = createButton(parent, IDialogConstants.NO_ID, i18n.Login, true); - login.addMouseListener(new MouseAdapter() { - @Override - public void mouseDown(MouseEvent e) { - String username = email.getText(); - String password = Password.getText(); - String savedPrivate_token = UserData.getValue("private_token"); - if (username.isEmpty() || password.isEmpty()) { - MessageDialog.openError(mainComposite.getShell(), i18n.Unauthorized, i18n.loginError); - return; - } - String private_token = null; - try { - List list = new ArrayList(); - list.add(new BasicNameValuePair("email", username)); - list.add(new BasicNameValuePair("password", password)); - String loginRep = HttpUtil.post(RemoteApi.login, list, parent.getShell()); - if (!loginRep.contains("private_token")) { - MessageDialog.openError(mainComposite.getShell(), "Error", i18n.passwordWrong); - return; - } - String responseHtml = null; - if (savedPrivate_token == null || savedPrivate_token.equals("N/A")) { - responseHtml = HttpUtil.post(RemoteApi.login, list, parent.getShell()); - if (responseHtml != null) { - private_token = JsonUtil.getJsonValueFromStr(responseHtml, "private_token"); - } - } else { - String response = HttpUtil.get(RemoteApi.getProjects + "?private_token=" + savedPrivate_token); - if (response.contains("message")) { - String message = JsonUtil.getJsonValueFromStr(response, "message"); - if (message.equals("401 Unauthorized")) { - responseHtml = HttpUtil.post(RemoteApi.login, list, parent.getShell()); - if (responseHtml != null) { - private_token = JsonUtil.getJsonValueFromStr(responseHtml, "private_token"); - } - } - } else { - private_token = savedPrivate_token; - } - } - if (private_token != null && !private_token.isEmpty()) { - CloneRepository cr = null; - if (saved) { - UserData.saveKeyValue("password", password); - UserData.saveKeyValue("username", username); - UserData.saveKeyValue("private_token", private_token); - } - if (btnCloneType.getSelectionIndex() == 1) { - UserData.saveKeyValue("cloneType", "ssh"); - cr = new CloneRepository(WindowsHandler.config.getShell().getParent().getShell(), - private_token); - } else if (btnCloneType.getSelectionIndex() == 0) { - if (username.isEmpty() || password.isEmpty()) { - MessageDialog.openError(mainComposite.getShell(), "Error", i18n.loginError); - return; - } - UserData.saveKeyValue("cloneType", "http"); - cr = new CloneRepository(WindowsHandler.config.getShell().getParent().getShell(), - private_token, username, password); - } - WindowsHandler.cloneWindow = cr; - WindowsHandler.root = WindowsHandler.config.getShell().getParent(); - WindowsHandler.config.getShell().dispose(); - cr.open(); - } - } catch (ConnectTimeoutException e1) { - // TODO Auto-generated catch block - MessageDialog.openError(mainComposite.getShell(), "Error", "Login Timeout"); - } catch (ClientProtocolException e1) { - // TODO Auto-generated catch block - MessageDialog.openError(mainComposite.getShell(), "Error", e1.getMessage()); - } catch (IOException e1) { - // TODO Auto-generated catch block - MessageDialog.openError(mainComposite.getShell(), "Error", "Network Issues"); - } - } - }); - } + protected void createButtonsForButtonBar(final Composite parent) { + Button cancel = createButton(parent, IDialogConstants.CANCEL_ID, i18n.Cancel, false); + help = createButton(parent, IDialogConstants.NO_ID, i18n.Help, true); + // Help button code... + Button login = createButton(parent, IDialogConstants.NO_ID, i18n.Login, true); + login.addMouseListener(new MouseAdapter() { + @Override + public void mouseDown(MouseEvent e) { + loginProcess(); + } + }); + } + + private void loginProcess() { + String username = email.getText(); + String password = Password.getText(); + if (username.isEmpty() || password.isEmpty()) { + MessageDialog.openError(mainComposite.getShell(), i18n.Unauthorized, i18n.loginError); + return; + } + + try { + String privateToken = getPrivateTokenFromServer(username, password); + if (privateToken != null && !privateToken.isEmpty()) { + CloneRepository cr = null; + if (saved) { + UserData.saveKeyValue("password", password); + UserData.saveKeyValue("username", username); + UserData.saveKeyValue("private_token", privateToken); + } + if (btnCloneType.getSelectionIndex() == 1) { + UserData.saveKeyValue("cloneType", "ssh"); + cr = new CloneRepository(WindowsHandler.config.getShell().getParent().getShell(), privateToken); + } else if (btnCloneType.getSelectionIndex() == 0) { + UserData.saveKeyValue("cloneType", "http"); + cr = new CloneRepository(WindowsHandler.config.getShell().getParent().getShell(), + privateToken, username, password); + } + WindowsHandler.cloneWindow = cr; + WindowsHandler.root = WindowsHandler.config.getShell().getParent(); + WindowsHandler.config.getShell().dispose(); + cr.open(); + } + } catch (ConnectTimeoutException e) { + MessageDialog.openError(mainComposite.getShell(), "Error", "Login Timeout"); + } catch (ClientProtocolException e) { + MessageDialog.openError(mainComposite.getShell(), "Error", e.getMessage()); + } catch (IOException e) { + MessageDialog.openError(mainComposite.getShell(), "Error", "Network Issues"); + } + } + + private String getPrivateTokenFromServer(String username, String password) + throws IOException, ClientProtocolException { + List list = new ArrayList(); + list.add(new BasicNameValuePair("email", username)); + list.add(new BasicNameValuePair("password", password)); + String loginResponse = HttpUtil.post(RemoteApi.login, list, parent.getShell()); + if (loginResponse != null && loginResponse.contains("private_token")) { + return JsonUtil.getJsonValueFromStr(loginResponse, "private_token"); + } + return null; + } } -- Gitee From 7dab66c4337d6a4b2ab750853cea8aa04eef0fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B2=BB=E8=A8=80?= <13207076+actri_lzyan@user.noreply.gitee.com> Date: Fri, 28 Jul 2023 07:28:24 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=E5=9C=A8=20`update`=20=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=AF=B9=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E7=9A=84=E5=A4=84=E7=90=86=EF=BC=8C=E9=98=B2=E6=AD=A2=E6=BD=9C?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E9=97=AE=E9=A2=98=E5=BD=B1=E5=93=8D=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=89=A7=E8=A1=8C=E3=80=82=20=E8=88=AA=E7=A9=BA?= =?UTF-8?q?=E5=B7=A5=E4=B8=9A=E8=A5=BF=E5=AE=89=E8=88=AA=E7=A9=BA=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E6=8A=80=E6=9C=AF=E7=A0=94=E7=A9=B6=E6=89=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 刘治言 <13207076+actri_lzyan@user.noreply.gitee.com> --- .../oschina/git/utils/GitProgressMonitor.java | 84 ++++++++++--------- 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/src/net/oschina/git/utils/GitProgressMonitor.java b/src/net/oschina/git/utils/GitProgressMonitor.java index ba0bf38..8ec3800 100644 --- a/src/net/oschina/git/utils/GitProgressMonitor.java +++ b/src/net/oschina/git/utils/GitProgressMonitor.java @@ -45,45 +45,51 @@ public class GitProgressMonitor implements ProgressMonitor{ task.subTask(msg); } - public void update(final int work) { - if (task == null) - return; - - final int cmp = lastWorked + work; - if (totalWork == UNKNOWN && cmp > 0) { - if (lastWorked != cmp) - task.subTask(msg + ", " + cmp); - } else if (totalWork <= 0) { - // Do nothing to update the task. - } else if (cmp * 100 / totalWork != lastWorked * 100 / totalWork) { - final StringBuilder m = new StringBuilder(); - m.append(msg); - m.append(": "); - while (m.length() < 25) - m.append(' '); - - final String twstr = String.valueOf(totalWork); - String cmpstr = String.valueOf(cmp); - while (cmpstr.length() < twstr.length()) - cmpstr = " " + cmpstr; - final int pcnt = (cmp * 100 / totalWork); - if (pcnt < 100) - m.append(' '); - if (pcnt < 10) - m.append(' '); - task.worked(pcnt); - m.append(pcnt); - m.append("% ("); - m.append(cmpstr); - m.append("/"); - m.append(twstr); - m.append(")"); - - task.subTask(m.toString()); - } - lastWorked = cmp; - task.worked(work); - } + public void update(final int work) { + if (task == null) { + return; + } + + final int cmp = lastWorked + work; + if (totalWork == UNKNOWN && cmp > 0) { + if (lastWorked != cmp) { + task.subTask(msg + ", " + cmp); + } + } else if (totalWork <= 0) { + // Do nothing to update the task. + } else if (cmp * 100 / totalWork != lastWorked * 100 / totalWork) { + final StringBuilder m = new StringBuilder(); + m.append(msg); + m.append(": "); + while (m.length() < 25) { + m.append(' '); + } + + final String twstr = String.valueOf(totalWork); + String cmpstr = String.valueOf(cmp); + while (cmpstr.length() < twstr.length()) { + cmpstr = " " + cmpstr; + } + final int pcnt = (cmp * 100 / totalWork); + if (pcnt < 100) { + m.append(' '); + } + if (pcnt < 10) { + m.append(' '); + } + task.worked(pcnt); + m.append(pcnt); + m.append("% ("); + m.append(cmpstr); + m.append("/"); + m.append(twstr); + m.append(")"); + + task.subTask(m.toString()); + } + lastWorked = cmp; + task.worked(work); + } public void endTask() { if (task != null) { try { -- Gitee From 4ed5fa71db67e457754c0c440e69920078ab9289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B2=BB=E8=A8=80?= <13207076+actri_lzyan@user.noreply.gitee.com> Date: Fri, 28 Jul 2023 07:37:06 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=E5=9C=A8=20`update`=20=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=AF=B9=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E7=9A=84=E5=A4=84=E7=90=86=EF=BC=8C=E9=98=B2=E6=AD=A2=E6=BD=9C?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E9=97=AE=E9=A2=98=E5=BD=B1=E5=93=8D=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=89=A7=E8=A1=8C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 刘治言 <13207076+actri_lzyan@user.noreply.gitee.com> --- .../oschina/git/utils/GitProgressMonitor.java | 83 ++++++++++--------- 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/src/net/oschina/git/utils/GitProgressMonitor.java b/src/net/oschina/git/utils/GitProgressMonitor.java index 8ec3800..72d2ab6 100644 --- a/src/net/oschina/git/utils/GitProgressMonitor.java +++ b/src/net/oschina/git/utils/GitProgressMonitor.java @@ -46,49 +46,54 @@ public class GitProgressMonitor implements ProgressMonitor{ } public void update(final int work) { + if (task == null) { return; } - - final int cmp = lastWorked + work; - if (totalWork == UNKNOWN && cmp > 0) { - if (lastWorked != cmp) { - task.subTask(msg + ", " + cmp); - } - } else if (totalWork <= 0) { - // Do nothing to update the task. - } else if (cmp * 100 / totalWork != lastWorked * 100 / totalWork) { - final StringBuilder m = new StringBuilder(); - m.append(msg); - m.append(": "); - while (m.length() < 25) { - m.append(' '); - } - - final String twstr = String.valueOf(totalWork); - String cmpstr = String.valueOf(cmp); - while (cmpstr.length() < twstr.length()) { - cmpstr = " " + cmpstr; + try{ + final int cmp = lastWorked + work; + if (totalWork == UNKNOWN && cmp > 0) { + if (lastWorked != cmp) { + task.subTask(msg + ", " + cmp); + } + } else if (totalWork <= 0) { + // Do nothing to update the task. + } else if (cmp * 100 / totalWork != lastWorked * 100 / totalWork) { + final StringBuilder m = new StringBuilder(); + m.append(msg); + m.append(": "); + while (m.length() < 25) { + m.append(' '); + } + + final String twstr = String.valueOf(totalWork); + String cmpstr = String.valueOf(cmp); + while (cmpstr.length() < twstr.length()) { + cmpstr = " " + cmpstr; + } + final int pcnt = (cmp * 100 / totalWork); + if (pcnt < 100) { + m.append(' '); + } + if (pcnt < 10) { + m.append(' '); + } + task.worked(pcnt); + m.append(pcnt); + m.append("% ("); + m.append(cmpstr); + m.append("/"); + m.append(twstr); + m.append(")"); + + task.subTask(m.toString()); } - final int pcnt = (cmp * 100 / totalWork); - if (pcnt < 100) { - m.append(' '); - } - if (pcnt < 10) { - m.append(' '); - } - task.worked(pcnt); - m.append(pcnt); - m.append("% ("); - m.append(cmpstr); - m.append("/"); - m.append(twstr); - m.append(")"); - - task.subTask(m.toString()); - } - lastWorked = cmp; - task.worked(work); + lastWorked = cmp; + task.worked(work); + } + catch(RuntimeException e){ + System.err.println(e.getMessage()); + } } public void endTask() { if (task != null) { -- Gitee