/**
* Copyright (c) 2014, the Railo Company Ltd.
* Copyright (c) 2015, Lucee Assosication Switzerland
*
* 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.ajax;
import lucee.commons.io.res.Resource;
import lucee.commons.io.res.util.ResourceUtil;
import lucee.runtime.config.XMLConfigFactory;
public class AjaxFactory {
private static final String TEMPLATE_EXTENSION = "cfm";
private static final String COMPONENT_EXTENSION = "cfc";
/**
* this method deploy all ajax functions to the Lucee enviroment and the helper files
* @param dir tag directory
* @param doNew redeploy even the file exist, this is set to true when a new version is started
*/
public static void deployFunctions(Resource dir, boolean doNew) {
Resource f = dir.getRealResource("ajaxOnLoad."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/function/ajaxOnLoad."+TEMPLATE_EXTENSION,f);
}
/**
* this functions deploy all ajax tags to the Lucee enviroment and the helper files
* @param dir tag directory
* @param doNew redeploy even the file exist, this is set to true when a new version is started
*/
public static void deployTags(Resource dir, boolean doNew) {
// tags
Resource f = dir.getRealResource("AjaxImport."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/AjaxImport."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("AjaxProxy."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/AjaxProxy."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("Div."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/Div."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("Map."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/Map."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("MapItem."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/MapItem."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("Layout."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/Layout."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("LayoutArea."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/LayoutArea."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("Window."+COMPONENT_EXTENSION);
if(!f.exists() || doNew){
//String md5 = ConfigWebUtil.createMD5FromResource(f);
XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/Window."+COMPONENT_EXTENSION,f);
}
// helper files
dir=dir.getRealResource("lucee/core/ajax/");
if(!dir.isDirectory())dir.mkdirs();
f = dir.getRealResource("AjaxBase."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/AjaxBase."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("AjaxBinder."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/AjaxBinder."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("AjaxProxyHelper."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/AjaxProxyHelper."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("JSLoader."+COMPONENT_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/JSLoader."+COMPONENT_EXTENSION,f);
f = dir.getRealResource("LuceeJs."+COMPONENT_EXTENSION);
if(f.exists())f.delete();
//js
Resource jsDir = dir.getRealResource("js");
if(!jsDir.isDirectory())jsDir.mkdirs();
f = jsDir.getRealResource("LuceeAjax.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/LuceeAjax.js",f);
f = jsDir.getRealResource("LuceeMap.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/LuceeMap.js",f);
f = jsDir.getRealResource("LuceeWindow.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/LuceeWindow.js",f);
f = jsDir.getRealResource("LuceeLayout.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/LuceeLayout.js",f);
// delete wrong directory comes with 3.1.2.015
Resource gDir = dir.getRealResource("google");
if(gDir.isDirectory())ResourceUtil.removeEL(gDir, true);
// create google/... again
gDir = jsDir.getRealResource("google");
if(!gDir.isDirectory())gDir.mkdirs();
f = gDir.getRealResource("google-map.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/google/google-map.js",f);
//jquery resources
Resource jqDir = jsDir.getRealResource("jquery");
if(!jqDir.isDirectory())jqDir.mkdirs();
f = jqDir.getRealResource("jquery-1.4.2.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/jquery/jquery-1.4.2.js",f);
f = jqDir.getRealResource("jquery-ui-1.8.2.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/jquery/jquery-ui-1.8.2.js",f);
f = jqDir.getRealResource("jquery.layout.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/jquery/jquery.layout.js",f);
f = jqDir.getRealResource("jquery.window.js");
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/jquery/jquery.window.js",f);
//css Skin
Resource cssDir = dir.getRealResource("css/jquery");
if(!cssDir.isDirectory())cssDir.mkdirs();
f = cssDir.getRealResource("LuceeSkin.css."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/LuceeSkin.css."+TEMPLATE_EXTENSION,f);
//css images
Resource imgDir = cssDir.getRealResource("images");
if(!imgDir.isDirectory())imgDir.mkdirs();
f = imgDir.getRealResource("ui-anim_basic_16x16.gif."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-anim_basic_16x16.gif."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-bg_flat_0_aaaaaa_40x100.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-bg_flat_75_ffffff_40x100.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_flat_75_ffffff_40x100.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-bg_glass_55_fbf9ee_1x400.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-bg_glass_65_ffffff_1x400.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_65_ffffff_1x400.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-bg_glass_75_dadada_1x400.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_75_dadada_1x400.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-bg_glass_75_e6e6e6_1x400.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-bg_glass_95_fef1ec_1x400.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_95_fef1ec_1x400.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-bg_highlight-soft_75_cccccc_1x100.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-icons_222222_256x240.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_222222_256x240.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-icons_2e83ff_256x240.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_2e83ff_256x240.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-icons_454545_256x240.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_454545_256x240.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-icons_888888_256x240.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_888888_256x240.png."+TEMPLATE_EXTENSION,f);
f = imgDir.getRealResource("ui-icons_cd0a0a_256x240.png."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_cd0a0a_256x240.png."+TEMPLATE_EXTENSION,f);
//image loader
dir = dir.getRealResource("loader");
if(!dir.isDirectory())dir.mkdirs();
f = dir.getRealResource("loading.gif."+TEMPLATE_EXTENSION);
if(!f.exists() || doNew)XMLConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/loader/loading.gif."+TEMPLATE_EXTENSION,f);
}
}