Eclipseplugins
DBAndBinaryWizard.java
1 package com.proalpha.pds.gitutils.external;
2 
3 import java.io.IOException;
4 
5 import org.eclipse.egit.core.internal.job.RuleUtil;
6 import org.eclipse.jface.wizard.Wizard;
7 import org.eclipse.jgit.lib.Repository;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
10 
11 import com.proalpha.pds.gitutils.Activator;
12 import com.proalpha.pds.gitutils.mylyn.FeatureBranchSettings;
13 import com.proalpha.pds.gitutils.mylyn.ReconcileActionSettings;
14 import com.proalpha.pds.gitutils.mylyn.SelectActionPage;
15 
22 public class DBAndBinaryWizard extends Wizard {
23 
24  private final Logger logger = LoggerFactory.getLogger(DBAndBinaryWizard.class);
25 
26  private final SelectActionPage actionsPage;
27 
28  private FeatureBranchSettings settings = new FeatureBranchSettings();
29  private ReconcileActionSettings recoSettings = new ReconcileActionSettings();
30 
34  public DBAndBinaryWizard(Repository repository) {
35  super();
36 
37  String branch = "";
38  try {
39  branch = repository.getBranch();
40  } catch (IOException e) {
41  logger.error("Couldn't get branch of repository!");
42  }
43 
44  settings.setRepository(repository);
45  settings.setDbCommit(Activator.fetchDbCommit(repository));
46  settings.setArtifactsCommit(Activator.fetchArtifactsCommit(repository));
47  settings.setSourceBranch(branch);
48  settings.setTargetBranch(branch);
49  settings.setUpdateSourceBranch(false);
50  settings.setUpdateTargetBranch(false);
51  this.actionsPage = new SelectActionPage(this.settings, this.recoSettings);
52  super.setWindowTitle("proALPHA local reconcile");
53  }
54 
60  @Override
61  public boolean performFinish() {
62  reconcileAction();
63  return true;
64  }
65 
71  @Override
72  public void addPages() {
73  super.addPage(this.actionsPage);
74  }
75 
79  private void reconcileAction() {
80 
81  if (this.settings.getRepository() != null && actionsPage.isPageComplete()) {
82  DbAndBinaryJob job = new DbAndBinaryJob(settings.getRepository(), recoSettings);
83 
84  job.setUser(true);
85  job.setRule(RuleUtil.getRule(this.settings.getRepository()));
86  job.schedule();
87  }
88  }
89 
90 }
static String fetchDbCommit(Repository repository)
Definition: Activator.java:154
static String fetchArtifactsCommit(Repository repository)
Definition: Activator.java:169