/* * RHQ Management Platform * Copyright (C) 2005-2008 Red Hat, Inc. * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ package org.rhq.enterprise.gui.legacy.util; import java.io.FileOutputStream; import java.io.InputStream; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Properties; import javax.servlet.ServletContext; import org.rhq.core.domain.common.composite.SystemSetting; import org.rhq.core.domain.common.composite.SystemSettings; import org.rhq.enterprise.gui.legacy.Constants; import org.rhq.enterprise.server.util.LookupUtil; /** * Utilities class that provides convenience methods for operating on the servlet context. */ @Deprecated public class ContextUtils { // /** // * Return the cached <code>ServiceLocator</code>, loading it if necessary. // * // * @param context the <code>ServletContext</code> // */ // public static ServiceLocator getServiceLocator(ServletContext context) // throws ServiceLocatorException // { // ServiceLocator sl = // (ServiceLocator)context.getAttribute(Constants.SERVICE_LOCATOR_CTX_ATTR); // if (sl == null) // { // Map attrs = getMapOfContextAttributes(context); // // sl = new ServiceLocator(attrs); // context.setAttribute(Constants.SERVICE_LOCATOR_CTX_ATTR, sl); // } // // return sl; // } /** * Used by ActionProcessLocator for getting attributes out of the ServletContext */ public static Map getMapOfContextAttributes(ServletContext context) { HashMap attrs = new HashMap(); Enumeration names = context.getAttributeNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); attrs.put(name, context.getAttribute(name)); } return attrs; } // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>AppdefBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static AppdefBoss getAppdefBoss(ServletContext context) // throws ServiceLocatorException // { // // return getServiceLocator(context).getAppdefBoss(); // } // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>AppdefBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static AIBoss getAIBoss(ServletContext context) // throws ServiceLocatorException // { // // return getServiceLocator(context).getAIBoss(); // } // // public static MeasurementScheduleManagerLocal getMeasurmentManager(ServletContext context) // { // return getServiceLocator(context).getMeasurementManager(); // } // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>ControlBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static OperationManagerLocal getControlBoss(ServletContext context) // throws ServiceLocatorException // { // // return LookupUtil.getOperationManager(); // } // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>ConfigBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static ConfigBoss getConfigBoss(ServletContext context) // throws ServiceLocatorException // { // return getServiceLocator(context).getConfigBoss(); // } // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>AuthBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static SubjectManagerLocal getAuthBoss(ServletContext context) // throws ServiceLocatorException // { // // return getServiceLocator(context).getAuthBoss(); // } // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>AuthzBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static AuthzBoss getAuthzBoss(ServletContext context) // throws ServiceLocatorException // { // // return getServiceLocator(context).getAuthzBoss(); // } // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>EventsBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static EventsBoss getEventsBoss(ServletContext context) // throws ServiceLocatorException // { // return getServiceLocator(context).getEventsBoss(); // } // // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>MeasurementBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static MeasurementBoss getMeasurementBoss(ServletContext context) // throws ServiceLocatorException // { // // return getServiceLocator(context).getMeasurementBoss(); // } // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>ProductBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static ProductBoss getProductBoss(ServletContext context) // throws ServiceLocatorException // { // // return getServiceLocator(context).getProductBoss(); // } // // /** // * Consult the cached <code>ServiceLocator</code> for an instance of <code>RtBoss</code>. // * // * @param context the <code>ServletContext</code> // */ // public static RtBoss getRtBoss(ServletContext context) // throws ServiceLocatorException // { // return getServiceLocator(context).getRtBoss(); // } // // /** // * Return the cached <code>List</code> of <code>ResourceTypeValue</code> objects, loading them from the bizapp if // * necessary. // * // * @param context the <code>ServletContext</code> // * @param sessionId the bizapp session id for the web user // */ // public static List getResourceTypes(ServletContext context, // Integer sessionId) // throws ServiceLocatorException, NamingException, FinderException, // CreateException, PermissionException, SessionTimeoutException, // SessionNotFoundException, RemoteException // { // List types = (List)context.getAttribute(Constants.RESTYPES_CTX_ATTR); // // if (types == null) // { // AuthzBoss boss = getAuthzBoss(context); // types = boss.getAllResourceTypes(sessionId); // types = BizappUtils.filterTypes(types); // context.setAttribute(Constants.RESTYPES_CTX_ATTR, types); // } // // return types; // } /** * Load the specified properties file and return the properties. * * @param context the <code>ServletContext</code> * @param filename the fully qualified name of the properties file * * @throws Exception if a problem occurs while loading the file */ public static Properties loadProperties(ServletContext context, String filename) throws Exception { Properties props = new Properties(); InputStream is = context.getResourceAsStream(filename); if (is != null) { props.load(is); is.close(); } return props; } public static void saveProperties(ServletContext context, String filename, Properties props) throws Exception { filename = context.getRealPath(filename); FileOutputStream out = new FileOutputStream(filename); try { props.store(out, null); } finally { out.close(); } } public static boolean usingLDAPAuthentication(ServletContext context) throws Exception { String provider = (String) context.getAttribute(Constants.JAAS_PROVIDER_CTX_ATTR); if (provider == null) { SystemSettings systemSettings = LookupUtil.getSystemManager().getUnmaskedSystemSettings(true); provider = systemSettings.get(SystemSetting.LDAP_BASED_JAAS_PROVIDER); context.setAttribute(Constants.JAAS_PROVIDER_CTX_ATTR, provider); } return (provider != null) ? Boolean.valueOf(provider) : false; } }