Package: ClassPathCollector

ClassPathCollector

nameinstructionbranchcomplexitylinemethod
ClassPathCollector()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getClassPath(IProject, String[], String[])
M: 14 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
toCpEnvString(Collection)
M: 47 C: 0
0%
M: 6 C: 0
0%
M: 4 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * #%~
3: * org.overture.ide.debug
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
6: * %%
7: * This program is free software: you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (at your option) any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.ide.debug.utils;
23:
24: import java.util.Arrays;
25: import java.util.Collection;
26: import java.util.HashSet;
27: import java.util.List;
28: import java.util.Vector;
29:
30: import org.eclipse.core.resources.IProject;
31: import org.overture.ide.core.utility.ClasspathUtils;
32:
33: public class ClassPathCollector
34: {
35:
36:
37:         public static List<String> getClassPath(IProject project,
38:                         String[] bundleIds, String... additionalCpEntries)
39:         {
40:                 // List<String> commandList = new Vector<String>();
41:                 List<String> entries = new Vector<String>();
42:                 // get the bundled class path of the debugger
43:                 ClasspathUtils.collectClasspath(bundleIds, entries);
44:                 // add custom properties file vdmj.properties
45:                 entries.addAll(Arrays.asList(additionalCpEntries));
46:
47:                 return entries;
48:         }
49:         
50:         /**
51:          * Creates a class path string from the entries using the path.seperator
52:          * @param entries
53:          * @return the class path string
54:          */
55:         public static String toCpEnvString(Collection<? extends String> entries)
56:         {
57:•                if (entries.size() > 0)
58:                 {
59:                         StringBuffer classPath = new StringBuffer("");
60:•                        for (String cp : new HashSet<String>(entries))// remove dublicates
61:                         {
62:•                                if (cp == null)
63:                                 {
64:                                         continue;
65:                                 }
66:                                 classPath.append(cp);
67:                                 classPath.append(System.getProperty("path.separator"));
68:                         }
69:                         classPath.deleteCharAt(classPath.length() - 1);
70:                         return classPath.toString().trim();
71:
72:                 }
73:                 return "";
74:         }
75:
76: }