summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/ibm/ServerWizard2/utility/GithubRepository.java16
-rw-r--r--src/com/ibm/ServerWizard2/view/GitDialog.java15
-rw-r--r--src/com/ibm/ServerWizard2/view/PasswordPrompt.java5
3 files changed, 25 insertions, 11 deletions
diff --git a/src/com/ibm/ServerWizard2/utility/GithubRepository.java b/src/com/ibm/ServerWizard2/utility/GithubRepository.java
index 613200a..e1c8140 100644
--- a/src/com/ibm/ServerWizard2/utility/GithubRepository.java
+++ b/src/com/ibm/ServerWizard2/utility/GithubRepository.java
@@ -15,6 +15,7 @@ import org.eclipse.jgit.transport.FetchResult;
import org.eclipse.jgit.transport.RefSpec;
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
import org.eclipse.jgit.util.FS;
+import org.eclipse.swt.widgets.Shell;
import com.ibm.ServerWizard2.ServerWizard2;
import com.ibm.ServerWizard2.view.PasswordPrompt;
@@ -25,6 +26,7 @@ public class GithubRepository implements Comparable<GithubRepository> {
private File gitDirectory;
private boolean needsPassword;
private boolean passwordValidated = false;
+ private Shell shell = null;
private UsernamePasswordCredentialsProvider credentials;
private boolean cloned;
@@ -43,6 +45,9 @@ public class GithubRepository implements Comparable<GithubRepository> {
}
}
+ public void setShell(Shell shell) {
+ this.shell = shell;
+ }
public File getRootDirectory() {
return rootDirectory;
}
@@ -56,7 +61,7 @@ public class GithubRepository implements Comparable<GithubRepository> {
credentials = new UsernamePasswordCredentialsProvider("", "");
return;
}
- PasswordPrompt dlg = new PasswordPrompt(null, this.remoteUrl);
+ PasswordPrompt dlg = new PasswordPrompt(shell, this.remoteUrl);
dlg.open();
credentials = new UsernamePasswordCredentialsProvider("", dlg.passwd);
passwordValidated = false;
@@ -128,13 +133,13 @@ public class GithubRepository implements Comparable<GithubRepository> {
}
}
- public void fetch(boolean reset) throws Exception {
+ public String fetch(boolean reset) throws Exception {
if (!passwordValidated) {
this.getPassword();
}
ServerWizard2.LOGGER.info("Fetching " + this.rootDirectory.getAbsolutePath());
-
+ String rstr = "";
try {
ProgressMonitor pim = new ProgressMonitor(null, "Fetching...", "", 0, 1);
GitProgressMonitor gpim = new GitProgressMonitor(pim);
@@ -146,16 +151,19 @@ public class GithubRepository implements Comparable<GithubRepository> {
if (reset) {
ServerWizard2.LOGGER.info("Resetting to head: " + this.getRemoteUrl());
result.reset().setMode(ResetType.HARD).call();
+ rstr = "Reset Complete";
} else {
ServerWizard2.LOGGER.info("Rebase: " + this.getRemoteUrl());
RebaseResult r = result.rebase().setUpstream("refs/remotes/origin/master").call();
- ServerWizard2.LOGGER.info(r.getStatus().toString());
+ rstr = r.getStatus().toString();
+ ServerWizard2.LOGGER.info(rstr);
}
result.close();
} catch (Exception e1) {
passwordValidated = false;
this.betterError(e1);
}
+ return rstr;
}
public org.eclipse.jgit.api.Status status() {
diff --git a/src/com/ibm/ServerWizard2/view/GitDialog.java b/src/com/ibm/ServerWizard2/view/GitDialog.java
index f82cabe..7297afa 100644
--- a/src/com/ibm/ServerWizard2/view/GitDialog.java
+++ b/src/com/ibm/ServerWizard2/view/GitDialog.java
@@ -174,18 +174,19 @@ public class GitDialog extends Dialog {
g.cloneRepository();
}
org.eclipse.jgit.api.Status status = g.status();
+
if (!status.isClean()) {
- boolean reset = MessageDialog.openConfirm(null, "Repository is Modified",
+ boolean reset = MessageDialog.openQuestion(null, "Repository is Modified",
"The local repository for:\n" + g.getRemoteUrl() + "\n"
- + "has been modified. Would you like to ignore changes and reset");
+ + "has been modified. Would you like to ignore changes and reset?");
if (reset) {
- g.fetch(true);
- MessageDialog.openInformation(null, "Refresh Complete", "Refresh Complete");
+ String r = g.fetch(true);
+ MessageDialog.openInformation(null, "Refresh Complete", "Reset Successful");
}
} else {
- g.fetch(false);
- MessageDialog.openInformation(null, "Refresh Complete", "Refresh Complete");
+ String r = g.fetch(false);
+ MessageDialog.openInformation(null, "Refresh Complete", "Message: "+r);
}
} catch (Exception e) {
MessageDialog.openError(null, "Git Refresh: "+g.getRemoteUrl(), e.getMessage());
@@ -270,6 +271,7 @@ public class GitDialog extends Dialog {
return;
}
GithubRepository g = new GithubRepository(repo, git.getLocation(), btnNeedsPassword.getSelection());
+ g.setShell(getShell());
if (git.isRepository(g)) {
MessageDialog.openError(null, "Error", "Repository already exists");
return;
@@ -371,6 +373,7 @@ public class GitDialog extends Dialog {
n = true;
}
GithubRepository g = new GithubRepository(repo[i],ServerWizard2.GIT_LOCATION,n);
+ g.setShell(getShell());
git.getRepositories().add(g);
}
} catch (Exception e) {
diff --git a/src/com/ibm/ServerWizard2/view/PasswordPrompt.java b/src/com/ibm/ServerWizard2/view/PasswordPrompt.java
index b01d70c..aed5f7f 100644
--- a/src/com/ibm/ServerWizard2/view/PasswordPrompt.java
+++ b/src/com/ibm/ServerWizard2/view/PasswordPrompt.java
@@ -17,6 +17,7 @@ public class PasswordPrompt extends Dialog {
private Text text;
public char passwd[];
private String label;
+ Button btnOk;
/**
* Create the dialog.
@@ -24,6 +25,7 @@ public class PasswordPrompt extends Dialog {
*/
public PasswordPrompt(Shell parentShell,String label) {
super(parentShell);
+ setShellStyle(SWT.APPLICATION_MODAL);
this.label = label;
}
@@ -58,7 +60,7 @@ public class PasswordPrompt extends Dialog {
text = new Text(composite_1, SWT.BORDER | SWT.PASSWORD);
text.setBounds(10, 10, 115, 21);
- Button btnOk = new Button(composite_1, SWT.NONE);
+ btnOk = new Button(composite_1, SWT.NONE);
btnOk.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
@@ -68,6 +70,7 @@ public class PasswordPrompt extends Dialog {
});
btnOk.setBounds(143, 6, 75, 25);
btnOk.setText("Ok");
+ this.getShell().setDefaultButton(btnOk);
return container;
}
OpenPOWER on IntegriCloud