-
Notifications
You must be signed in to change notification settings - Fork 6
/
FakeGeoCamMemoMessageFactory.java
43 lines (34 loc) · 1.28 KB
/
FakeGeoCamMemoMessageFactory.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// __BEGIN_LICENSE__
// Copyright (C) 2008-2010 United States Government as represented by
// the Administrator of the National Aeronautics and Space Administration.
// All Rights Reserved.
// __END_LICENSE__
package gov.nasa.arc.geocam.memo.injected;
import java.util.Calendar;
import java.util.GregorianCalendar;
import gov.nasa.arc.geocam.memo.bean.GeoCamMemoMessage;
public class FakeGeoCamMemoMessageFactory {
public static int messageId = 0;
public static GregorianCalendar cal = new GregorianCalendar();
final static double CMUSVLAT = 37.41029;
final static double CMUSVLON = -122.05944;
final static double MAXDIST = 1;
public static GeoCamMemoMessage getMessage(String contents, String fullname, boolean hasGeolocation)
{
GeoCamMemoMessage msg = new GeoCamMemoMessage();
msg.setAuthorFullname(fullname);
msg.setAuthorUsername(fullname.replaceAll(" ", "").toLowerCase());
msg.setContent(contents);
msg.setMessageId(messageId++);
msg.setHasGeolocation(hasGeolocation);
if(hasGeolocation)
{
msg.setLatitude(Math.random()*MAXDIST + CMUSVLAT);
msg.setLongitude(Math.random()*MAXDIST + CMUSVLON);
msg.setAccuracy((int)(Math.random() * 600));
}
cal.add(Calendar.SECOND, (int)(Math.random() * 60));
msg.setContentTimestamp(cal.getTime());
return msg;
}
}