/** * * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. * * This library 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 (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see <http://www.gnu.org/licenses/>. * **/ package lucee.runtime.config; import java.net.MalformedURLException; import java.net.URL; import lucee.commons.net.HTTPUtil; import lucee.runtime.extension.ExtensionProvider; import lucee.runtime.extension.ExtensionProviderImpl; import lucee.runtime.extension.RHExtensionProvider; import lucee.runtime.type.util.ArrayUtil; public class Constants { private static final String CFML_COMPONENT_EXTENSION = "cfc"; private static final String LUCEE_COMPONENT_EXTENSION = "lucee"; public static final String CFML_NAME = "CFML"; public static final String LUCEE_NAME = "Lucee"; public static final String NAME = "Lucee"; public static final String[] CFML_ALIAS_NAMES = new String []{"CFML","CFM"}; public static final String[] LUCEE_ALIAS_NAMES = new String []{"Lucee"}; public static final String GATEWAY_COMPONENT_EXTENSION = "cfc"; // MUST remove private static final String CFML_TEMPLATE_MAIN_EXTENSION = "cfm"; private static final String LUCEE_TEMPLATE_MAIN_EXTENSION = "lucee"; public static final String[] CFML_MIMETYPES = new String[]{"text/cfml","application/cfml"}; public static final String[] LUCEE_MIMETYPES = new String[]{"text/lucee","application/lucee"}; public static final String[] DTDS_FLD = new String[]{ "-//Lucee//DTD CFML Function Library 1.0//EN", "-//Railo//DTD CFML Function Library 1.0//EN"}; public static final String[] DTDS_TLD = new String[]{ "-//Lucee//DTD CFML Tag Library 1.0//EN", "-//Railo//DTD CFML Tag Library 1.0//EN"}; public static final String CFML_APPLICATION_EVENT_HANDLER = "Application."+CFML_COMPONENT_EXTENSION; public static final String LUCEE_APPLICATION_EVENT_HANDLER = "Application."+LUCEE_COMPONENT_EXTENSION; public static final String CFML_CLASSIC_APPLICATION_EVENT_HANDLER = "Application."+CFML_TEMPLATE_MAIN_EXTENSION; public static final String CFML_CLASSIC_APPLICATION_END_EVENT_HANDLER = "OnRequestEnd."+CFML_TEMPLATE_MAIN_EXTENSION; public static final String CFML_APPLICATION_TAG_NAME = "cfapplication"; public static final String LUCEE_APPLICATION_TAG_NAME = "application"; public static final String DEFAULT_PACKAGE = "org.lucee.cfml"; public static final String WEBSERVICE_NAMESPACE_URI="http://rpc.xml.coldfusion"; public static URL DEFAULT_UPDATE_URL; static { try { DEFAULT_UPDATE_URL= new URL("http://release.lucee.org"); } catch (MalformedURLException e) { e.printStackTrace(); } } // old public static final ExtensionProvider[] CLASSIC_EXTENSION_PROVIDERS = new ExtensionProviderImpl[]{ new ExtensionProviderImpl("http://extension.lucee.org/ExtensionProvider.cfc",true) }; public static final RHExtensionProvider[] RH_EXTENSION_PROVIDERS = new RHExtensionProvider[]{ new RHExtensionProvider(HTTPUtil.toURL("http://extension.lucee.org",false,null),true) }; public static final String CFML_SCRIPT_TAG_NAME = "script"; public static final String LUCEE_SCRIPT_TAG_NAME = "script"; public static final String CFML_SET_TAG_NAME = "set"; public static final String LUCEE_SET_TAG_NAME = "set"; public static final String CFML_COMPONENT_TAG_NAME = "component"; public static final String LUCEE_COMPONENT_TAG_NAME = "class"; public static final String LUCEE_INTERFACE_TAG_NAME = "interface"; public static final String CFML_CLASS_SUFFIX = "$cf"; public static final String LUCEE_CLASS_SUFFIX = "$lu"; // TODO load this based on the servlet mapping public static final String[] cte=new String[]{CFML_TEMPLATE_MAIN_EXTENSION}; public static String[] getCFMLTemplateExtensions(){ return cte; } public static final String[] lte=new String[]{LUCEE_TEMPLATE_MAIN_EXTENSION}; public static String[] getLuceeTemplateExtensions(){ return lte; } public static String getCFMLComponentExtension(){ return CFML_COMPONENT_EXTENSION; } public static String getLuceeComponentExtension(){ return LUCEE_COMPONENT_EXTENSION; } // merge methods above public static String[] getTemplateExtensions(){ return ArrayUtil.toArray(getCFMLTemplateExtensions(), getLuceeTemplateExtensions()); } public static String[] getComponentExtensions(){ return new String[]{getCFMLComponentExtension(), getLuceeComponentExtension()}; } public static String[] getCFMLExtensions(){ return ArrayUtil.toArray(getCFMLTemplateExtensions(),getCFMLComponentExtension()); } public static String[] getLuceeExtensions(){ return ArrayUtil.toArray(getLuceeTemplateExtensions(),getLuceeComponentExtension()); } public static String[] getExtensions(){ return ArrayUtil.toArray(getComponentExtensions(), getTemplateExtensions()); } public static boolean isCFMLComponentExtension(String extension) { if(extension.startsWith("."))extension=extension.substring(1); return getCFMLComponentExtension().trim().equalsIgnoreCase(extension); /*String[] ext = getCFMLComponentExtensions(); for(int i=0;i<ext.length;i++){ if(ext[i].trim().equalsIgnoreCase(extension)) return true; } return false;*/ } public static boolean isLuceeComponentExtension(String extension) { if(extension.startsWith("."))extension=extension.substring(1); return getLuceeComponentExtension().trim().equalsIgnoreCase(extension); /*String[] ext = getLuceeComponentExtensions(); for(int i=0;i<ext.length;i++){ if(ext[i].trim().equalsIgnoreCase(extension)) return true; } return false;*/ } public static boolean isComponentExtension(String extension) { return isLuceeComponentExtension(extension) || isCFMLComponentExtension(extension); } }