Skip to content

Commit b5f3a87

Browse files
author
Nutcha Soderdahl
committed
Merge branch 'fb-ECA-11563-fix-flaky-adminwebpath' into 'main'
ECA-11563: Simplify getAdminWebPath and some other properties Closes ECA-11563 See merge request ejbca/ejbca!983
2 parents d4e4e16 + 4579bac commit b5f3a87

File tree

1 file changed

+24
-77
lines changed

1 file changed

+24
-77
lines changed

modules/ejbca-common/src/org/ejbca/config/GlobalConfiguration.java

Lines changed: 24 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,10 @@ public class GlobalConfiguration extends ConfigurationBase implements ExternalSc
129129
public static final String DOCWINDOW = "_ejbcaDocWindow"; // Name of browser window used to display help
130130

131131
// Private constants
132-
private static final String ADMINPATH = "raadminpath";
133132
private static final String AVAILABLELANGUAGES = "availablelanguages";
134133
private static final String AVAILABLETHEMES = "availablethemes";
135134
private static final String PUBLICPORT = "publicport";
136135
private static final String PRIVATEPORT = "privateport";
137-
private static final String PUBLICPROTOCOL = "publicprotocol";
138-
private static final String PRIVATEPROTOCOL = "privateprotocol";
139-
140136

141137
// Title
142138
private static final String TITLE = "title";
@@ -164,24 +160,10 @@ public class GlobalConfiguration extends ConfigurationBase implements ExternalSc
164160

165161
private static final String ENABLEEXTERNALSCRIPTS = "enableexternalscripts";
166162

167-
// Paths
168-
private static final String AUTHORIZATION_PATH = "authorization_path";
169-
private static final String BANNERS_PATH = "banners_path";
170-
private static final String CA_PATH = "ca_path";
171-
private static final String CONFIG_PATH = "data_path";
172-
private static final String IMAGES_PATH = "images_path";
173-
private static final String LANGUAGE_PATH = "language_path";
174-
private static final String LOG_PATH = "log_path";
175-
private static final String REPORTS_PATH = "reports_path";
176-
private static final String RA_PATH = "ra_path";
177-
private static final String THEME_PATH = "theme_path";
178-
179163
private static final String CTLOGS = "ctlogs";
180164

181165
private static final String STATEDUMP_LOCKDOWN = "statedump_lockdown";
182166

183-
private static final String LANGUAGEFILENAME = "languagefilename";
184-
private static final String IECSSFILENAMEPOSTFIX = "iecssfilenamepostfix";
185167
private static final String GOOGLE_CT_POLICY = "google_ct_policy";
186168
private static final String EXTERNAL_SCRIPTS_WHITELIST = "external_scripts_whitelist";
187169
private static final String IS_EXTERNAL_SCRIPTS_WHITELIST_ENABLED = "is_external_scripts_whitelist_enabled";
@@ -204,54 +186,24 @@ public GlobalConfiguration() {
204186
setEnableIcaoCANameChange(false);
205187
}
206188

207-
208189
/** Initializes a new global configuration with data used in ra web interface. */
209-
public void initialize(String adminpath, String availablelanguages, String availablethemes,
210-
String publicport, String privateport, String publicprotocol, String privateprotocol){
190+
private void initialize(String availablelanguages, String availablethemes,
191+
String publicport, String privateport){
211192

212-
String tempadminpath = adminpath.trim();
213-
214-
if(tempadminpath == null) {
215-
tempadminpath = "";
216-
}
217-
if(!tempadminpath.endsWith("/") && !tempadminpath.equals("")){
218-
tempadminpath = tempadminpath + "/"; // Add ending '/'
219-
}
220-
if(tempadminpath.startsWith("/")){
221-
tempadminpath = tempadminpath.substring(1); // Remove starting '/'
222-
}
223-
224-
data.put(ADMINPATH,tempadminpath);
225193
data.put(AVAILABLELANGUAGES,availablelanguages.trim());
226194
data.put(AVAILABLETHEMES,availablethemes.trim());
227195
data.put(PUBLICPORT,publicport.trim());
228196
data.put(PRIVATEPORT,privateport.trim());
229-
data.put(PUBLICPROTOCOL,publicprotocol.trim());
230-
data.put(PRIVATEPROTOCOL,privateprotocol.trim());
231-
232-
data.put(AUTHORIZATION_PATH,tempadminpath+"administratorprivileges");
233-
data.put(BANNERS_PATH,"banners");
234-
data.put(CA_PATH, tempadminpath+"ca");
235-
data.put(CONFIG_PATH,tempadminpath+"sysconfig");
236-
data.put(IMAGES_PATH,"images");
237-
data.put(LANGUAGE_PATH,"languages");
238-
data.put(LOG_PATH,tempadminpath+"log");
239-
data.put(REPORTS_PATH,tempadminpath+"reports");
240-
data.put(RA_PATH,tempadminpath+"ra");
241-
data.put(THEME_PATH,"themes");
242-
243-
data.put(LANGUAGEFILENAME,"languagefile");
244-
data.put(IECSSFILENAMEPOSTFIX,"_ie-fixes");
245197
}
246198

247199
public void initializeAdminWeb() {
248-
initialize("adminweb", WebConfiguration.getAvailableLanguages(), "default_theme.css,second_theme.css",
249-
""+WebConfiguration.getPublicHttpPort(), ""+WebConfiguration.getPrivateHttpsPort(), "http", "https");
200+
initialize(WebConfiguration.getAvailableLanguages(), "default_theme.css,second_theme.css",
201+
""+WebConfiguration.getPublicHttpPort(), ""+WebConfiguration.getPrivateHttpsPort());
250202
}
251203

252204
public void initializeRaWeb() {
253-
initialize("ra", WebConfiguration.getAvailableLanguages(), "default_theme.css,second_theme.css",
254-
""+WebConfiguration.getPublicHttpPort(), ""+WebConfiguration.getPrivateHttpsPort(), "http", "https");
205+
initialize(WebConfiguration.getAvailableLanguages(), "default_theme.css,second_theme.css",
206+
""+WebConfiguration.getPublicHttpPort(), ""+WebConfiguration.getPrivateHttpsPort());
255207
}
256208

257209
/** Checks if global data configuration have been initialized. */
@@ -287,26 +239,24 @@ public String getRelativeUri() {
287239
/** @return The base path derived values in configuration files */
288240
public String getBaseUrlFromConfig() {
289241
return getBaseUrl(
290-
(String) data.get(GlobalConfiguration.PRIVATEPROTOCOL),
291-
WebConfiguration.getHostName(),
242+
"https", WebConfiguration.getHostName(),
292243
Integer.parseInt((String) data.get(GlobalConfiguration.PRIVATEPORT))
293244
);
294245
}
295246

296247
public String getBaseUrlPublic() {
297248
return getBaseUrl(
298-
(String) data.get(PUBLICPROTOCOL),
299-
WebConfiguration.getHostName(),
249+
"http", WebConfiguration.getHostName(),
300250
Integer.parseInt((String) data.get(PUBLICPORT))
301251
);
302252
}
303253

304254
public String getAdminWebPath() {
305-
return getString(ADMINPATH, "adminweb");
255+
return "adminweb/";
306256
}
307257

308258
public String getRaWebPath() {
309-
return getString(ADMINPATH, "ra");
259+
return "ra/";
310260
}
311261

312262
public String getStandardCRLDistributionPointURI(){
@@ -366,7 +316,7 @@ public boolean isNonDefaultHeadBanner() {
366316
return !fullHeadBannerPath(DEFAULTHEADBANNER).equals(fullHeadBannerPath((String) data.get(HEADBANNER)));
367317
}
368318
private String fullHeadBannerPath(final String head) {
369-
return ((String) data.get(ADMINPATH)) + ((String) data.get(BANNERS_PATH)) + "/" +
319+
return getAdminWebPath() + getBannersPath() + "/" +
370320
(StringUtils.isNotBlank(head) ? head.substring(head.lastIndexOf('/')+1) : DEFAULTHEADBANNER);
371321
}
372322

@@ -377,7 +327,7 @@ public void setFootBanner(String foot){
377327
data.put(FOOTBANNER, fullFootBannerPath(foot));
378328
}
379329
private String fullFootBannerPath(final String foot) {
380-
return "/" + ((String) data.get(BANNERS_PATH)) + "/" +
330+
return "/" + getBannersPath() + "/" +
381331
(StringUtils.isNotBlank(foot) ? foot.substring(foot.lastIndexOf('/')+1) : DEFAULTFOOTBANNER);
382332
}
383333

@@ -387,19 +337,19 @@ private String fullFootBannerPath(final String foot) {
387337
public void setEjbcaTitle(String ejbcatitle) {data.put(TITLE,ejbcatitle);}
388338

389339

390-
public String getAuthorizationPath() {return (String) data.get(AUTHORIZATION_PATH);}
391-
public String getBannersPath() {return (String) data.get(BANNERS_PATH);}
392-
public String getCaPath() {return (String) data.get(CA_PATH);}
393-
public String getConfigPath() {return (String) data.get(CONFIG_PATH);}
394-
public String getImagesPath() {return (String) data.get(IMAGES_PATH);}
395-
public String getLanguagePath() {return (String) data.get(LANGUAGE_PATH);}
396-
public String getLogPath() {return (String) data.get(LOG_PATH);}
397-
public String getReportsPath() {return (String) data.get(REPORTS_PATH);}
398-
public String getRaPath() {return (String) data.get(RA_PATH);}
399-
public String getThemePath() {return (String) data.get(THEME_PATH);}
340+
public String getAuthorizationPath() {return getAdminWebPath()+"administratorprivileges";}
341+
public String getBannersPath() {return "banners";}
342+
public String getCaPath() {return getAdminWebPath()+"ca";}
343+
public String getConfigPath() {return getAdminWebPath()+"sysconfig";}
344+
public String getImagesPath() {return "images";}
345+
public String getLanguagePath() {return "languages";}
346+
public String getLogPath() {return getAdminWebPath()+"log";}
347+
public String getReportsPath() {return getAdminWebPath()+"reports";}
348+
public String getRaPath() {return getAdminWebPath()+"ra";}
349+
public String getThemePath() {return "themes";}
400350

401-
public String getLanguageFilename(){return (String) data.get(LANGUAGEFILENAME);}
402-
public String getIeCssFilenamePostfix(){return (String) data.get(IECSSFILENAMEPOSTFIX);}
351+
public String getLanguageFilename(){return "languagefile";}
352+
public String getIeCssFilenamePostfix(){return "_ie-fixes";}
403353

404354
public String[] getPossibleEntiresPerPage(){return DEFAULTPOSSIBLEENTRIESPERPAGE;}
405355
public String[] getPossibleLogEntiresPerPage(){return DEFAULTPOSSIBLELOGENTRIESPERPAGE;}
@@ -580,9 +530,6 @@ public float getLatestVersion(){
580530
public void upgrade(){
581531
if(Float.compare(LATEST_VERSION, getVersion()) != 0) {
582532
// New version of the class, upgrade
583-
if(data.get(REPORTS_PATH) == null){
584-
data.put(REPORTS_PATH, ((String) data.get(ADMINPATH) + "reports"));
585-
}
586533
if(data.get(ENABLECOMMANDLINEINTERFACEDEFAULTUSER) == null) {
587534
data.put(ENABLECOMMANDLINEINTERFACEDEFAULTUSER, Boolean.TRUE);
588535
}

0 commit comments

Comments
 (0)