Skip to content

Commit 75ca2f5

Browse files
committed
TmcCoreSingleton class
1 parent 55f6d79 commit 75ca2f5

File tree

6 files changed

+67
-33
lines changed

6 files changed

+67
-33
lines changed

tmc-plugin/src/fi/helsinki/cs/tmc/actions/DownloadCompletedExercises.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
import fi.helsinki.cs.tmc.ui.DownloadOrUpdateExercisesDialog;
1111
import fi.helsinki.cs.tmc.utilities.BgTask;
1212
import fi.helsinki.cs.tmc.utilities.BgTaskListener;
13+
import hy.tmc.core.exceptions.TmcCoreException;
1314
import java.awt.event.ActionEvent;
1415
import java.awt.event.ActionListener;
1516
import java.util.Collections;
1617
import java.util.List;
1718
import org.openide.awt.ActionID;
1819
import org.openide.awt.ActionReference;
1920
import org.openide.awt.ActionRegistration;
21+
import org.openide.util.Exceptions;
2022
import org.openide.util.NbBundle.Messages;
2123

2224
@ActionID(category = "TMC", id = "fi.helsinki.cs.tmc.actions.DownloadCompletedExercises")
@@ -28,13 +30,13 @@ public final class DownloadCompletedExercises implements ActionListener {
2830
private ServerAccess serverAccess;
2931
private CourseDb courseDb;
3032
private ConvenientDialogDisplayer dialogs;
31-
33+
3234
public DownloadCompletedExercises() {
3335
this.serverAccess = new ServerAccess();
3436
this.courseDb = CourseDb.getInstance();
3537
this.dialogs = ConvenientDialogDisplayer.getDefault();
3638
}
37-
39+
3840
@Override
3941
public void actionPerformed(ActionEvent e) {
4042
final Course currentCourse = courseDb.getCurrentCourse();

tmc-plugin/src/fi/helsinki/cs/tmc/actions/RefreshCoursesAction.java

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
import fi.helsinki.cs.tmc.utilities.BgTaskListenerList;
1515
import fi.helsinki.cs.tmc.utilities.CancellableCallable;
1616
import hy.tmc.core.TmcCore;
17+
import hy.tmc.core.domain.Credentials;
18+
import hy.tmc.core.exceptions.TmcCoreException;
1719
import java.util.ArrayList;
1820
import java.util.List;
1921
import java.util.logging.Level;
2022
import java.util.logging.Logger;
21-
import org.apache.http.auth.Credentials;
2223
import org.openide.util.Exceptions;
2324

2425
/**
@@ -61,22 +62,26 @@ public RefreshCoursesAction addListener(BgTaskListener<List<Course>> listener) {
6162
}
6263

6364
public void run() {
64-
// Credentials credentials = new Credentials(this.tmcSettings.getUsername(),
65-
// this.tmcSettings.getPassword()) {};
66-
// System.out.println(credentials);
67-
// ListenableFuture<Boolean> login = this.tmcCore.login(credentials, tmcSettings.getServerBaseUrl());
68-
// Futures.addCallback(login, new FutureCallback<Boolean>() {
69-
// @Override
70-
// public void onSuccess(Boolean v) {
71-
// System.out.println("TOIMIIIII: " + v);
72-
// }
73-
//
74-
// @Override
75-
// public void onFailure(Throwable thrwbl) {
76-
// System.out.println("LOGIN LATAUS FEILASI1: " );
77-
// Exceptions.printStackTrace(thrwbl);
78-
// }
79-
// });
65+
try {
66+
Credentials credentials = new Credentials(this.tmcSettings.getUsername(),
67+
this.tmcSettings.getPassword()) {};
68+
System.out.println(credentials);
69+
ListenableFuture<Boolean> login = this.tmcCore.login(credentials, tmcSettings.getServerBaseUrl() + "/user");
70+
Futures.addCallback(login, new FutureCallback<Boolean>() {
71+
@Override
72+
public void onSuccess(Boolean v) {
73+
System.out.println("TOIMIIIII: " + v);
74+
}
75+
76+
@Override
77+
public void onFailure(Throwable thrwbl) {
78+
System.out.println("LOGIN LATAUS FEILASI1: " );
79+
Exceptions.printStackTrace(thrwbl);
80+
}
81+
});
82+
} catch (TmcCoreException ex) {
83+
Exceptions.printStackTrace(ex);
84+
}
8085
}
8186

8287
public void oldRun() {

tmc-plugin/src/fi/helsinki/cs/tmc/actions/ReviewEventListener.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import fi.helsinki.cs.tmc.utilities.BgTask;
1515
import fi.helsinki.cs.tmc.utilities.BgTaskListener;
1616
import fi.helsinki.cs.tmc.utilities.CancellableCallable;
17+
import hy.tmc.core.exceptions.TmcCoreException;
1718
import java.awt.Image;
1819
import java.awt.event.ActionEvent;
1920
import java.awt.event.ActionListener;
@@ -24,6 +25,7 @@
2425
import javax.imageio.ImageIO;
2526
import javax.swing.Icon;
2627
import javax.swing.SwingUtilities;
28+
import org.openide.util.Exceptions;
2729
import org.openide.util.ImageUtilities;
2830

2931
public class ReviewEventListener extends TmcEventListener {
@@ -68,7 +70,11 @@ public void receive(ReviewDb.NewUnreadReviewEvent e) throws Throwable {
6870
SwingUtilities.invokeLater(new Runnable() {
6971
@Override
7072
public void run() {
71-
refreshCourseDb();
73+
try {
74+
refreshCourseDb();
75+
} catch (TmcCoreException ex) {
76+
Exceptions.printStackTrace(ex);
77+
}
7278

7379
String title = "Code review";
7480
String msg = "Code review for " + review.getExerciseName() + " ready.";
@@ -90,7 +96,7 @@ public void actionPerformed(ActionEvent e) {
9096
});
9197
}
9298

93-
private void refreshCourseDb() {
99+
private void refreshCourseDb() throws TmcCoreException {
94100
// Exercise properties have probably changed
95101
new RefreshCoursesAction().addDefaultListener(false, true).run();
96102
}

tmc-plugin/src/fi/helsinki/cs/tmc/actions/SaveSettingsAction.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@
77
import fi.helsinki.cs.tmc.ui.PreferencesUI;
88
import fi.helsinki.cs.tmc.ui.DownloadOrUpdateExercisesDialog;
99
import fi.helsinki.cs.tmc.utilities.BgTaskListener;
10+
import hy.tmc.core.exceptions.TmcCoreException;
1011
import java.awt.event.ActionEvent;
1112
import java.util.List;
1213
import javax.swing.AbstractAction;
14+
import org.openide.util.Exceptions;
1315

1416
public class SaveSettingsAction extends AbstractAction {
1517

1618
private CourseDb courseDb;
17-
19+
1820
public SaveSettingsAction() {
1921
this.courseDb = CourseDb.getInstance();
2022
}
@@ -66,7 +68,7 @@ public void bgTaskFailed(Throwable ex) {
6668
});
6769
refresh.run();
6870
}
69-
71+
7072
settings.save();
7173
}
7274
}

tmc-plugin/src/fi/helsinki/cs/tmc/actions/TmcModuleInstall.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import fi.helsinki.cs.tmc.spyware.SpywareFacade;
88
import fi.helsinki.cs.tmc.ui.LoginDialog;
99
import fi.helsinki.cs.tmc.utilities.BgTaskListener;
10+
import hy.tmc.core.exceptions.TmcCoreException;
1011
import java.util.ArrayList;
1112
import java.util.List;
1213
import java.util.logging.Level;
@@ -18,15 +19,17 @@
1819
import org.openide.modules.ModuleInstall;
1920
import org.openide.modules.Modules;
2021
import org.openide.modules.SpecificationVersion;
22+
import org.openide.util.Exceptions;
2123
import org.openide.util.NbPreferences;
2224
import org.openide.windows.WindowManager;
2325

2426
public class TmcModuleInstall extends ModuleInstall {
27+
2528
private static final String PREF_FIRST_RUN = "firstRun";
2629
private static final String PREF_MODULE_VERSION = "moduleVersion";
27-
30+
2831
private static final Logger log = Logger.getLogger(TmcModuleInstall.class.getName());
29-
32+
3033
@Override
3134
public void restored() {
3235
WindowManager.getDefault().invokeWhenUIReady(new Runnable() {
@@ -37,9 +40,9 @@ public void run() {
3740
ReviewEventListener.start();
3841
PushEventListener.start();
3942
SpywareFacade.start();
40-
43+
4144
Preferences prefs = NbPreferences.forModule(TmcModuleInstall.class);
42-
45+
4346
SpecificationVersion currentVersion = getCurrentModuleVersion();
4447
SpecificationVersion prevVersion = new SpecificationVersion(prefs.get(PREF_MODULE_VERSION, "0.0.0"));
4548
if (!currentVersion.equals(prevVersion)) {
@@ -50,7 +53,7 @@ public void run() {
5053
}
5154
prefs.put(PREF_MODULE_VERSION, currentVersion.toString());
5255
}
53-
56+
5457
boolean isFirstRun = prefs.getBoolean(PREF_FIRST_RUN, true);
5558
if (isFirstRun) {
5659
doFirstRun();
@@ -80,7 +83,7 @@ public void bgTaskFailed(Throwable ex) {
8083
}
8184
});
8285
}
83-
86+
8487
private SpecificationVersion getCurrentModuleVersion() {
8588
ModuleInfo modInfo = Modules.getDefault().ownerOf(this.getClass());
8689
return modInfo.getSpecificationVersion();
@@ -94,11 +97,11 @@ public void close() {
9497
log.log(Level.WARNING, "Failed to close SpywareFacade.", e);
9598
}
9699
}
97-
100+
98101
private void doFirstRun() {
99102
new ShowSettingsAction().run();
100103
}
101-
104+
102105
private void doUpdateFromPreviousVersion(SpecificationVersion prevVersion) {
103106
// A previous update center was registered with an incorrect name in versions before 0.3.1.
104107
// Moreover the URL has since changed. This version provides the new update center,
@@ -107,7 +110,7 @@ private void doUpdateFromPreviousVersion(SpecificationVersion prevVersion) {
107110
removeOldUpdateCenterFromBefore031();
108111
}
109112
}
110-
113+
111114
private void removeOldUpdateCenterFromBefore031() {
112115
ArrayList<UpdateUnitProvider> providersToRemove = new ArrayList<UpdateUnitProvider>();
113116
for (UpdateUnitProvider provider : UpdateUnitProviderFactory.getDefault().getUpdateUnitProviders(false)) {
@@ -120,7 +123,7 @@ private void removeOldUpdateCenterFromBefore031() {
120123
providersToRemove.add(provider);
121124
}
122125
}
123-
126+
124127
for (UpdateUnitProvider provider : providersToRemove) {
125128
UpdateUnitProviderFactory.getDefault().remove(provider);
126129
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
package fi.helsinki.cs.tmc.model;
3+
4+
import hy.tmc.core.TmcCore;
5+
6+
public class TmcCoreSingleton {
7+
8+
private static TmcCore defaultInstance;
9+
10+
public static TmcCore getInstance() {
11+
if (defaultInstance == null) {
12+
defaultInstance = new TmcCore();
13+
}
14+
return defaultInstance;
15+
}
16+
}

0 commit comments

Comments
 (0)