Skip to content
This repository was archived by the owner on Sep 19, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/codeu/chat/client/View.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@
import codeu.chat.common.LogicalView;
import codeu.chat.common.Message;
import codeu.chat.common.NetworkCode;
import codeu.chat.common.Time;
import codeu.chat.common.User;
import codeu.chat.util.Logger;
import codeu.chat.util.Serializers;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;
import codeu.chat.util.connections.Connection;
import codeu.chat.util.connections.ConnectionSource;
Expand Down
1 change: 1 addition & 0 deletions src/codeu/chat/common/Conversation.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

import codeu.chat.util.Serializer;
import codeu.chat.util.Serializers;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

public final class Conversation {
Expand Down
1 change: 1 addition & 0 deletions src/codeu/chat/common/ConversationSummary.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import codeu.chat.util.Serializer;
import codeu.chat.util.Serializers;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

public final class ConversationSummary implements ListViewable {
Expand Down
1 change: 1 addition & 0 deletions src/codeu/chat/common/LogicalView.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

import java.util.Collection;

import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

// LOGICAL VIEW
Expand Down
1 change: 1 addition & 0 deletions src/codeu/chat/common/Message.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import codeu.chat.util.Serializer;
import codeu.chat.util.Serializers;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

public final class Message {
Expand Down
1 change: 1 addition & 0 deletions src/codeu/chat/common/RawController.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

package codeu.chat.common;

import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

// RAW CONTROLLER
Expand Down
2 changes: 1 addition & 1 deletion src/codeu/chat/common/Relay.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

import java.util.Collection;

import codeu.chat.common.Time;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

// RELAY
Expand Down
1 change: 1 addition & 0 deletions src/codeu/chat/common/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import codeu.chat.util.Serializer;
import codeu.chat.util.Serializers;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

public final class User {
Expand Down
3 changes: 2 additions & 1 deletion src/codeu/chat/relay/Server.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@

import codeu.chat.common.LinearUuidGenerator;
import codeu.chat.common.Relay;
import codeu.chat.common.Time;
import codeu.chat.util.Logger;
import codeu.chat.util.Time;
import codeu.chat.util.Logger;
import codeu.chat.util.Uuid;

Expand Down
2 changes: 1 addition & 1 deletion src/codeu/chat/relay/ServerFrontEnd.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@

import codeu.chat.common.NetworkCode;
import codeu.chat.common.Relay;
import codeu.chat.common.Time;
import codeu.chat.util.Logger;
import codeu.chat.util.Serializer;
import codeu.chat.util.Serializers;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;
import codeu.chat.util.connections.Connection;

Expand Down
2 changes: 1 addition & 1 deletion src/codeu/chat/server/Controller.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
import codeu.chat.common.Conversation;
import codeu.chat.common.Message;
import codeu.chat.common.RawController;
import codeu.chat.common.Time;
import codeu.chat.common.User;
import codeu.chat.util.Logger;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

public final class Controller implements RawController, BasicController {
Expand Down
4 changes: 2 additions & 2 deletions src/codeu/chat/server/Model.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@
import codeu.chat.common.ConversationSummary;
import codeu.chat.common.LinearUuidGenerator;
import codeu.chat.common.Message;
import codeu.chat.common.Time;
import codeu.chat.common.User;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;
import codeu.chat.util.store.Store;
import codeu.chat.util.store.StoreAccessor;
import codeu.chat.util.Uuid;

public final class Model {

Expand Down
3 changes: 1 addition & 2 deletions src/codeu/chat/server/NoOpRelay.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,9 @@
import java.util.Collection;

import codeu.chat.common.Relay;
import codeu.chat.common.Time;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;


// NO OP RELAY
//
// The no op relay is an empty implementation of the relay interface
Expand Down
2 changes: 1 addition & 1 deletion src/codeu/chat/server/RemoteRelay.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@

import codeu.chat.common.NetworkCode;
import codeu.chat.common.Relay;
import codeu.chat.common.Time;
import codeu.chat.util.Logger;
import codeu.chat.util.Serializer;
import codeu.chat.util.Serializers;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;
import codeu.chat.util.connections.Connection;
import codeu.chat.util.connections.ConnectionSource;
Expand Down
2 changes: 1 addition & 1 deletion src/codeu/chat/server/Server.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@
import codeu.chat.common.Message;
import codeu.chat.common.NetworkCode;
import codeu.chat.common.Relay;
import codeu.chat.common.Time;
import codeu.chat.common.User;
import codeu.chat.util.Logger;
import codeu.chat.util.Serializers;
import codeu.chat.util.Time;
import codeu.chat.util.Timeline;
import codeu.chat.util.Uuid;
import codeu.chat.util.connections.Connection;
Expand Down
2 changes: 1 addition & 1 deletion src/codeu/chat/server/View.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
import codeu.chat.common.LogicalView;
import codeu.chat.common.Message;
import codeu.chat.common.SinglesView;
import codeu.chat.common.Time;
import codeu.chat.common.User;
import codeu.chat.util.Logger;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;
import codeu.chat.util.store.StoreAccessor;

Expand Down
19 changes: 8 additions & 11 deletions src/codeu/chat/common/Time.java → src/codeu/chat/util/Time.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,22 @@
// See the License for the specific language governing permissions and
// limitations under the License.

package codeu.chat.common;
package codeu.chat.util;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

import codeu.chat.util.Serializer;
import codeu.chat.util.Serializers;

public final class Time implements Comparable<Time> {

public static final Serializer<Time> SERIALIZER = new Serializer<Time>() {

@Override
public void write(OutputStream out, Time value) throws IOException {

Serializers.LONG.write(out, value.totalMs);
Serializers.LONG.write(out, value.inMs());

}

Expand All @@ -45,24 +42,24 @@ public Time read(InputStream in) throws IOException {
private static final SimpleDateFormat formatter =
new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss.SSS");

private final long totalMs;
private final Date date;

private Time(long totalMs) { this.totalMs = totalMs; }
private Time(long totalMs) { this.date = new Date(totalMs); }

public long inMs() { return totalMs; }
public long inMs() { return date.getTime(); }

@Override
public int compareTo(Time other) {
return Long.compare(totalMs, other.totalMs);
return date.compareTo(other.date);
}

public boolean inRange(Time start, Time end) {
return totalMs >= start.totalMs && totalMs <= end.totalMs;
return this.compareTo(start) >= 0 && this.compareTo(end) <= 0;
}

@Override
public String toString() {
return formatter.format(new Date(totalMs));
return formatter.format(date);
}

public static Time fromMs(long ms) { return new Time(ms); }
Expand Down
1 change: 1 addition & 0 deletions test/codeu/chat/TestRunner.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public static void main(String[] args) {
codeu.chat.relay.ServerTest.class,
codeu.chat.server.BasicControllerTest.class,
codeu.chat.server.RawControllerTest.class,
codeu.chat.util.TimeTest.class,
codeu.chat.util.UuidTest.class,
codeu.chat.util.store.StoreTest.class
);
Expand Down
2 changes: 1 addition & 1 deletion test/codeu/chat/relay/ServerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.junit.Before;

import codeu.chat.common.Relay;
import codeu.chat.common.Time;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

public final class ServerTest {
Expand Down
2 changes: 1 addition & 1 deletion test/codeu/chat/server/RawControllerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
import codeu.chat.common.Conversation;
import codeu.chat.common.Message;
import codeu.chat.common.RawController;
import codeu.chat.common.Time;
import codeu.chat.common.User;
import codeu.chat.util.Time;
import codeu.chat.util.Uuid;

public final class RawControllerTest {
Expand Down
28 changes: 28 additions & 0 deletions test/codeu/chat/util/TimeTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Copyright 2017 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package codeu.chat.util;

import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.Before;

public final class TimeTest {

@Test
public void testFromMs() {
assertEquals(0, Time.fromMs(0).inMs());
assertEquals(10, Time.fromMs(10).inMs());
}
}