📄 globalconfiguration.java
字号:
/************************************************************************* * * * EJBCA: The OpenSource Certificate Authority * * * * This software is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or any later version. * * * * See terms of license at gnu.org. * * * *************************************************************************/ package se.anatom.ejbca.ra.raadmin;import se.anatom.ejbca.util.UpgradeableDataHashMap;/** * This is a class containing global configuration parameters. * * @version $Id: GlobalConfiguration.java,v 1.12.2.1 2004/06/30 08:41:25 anatom Exp $ */public class GlobalConfiguration extends UpgradeableDataHashMap implements java.io.Serializable { // Default Values public static final float LATEST_VERSION = 1; public static final String EJBCA_VERSION = "EJBCA 3.0.2"; // Entries to choose from in userpreference part, defines the size of data to be displayed on one page. private final String[] DEFAULTPOSSIBLEENTRIESPERPAGE = {"10" , "25" , "50" , "100"}; // Entries to choose from in view log part, defines the size of data to be displayed on one page. private final String[] DEFAULTPOSSIBLELOGENTRIESPERPAGE = {"10" , "25" , "50" , "100", "200", "400"}; // Path added to baseurl used as default vaule in CRLDistributionPointURI field in Certificate Profile definitions. private final String DEFAULTCRLDISTURIPATH = "publicweb/webdist/certdist?cmd=crl&issuer=CN=TestCA,O=AnaTom,C=SE"; // Path added to baseurl used as default vaule in OCSP Service Locator URI field in Certificate Profile definitions. private final String DEFAULTOCSPSERVICELOCATORURIPATH = "publicweb/status/ocsp"; // Default name of headbanner in web interface. private final String DEFAULTHEADBANNER = "head_banner.jsp"; // Default name of footbanner page in web interface. private final String DEFAULTFOOTBANNER = "foot_banner.jsp"; // Title of ra admin web interface. private final String DEFAULTEJBCATITLE = "Enterprise Java Bean Certificate Authority"; // Language codes. Observe the order is important public static final int EN = 0; public static final int SE = 1; // Public constants. public static final String HEADERFRAME = "topFrame"; // Name of header browser frame public static final String MENUFRAME = "leftFrame"; // Name of menu browser frame public static final String MAINFRAME = "mainFrame"; // Name of main browser frame /** Creates a new instance of Globaldatauration */ public GlobalConfiguration() { super(); setEjbcaTitle(DEFAULTEJBCATITLE); setEnableEndEntityProfileLimitations(true); setEnableAuthenticatedUsersOnly(false); setEnableKeyRecovery(false); setIssueHardwareTokens(false); } /** Initializes a new global datauration with data used in ra web interface. */ public void initialize(String adminpath, String availablelanguages, String availablethemes, String publicport, String privateport, String publicprotocol, String privateprotocol){ String tempadminpath = adminpath.trim(); if(tempadminpath == null) tempadminpath = ""; if(!tempadminpath.endsWith("/") && !tempadminpath.equals("")){ tempadminpath = tempadminpath + "/"; // Add ending '/' } if(tempadminpath.startsWith("/")){ tempadminpath =tempadminpath.substring(1); // Remove starting '/' } data.put(ADMINPATH,tempadminpath); data.put(AVAILABLELANGUAGES,availablelanguages.trim()); data.put(AVAILABLETHEMES,availablethemes.trim()); data.put(PUBLICPORT,publicport.trim()); data.put(PRIVATEPORT,privateport.trim()); data.put(PUBLICPROTOCOL,publicprotocol.trim()); data.put(PRIVATEPROTOCOL,privateprotocol.trim()); data.put(AUTHORIZATION_PATH,tempadminpath+"administratorprivileges"); data.put(BANNERS_PATH,"banners"); data.put(CA_PATH, tempadminpath+"ca"); data.put(CONFIG_PATH,tempadminpath+"sysconfig"); data.put(HELP_PATH,"help"); data.put(IMAGES_PATH,"images"); data.put(LANGUAGE_PATH,"languages"); data.put(LOG_PATH,tempadminpath+"log"); data.put(RA_PATH,tempadminpath+"ra"); data.put(THEME_PATH,"themes"); data.put(HARDTOKEN_PATH,tempadminpath+"hardtoken"); data.put(LANGUAGEFILENAME,"languagefile"); data.put(MAINFILENAME,"main.jsp"); data.put(INDEXFILENAME,"index.jsp"); data.put(MENUFILENAME,"adminmenu.jsp"); data.put(ERRORPAGE,"errorpage.jsp"); setHeadBanner(DEFAULTHEADBANNER); setFootBanner(DEFAULTFOOTBANNER); } /** Checks if global datauration have been initialized. */ public boolean isInitialized(){ return data.get(AVAILABLELANGUAGES)!=null; } public String getBaseUrl() { return (String) data.get(this.PRIVATEPROTOCOL) + "://" + (String) data.get(this.COMPUTERNAME) + ":" + (String) data.get(this.PRIVATEPORT) + "/" + (String) data.get(this.APPLICATIONPATH); } public void setComputerName(String computername){ data.put(COMPUTERNAME, computername); } public void setApplicationPath(String applicationpath){ // Add trailing '/' if it doesn't exists. if(!applicationpath.endsWith("/")){ data.put(APPLICATIONPATH,applicationpath + "/"); } else{ data.put(APPLICATIONPATH,applicationpath); } } public String getAdminWebPath(){return (String) data.get(ADMINPATH);} public String getStandardCRLDistributionPointURI(){ String retval = getBaseUrl(); retval =retval.replaceFirst((String) data.get(PRIVATEPROTOCOL), (String) data.get(PUBLICPROTOCOL)); retval =retval.replaceFirst((String) data.get(PRIVATEPORT), (String) data.get(PUBLICPORT)); retval+= DEFAULTCRLDISTURIPATH; return retval; } public String getStandardOCSPServiceLocatorURI(){ String retval = getBaseUrl(); retval =retval.replaceFirst((String) data.get(PRIVATEPROTOCOL), (String) data.get(PUBLICPROTOCOL)); retval =retval.replaceFirst((String) data.get(PRIVATEPORT), (String) data.get(PUBLICPORT)); retval+= DEFAULTOCSPSERVICELOCATORURIPATH; return retval; } /** Checks the themes paht for css files and returns an array of filenames * without the ".css" ending. */ public String[] getAvailableThemes() { String[] availablethemes; availablethemes = getAvailableThenesAsString().split(","); if(availablethemes != null){ for(int i = 0; i < availablethemes.length; i++){ availablethemes[i] = availablethemes[i].trim(); if(availablethemes[i].endsWith(".css")){ availablethemes[i] = availablethemes[i].substring(0,availablethemes[i].length()-4); } } } return availablethemes; } /** Returns the default avaiable theme used by administrator preferences. */ public String getDefaultAvailableTheme(){ return getAvailableThemes()[0]; } // Methods for manipulating the headbanner filename. public String getHeadBanner() {return (String) data.get(HEADBANNER);} public String getHeadBannerFilename(){ String returnval = (String) data.get(HEADBANNER); return returnval.substring(returnval.lastIndexOf('/')+1); } public void setHeadBanner(String head){ data.put(HEADBANNER, ((String) data.get(ADMINPATH)) + ((String) data.get(BANNERS_PATH)) + "/" + head); } // Methods for manipulating the headbanner filename. public String getFootBanner() {return (String) data.get(FOOTBANNER);} public String getFootBannerFilename(){ String returnval = (String) data.get(FOOTBANNER); return returnval.substring(returnval.lastIndexOf('/')+1); } public void setFootBanner(String foot){ data.put(FOOTBANNER, "/" + ((String) data.get(BANNERS_PATH)) + "/" +foot); } // Methods for manipulating the title. public String getEjbcaTitle() {return (String) data.get(TITLE);} public void setEjbcaTitle(String ejbcatitle) {data.put(TITLE,ejbcatitle);} public String getAuthorizationPath() {return (String) data.get(AUTHORIZATION_PATH);} public String getBannersPath() {return (String) data.get(BANNERS_PATH);} public String getCaPath() {return (String) data.get(CA_PATH);} public String getConfigPath() {return (String) data.get(CONFIG_PATH);} public String getHelpPath() {return (String) data.get(HELP_PATH);} public String getImagesPath() {return (String) data.get(IMAGES_PATH);} public String getLanguagePath() {return (String) data.get(LANGUAGE_PATH);} public String getLogPath() {return (String) data.get(LOG_PATH);} public String getRaPath() {return (String) data.get(RA_PATH);} public String getThemePath() {return (String) data.get(THEME_PATH);} public String getHardTokenPath() {return (String) data.get(HARDTOKEN_PATH);} public String getLanguageFilename(){return (String) data.get(LANGUAGEFILENAME);} public String getMainFilename(){return (String) data.get(MAINFILENAME);} public String getIndexFilename(){return (String) data.get(INDEXFILENAME);} public String getMenuFilename(){return (String) data.get(MENUFILENAME);} public String getErrorPage(){return (String) data.get(ERRORPAGE);} public String[] getPossibleEntiresPerPage(){return DEFAULTPOSSIBLEENTRIESPERPAGE;} public String[] getPossibleLogEntiresPerPage(){return DEFAULTPOSSIBLELOGENTRIESPERPAGE;} public String getAvailableLanguagesAsString(){return (String) data.get(AVAILABLELANGUAGES);} public String getAvailableThenesAsString(){return (String) data.get(AVAILABLETHEMES);} public boolean getEnableEndEntityProfileLimitations(){return ((Boolean) data.get(ENABLEEEPROFILELIMITATIONS)).booleanValue();} public void setEnableEndEntityProfileLimitations(boolean value){ data.put(ENABLEEEPROFILELIMITATIONS, Boolean.valueOf(value));} public boolean getEnableAuthenticatedUsersOnly(){return ((Boolean) data.get(ENABLEAUTHENTICATEDUSERSONLY)).booleanValue();} public void setEnableAuthenticatedUsersOnly(boolean value){ data.put(ENABLEAUTHENTICATEDUSERSONLY, Boolean.valueOf(value));} public boolean getEnableKeyRecovery(){return ((Boolean) data.get(ENABLEKEYRECOVERY)).booleanValue();} public void setEnableKeyRecovery(boolean value){ data.put(ENABLEKEYRECOVERY, Boolean.valueOf(value));} public boolean getIssueHardwareTokens(){return ((Boolean) data.get(ISSUEHARDWARETOKENS)).booleanValue();} public void setIssueHardwareTokens(boolean value){ data.put(ISSUEHARDWARETOKENS, Boolean.valueOf(value));} /** Implemtation of UpgradableDataHashMap function getLatestVersion */ public float getLatestVersion(){ return LATEST_VERSION; } /** Implemtation of UpgradableDataHashMap function upgrade. */ public void upgrade(){ if(LATEST_VERSION != getVersion()){ // New version of the class, upgrade if(data.get(HARDTOKEN_PATH) == null){ data.put(HARDTOKEN_PATH, ((String) data.get(ADMINPATH) + "hardtoken")); } data.put(VERSION, new Float(LATEST_VERSION)); } } // Private fields. // Private constants private final String BASEURL = "baseurl"; private final String COMPUTERNAME = "computername"; private final String APPLICATIONPATH = "applicationpath"; private final String ADMINPATH = "raadminpath"; private final String AVAILABLELANGUAGES = "availablelanguages"; private final String AVAILABLETHEMES = "availablethemes"; private final String PUBLICPORT = "publicport"; private final String PRIVATEPORT = "privateport"; private final String PUBLICPROTOCOL = "publicprotocol"; private final String PRIVATEPROTOCOL = "privateprotocol"; // Title private final String TITLE = "title"; // Banner files. private final String HEADBANNER = "headbanner"; private final String FOOTBANNER = "footbanner"; // Other configuration. private final String ENABLEEEPROFILELIMITATIONS = "endentityprofilelimitations"; private final String ENABLEAUTHENTICATEDUSERSONLY = "authenticatedusersonly"; private final String ENABLEKEYRECOVERY = "enablekeyrecovery"; private final String ISSUEHARDWARETOKENS = "issuehardwaretokens"; // Paths private final String AUTHORIZATION_PATH = "authorization_path"; private final String BANNERS_PATH = "banners_path"; private final String CA_PATH = "ca_path"; private final String CONFIG_PATH = "data_path"; private final String HELP_PATH = "help_path"; private final String IMAGES_PATH = "images_path"; private final String LANGUAGE_PATH = "language_path"; private final String LOG_PATH = "log_path"; private final String RA_PATH = "ra_path"; private final String THEME_PATH = "theme_path"; private final String HARDTOKEN_PATH = "hardtoken_path"; private final String LANGUAGEFILENAME = "languagefilename"; private final String MAINFILENAME = "mainfilename"; private final String INDEXFILENAME = "indexfilename"; private final String MENUFILENAME = "menufilename"; private final String ERRORPAGE = "errorpage";}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -