Skip to content
This repository was archived by the owner on Feb 21, 2019. It is now read-only.

Commit 9a0df03

Browse files
committed
Improved code && used static fields for building messages
Signed-off-by: Fjodor Vershinin <[email protected]>
1 parent 9eb3fa9 commit 9a0df03

File tree

10 files changed

+54
-41
lines changed

10 files changed

+54
-41
lines changed

org.eclipse.flux.client.java/src/main/java/org/eclipse/flux/client/IMessageHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
public interface IMessageHandler {
2222
public static final String GET_PROJECT_REQUEST = "getProjectRequest";
2323
public static final String GET_PROJECT_RESPONSE = "getProjectResponse";
24+
public static final String GET_PROJECTS_REQUEST = "getProjectsRequest";
25+
public static final String GET_PROJECTS_RESPONSE = "getProjectsResponse";
2426
public static final String GET_LIVE_RESOURCE_REQUEST = "getLiveResourcesRequest";
2527
public static final String GET_METADATA_REQUEST = "getMetadataRequest";
2628
public static final String GET_METADATA_RESPONSE = "getMetadataResponse";

org.eclipse.flux.client.java/src/main/java/org/eclipse/flux/client/MessageConstants.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ public abstract class MessageConstants {
6565
public static final String HASH = "hash";
6666
public static final String INCLUDE_DELETED = "includeDeleted";
6767
public static final String PATH = "path";
68-
public static final String PROJECT = "project";
6968
public static final String RESOURCE = "resource";
7069
public static final String TIMESTAMP = "timestamp";
7170
public static final String TYPE = "type";
@@ -77,5 +76,8 @@ public abstract class MessageConstants {
7776
public static final String ADDED_CHARACTERS = "addedCharacters";
7877
public static final String PROJECT_REG_EX = "projectRegEx";
7978
public static final String RESOURCE_REG_EX = "resourceRegEx";
80-
79+
public static final String METADATA = "metadata";
80+
public static final String PROJECTS = "projects";
81+
public static final String NAME = "name";
82+
public static final String MARKER = "marker";
8183
}

org.eclipse.flux.core/src/org/eclipse/flux/core/RepositoryAdapter.java

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.eclipse.flux.core.util.Utils;
3535
import org.eclipse.flux.client.IMessageHandler;
3636
import org.eclipse.flux.client.MessageConnector;
37+
import org.eclipse.flux.client.MessageConstants;
3738
import org.eclipse.flux.watcher.core.Repository;
3839
import org.eclipse.flux.watcher.core.RepositoryEvent;
3940
import org.eclipse.flux.watcher.core.RepositoryEventBus;
@@ -85,32 +86,32 @@ public void onEvent(RepositoryEvent event) throws Exception {
8586
switch (event.type()) {
8687
case PROJECT_RESOURCE_CREATED:
8788
JSONObject createdStoredMessage = new JSONObject();
88-
createdStoredMessage.put("username", RepositoryAdapter.this.username);
89-
createdStoredMessage.put("project", project.id());
90-
createdStoredMessage.put("resource", resource.path());
91-
createdStoredMessage.put("timestamp", resource.timestamp());
92-
createdStoredMessage.put("hash", resource.hash());
93-
createdStoredMessage.put("type", resource.type().name().toLowerCase());
94-
RepositoryAdapter.this.messageConnector.send("resourceCreated", createdStoredMessage);
95-
RepositoryAdapter.this.messageConnector.send("resourceStored", createdStoredMessage);
89+
createdStoredMessage.put(MessageConstants.USERNAME, RepositoryAdapter.this.username);
90+
createdStoredMessage.put(MessageConstants.PROJECT_NAME, project.id());
91+
createdStoredMessage.put(MessageConstants.RESOURCE, resource.path());
92+
createdStoredMessage.put(MessageConstants.TIMESTAMP, resource.timestamp());
93+
createdStoredMessage.put(MessageConstants.HASH, resource.hash());
94+
createdStoredMessage.put(MessageConstants.TYPE, resource.type().name().toLowerCase());
95+
RepositoryAdapter.this.messageConnector.send(IMessageHandler.RESOURCE_CREATED, createdStoredMessage);
96+
RepositoryAdapter.this.messageConnector.send(IMessageHandler.RESOURCE_STORED, createdStoredMessage);
9697
break;
9798
case PROJECT_RESOURCE_MODIFIED:
9899
JSONObject modifiedStoredMessage = new JSONObject();
99-
modifiedStoredMessage.put("username", RepositoryAdapter.this.username);
100-
modifiedStoredMessage.put("project", project.id());
101-
modifiedStoredMessage.put("resource", resource.path());
102-
modifiedStoredMessage.put("timestamp", resource.timestamp());
103-
modifiedStoredMessage.put("hash", resource.hash());
104-
RepositoryAdapter.this.messageConnector.send("resourceChanged", modifiedStoredMessage);
105-
RepositoryAdapter.this.messageConnector.send("resourceStored", modifiedStoredMessage);
100+
modifiedStoredMessage.put(MessageConstants.USERNAME, RepositoryAdapter.this.username);
101+
modifiedStoredMessage.put(MessageConstants.PROJECT_NAME, project.id());
102+
modifiedStoredMessage.put(MessageConstants.RESOURCE, resource.path());
103+
modifiedStoredMessage.put(MessageConstants.TIMESTAMP, resource.timestamp());
104+
modifiedStoredMessage.put(MessageConstants.HASH, resource.hash());
105+
RepositoryAdapter.this.messageConnector.send(IMessageHandler.RESOURCE_CHANGED, modifiedStoredMessage);
106+
RepositoryAdapter.this.messageConnector.send(IMessageHandler.RESOURCE_STORED, modifiedStoredMessage);
106107
break;
107108
case PROJECT_RESOURCE_DELETED:
108109
JSONObject message = new JSONObject();
109-
message.put("username", RepositoryAdapter.this.username);
110-
message.put("project", project.id());
111-
message.put("resource", resource.path());
112-
message.put("timestamp", resource.timestamp());
113-
RepositoryAdapter.this.messageConnector.send("resourceDeleted", message);
110+
message.put(MessageConstants.USERNAME, RepositoryAdapter.this.username);
111+
message.put(MessageConstants.PROJECT_NAME, project.id());
112+
message.put(MessageConstants.RESOURCE, resource.path());
113+
message.put(MessageConstants.TIMESTAMP, resource.timestamp());
114+
RepositoryAdapter.this.messageConnector.send(IMessageHandler.RESOURCE_DELETED, message);
114115
break;
115116
default:
116117
break;

org.eclipse.flux.core/src/org/eclipse/flux/core/handlers/LiveResourceChangedHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public LiveResourceChangedHandler(Collection<ILiveEditConnector> liveEditConnect
1717
@Override
1818
protected void onMessage(String type, JSONObject message) throws Exception {
1919
String username = message.getString(MessageConstants.USERNAME);
20-
String projectName = message.getString(MessageConstants.PROJECT);
20+
String projectName = message.getString(MessageConstants.PROJECT_NAME);
2121
String resourcePath = message.getString(MessageConstants.RESOURCE);
2222
int offset = message.getInt(MessageConstants.OFFSET);
2323
int removedCharCount = message.getInt(MessageConstants.REMOVED_CHAR_COUNT);

org.eclipse.flux.core/src/org/eclipse/flux/core/handlers/LiveResourceStartedHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ protected void onMessage(String type, JSONObject message) throws Exception {
1919
String requestSenderID = message.getString(MessageConstants.REQUEST_SENDER_ID);
2020
int callbackID = message.getInt(MessageConstants.CALLBACK_ID);
2121
String username = message.getString(MessageConstants.USERNAME);
22-
String projectName = message.getString(MessageConstants.PROJECT);
22+
String projectName = message.getString(MessageConstants.PROJECT_NAME);
2323
String resourcePath = message.getString(MessageConstants.RESOURCE);
2424
String hash = message.getString(MessageConstants.HASH);
2525
long timestamp = message.getLong(MessageConstants.TIMESTAMP);

org.eclipse.flux.core/src/org/eclipse/flux/core/handlers/LiveResourceStartedResponseHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ protected void onMessage(String type, JSONObject message) throws Exception {
1919
String requestSenderID = message.getString(MessageConstants.REQUEST_SENDER_ID);
2020
int callbackID = message.getInt(MessageConstants.CALLBACK_ID);
2121
String username = message.getString(MessageConstants.USERNAME);
22-
String projectName = message.getString(MessageConstants.PROJECT);
22+
String projectName = message.getString(MessageConstants.PROJECT_NAME);
2323
String resourcePath = message.getString(MessageConstants.RESOURCE);
2424
String savePointHash = message.getString(MessageConstants.SAVE_POINT_HASH);
2525
long savePointTimestamp = message.getLong(MessageConstants.SAVE_POINT_TIMESTAMP);

org.eclipse.flux.core/src/org/eclipse/flux/core/handlers/MetadataRequestHandler.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.eclipse.flux.core.handlers;
22

33
import org.eclipse.core.resources.IResource;
4+
import org.eclipse.flux.client.MessageConstants;
45
import org.eclipse.flux.core.IRepositoryCallback;
56
import org.eclipse.flux.core.util.JSONUtils;
67
import org.eclipse.flux.core.util.Utils;
@@ -16,15 +17,15 @@ public MetadataRequestHandler(IRepositoryCallback repositoryCallback) {
1617

1718
@Override
1819
protected void onMessage(String type, JSONObject message) throws Exception {
19-
String projectName = message.getString("project");
20-
String resourcePath = message.getString("resource");
20+
String projectName = message.getString(MessageConstants.PROJECT_NAME);
21+
String resourcePath = message.getString(MessageConstants.RESOURCE);
2122
Project project = repositoryCallback.getWatcherProject(projectName);
2223
if(project != null){
2324
Resource resource = project.getResource(resourcePath);
2425
if(resource != null){
2526
IResource file = Utils.getResourceByPath(projectName, resourcePath);
26-
message.put("type", "marker");
27-
message.put("metadata", JSONUtils.toJSON(file.findMarkers(null, true, IResource.DEPTH_INFINITE)));
27+
message.put(MessageConstants.TYPE, "marker");
28+
message.put(MessageConstants.METADATA, JSONUtils.toJSON(file.findMarkers(null, true, IResource.DEPTH_INFINITE)));
2829
repositoryCallback.sendMessage(GET_METADATA_RESPONSE, message);
2930
}
3031
}

org.eclipse.flux.core/src/org/eclipse/flux/core/handlers/ProjectResponseHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ protected void onMessage(String type, JSONObject message) throws Exception {
3333
if(localResource == null || IsResourcesNotEquals(localResource, hash, timestamp)){
3434
JSONObject content = new JSONObject();
3535
content.put(MessageConstants.CALLBACK_ID, callbackID);
36-
content.put(MessageConstants.PROJECT, project.id());
36+
content.put(MessageConstants.PROJECT_NAME, project.id());
3737
content.put(MessageConstants.RESOURCE, path);
3838
content.put(MessageConstants.TIMESTAMP, timestamp);
3939
content.put(MessageConstants.HASH, hash);

org.eclipse.flux.core/src/org/eclipse/flux/core/handlers/ProjectsResponseHandler.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
public class ProjectsResponseHandler extends AbstractMsgHandler {
1010

1111
public ProjectsResponseHandler(IRepositoryCallback repositoryCallback) {
12-
super(repositoryCallback, "getProjectsRequest");
12+
super(repositoryCallback, GET_PROJECTS_REQUEST);
1313
}
1414

1515
@Override
@@ -21,16 +21,16 @@ protected void onMessage(String type, JSONObject message) throws Exception {
2121
JSONArray projects = new JSONArray();
2222
for (Project fluxProject : repositoryCallback.getSynchronizedProjects()) {
2323
JSONObject project = new JSONObject();
24-
project.put("name", fluxProject.id());
24+
project.put(MessageConstants.NAME, fluxProject.id());
2525
projects.put(project);
2626
}
2727

2828
JSONObject content = new JSONObject();
29-
content.put("callback_id", callbackID);
30-
content.put("requestSenderID", requestSenderId);
31-
content.put("username", username);
32-
content.put("projects", projects);
29+
content.put(MessageConstants.CALLBACK_ID, callbackID);
30+
content.put(MessageConstants.REQUEST_SENDER_ID, requestSenderId);
31+
content.put(MessageConstants.USERNAME, username);
32+
content.put(MessageConstants.PROJECTS, projects);
3333

34-
repositoryCallback.sendMessage("getProjectsResponse", content);
34+
repositoryCallback.sendMessage(GET_PROJECTS_RESPONSE, content);
3535
}
3636
}

org.eclipse.flux.core/src/org/eclipse/flux/core/handlers/ResourceRequestHandler.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.eclipse.flux.watcher.core.Resource;
66
import org.eclipse.flux.watcher.core.Resource.ResourceType;
77
import org.eclipse.flux.watcher.core.spi.Project;
8+
import org.json.JSONException;
89
import org.json.JSONObject;
910

1011
public class ResourceRequestHandler extends AbstractMsgHandler {
@@ -18,16 +19,22 @@ protected void onMessage(String type, JSONObject message) throws Exception {
1819
if (project == null)
1920
return;
2021
Resource resource = project.getResource(message.getString(MessageConstants.RESOURCE));
21-
if (resource == null || message.has("timestamp") && message.getLong("timestamp") != resource.timestamp())
22+
if (resource == null || compareTimestamp(message, resource))
2223
return;
2324
message.put(MessageConstants.TIMESTAMP, resource.timestamp());
2425
message.put(MessageConstants.HASH, resource.hash());
2526
message.put(MessageConstants.TYPE, resource.type().name().toLowerCase());
26-
if (resource.type() == ResourceType.FILE) {
27-
if(message.has("hash") && !message.getString("hash").equals(resource.hash()))
28-
return;
27+
if (resource.type() == ResourceType.FILE && !compareHash(message, resource)) {
2928
message.put(MessageConstants.CONTENT, new String(resource.content()));
3029
}
3130
repositoryCallback.sendMessage(GET_RESOURCE_RESPONSE, message);
3231
}
32+
33+
private boolean compareHash(JSONObject message, Resource resource) throws JSONException {
34+
return message.has(MessageConstants.HASH) && !message.getString(MessageConstants.HASH).equals(resource.hash());
35+
}
36+
37+
private boolean compareTimestamp(JSONObject message, Resource resource) throws JSONException {
38+
return message.has(MessageConstants.TIMESTAMP) && message.getLong(MessageConstants.TIMESTAMP) != resource.timestamp();
39+
}
3340
}

0 commit comments

Comments
 (0)