JAL-4409 Refactoring to allow easier reuse of classes with getdown
[jalview.git] / src / jalview / util / UserAgent.java
1 package jalview.util;
2
3 import jalview.bin.Cache;
4
5 public class UserAgent
6 {
7
8   public static String getUserAgent(String className)
9   {
10     StringBuilder sb = new StringBuilder();
11     sb.append("Jalview");
12     sb.append('/');
13     sb.append(Cache.getDefault("VERSION", "Unknown"));
14     sb.append(" (");
15     sb.append(System.getProperty("os.name"));
16     sb.append("; ");
17     sb.append(System.getProperty("os.arch"));
18     sb.append(' ');
19     sb.append(System.getProperty("os.name"));
20     sb.append(' ');
21     sb.append(System.getProperty("os.version"));
22     sb.append("; ");
23     sb.append("java/");
24     sb.append(System.getProperty("java.version"));
25     sb.append("; ");
26     sb.append("jalview/");
27     sb.append(ChannelProperties.getProperty("channel"));
28     if (className != null)
29     {
30       sb.append("; ");
31       sb.append(className);
32     }
33     String installation = Cache.applicationProperties
34             .getProperty("INSTALLATION");
35     if (installation != null)
36     {
37       sb.append("; ");
38       sb.append(installation);
39     }
40     sb.append(')');
41     sb.append(" help@jalview.org");
42     return sb.toString();
43   }
44
45   public static String getUserAgent()
46   {
47     return getUserAgent(null);
48   }
49
50 }