Diff
Modified: trunk/hudson/plugins/fortify360/fortifyclient/src/test/java/org/jvnet/hudson/plugins/fortify360/fortifyclient/FortifyClientTest.java (40772 => 40773)
--- trunk/hudson/plugins/fortify360/fortifyclient/src/test/java/org/jvnet/hudson/plugins/fortify360/fortifyclient/FortifyClientTest.java 2012-11-26 11:10:35 UTC (rev 40772)
+++ trunk/hudson/plugins/fortify360/fortifyclient/src/test/java/org/jvnet/hudson/plugins/fortify360/fortifyclient/FortifyClientTest.java 2012-11-28 09:01:26 UTC (rev 40773)
@@ -3,6 +3,7 @@
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.InputStream;
import java.net.*;
import java.util.*;
import java.util.regex.*;
@@ -28,54 +29,33 @@
private FortifyClient fortifyclient;
@Before
- public void g_init() throws MalformedURLException {
+ public void g_init() throws Exception {
noF360 = false;
projName = "EightBall (1.0)";
fprName = "eightball_59.fpr";
url = ""
+ InputStream in = null;
+ Properties prop = new Properties();
+ try {
+ in = FortifyClientTest.class.getClassLoader().getResourceAsStream("fortifyclient.properties");
+ prop.load(in);
+ } finally {
+ if ( null != in ) try { in.close(); } catch ( Exception e ) {}
+ }
+
String version = fortifyVersion();
- if ( "2.5".equals(version) ) {
- token = "1b475dc8-663d-4210-a26c-f70bb8fea7c6";
- auditToken = "e99be68d-5c37-4f98-893f-6a3c29eafabf";
- } else if ( "2.6".equals(version) ) {
-// projName = "WebGoat (5.0)";
-// fprName = "WebGoat_59.fpr";
- token = "6538f06e-b4b8-4214-aadd-40d1ae701b23";
- auditToken = "d0415ffe-151e-4fd6-be0c-2c23793227d2";
- } else if ( "2.6.1".equals(version) ) {
- token = "7ecaccb1-82ec-4e58-a6a4-a48635e7a9fc";
- auditToken = "281edd83-4688-4ce3-9aa4-dcaa5815a905";
- } else if ( "2.6.5".equals(version) ) {
- token = "5d8f3575-70a9-4293-8cd6-6c18692cf6aa";
- auditToken = "51570cca-5d67-4a80-8cb2-76562c6dd875";
- } else if ( "3.0.0".equals(version) ) {
- token = "762f8f67-9e3e-4b29-b9a7-47d44eb5d202";
- auditToken = "a6449fa6-8e09-4109-aa5d-560689094014";
- } else if ( "3.1.0".equals(version) ) {
- token = "ffbd38e8-fb40-4d77-a2dc-2c6b80855822";
- auditToken = "7a839915-98de-4bde-acf5-630f8e11ffa6";
- } else if ( "3.20".equals(version) ) {
- token = "c999c73e-2179-48d9-8893-753126687457";
- auditToken = "d579d1bb-1061-448e-b079-95597b283251";
- } else if ( "3.30".equals(version) ) {
- token = "d05eb1fa-0c71-4420-9122-e72059c316fa";
- auditToken = "c8102e40-c2cf-47d6-9e53-1e4c9c36babe";
- url = "" "ssc");
- } else if ( "3.40".equals(version) ) {
- token = "127403a6-2ced-4114-b591-3e4d7617c0ef";
- auditToken = "4d4f86d6-f7bd-4e58-8ce2-f5309700404d";
- url = "" "ssc");
- } else if ( "3.50".equals(version) ) {
- token = "3d4015f2-5a62-4843-a9fc-5b7ebd3ec538";
- auditToken = "4241463e-d5a2-4d55-a11c-484b199ee09b";
- url = "" "ssc");
- } else {
+ token = prop.getProperty("token-" + version);
+ auditToken = prop.getProperty("auditToken-" + version);
+ String contextPath = prop.getProperty("contextPath-" + version, "f360");
+ if ( null == token || null == auditToken ) {
System.out.println("##################################################################");
- System.out.println("Only F360 Server 2.5 - 3.50 are supported, your version is: " + version);
- System.out.println("##################################################################");
+ System.out.println("Unsupported version: " + version);
+ System.out.println("##################################################################");
+ return;
}
+ url = "" "ssc");
URL u = new URL(url);
try {
Added: trunk/hudson/plugins/fortify360/fortifyclient/src/test/resources/fortifyclient.properties (0 => 40773)
--- trunk/hudson/plugins/fortify360/fortifyclient/src/test/resources/fortifyclient.properties (rev 0)
+++ trunk/hudson/plugins/fortify360/fortifyclient/src/test/resources/fortifyclient.properties 2012-11-28 09:01:26 UTC (rev 40773)
@@ -0,0 +1,38 @@
+latest.version=3.60
+
+token-2.5=1b475dc8-663d-4210-a26c-f70bb8fea7c6
+auditToken-2.5=e99be68d-5c37-4f98-893f-6a3c29eafabf
+
+token-2.6=6538f06e-b4b8-4214-aadd-40d1ae701b23
+auditToken-2.6=d0415ffe-151e-4fd6-be0c-2c23793227d2
+
+token-2.6.1=7ecaccb1-82ec-4e58-a6a4-a48635e7a9fc
+auditToken-2.6.1=281edd83-4688-4ce3-9aa4-dcaa5815a905
+
+token-2.6.5=5d8f3575-70a9-4293-8cd6-6c18692cf6aa
+auditToken-2.6.5=51570cca-5d67-4a80-8cb2-76562c6dd875
+
+token-3.0.0=762f8f67-9e3e-4b29-b9a7-47d44eb5d202
+auditToken-3.0.0=a6449fa6-8e09-4109-aa5d-560689094014
+
+token-3.1.0=ffbd38e8-fb40-4d77-a2dc-2c6b80855822
+auditToken-3.1.0=7a839915-98de-4bde-acf5-630f8e11ffa6
+
+token-3.20=c999c73e-2179-48d9-8893-753126687457
+auditToken-3.20=d579d1bb-1061-448e-b079-95597b283251
+
+token-3.30=d05eb1fa-0c71-4420-9122-e72059c316fa
+auditToken-3.30=c8102e40-c2cf-47d6-9e53-1e4c9c36babe
+contextPath-3.30=ssc
+
+token-3.40=127403a6-2ced-4114-b591-3e4d7617c0ef
+auditToken-3.40=4d4f86d6-f7bd-4e58-8ce2-f5309700404d
+contextPath-3.40=ssc
+
+token-3.50=3d4015f2-5a62-4843-a9fc-5b7ebd3ec538
+auditToken-3.50=4241463e-d5a2-4d55-a11c-484b199ee09b
+contextPath-3.50=ssc
+
+token-3.60=760fec43-2691-4275-9e93-1f27865080da
+auditToken-3.60=af9ab755-54de-4a15-8c7a-2fca83c77f01
+contextPath-3.60=ssc
Modified: trunk/hudson/plugins/fortify360/src/main/java/org/jvnet/hudson/plugins/fortify360/FPRPublisher.java (40772 => 40773)
--- trunk/hudson/plugins/fortify360/src/main/java/org/jvnet/hudson/plugins/fortify360/FPRPublisher.java 2012-11-26 11:10:35 UTC (rev 40772)
+++ trunk/hudson/plugins/fortify360/src/main/java/org/jvnet/hudson/plugins/fortify360/FPRPublisher.java 2012-11-28 09:01:26 UTC (rev 40773)
@@ -384,21 +384,16 @@
if ( StringUtils.isBlank(value) ) return FormValidation.ok();
String ver = value.trim();
- String[] allowedVersion = {"2.5", "2.5.0", "2.6", "2.6.0", "2.6.1", "2.6.5", "3.0.0", "3.1.0", "3.20", "3.30", "3.40", "3.50"};
- if ( contains(allowedVersion, ver) ) {
+ Set<String> supportedVersions = FortifyClientClassLoader.getSupportedVersions();
+ if ( supportedVersions.contains(ver) ) {
return FormValidation.ok();
+ } else if ( supportedVersions.contains(ver + "0") ) {
+ return FormValidation.error("Please change version number to " + ver + "0");
} else {
return FormValidation.error("Not a valid version number");
}
}
-
- private static boolean contains(String[] list, String value) {
- for(int i=0; i<list.length; i++) {
- if ( list[i].equals(value) ) return true;
- }
- return false;
- }
-
+
public FormValidation doTestConnection(@QueryParameter String url, @QueryParameter String token,
@QueryParameter String jarsPath, @QueryParameter String version) {
Modified: trunk/hudson/plugins/fortify360/src/main/java/org/jvnet/hudson/plugins/fortify360/FortifyClientClassLoader.java (40772 => 40773)
--- trunk/hudson/plugins/fortify360/src/main/java/org/jvnet/hudson/plugins/fortify360/FortifyClientClassLoader.java 2012-11-26 11:10:35 UTC (rev 40772)
+++ trunk/hudson/plugins/fortify360/src/main/java/org/jvnet/hudson/plugins/fortify360/FortifyClientClassLoader.java 2012-11-28 09:01:26 UTC (rev 40773)
@@ -24,44 +24,44 @@
private static FortifyClientClassLoader _instance;
private ClassLoader currentThreadLoader;
- private static Map<String, String> wsclientMd5 = null;
- private static Map<String, String> wsobjectsMd5 = null;
+ private static Properties prop = new Properties();
+ private static Set<String> supportedVersions = new TreeSet<String>();
+ private static Map<String, String> wsclientMd5 = new HashMap<String, String>();
+ private static Map<String, String> wsobjectsMd5 = new HashMap<String, String>();
public FortifyClientClassLoader(URL[] urls, ClassLoader parent) {
super(urls, parent);
currentThreadLoader = null;
}
+ public static Set<String> getSupportedVersions() {
+ initMd5Map();
+ return Collections.unmodifiableSet(supportedVersions);
+ }
+
public static synchronized void initMd5Map() {
- if ( null == wsclientMd5 ) {
- wsclientMd5 = new HashMap<String, String>();
- wsclientMd5.put("d370675a710931bc83364cadf6adc226", "2.1");
- wsclientMd5.put("166485667af7440754e99300df39375f", "2.5");
- wsclientMd5.put("fef8b31efc1488c15ac138e4021c5c18", "2.6");
- wsclientMd5.put("71e5f5726daa71aa01c80b9b56bebe73", "2.6.1");
- wsclientMd5.put("d3e748409496f0b7da32c65572576b88", "2.6.5");
- wsclientMd5.put("1a5c0281ccac18ac2b2d618cf2538591", "3.0.0");
- wsclientMd5.put("8dca96072c49f8ab2de000574760b9dd", "3.1.0");
- wsclientMd5.put("00d01db3c35f28adca7a3efb4c89bd34", "3.20");
- wsclientMd5.put("e435cf228483466d22abd491f9eaddb9", "3.30");
- wsclientMd5.put("10083805168cf5fb8ff3122f56a7884e", "3.40");
- wsclientMd5.put("51299a19a83fe85b2e0f753ea8f31dd1", "3.50");
+ InputStream in = null;
+ try {
+ in = FortifyClientClassLoader.class.getClassLoader().getResourceAsStream("fortify360.properties");
+ prop.load(in);
+ } catch (IOException e) {
+ e.printStackTrace(System.err);
+ } finally {
+ if ( null != in ) try { in.close(); } catch ( Exception e ) {}
+ }
+ Enumeration<?> names = prop.propertyNames();
+ for (Enumeration<?> e = prop.propertyNames(); e.hasMoreElements();) {
+ String pname = (String)e.nextElement();
+ if ( pname.startsWith("wsclient-") ) {
+ String ver = pname.substring(9);
+ supportedVersions.add(ver);
+ wsclientMd5.put(prop.getProperty(pname), ver);
+ } else if ( pname.startsWith("wsobjects-") ) {
+ String ver = pname.substring(10);
+ supportedVersions.add(ver);
+ wsobjectsMd5.put(prop.getProperty(pname), ver);
+ }
}
-
- if ( null == wsobjectsMd5 ) {
- wsobjectsMd5 = new HashMap<String, String>();
- wsobjectsMd5.put("220a2991ac70948c72e9ca8ef9411d40", "2.1");
- wsobjectsMd5.put("dbc1060536612c5e9903c408ce16ca2a", "2.5");
- wsobjectsMd5.put("9446eead6124a69e093844d757395adc", "2.6");
- wsobjectsMd5.put("69bc42ae7246ee91b67817760a21b03c", "2.6.1");
- wsobjectsMd5.put("82ac603b97c135134ecc56df40e9e894", "2.6.5");
- wsobjectsMd5.put("70da5cb9e309898784eeb54d11fbe9df", "3.0.0");
- wsobjectsMd5.put("841eabd671fc1ecb78c9a7123db0d558", "3.1.0");
- wsobjectsMd5.put("d1c1beb9f92ab01a7431b1a0b554da4e", "3.20");
- wsobjectsMd5.put("f5df453aae5c6bcb67ae16cff1b2a089", "3.30");
- wsobjectsMd5.put("ccd27276a65a1abb80c71959b4431659", "3.40");
- wsobjectsMd5.put("c8ce5499a6aa3d4a57ce095ee3e0219c", "3.50");
- }
}
public static synchronized FortifyClientClassLoader getInstance(String jarsPath, String version, PrintStream log) throws Exception {
@@ -97,16 +97,13 @@
log.println("FortifyClientClassLoader: version = " + version + " (by checking md5 of wsclient.jar and wsobjects.jar)");
} else {
// check the path name, the checking is pretty simple
- if ( -1 != jarsPath.indexOf("3.50") ) version = "3.50";
- else if ( -1 != jarsPath.indexOf("3.40") ) version = "3.40";
- else if ( -1 != jarsPath.indexOf("3.30") ) version = "3.30";
- else if ( -1 != jarsPath.indexOf("3.20") ) version = "3.20";
- else if ( -1 != jarsPath.indexOf("3.1.0") ) version = "3.1.0";
- else if ( -1 != jarsPath.indexOf("3.0.0") ) version = "3.0.0";
- else if ( -1 != jarsPath.indexOf("2.6.5") ) version = "2.6.5";
- else if ( -1 != jarsPath.indexOf("2.6.1") ) version = "2.6.1";
- else if ( -1 != jarsPath.indexOf("2.6") ) version = "2.6";
- else if ( -1 != jarsPath.indexOf("2.5") ) version = "2.5";
+ // supprtedVersions is something like ["2.1", "2.5", ... "3.50", "3.60", ....], initialized in initMd5Map()
+ for(String ver : supportedVersions) {
+ if ( -1 != jarsPath.indexOf(ver) ) {
+ version = ver;
+ break;
+ }
+ }
log.println("FortifyClientClassLoader: version = " + version + " (by checking the path of jarsPath)");
}
} else {
Added: trunk/hudson/plugins/fortify360/src/main/resources/fortify360.properties (0 => 40773)
--- trunk/hudson/plugins/fortify360/src/main/resources/fortify360.properties (rev 0)
+++ trunk/hudson/plugins/fortify360/src/main/resources/fortify360.properties 2012-11-28 09:01:26 UTC (rev 40773)
@@ -0,0 +1,26 @@
+
+wsclient-2.1=d370675a710931bc83364cadf6adc226
+wsclient-2.5=166485667af7440754e99300df39375f
+wsclient-2.6=fef8b31efc1488c15ac138e4021c5c18
+wsclient-2.6.1=71e5f5726daa71aa01c80b9b56bebe73
+wsclient-2.6.5=d3e748409496f0b7da32c65572576b88
+wsclient-3.0.0=1a5c0281ccac18ac2b2d618cf2538591
+wsclient-3.1.0=8dca96072c49f8ab2de000574760b9dd
+wsclient-3.20=00d01db3c35f28adca7a3efb4c89bd34
+wsclient-3.30=e435cf228483466d22abd491f9eaddb9
+wsclient-3.40=10083805168cf5fb8ff3122f56a7884e
+wsclient-3.50=51299a19a83fe85b2e0f753ea8f31dd1
+wsclient-3.60=9c731145bee7f2ba23a1213aba3cfe3c
+
+wsobjects-2.1=220a2991ac70948c72e9ca8ef9411d40
+wsobjects-2.5=dbc1060536612c5e9903c408ce16ca2a
+wsobjects-2.6=9446eead6124a69e093844d757395adc
+wsobjects-2.6.1=69bc42ae7246ee91b67817760a21b03c
+wsobjects-2.6.5=82ac603b97c135134ecc56df40e9e894
+wsobjects-3.0.0=70da5cb9e309898784eeb54d11fbe9df
+wsobjects-3.1.0=841eabd671fc1ecb78c9a7123db0d558
+wsobjects-3.20=d1c1beb9f92ab01a7431b1a0b554da4e
+wsobjects-3.30=f5df453aae5c6bcb67ae16cff1b2a089
+wsobjects-3.40=ccd27276a65a1abb80c71959b4431659
+wsobjects-3.50=c8ce5499a6aa3d4a57ce095ee3e0219c
+wsobjects-3.60=26c478d417d3cf49f521da13f469fa24
\ No newline at end of file
Added: trunk/hudson/plugins/fortify360/src/main/resources/fortifyclient-3.60.jar
(Binary files differ)
Property changes on: trunk/hudson/plugins/fortify360/src/main/resources/fortifyclient-3.60.jar
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/hudson/plugins/fortify360/src/main/webapp/help-f360version.html (40772 => 40773)
--- trunk/hudson/plugins/fortify360/src/main/webapp/help-f360version.html 2012-11-26 11:10:35 UTC (rev 40772)
+++ trunk/hudson/plugins/fortify360/src/main/webapp/help-f360version.html 2012-11-28 09:01:26 UTC (rev 40773)
@@ -1,5 +1,5 @@
<div>
<p>
- Fortify 360 version. Currently, we only support 2.5 to 3.50. It will be auto-detected if not specified.
+ Fortify 360 version. Currently, we only support 2.5 to 3.60. It will be auto-detected if not specified.
</p>
</div>
\ No newline at end of file
Modified: trunk/hudson/plugins/fortify360/src/test/java/org/jvnet/hudson/plugins/fortify360/FortifyClientClassLoaderTest.java (40772 => 40773)
--- trunk/hudson/plugins/fortify360/src/test/java/org/jvnet/hudson/plugins/fortify360/FortifyClientClassLoaderTest.java 2012-11-26 11:10:35 UTC (rev 40772)
+++ trunk/hudson/plugins/fortify360/src/test/java/org/jvnet/hudson/plugins/fortify360/FortifyClientClassLoaderTest.java 2012-11-28 09:01:26 UTC (rev 40773)
@@ -3,9 +3,11 @@
import static org.junit.Assert.*;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.net.ConnectException;
import java.security.NoSuchAlgorithmException;
import java.util.Map;
+import java.util.Properties;
import junit.framework.Assert;
@@ -16,10 +18,29 @@
public class FortifyClientClassLoaderTest {
- private static final String F360_PATH = "C:\\Program Files\\Fortify Software\\HP Fortify v3.50\\Core\\lib";
- private static final String F360_URL = "http://localhost:8180/ssc/fm-ws/services";
- private static final String F360_TOKEN = "3d4015f2-5a62-4843-a9fc-5b7ebd3ec538";
+ private static String F360_PATH = "C:\\Program Files\\Fortify Software\\HP Fortify v{version}\\Core\\lib";
+ private static String F360_URL = "http://localhost:8180/f360/fm-ws/services";
+ private static String F360_TOKEN = null;
+ @BeforeClass
+ public static void setUp() throws Exception {
+ InputStream in = null;
+ Properties prop = new Properties();
+ try {
+ in = FortifyClientClassLoaderTest.class.getClassLoader().getResourceAsStream("fortifyclient.properties");
+ prop.load(in);
+ String ver = prop.getProperty("latest.version");
+ Assert.assertNotNull(ver);
+ F360_PATH = F360_PATH.replace("{version}", ver);
+ String contextPath = prop.getProperty("contextPath-" + ver, "f360");
+ F360_URL = F360_URL.replace("f360", contextPath);
+ F360_TOKEN = prop.getProperty("token-" + ver);
+ Assert.assertNotNull(F360_TOKEN);
+ } finally {
+ if ( null != in ) try { in.close(); } catch ( Exception e ) {}
+ }
+ }
+
@Test
public void testFindWSClientPath() throws IOException {
String path = FortifyClientClassLoader.findWSClientPath();
Modified: trunk/hudson/plugins/fortify360/src/test/java/org/jvnet/hudson/plugins/fortify360/PathUtilsTest.java (40772 => 40773)
--- trunk/hudson/plugins/fortify360/src/test/java/org/jvnet/hudson/plugins/fortify360/PathUtilsTest.java 2012-11-26 11:10:35 UTC (rev 40772)
+++ trunk/hudson/plugins/fortify360/src/test/java/org/jvnet/hudson/plugins/fortify360/PathUtilsTest.java 2012-11-28 09:01:26 UTC (rev 40773)
@@ -1,17 +1,31 @@
package org.jvnet.hudson.plugins.fortify360;
-
+import java.io.InputStream;
import java.io.File;
+import java.util.Properties;
import junit.framework.Assert;
-import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
public class PathUtilsTest {
- @Before
- public void setUp() throws Exception {
+ private static String FORTIFYCLIENT_PATH = "C:\\Program Files\\Fortify Software\\HP Fortify v{version}\\bin\\fortifyclient.bat";
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ InputStream in = null;
+ Properties prop = new Properties();
+ try {
+ in = PathUtilsTest.class.getClassLoader().getResourceAsStream("fortifyclient.properties");
+ prop.load(in);
+ String ver = prop.getProperty("latest.version");
+ Assert.assertNotNull(ver);
+ FORTIFYCLIENT_PATH = FORTIFYCLIENT_PATH.replace("{version}", ver);
+ } finally {
+ if ( null != in ) try { in.close(); } catch ( Exception e ) {}
+ }
}
@Test
@@ -19,7 +33,7 @@
File[] list = PathUtils.locateBaesnameInPath("fortifyclient");
Assert.assertNotNull(list);
Assert.assertEquals(1, list.length);
- File file = new File("C:\\Program Files\\Fortify Software\\HP Fortify v3.50\\bin\\fortifyclient.bat");
+ File file = new File(FORTIFYCLIENT_PATH);
Assert.assertEquals(file, list[0]);
}
}
Added: trunk/hudson/plugins/fortify360/src/test/resources/fortifyclient.properties (0 => 40773)
--- trunk/hudson/plugins/fortify360/src/test/resources/fortifyclient.properties (rev 0)
+++ trunk/hudson/plugins/fortify360/src/test/resources/fortifyclient.properties 2012-11-28 09:01:26 UTC (rev 40773)
@@ -0,0 +1,38 @@
+latest.version=3.60
+
+token-2.5=1b475dc8-663d-4210-a26c-f70bb8fea7c6
+auditToken-2.5=e99be68d-5c37-4f98-893f-6a3c29eafabf
+
+token-2.6=6538f06e-b4b8-4214-aadd-40d1ae701b23
+auditToken-2.6=d0415ffe-151e-4fd6-be0c-2c23793227d2
+
+token-2.6.1=7ecaccb1-82ec-4e58-a6a4-a48635e7a9fc
+auditToken-2.6.1=281edd83-4688-4ce3-9aa4-dcaa5815a905
+
+token-2.6.5=5d8f3575-70a9-4293-8cd6-6c18692cf6aa
+auditToken-2.6.5=51570cca-5d67-4a80-8cb2-76562c6dd875
+
+token-3.0.0=762f8f67-9e3e-4b29-b9a7-47d44eb5d202
+auditToken-3.0.0=a6449fa6-8e09-4109-aa5d-560689094014
+
+token-3.1.0=ffbd38e8-fb40-4d77-a2dc-2c6b80855822
+auditToken-3.1.0=7a839915-98de-4bde-acf5-630f8e11ffa6
+
+token-3.20=c999c73e-2179-48d9-8893-753126687457
+auditToken-3.20=d579d1bb-1061-448e-b079-95597b283251
+
+token-3.30=d05eb1fa-0c71-4420-9122-e72059c316fa
+auditToken-3.30=c8102e40-c2cf-47d6-9e53-1e4c9c36babe
+contextPath-3.30=ssc
+
+token-3.40=127403a6-2ced-4114-b591-3e4d7617c0ef
+auditToken-3.40=4d4f86d6-f7bd-4e58-8ce2-f5309700404d
+contextPath-3.40=ssc
+
+token-3.50=3d4015f2-5a62-4843-a9fc-5b7ebd3ec538
+auditToken-3.50=4241463e-d5a2-4d55-a11c-484b199ee09b
+contextPath-3.50=ssc
+
+token-3.60=760fec43-2691-4275-9e93-1f27865080da
+auditToken-3.60=af9ab755-54de-4a15-8c7a-2fca83c77f01
+contextPath-3.60=ssc