4142 |
30 Sep 16 |
olle |
1 |
package net.sf.basedb.meludi; |
4142 |
30 Sep 16 |
olle |
2 |
|
4142 |
30 Sep 16 |
olle |
3 |
import java.net.URL; |
4142 |
30 Sep 16 |
olle |
4 |
import java.util.ArrayList; |
4722 |
29 Mar 18 |
olle |
5 |
import java.util.HashMap; |
4142 |
30 Sep 16 |
olle |
6 |
import java.util.List; |
4142 |
30 Sep 16 |
olle |
7 |
|
4142 |
30 Sep 16 |
olle |
8 |
import org.jdom2.Document; |
4142 |
30 Sep 16 |
olle |
9 |
import org.jdom2.Element; |
4142 |
30 Sep 16 |
olle |
10 |
import org.jdom2.Namespace; |
4142 |
30 Sep 16 |
olle |
11 |
import org.slf4j.Logger; |
4142 |
30 Sep 16 |
olle |
12 |
import org.slf4j.LoggerFactory; |
4142 |
30 Sep 16 |
olle |
13 |
|
4142 |
30 Sep 16 |
olle |
14 |
import net.sf.basedb.util.Values; |
4142 |
30 Sep 16 |
olle |
15 |
import net.sf.basedb.util.XmlUtil2; |
4142 |
30 Sep 16 |
olle |
16 |
import net.sf.basedb.meludi.dao.ProjectConfig; |
4142 |
30 Sep 16 |
olle |
17 |
|
4142 |
30 Sep 16 |
olle |
18 |
public class MeludiConfiguration |
4142 |
30 Sep 16 |
olle |
19 |
{ |
4142 |
30 Sep 16 |
olle |
20 |
private static final Logger log = LoggerFactory.getLogger(MeludiConfiguration.class); |
4142 |
30 Sep 16 |
olle |
21 |
|
4839 |
08 Jun 18 |
olle |
22 |
public static final Integer REFERRAL_NUM_DIGITS_DEFAULT = 5; |
4230 |
10 Nov 16 |
olle |
23 |
public static final Integer SAMPLE_ITEM_NUM_DIGITS_DEFAULT = 5; |
4901 |
10 Jul 18 |
olle |
24 |
public static final Integer BLOOD_ITEM_NUM_DIGITS_DEFAULT = 5; |
4901 |
10 Jul 18 |
olle |
25 |
public static final Integer FFPE_BLOCK_ITEM_NUM_DIGITS_DEFAULT = 5; |
4230 |
10 Nov 16 |
olle |
26 |
public static final Integer STORAGE_BOX_NUM_DIGITS_DEFAULT = 4; |
4822 |
23 May 18 |
olle |
27 |
public static final Integer BLOOD_BOX_NUM_DIGITS_DEFAULT = 4; |
5094 |
14 Nov 18 |
olle |
28 |
public static final Integer HE_GLASS_BOX_NUM_DIGITS_DEFAULT = 4; |
4230 |
10 Nov 16 |
olle |
29 |
public static final Integer START_LIST_ITEM_NUM_DIGITS_DEFAULT = 5; |
4230 |
10 Nov 16 |
olle |
30 |
public static final Integer START_PLATE_ITEM_NUM_DIGITS_DEFAULT = 5; |
4230 |
10 Nov 16 |
olle |
31 |
public static final Integer PATIENT_ITEM_NUM_DIGITS_DEFAULT = 6; |
4230 |
10 Nov 16 |
olle |
32 |
public static final Integer LIBPREP_KIT_ITEM_NUM_DIGITS_DEFAULT = 3; |
4248 |
22 Nov 16 |
olle |
33 |
public static final Boolean EXTRACTS_FROM_FIRST_SPECIMEN_ONLY_DEFAULT = false; |
4716 |
26 Mar 18 |
olle |
34 |
public static final Boolean USES_SITE_PREFIX_DEFAULT = false; |
4807 |
15 May 18 |
olle |
35 |
public static final Boolean USES_REFERRAL_CREATION_DEFAULT = false; |
4807 |
15 May 18 |
olle |
36 |
public static final Boolean USES_SITE_SPECIFIC_REFERRAL_TEMPLATES_DEFAULT = false; |
4213 |
08 Nov 16 |
olle |
37 |
|
4142 |
30 Sep 16 |
olle |
38 |
private List<ProjectConfig> projectConfigList = null; |
4142 |
30 Sep 16 |
olle |
39 |
private String configFileName = "meludi-config.xml"; |
4142 |
30 Sep 16 |
olle |
40 |
|
4142 |
30 Sep 16 |
olle |
41 |
public List<ProjectConfig> getProjectConfigList() |
4142 |
30 Sep 16 |
olle |
42 |
{ |
4142 |
30 Sep 16 |
olle |
43 |
return this.projectConfigList; |
4142 |
30 Sep 16 |
olle |
44 |
} |
4142 |
30 Sep 16 |
olle |
45 |
|
4142 |
30 Sep 16 |
olle |
46 |
public void setProjectConfigList(List<ProjectConfig> projectConfigList) |
4142 |
30 Sep 16 |
olle |
47 |
{ |
4142 |
30 Sep 16 |
olle |
48 |
this.projectConfigList = projectConfigList; |
4142 |
30 Sep 16 |
olle |
49 |
} |
4142 |
30 Sep 16 |
olle |
50 |
|
4142 |
30 Sep 16 |
olle |
51 |
public MeludiConfiguration() |
4142 |
30 Sep 16 |
olle |
52 |
{ |
4142 |
30 Sep 16 |
olle |
// Check if configuration has been loaded |
4142 |
30 Sep 16 |
olle |
54 |
if (getProjectConfigList() == null) |
4142 |
30 Sep 16 |
olle |
55 |
{ |
4142 |
30 Sep 16 |
olle |
// Get configuration from configuration file |
4142 |
30 Sep 16 |
olle |
57 |
fetchConfiguration(); |
4142 |
30 Sep 16 |
olle |
58 |
} |
4142 |
30 Sep 16 |
olle |
59 |
} |
4142 |
30 Sep 16 |
olle |
60 |
|
4142 |
30 Sep 16 |
olle |
61 |
/** |
4142 |
30 Sep 16 |
olle |
* Reads configuration from configuration XML file |
4142 |
30 Sep 16 |
olle |
* meludi-config.xml and stores values in instance variables. |
4142 |
30 Sep 16 |
olle |
64 |
*/ |
4142 |
30 Sep 16 |
olle |
65 |
private void fetchConfiguration() |
4142 |
30 Sep 16 |
olle |
66 |
{ |
4142 |
30 Sep 16 |
olle |
67 |
/* |
4142 |
30 Sep 16 |
olle |
Format of MeLuDI configuration file meludi-config.xml is: |
4142 |
30 Sep 16 |
olle |
<meludi> |
4142 |
30 Sep 16 |
olle |
<projects> |
4142 |
30 Sep 16 |
olle |
<project> |
4142 |
30 Sep 16 |
olle |
<name>...</name> |
4839 |
08 Jun 18 |
olle |
<referral-prefix>...</referral-prefix> |
4839 |
08 Jun 18 |
olle |
<referral-num-digits>...</referral-num-digits> |
4142 |
30 Sep 16 |
olle |
<sample-item-prefix>...</sample-item-prefix> |
4213 |
08 Nov 16 |
olle |
<sample-item-num-digits>...</sample-item-num-digits> |
4867 |
21 Jun 18 |
olle |
<blood-item-prefix>...</blood-item-prefix> |
4901 |
10 Jul 18 |
olle |
<blood-item-num-digits>...</blood-item-num-digits> |
4901 |
10 Jul 18 |
olle |
<ffpe-block-item-prefix>...</ffpe-block-item-prefix> |
4901 |
10 Jul 18 |
olle |
<ffpe-block-item-num-digits>...</ffpe-block-item-num-digits> |
4184 |
27 Oct 16 |
olle |
<storage-box-prefix>...</storage-box-prefix> |
4213 |
08 Nov 16 |
olle |
<storage-box-num-digits>...</storage-box-num-digits> |
4822 |
23 May 18 |
olle |
<blood-box-prefix>...</blood-box-prefix> |
4822 |
23 May 18 |
olle |
<blood-box-num-digits>...</blood-box-num-digits> |
5094 |
14 Nov 18 |
olle |
<he-glass-box-prefix>...</he-glass-box-prefix> |
5094 |
14 Nov 18 |
olle |
<he-glass-box-num-digits>...</he-glass-box-num-digits> |
4142 |
30 Sep 16 |
olle |
<start-list-item-prefix>...</start-list-item-prefix> |
4213 |
08 Nov 16 |
olle |
<start-list-item-num-digits>...</start-list-item-num-digits> |
4142 |
30 Sep 16 |
olle |
<start-plate-item-prefix>...</start-plate-item-prefix> |
4213 |
08 Nov 16 |
olle |
<start-plate-item-num-digits>...</start-plate-item-num-digits> |
4142 |
30 Sep 16 |
olle |
<patient-item-prefix>...</patient-item-prefix> |
4213 |
08 Nov 16 |
olle |
<patient-item-num-digits>...</patient-item-num-digits> |
4184 |
27 Oct 16 |
olle |
<library-preparation-kit-item-prefix>...</library-preparation-kit-item-prefix> |
4227 |
10 Nov 16 |
olle |
<library-preparation-kit-item-num-digits>...</library-preparation-kit-item-num-digits> |
4716 |
26 Mar 18 |
olle |
<uses-site-prefix>...</uses-site-prefix> |
4722 |
29 Mar 18 |
olle |
<site-prefix-hash-list>...</site-prefix-hash-list> |
4807 |
15 May 18 |
olle |
<uses-referral-creation>...</uses-referral-creation> |
4807 |
15 May 18 |
olle |
<uses-site-specific-referral-templates>...</uses-site-specific-referral-templates> |
4160 |
18 Oct 16 |
olle |
<project-focus-default>...</project-focus-default> |
4160 |
18 Oct 16 |
olle |
<specimen-type-default>...</specimen-type-default> |
4184 |
27 Oct 16 |
olle |
<specimen-input-type-default>...</specimen-input-type-default> |
4248 |
22 Nov 16 |
olle |
<extracts-from-first-specimen-only-default>...</extracts-from-first-specimen-only-default> |
4249 |
23 Nov 16 |
olle |
<deparaffinization-rna-volume-microliters-default>...</deparaffinization-rna-volume-microliters-default> |
4249 |
23 Nov 16 |
olle |
<deparaffinization-dna-volume-microliters-default>...</deparaffinization-dna-volume-microliters-default> |
4142 |
30 Sep 16 |
olle |
</project> |
4142 |
30 Sep 16 |
olle |
106 |
... |
4142 |
30 Sep 16 |
olle |
</projects> |
4142 |
30 Sep 16 |
olle |
</meludi> |
4142 |
30 Sep 16 |
olle |
109 |
*/ |
4142 |
30 Sep 16 |
olle |
110 |
try |
4142 |
30 Sep 16 |
olle |
111 |
{ |
4142 |
30 Sep 16 |
olle |
112 |
URL confFileUrl = MeludiConfiguration.class.getResource("/" + configFileName); |
4142 |
30 Sep 16 |
olle |
113 |
if (confFileUrl == null) |
4142 |
30 Sep 16 |
olle |
114 |
{ |
4142 |
30 Sep 16 |
olle |
115 |
log.debug("Configuration file meludi-config.xml not found."); |
4142 |
30 Sep 16 |
olle |
116 |
throw new RuntimeException("Configuration file meludi-config.xml not found."); |
4142 |
30 Sep 16 |
olle |
117 |
} |
4142 |
30 Sep 16 |
olle |
118 |
URL dtdFile = null; |
4142 |
30 Sep 16 |
olle |
119 |
Document dom = XmlUtil2.getValidatedXml(confFileUrl, dtdFile); |
4142 |
30 Sep 16 |
olle |
120 |
Element root = dom.getRootElement(); |
4142 |
30 Sep 16 |
olle |
121 |
Namespace ns = root.getNamespace(); |
4142 |
30 Sep 16 |
olle |
122 |
Element parametersTag = root; |
4142 |
30 Sep 16 |
olle |
// Parse XML configuration file and store configuration values in instance variables |
4142 |
30 Sep 16 |
olle |
124 |
if (parametersTag != null) |
4142 |
30 Sep 16 |
olle |
125 |
{ |
4142 |
30 Sep 16 |
olle |
126 |
List<ProjectConfig> projectConfigList = getProjectConfigList(); |
4142 |
30 Sep 16 |
olle |
127 |
if (projectConfigList == null) |
4142 |
30 Sep 16 |
olle |
128 |
{ |
4142 |
30 Sep 16 |
olle |
129 |
projectConfigList = new ArrayList<ProjectConfig>(); |
4142 |
30 Sep 16 |
olle |
130 |
} |
4142 |
30 Sep 16 |
olle |
131 |
Element projectsTag = parametersTag.getChild("projects", ns); |
4142 |
30 Sep 16 |
olle |
132 |
if (projectsTag != null) |
4142 |
30 Sep 16 |
olle |
133 |
{ |
4142 |
30 Sep 16 |
olle |
134 |
List<Element> projectTags = projectsTag.getChildren("project", ns); |
4142 |
30 Sep 16 |
olle |
135 |
log.debug("Found " + projectTags.size() + " project(s) in file: " + configFileName); |
4142 |
30 Sep 16 |
olle |
136 |
for (Element projectTag : projectTags) |
4142 |
30 Sep 16 |
olle |
137 |
{ |
4142 |
30 Sep 16 |
olle |
138 |
ProjectConfig projectConfig = new ProjectConfig(); |
4142 |
30 Sep 16 |
olle |
139 |
if (projectTag != null) |
4142 |
30 Sep 16 |
olle |
140 |
{ |
4142 |
30 Sep 16 |
olle |
141 |
String nameConf = Values.getStringOrNull(projectTag.getChildText("name", ns)); |
4839 |
08 Jun 18 |
olle |
142 |
String referralPrefixConf = Values.getStringOrNull(projectTag.getChildText("referral-prefix", ns)); |
4839 |
08 Jun 18 |
olle |
143 |
Integer referralNumDigitsConf = Values.getInteger(projectTag.getChildText("referral-num-digits", ns), REFERRAL_NUM_DIGITS_DEFAULT); |
4142 |
30 Sep 16 |
olle |
144 |
String sampleItemPrefixConf = Values.getStringOrNull(projectTag.getChildText("sample-item-prefix", ns)); |
4213 |
08 Nov 16 |
olle |
145 |
Integer sampleItemNumDigitsConf = Values.getInteger(projectTag.getChildText("sample-item-num-digits", ns), SAMPLE_ITEM_NUM_DIGITS_DEFAULT); |
4867 |
21 Jun 18 |
olle |
146 |
String bloodItemPrefixConf = Values.getStringOrNull(projectTag.getChildText("blood-item-prefix", ns)); |
4901 |
10 Jul 18 |
olle |
147 |
Integer bloodItemNumDigitsConf = Values.getInteger(projectTag.getChildText("blood-item-num-digits", ns), BLOOD_ITEM_NUM_DIGITS_DEFAULT); |
4901 |
10 Jul 18 |
olle |
148 |
String ffpeBlockItemPrefixConf = Values.getStringOrNull(projectTag.getChildText("ffpe-block-item-prefix", ns)); |
4901 |
10 Jul 18 |
olle |
149 |
Integer ffpeBlockItemNumDigitsConf = Values.getInteger(projectTag.getChildText("ffpe-block-item-num-digits", ns), FFPE_BLOCK_ITEM_NUM_DIGITS_DEFAULT); |
4184 |
27 Oct 16 |
olle |
150 |
String storageBoxPrefixConf = Values.getStringOrNull(projectTag.getChildText("storage-box-prefix", ns)); |
4213 |
08 Nov 16 |
olle |
151 |
Integer storageBoxNumDigitsConf = Values.getInteger(projectTag.getChildText("storage-box-num-digits", ns), STORAGE_BOX_NUM_DIGITS_DEFAULT); |
4142 |
30 Sep 16 |
olle |
152 |
String startListItemPrefixConf = Values.getStringOrNull(projectTag.getChildText("start-list-item-prefix", ns)); |
4213 |
08 Nov 16 |
olle |
153 |
Integer startListItemNumDigitsConf = Values.getInteger(projectTag.getChildText("start-list-item-num-digits", ns), START_LIST_ITEM_NUM_DIGITS_DEFAULT); |
4142 |
30 Sep 16 |
olle |
154 |
String startPlateItemPrefixConf = Values.getStringOrNull(projectTag.getChildText("start-plate-item-prefix", ns)); |
4213 |
08 Nov 16 |
olle |
155 |
Integer startPlateItemNumDigitsConf = Values.getInteger(projectTag.getChildText("start-plate-item-num-digits", ns), START_PLATE_ITEM_NUM_DIGITS_DEFAULT); |
4142 |
30 Sep 16 |
olle |
156 |
String patientItemPrefixConf = Values.getStringOrNull(projectTag.getChildText("patient-item-prefix", ns)); |
4213 |
08 Nov 16 |
olle |
157 |
Integer patientItemNumDigitsConf = Values.getInteger(projectTag.getChildText("patient-item-num-digits", ns), PATIENT_ITEM_NUM_DIGITS_DEFAULT); |
4186 |
28 Oct 16 |
olle |
158 |
String libraryPreparationKitItemPrefixConf = Values.getStringOrNull(projectTag.getChildText("libprep-kit-item-prefix", ns)); |
4228 |
10 Nov 16 |
olle |
159 |
Integer libraryPreparationKitItemNumDigitsConf = Values.getInteger(projectTag.getChildText("libprep-kit-item-num-digits", ns), LIBPREP_KIT_ITEM_NUM_DIGITS_DEFAULT); |
4716 |
26 Mar 18 |
olle |
160 |
Boolean usesSitePrefixConf = Values.getBoolean(projectTag.getChildText("uses-site-prefix", ns), USES_SITE_PREFIX_DEFAULT); |
4722 |
29 Mar 18 |
olle |
161 |
String sitePrefixHashListConf = Values.getStringOrNull(projectTag.getChildText("site-prefix-hash-list", ns)); |
4807 |
15 May 18 |
olle |
162 |
Boolean usesReferralCreationConf = Values.getBoolean(projectTag.getChildText("uses-referral-creation", ns), USES_REFERRAL_CREATION_DEFAULT); |
4807 |
15 May 18 |
olle |
163 |
Boolean usesSiteSpecificReferralTemplatesConf = Values.getBoolean(projectTag.getChildText("uses-site-specific-referral-templates", ns), USES_SITE_SPECIFIC_REFERRAL_TEMPLATES_DEFAULT); |
4160 |
18 Oct 16 |
olle |
164 |
String projectFocusDefaultConf = Values.getStringOrNull(projectTag.getChildText("project-focus-default", ns)); |
4160 |
18 Oct 16 |
olle |
165 |
String specimenTypeDefaultConf = Values.getStringOrNull(projectTag.getChildText("specimen-type-default", ns)); |
4184 |
27 Oct 16 |
olle |
166 |
String specimenInputTypeDefaultConf = Values.getStringOrNull(projectTag.getChildText("specimen-input-type-default", ns)); |
4248 |
22 Nov 16 |
olle |
167 |
Boolean extractsFromFirstSpecimenOnlyDefaultConf = Values.getBoolean(projectTag.getChildText("extracts-from-first-specimen-only-default", ns), EXTRACTS_FROM_FIRST_SPECIMEN_ONLY_DEFAULT); |
4249 |
23 Nov 16 |
olle |
168 |
Float deparaffinizationRnaVolumeMicroLitersDefaultConf = Values.getFloat(projectTag.getChildText("deparaffinization-rna-volume-microliters-default", ns)); |
4249 |
23 Nov 16 |
olle |
169 |
Float deparaffinizationDnaVolumeMicroLitersDefaultConf = Values.getFloat(projectTag.getChildText("deparaffinization-dna-volume-microliters-default", ns)); |
4142 |
30 Sep 16 |
olle |
// Add configuration values to instance variables |
4142 |
30 Sep 16 |
olle |
171 |
projectConfig.setName(nameConf); |
4839 |
08 Jun 18 |
olle |
172 |
projectConfig.setReferralPrefix(referralPrefixConf); |
4839 |
08 Jun 18 |
olle |
173 |
projectConfig.setReferralNumDigits(referralNumDigitsConf); |
4142 |
30 Sep 16 |
olle |
174 |
projectConfig.setSampleItemPrefix(sampleItemPrefixConf); |
4213 |
08 Nov 16 |
olle |
175 |
projectConfig.setSampleItemNumDigits(sampleItemNumDigitsConf); |
4867 |
21 Jun 18 |
olle |
176 |
projectConfig.setBloodItemPrefix(bloodItemPrefixConf); |
4901 |
10 Jul 18 |
olle |
177 |
projectConfig.setBloodItemNumDigits(bloodItemNumDigitsConf); |
4901 |
10 Jul 18 |
olle |
178 |
projectConfig.setFfpeBlockItemPrefix(ffpeBlockItemPrefixConf); |
4901 |
10 Jul 18 |
olle |
179 |
projectConfig.setFfpeBlockItemNumDigits(ffpeBlockItemNumDigitsConf); |
4184 |
27 Oct 16 |
olle |
180 |
projectConfig.setStorageBoxPrefix(storageBoxPrefixConf); |
4213 |
08 Nov 16 |
olle |
181 |
projectConfig.setStorageBoxNumDigits(storageBoxNumDigitsConf); |
4142 |
30 Sep 16 |
olle |
182 |
projectConfig.setStartListItemPrefix(startListItemPrefixConf); |
4213 |
08 Nov 16 |
olle |
183 |
projectConfig.setStartListItemNumDigits(startListItemNumDigitsConf); |
4142 |
30 Sep 16 |
olle |
184 |
projectConfig.setStartPlateItemPrefix(startPlateItemPrefixConf); |
4213 |
08 Nov 16 |
olle |
185 |
projectConfig.setStartPlateItemNumDigits(startPlateItemNumDigitsConf); |
4142 |
30 Sep 16 |
olle |
186 |
projectConfig.setPatientItemPrefix(patientItemPrefixConf); |
4213 |
08 Nov 16 |
olle |
187 |
projectConfig.setPatientItemNumDigits(patientItemNumDigitsConf); |
4184 |
27 Oct 16 |
olle |
188 |
projectConfig.setLibraryPreparationKitItemPrefix(libraryPreparationKitItemPrefixConf); |
4227 |
10 Nov 16 |
olle |
189 |
projectConfig.setLibraryPreparationKitItemNumDigits(libraryPreparationKitItemNumDigitsConf); |
4716 |
26 Mar 18 |
olle |
190 |
projectConfig.setUsesSitePrefix(usesSitePrefixConf); |
4722 |
29 Mar 18 |
olle |
191 |
projectConfig.setSitePrefixHashList(sitePrefixHashListConf); |
4807 |
15 May 18 |
olle |
192 |
projectConfig.setUsesReferralCreation(usesReferralCreationConf); |
4807 |
15 May 18 |
olle |
193 |
projectConfig.setUsesSiteSpecificReferralTemplates(usesSiteSpecificReferralTemplatesConf); |
4160 |
18 Oct 16 |
olle |
194 |
projectConfig.setProjectFocusDefault(projectFocusDefaultConf); |
4160 |
18 Oct 16 |
olle |
195 |
projectConfig.setSpecimenTypeDefault(specimenTypeDefaultConf); |
4184 |
27 Oct 16 |
olle |
196 |
projectConfig.setSpecimenInputTypeDefault(specimenInputTypeDefaultConf); |
4248 |
22 Nov 16 |
olle |
197 |
projectConfig.setExtractsFromFirstSpecimenOnlyDefault(extractsFromFirstSpecimenOnlyDefaultConf); |
4249 |
23 Nov 16 |
olle |
198 |
projectConfig.setDeparaffinizationRnaVolumeMicroLitersDefault(deparaffinizationRnaVolumeMicroLitersDefaultConf); |
4249 |
23 Nov 16 |
olle |
199 |
projectConfig.setDeparaffinizationDnaVolumeMicroLitersDefault(deparaffinizationDnaVolumeMicroLitersDefaultConf); |
4142 |
30 Sep 16 |
olle |
200 |
projectConfigList.add(projectConfig); |
4142 |
30 Sep 16 |
olle |
201 |
} |
4142 |
30 Sep 16 |
olle |
202 |
} |
4142 |
30 Sep 16 |
olle |
203 |
} |
4142 |
30 Sep 16 |
olle |
// Save projectConfigList |
4142 |
30 Sep 16 |
olle |
205 |
setProjectConfigList(projectConfigList); |
4142 |
30 Sep 16 |
olle |
206 |
} |
4142 |
30 Sep 16 |
olle |
207 |
} |
4142 |
30 Sep 16 |
olle |
208 |
catch (Exception e) |
4142 |
30 Sep 16 |
olle |
209 |
{ |
4757 |
16 Apr 18 |
olle |
210 |
log.debug("Exception thrown when accessing configuration file meludi-config.xml: " + e); |
4757 |
16 Apr 18 |
olle |
211 |
throw new RuntimeException("Exception thrown when accessing configuration file meludi-config.xml: ", e); |
4142 |
30 Sep 16 |
olle |
212 |
} |
4142 |
30 Sep 16 |
olle |
213 |
} |
4142 |
30 Sep 16 |
olle |
214 |
|
4142 |
30 Sep 16 |
olle |
215 |
/** |
4142 |
30 Sep 16 |
olle |
Find the project configuration for the given project name. |
4142 |
30 Sep 16 |
olle |
If no project configuration with the given name is found, |
4142 |
30 Sep 16 |
olle |
`null` is returned. |
4142 |
30 Sep 16 |
olle |
219 |
|
4142 |
30 Sep 16 |
olle |
@param name String Name of the project to find configuration for. |
4142 |
30 Sep 16 |
olle |
@return A ProjectConfig object or `null`. |
4142 |
30 Sep 16 |
olle |
222 |
*/ |
4142 |
30 Sep 16 |
olle |
223 |
public ProjectConfig findByName(String name) |
4142 |
30 Sep 16 |
olle |
224 |
{ |
4142 |
30 Sep 16 |
olle |
225 |
ProjectConfig p = null; |
4142 |
30 Sep 16 |
olle |
226 |
if (name != null) |
4142 |
30 Sep 16 |
olle |
227 |
{ |
4142 |
30 Sep 16 |
olle |
228 |
for (ProjectConfig projectConfig: getProjectConfigList()) |
4142 |
30 Sep 16 |
olle |
229 |
{ |
4142 |
30 Sep 16 |
olle |
230 |
String projectName = projectConfig.getName(); |
4142 |
30 Sep 16 |
olle |
231 |
if (name.equals(projectName)) |
4142 |
30 Sep 16 |
olle |
232 |
{ |
4142 |
30 Sep 16 |
olle |
233 |
p = projectConfig; |
4142 |
30 Sep 16 |
olle |
234 |
break; |
4142 |
30 Sep 16 |
olle |
235 |
} |
4142 |
30 Sep 16 |
olle |
236 |
} |
4142 |
30 Sep 16 |
olle |
237 |
} |
4142 |
30 Sep 16 |
olle |
238 |
return p; |
4142 |
30 Sep 16 |
olle |
239 |
} |
4142 |
30 Sep 16 |
olle |
240 |
} |