Skip to content

Commit b30dcd5

Browse files
committed
Merge branch 'core_integration' of github.com:testmycode/tmc-netbeans into core_integration
2 parents 67657b3 + 026fc02 commit b30dcd5

22 files changed

+155
-86
lines changed

maven-wrapper/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@
286286
<dependency>
287287
<groupId>${project.groupId}</groupId>
288288
<artifactId>tmc-checkstyle-runner</artifactId>
289-
<version>2.1.2-SNAPSHOT</version>
289+
<version>2.1.1</version>
290290
<exclusions>
291291
<exclusion>
292292
<groupId>com.puppycrawl.tools</groupId>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public void bgTaskFailed(Throwable ex) {
141141
public Course call() throws Exception {
142142
logger.info("Downloading course to refresh cache");
143143
currentCourseFuture =
144-
tmcCore.getCourse(currentCourseBeforeUpdate.getDetailsUrlAsUri());
144+
tmcCore.getCourse(currentCourseBeforeUpdate.getDetailsUrl());
145145
return currentCourseFuture.get();
146146
}
147147

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.awt.event.ActionEvent;
2525
import java.awt.event.ActionListener;
2626
import java.io.IOException;
27+
import java.net.URI;
2728
import java.nio.charset.Charset;
2829
import java.util.logging.Level;
2930
import java.util.logging.Logger;
@@ -175,7 +176,7 @@ private void sendLoggableEvent(Review review) {
175176
private static class ReviewOpened {
176177
public final int id;
177178
public final int submissionId;
178-
public final String url;
179+
public final URI url;
179180
public final boolean markedAsRead;
180181

181182
public ReviewOpened(Review review) {

tmc-plugin/src/fi/helsinki/cs/tmc/layergen/UpdateCenterLayerGen.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import java.io.UnsupportedEncodingException;
1515
import java.net.MalformedURLException;
1616
import java.net.URL;
17+
import java.nio.file.Paths;
1718
import java.util.Collection;
1819

1920
/**
@@ -44,7 +45,7 @@ public InputStream openInputStream() {
4445
public UpdateCenterLayerGen() {
4546
synchronized (UpdateCenterLayerGen.class) {
4647
if (!callbackRegistered) {
47-
CallbackURLStreamHandler.registerCallback(CALLBACK_NAME, callback);
48+
CallbackURLStreamHandler.registerCallback(Paths.get(CALLBACK_NAME), callback);
4849
}
4950
callbackRegistered = true;
5051
}

tmc-plugin/src/fi/helsinki/cs/tmc/model/CourseDb.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import java.io.IOException;
1212
import java.io.Reader;
1313
import java.io.Writer;
14+
import java.net.URI;
1415
import java.util.ArrayList;
1516
import java.util.Collections;
1617
import java.util.HashMap;
@@ -142,13 +143,13 @@ public List<Exercise> getCurrentCourseUnlockableExercises() {
142143
List<Exercise> result = new ArrayList<Exercise>();
143144
Course course = getCurrentCourse();
144145
if (course != null) {
145-
List<String> unlockables = course.getUnlockables();
146+
List<URI> unlockables = course.getUnlockables();
146147
if (unlockables == null) {
147148
unlockables = Collections.emptyList();
148149
}
149-
for (String exerciseName : unlockables) {
150+
for (URI exerciseName : unlockables) {
150151
for (Exercise ex : course.getExercises()) {
151-
if (ex.getName().equals(exerciseName)) {
152+
if (ex.getName().equals(exerciseName.toString())) {
152153
result.add(ex);
153154
}
154155
}

tmc-plugin/src/fi/helsinki/cs/tmc/model/NbTmcSettings.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
import fi.helsinki.cs.tmc.tailoring.Tailoring;
88
import fi.helsinki.cs.tmc.core.configuration.TmcSettings;
99
import fi.helsinki.cs.tmc.core.domain.Course;
10+
11+
import java.nio.file.Path;
12+
import java.nio.file.Paths;
1013
import java.util.Locale;
1114

1215
/**
@@ -153,9 +156,10 @@ public boolean isSavingPassword() {
153156

154157
@Override
155158
public String getTmcMainDirectory() {
156-
String path = settings.get(PREF_PROJECT_ROOT_DIR, null);
157-
if (path != null) {
158-
return path;
159+
String target = settings.get(PREF_PROJECT_ROOT_DIR, null);
160+
//TODO: Change String to Path in TmcSettings
161+
if (target != null) {
162+
return target;
159163
} else {
160164
// Can sometimes take a while. That's why we don't pass it as a default above.
161165
return ProjectMediator.getDefaultProjectRootDir();

tmc-plugin/src/fi/helsinki/cs/tmc/model/ProjectMediator.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
import fi.helsinki.cs.tmc.core.domain.Exercise;
44
import fi.helsinki.cs.tmc.utilities.ExceptionUtils;
5+
56
import java.io.File;
67
import java.io.IOException;
8+
import java.nio.file.Path;
9+
import java.nio.file.Paths;
710
import java.util.ArrayList;
811
import java.util.Arrays;
912
import java.util.Collection;
@@ -113,13 +116,13 @@ public File getCourseRootDir(String courseName) {
113116
* The exercise must have a course name set.
114117
*/
115118
public File getProjectDirForExercise(Exercise ex) {
116-
String path =
119+
Path path = Paths.get(
117120
getProjectRootDir()
118121
+ File.separator
119122
+ ex.getCourseName()
120123
+ File.separator
121-
+ ex.getName().replaceAll("-", "/");
122-
File file = new File(path);
124+
+ ex.getName().replaceAll("-", "/"));
125+
File file = path.toFile();
123126
return FileUtil.normalizeFile(file);
124127
}
125128

tmc-plugin/src/fi/helsinki/cs/tmc/model/PushEventListener.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
import fi.helsinki.cs.tmc.events.TmcEvent;
55
import fi.helsinki.cs.tmc.events.TmcEventBus;
66
import fi.helsinki.cs.tmc.events.TmcEventListener;
7+
8+
import java.net.URI;
79
import java.util.HashMap;
810
import java.util.Map;
911
import java.util.TimerTask;
1012
import java.util.logging.Level;
1113
import java.util.logging.Logger;
14+
1215
import org.cometd.bayeux.Channel;
1316
import org.cometd.bayeux.Message;
1417
import org.cometd.bayeux.client.ClientSession;
@@ -120,12 +123,12 @@ private synchronized void initClientIfPossible() {
120123
return;
121124
}
122125

123-
String cometUrl = course.getCometUrl();
126+
URI cometUrl = course.getCometUrl();
124127
if (cometUrl == null) {
125128
return;
126129
}
127-
ClientTransport transport = createWebSocketTransport(cometUrl);
128-
client = new BayeuxClient(cometUrl, transport);
130+
ClientTransport transport = createWebSocketTransport(cometUrl.toString());
131+
client = new BayeuxClient(cometUrl.toString(), transport);
129132
client.getChannel(Channel.META_HANDSHAKE).addListener(handshakeListener);
130133
client.getChannel(Channel.META_DISCONNECT).addListener(disconnectListener);
131134

tmc-plugin/src/fi/helsinki/cs/tmc/model/ServerAccess.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ public boolean cancel() {
134134

135135
@Deprecated
136136
public CancellableCallable<Course> getFullCourseInfoTask(Course courseStub) {
137-
String url = addApiCallQueryParameters(courseStub.getDetailsUrl());
138-
final CancellableCallable<String> download = createHttpTasks().getForText(url);
137+
URI url = URI.create(addApiCallQueryParameters(courseStub.getDetailsUrl().toString()));
138+
final CancellableCallable<String> download = createHttpTasks().getForText(url.toString());
139139
return new CancellableCallable<Course>() {
140140
@Override
141141
public Course call() throws Exception {
@@ -177,22 +177,22 @@ public boolean cancel() {
177177
}
178178

179179
private String getUnlockUrl(Course course) {
180-
return addApiCallQueryParameters(course.getUnlockUrl());
180+
return addApiCallQueryParameters(course.getUnlockUrl().toString());
181181
}
182182

183183
public CancellableCallable<byte[]> getDownloadingExerciseZipTask(Exercise exercise) {
184-
String zipUrl = exercise.getDownloadUrl();
185-
return createHttpTasks().getForBinary(zipUrl);
184+
URI zipUrl = exercise.getDownloadUrl();
185+
return createHttpTasks().getForBinary(zipUrl.toString());
186186
}
187187

188188
public CancellableCallable<byte[]> getDownloadingExerciseSolutionZipTask(Exercise exercise) {
189-
String zipUrl = exercise.getSolutionDownloadUrl();
190-
return createHttpTasks().getForBinary(zipUrl);
189+
URI zipUrl = exercise.getSolutionDownloadUrl();
190+
return createHttpTasks().getForBinary(zipUrl.toString());
191191
}
192192

193193
public CancellableCallable<SubmissionResponse> getSubmittingExerciseTask(
194194
final Exercise exercise, final byte[] sourceZip, Map<String, String> extraParams) {
195-
final String submitUrl = addApiCallQueryParameters(exercise.getReturnUrl());
195+
final URI submitUrl = URI.create(addApiCallQueryParameters(exercise.getReturnUrl().toString()));
196196

197197
Map<String, String> params = new LinkedHashMap<String, String>();
198198
params.put("client_time", "" + (System.currentTimeMillis() / 1000L));
@@ -202,7 +202,7 @@ public CancellableCallable<SubmissionResponse> getSubmittingExerciseTask(
202202
final CancellableCallable<String> upload =
203203
createHttpTasks()
204204
.uploadFileForTextDownload(
205-
submitUrl, params, "submission[file]", sourceZip);
205+
submitUrl.toString(), params, "submission[file]", sourceZip);
206206

207207
return new CancellableCallable<SubmissionResponse>() {
208208
@Override
@@ -254,8 +254,8 @@ public CancellableCallable<String> getSubmissionFetchTask(String submissionUrl)
254254
}
255255

256256
public CancellableCallable<List<Review>> getDownloadingReviewListTask(Course course) {
257-
String url = addApiCallQueryParameters(course.getReviewsUrl());
258-
final CancellableCallable<String> download = createHttpTasks().getForText(url);
257+
URI url = URI.create(addApiCallQueryParameters(course.getReviewsUrl().toString()));
258+
final CancellableCallable<String> download = createHttpTasks().getForText(url.toString());
259259
return new CancellableCallable<List<Review>>() {
260260
@Override
261261
public List<Review> call() throws Exception {

tmc-plugin/src/fi/helsinki/cs/tmc/model/SourceFileLookup.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import fi.helsinki.cs.tmc.core.domain.Exercise;
44

5+
import java.nio.file.Path;
6+
import java.nio.file.Paths;
7+
58
import org.netbeans.api.java.classpath.GlobalPathRegistry;
69
import org.openide.filesystems.FileObject;
710

@@ -24,20 +27,20 @@ private SourceFileLookup(
2427

2528
public FileObject findSourceFileFor(Exercise exercise, String className) {
2629
String outerClassName = className.replaceAll("\\$.*$", "");
27-
String path = outerClassName.replace('.', '/') + ".java";
30+
Path path = Paths.get(outerClassName.replace('.', '/') + ".java");
2831

2932
TmcProjectInfo correctProject = projectMediator.tryGetProjectForExercise(exercise);
3033
for (FileObject sr : globalPathRegistry.getSourceRoots()) {
3134
TmcProjectInfo p = projectMediator.tryGetProjectOwningFile(sr);
3235
if (p != null && p.equals(correctProject)) {
33-
FileObject result = sr.getFileObject(path);
36+
FileObject result = sr.getFileObject(path.toString());
3437
if (result != null) {
3538
return result;
3639
}
3740
}
3841
}
3942

4043
// Fall back to findResource picking a source root from any project.
41-
return GlobalPathRegistry.getDefault().findResource(path);
44+
return GlobalPathRegistry.getDefault().findResource(path.toString());
4245
}
4346
}

0 commit comments

Comments
 (0)